pax_global_header00006660000000000000000000000064114500022110014474gustar00rootroot0000000000000052 comment=784a4cae4f66f6391a010320dc0ec450b43becaa arora-0.11.0/000077500000000000000000000000001145000221100126575ustar00rootroot00000000000000arora-0.11.0/.gitignore000066400000000000000000000002171145000221100146470ustar00rootroot00000000000000arora Arora.app arora.exe Makefile* .DS_Store .ui .moc .obj .rcc .qm .gdb_history ui_ *.exe *.swp *~ *.pdb *.ilk massif.out.* ms_print.* doc/ arora-0.11.0/AUTHORS000066400000000000000000000040721145000221100137320ustar00rootroot00000000000000Benjamin C Meyer ben@meyerhome.net Jakub Wieczorek faw217@gmail.com Diego Iastrubni elcuco@kde.org Jakub Lužný limoto94@gmail.com Christopher Eby kreed@kreed.org Jason A. Donenfeld Jason@zx2c4.com Christian Franke cfchris6@ts2server.com Benjamin K. Stuhl bks24@cornell.edu Zsombor Gegesy gzsombor@gmail.com Vincenzo Reale smart2128@baslug.org Kristof Bal kristof.bal@gmail.com Maia Kozheva sikon@ubuntu.com axasia axasia@gmail.com Tor Arne Vestbø tor.arne.vestbo@nokia.com Tom Gundersen teg@jklm.no John Wimer john@god.vtic.net Ariya Hidayat ariya.hidayat@gmail.com Adam Treat treat@kde.org Mark Reiche porphyr@gmx.de Guillaume Martres smarter@ubuntu.com Josef Kufner jk@myserver.cz Janusz Lewandowski lew21st@gmail.com Daniel Albuschat d.albuschat@gmail.com Alexandre Dupas alexandre.dupas@gmail.com Simon Hausmann simon@lst.de Robert Hogan robhogan@gmail.com Raphael Kubo da Costa kubito@gmail.com Paul Olav Tvete paul@trolltech.com John Schember john@nachtimwald.com Elrond elrond+arora.git.commit@samba-tng.org Chris Lee clee@mg8.org Benjamin Poulain benjamin.poulain@nokia.com Alexandre Bique bique.alexandre@gmail.com ABuus amb@lafnet.dk ondrejcernos cernoso@gmail.com mwenge robert@roberthogan.net jreznik jreznik@redhat.com Zack Rusin zack@kde.org William Witt unamanic@gimli.tolkien Slim Amamou slim.amamou@gmail.com Richard Moore rich@beast.needcoffee.co.uk Popa Marius Adrian mapopa@gmail.com Pavol Rusnak stick@gk2.sk Oscar Blumberg o.blumberg@robertlan.eu.org Michael Burger linuxman2k1@yahoo.com Max Kueng me@maxkueng.com Markus Goetz Markus.Goetz@nokia.com Marius Bugge Monsen mariusbu@pvv.org Kenneth Rohde Christiansen kenneth.christiansen@openbossa.org João Abecasis joao@abecasis.name Jonas Gehring jonas.gehring@boolsoft.org Jocelyn Turcotte jocelyn.turcotte@nokia.com Henri Valta cg@jakorasia.info Gergely Nagy gergely.nagy@interware.co.hu Gegesy Zsombor gzsombor@gmail.com Dominik Riebeling bluebrother@gmx.de Darryl Kacher darrylkacher@gmail.com Chris Hills chaz@chaz6.com Carlos Júnior carlos@milk-it.net Aurélien Gâteau agateau@kde.org Andreas Kling andreas.kling@nokia.com arora-0.11.0/ChangeLog000066400000000000000000000776251145000221100144520ustar00rootroot000000000000000.11.0 Interface: When the privacy indicator is visible clicking on it will result in private mode being turned off. Add a way to modify the user agent string from within the application. Support arguments for the external download program Tweak the adblock dialog spacing and size. Change the AdBlock dialog to use a simple check box instead of a group box. Replace Stopped with Download Complete (like in ffx it's less confusing ) Update the copyright year in the about dialog to include 2010 Issue: 768: Fix spelling mistake Issue: 821: Sort columns in cookie dialog by data values instead of string value. This fixes the dates being alphanumerically sorted. Behind the scene: Issue: 891: Fix Text Encoding to work correctly Issue: 826: Correctly save the history state of a tab when using Qt 4.6 Fix build breakage with QtWebKit 2.0. Remove remnant of delayed QWebView creation. Fixes tab restore again. Style fix: convert tabs to spaces. Build system: Add an application icon for os2. For finding the locale tools on os2 behave like win32 When building in debug mode on OS2 just like with Windows enable the console. Move Arora's hooks to the git-hooks format to utilize git-hooks (See: http://github.com/icefox/git-hooks) Default to lrelease and not lrelease-qt4 on non unix platforms. QMAKE_EXTRA_UNIX_TARGETS is deprecated; use QMAKE_EXTRA_TARGETS instead. Enable the raster graphics system by default for X11 Translation: Make "Show Hidden Files" translatable. Issue: 811: Fix typos in the German translation Replaced "leichtgewichtiger" with "schlanker" in translation with source "Lightweight WebKit-based wen browser" Fixed capitalization typo whare the word "Tab" began with a lowercase "t" Renamed Dutch translation file from nl_BE to nl. 0.10.2 The major issues: - When compiling with Qt 4.6 Arora had been using some API that changes shortly before the release of Qt 4.6.0 after an API review was done for the new API in QtWebKit. This release changes the code to build with the final API that is found in Qt 4.6.0 - A segfault that could occur when opening a URL on a new window from the command-line. 0.10.1 The major issues: Issue: 666 Sites were showing a "SSL handshake failure". With the new NetworkAccessManagerProxy the signals were being sent to the proxy and not the primary networkaccessmanager. Issue: 683: Arora crashes when using privacy mode. When switching to private mode the primary networkaccessmanagers swaps cookiejar's which caused a segfault. Introduce a CookieJarProxy class which will pass the cookie requests to the primary networkaccessmanager's cookiejar. Translations: Add Portuguese translation from Américo Monteiro Updated Turkish translation from Mehmet Nur Olcay Issue: 682,677 Fix several FR spelling mistakes. Fixed Issues: Issue: 79 Only tab down the completer when the popup is visible. Issue: 221 When using Qt 4.6 hardcode a webpage to have a white background even when using a dark theme. Issue: 472 Set the url on the location bar that matches the webview that we are loading the url in, not in the current location bar which might not be the correct one. Issue: 637 Startup Crash with Qt 4.5.0 (not with any other version) Issue: 679 Selecting Show only one close button instead of one for each tab requires an application restart to be applied. Issue: 676 Fix openstreetmap.org's login saving and improve the Wallet password dialog when finding the login name. Rather than using the document.form[0].name use document.form[0].elements["name"] this allows the name to contain things such as []'s without causing a problem. Other issues / changes Add support for the home, favorites, search, and openurl multimedia keys found on some keyboards Turn on AutoFill by default Remove the accidental 100MB limit on the disk cache size in the settings dialog. Make source viewer remember the window size and not block access to the main window 0.10.0 Interface - Issue #24: Add support for AdBlock - Issue #40: Support several common modifiers in the location bar for modifying the typed in url. ctrl-enter - append .com ctrl-shift-enter - append .org shift-enter - append .net - Issue #79: Trap tab key to cycle through potential URLs in the location bar. - Issue #85: Alt+Enter on the location bar opens the url in a new tab. - Issue #119: Add Password Management / AutoFill - Issue #411: Save and restore the tab back/forward history - Issue #630: Limit download progress updates to 5 per second to reduces CPU use from 18% to 3% when downloading. - Issue #650: Save the toolbar location allowing the toolbars to be next to each other - Add ctrl-z shortcut to undo the closing of the last tab. - Behave better when access keys are enabled by adding a slight delay to make sure that the ctrl is actually for access keys and not for another shortcut such as ctrl-tab or ctrl-a - When arora crashed on the previous startup give the user a way to bypass the failsafe and restore their session if they really want. - Add the ability to set the length of a session cookie - Enable DNS prefetching and WebKit version in the about dialog when building against Qt 4.6. - Remember what tab you were on when you close the settings dialog - Add a browse button next to the style sheet line edit to help users find files and automatically translate them into url's. - Add icons to the menu actions on freedesktop systems. - Show the configure search engines action in the tools menu - Change default bookmarks to only have a link to htpp://arora-browser.org Removed all of Qt development type entries From discussion on http://arorabrowser.blogspot.com/2009/08/arora-090.html and also the Kubuntu guys strip the bookmarks in their release so it make sense. - Move the Preferences menu item to Tools|Options - Set placeholder text for the start page search box - Add a checkbox to hide/show hidden files in the directory listing. - Change the about dialog text so it can be selected with a mouse so users can copy the application version. - Allow urls to be dropped on the bookmark bar and bookmark menu Behind the scenes - Force the history completer to be LTR: same as the url line. - Create a new stills class, NetworkAcessManagerProxy that is useful for tracking what QWebPage a QWebReply came from. - Load QWebView settings when the View is created so m_enableAccessKeys will be read from settings - Rename lineedit -> locationbar functions & variables - Enhance SingleApplication so that the host can send messages back to the second application. On Windows this is used to send the window id back to the application that was just started so it can raise the arora window to the front. - Fix some old MSVC compile warnings - Make it possible to retranslate the bookmarks toolbar title - Set the maximumPagesInCache to 3 (default is 0) and provide a way for users to set this value through QSettings. - Add a path from the users directory to the locale search path - Added RTL support for the start page - Add support for multiple directories to LanguageManager. - Fix the naming of the QAction m_toolsEnableInspector to m_toolsEnableInspectorAction to be consistent with the rest of the code - Add new TreeSortFilterProxyModel class to utils that will only filter child nodes in a QAbstractItemModel. (under the BSD license) - Rename getConfigFile to dataFilePath - Rename dataDirectory to installedDataDirectory to give a much better description of what it does - Add missing drop functionality to the ModelMenu class. The implementation is symetric to the ModelToolBar class. - ModelMenu can now accept drops (both moving and copying) and can apply them to the underlying model. - Refactor BookmarksToolBar by making it inherit from ModelToolBar. - Add new ModelToolBar class, that is a subclass of QToolBar and an equivalent of ModelMenu for toolbars. It can be used to populate a toolbar with actions based on a given model. - Fix character encoding in directory listing. - Clean up the private browsing message box to make it easier to translate. Build system - Allow building against a shadow-built WebKit trunk - Ignore more misc generated build files on windows - Add Git hook to check commits for the proper copyright year - Ignore the doc directory which is generated by doxygen - Check for spaces at the start and end of an expression - Re-enable sharing the temporary compilation objects for all subprojects. Use the 'ordered' configuration to make sure that we walk through the subdirectories one by one and not all simultaneously when building in parallel. 0.9.0 Drop support for Qt 4.4. Interface FEATURES: - Add support for search keywords in the location bar. - POST support for OpenSearch suggestion requests. - Add WebKit version to the About dialog [WebKit trunk only]. - Use HTTP pipelining for all network requests [Qt 4.6 only]. IMPROVEMENTS: - Remember last used save directory. - Added file dialog to download location settings. - Restrict drag and drop to the same page unless a QWebView accepts it. - Open an URL dropped on the tab bar as new tab or replace existing tab. - Allow url to be dropped on the tab bar from other applications. - Add a Select All action. - Rather than not allowing setting or getting of any cookies in private mode create a blank cookie jar. - Significantly speed up the cookie dialog by keeping a cached copy of all the cookies. - Enhance the language manager to fallback to the country file if the country_language file doesn't exists. - Add drag support for downloaded item in the download manager. - Add Planet Qt to the default set of bookmarks. - Remove the text wrapping option from the source viewer's menu and instead enable it by default. BUGFIXES: - Avoid duplicated and contradictory rules on the cookie rule list. - Change the shortcut for showing the bookmark toolbar as it was conflicting with the show bookmark dialog shortcut. - Encode the user input before inserting it into an URL template. - Fix a crash when cloning a blank tab. - When the widget losses focus hide the access keys. - Fix detection of flash on various websites when ClickToFlash is used. - Avoid an infinite recursion when asking the desktop to open an URL. - When the download manager prevents the application from closing add a new tab when there are none. - Only show the url completer if the user is typing a url. - Always add the Inspect Element Action to the context menu when the developer extra tools are enabled. - Bookmarklets were not working properly. - Work around for a segfault in Qt 4.5.2 where you go into privacy mode while a QNetworkReply is still working. - Clarify the networkdisk cache behavior in the messagebox. - Start page: Reduce the top margin to 100px from so it fits on a netbook screen. - Hide the bookmarks toolbar by default. - Turn off cookie tracking filtering by default because it breaks sites like StackOverflow.com. - Before clearing the cookie jar, load it so the exceptions and other settings are loaded. - When removing cookies from the cookie jar via the cookie dialog notify the autosaver. - When receiving a drop event on a bookmark folder, make sure that we don't drop a child bookmark. - Avoid overwriting the user agent string in the WebPage autotest. - Fix non-ASCII characters displayed garbled for Authors. Behind the scenes - Merge two blocks of code that deals with oneCloseButton policy. - Make parentWindow() prettier. - Simplify updates of actions in view menu. - Save the window state when toggling the menu bar. - Save UI changes in the active window before creating a new one. - Move all network related files into one directory. Build system - When building on osx use qmake -r. - Ignore generated files built on windows. 0.8.0 Interface FEATURES: - When the ctrl key is pressed show keyboard accelerators on the screen. [Qt 4.6 only]. - Location bar: implement full text search and more accurate sorting. - Add a simple start page with a search box pointing at the active search engine. - Allow to create new open search engines from any input forms displayed in websites [Qt 4.6 only]. - Add a menu to set the default text encoding for all rendering [Qt 4.6 only]. - Implement directory listing when accessing file:/// URLs that point to directories. - When a POST request is about to be resent, warn user about that fact to make sure that the operation is intended. - Add a checkable push button to the search bar that allows to highlight a specific string in a website [Qt 4.6 only]. - Add a setting that specifies if the url supplied by the user should be forwarded to the default search engine if it isn't valid. IMPROVEMENTS: - Show a more verbose message when the htmlToXBel tool is not installed. - Show the complete tab title as tool tip to improve GUI usability for long website titles. - Download manager: Create the download directory as needed. - Location bar: If escape is pressed on location bar revert to the original URL, this emulates the firefox behaviour. - Add Google "I'm Feeling Lucky" search engine to the default set. - Drag & Drop: Add the ability to drop an url on the tab bar which will open it in a new tab. - Drag & Drop: Allow dropping URLs on the location bar. - When creating new windows, use the startup setting to decide if the homepage should be loaded. - Remove the network monitor tool as the current Inspector now lets you see request headers and response headers. BUGFIXES: - Fix several memory leaks: set the Qt::WA_DeleteOnClose flag on dialogs that are executed asynchronously. - Download manager: Fix displaying file size when downloading huge files. - Download manager: Give correct name to downloaded files with no suffix. - Location bar: Fix background color when using Oxygen style. - Bookmarks manager: Don't allow to edit the url in any nodes but normal bookmarks. - Private browsing now disables the disk cache. Behind the scenes - Added custom network scheme handlers, i.e. a single one for listing local directories. - Add a setting so the user can swap the location of the new and close tab buttons. - Add the ability for a user to specify the userAgent through QSettings. - Split up the bookmarks classes into separate files. - Remake the bookmarks toolbar. - Clean up the AddBookmarkDialog class. - OpenSearch: Implement the Referrer extension. - Implement the WebPage::linkedResources() method using the DOM API. - Tweak the certToFormattedString() function. - OpenSearch: localization improvements. Build system - Include an additional XML file in the installation, which will make Arora appear in Gnome Control Center on the list of available web browsers that can be set as default. - Add man pages for the tools. - webkit.pri now supports building QtWebKit as a framework on mac. 0.7.1 Fix Windows build. Fix building in parallel (make -jX). 0.7.0 Interface - Add support for OpenSearch to the toolbar search - Add the ability to search from the webpage context menu - Remember the boxes checked in the Clear Private Data dialog - Support Back, Forward, Reload and Stop keys on multimedia keyboards - Add the ability to click a button before loading flash (clickToFlash) - Allow to enable/disable the cache - Allow to specify the maximum cache size - Add a setting specifying if the application should quit when last tab is closed. - Revert the check for the Oxygen style so when under KDE4 Oxygen will be used even if it has issues. - Fix mid click to paste urls into Arora to have them be loaded - Fix crash in Clear Privacy Dialog when cache is disabled - In the download manager change the "Ok" Button to "Close" - Fix the positioning of new tab and close tab buttons. Comparing to 0.6 they are just swapped now. - Only set a git version if the string is not empty - Update the tab bar visibility action when retranslating. - Make refresh be both F5 and Ctrl+R - Update year in copyright - Fixed some spelling mistakes - Ctrl+L does not function when the toolbar is hidden. - Fix a typo in Info_mac.plist. - Enable multiple selection in the history tree view. - Respect the setting to hide confirmation of closing multiple tabs when quitting too - Fix a problem with cookie rule deletion - Improve handling of unreachable sites. - Create a new tab only when left button is double-clicked. - Improve XBel importing - Don't fill the history with error pages. - Improve the site icon when dragging. When the mouse is over it show the arrow cursor, Set the drag icon to the site icon, and set the drag text to the page title and not the url. (Example drag to the toolbar you want to get the title not the url) - Only save the cookie exception rules if the dialog is accepted. - Set cookies to 'session only' if new rule introduced that would only allow them for the session. - Add ability to filter out tracking cookies, eg Google Analytics. - Add 'Add Rule' button to the cookie dialog to create an exception on the current cookie. - When a cookie is a session cookie show the string 'Session Cookie' - Improve the cooking blocking implementation - Add subdomain checking, eg when the policy says 'block def.com', then it will block cookies from 'def.com', 'www.def.com' but not from 'abcdef.com' - Handle cookie rules with starting dot correctly Behind the scenes - Add a subclass of QWebPluginFactory that can be used for managing QWebPlugin's - Add a static BrowserMainWindow::parentWindow(QWidget *) method that returns a main window being one of the passed widget's parents. - Move QTRY functions into their own header file as it has no dependency on Arora and can be used by tests that don't require BrowserApplication - Mark strings as not translatable where it doesn't make sense - Move location bar site icon class into its own file - Move the privacy indicator out into its own class and file - Move the location bar classes into a location bar folder - Add api to get the clear button and search button in the SearchWidget - Remove the word 'slot' from the functions that are slots to be consistent with the reset of the source code. - Don't translate dummy strings in the ui file - Move HistoryManager into its own file and move the history classes into their own folder. - Conserve memory by atomizing history strings - Code style: Add m_ prefix before private variables - Improvements & cleanup to the about dialog - Improve the three editviews - Add manualtest for the three edit views and an autotest for the editlistview. - Change placesimport to correctly use SingleApplication - Add WebPage::linkedResources(const QString&) method that returns a list of resources attached to the main document - BrowserApplication::mainWindow() returns the currently active window Build system - Remove one second punishment because it didn't work and I didn't make autotests when I was punished - Add foreach() style error to look for and fix existing occurences. - When building by default don't have lrelase be verbose as it du/mps a lot of junk on the console - Add commit hook to do basic style checking on the files being commited - unset GIT_DIR to fix warnings that are printed to the console - When building Arora also don't allow casts to ascii to detect bugs. - Share compiled object files with the main arora binary to reduce build times 0.6.1 When using Arora with Qt 4.5.1 after a little while pages will stop rendering. This is because of a bug in 4.5.1 where renaming a file will cause the file descriptor to not be closed. QNetworkDiskCache is a simple cache and uses QTemporaryFile's for each new cached file and eventually the kernel wont let QNetworkDiskCache open a cache file because all of the previous files were not closed. When running against Qt 4.5.1 Arora will now disable the disk cache. 0.6 Interface - Save more of the main window state, window's fullscreen status, maximized status, menu bar visibility, normal size, and ensure that the menu bar and status bar are returned to their proper states if saving while the window is fullscreen. - Open a downloaded file instead of the containing directory - Add check for the Oxygen style and switch to Plastique unless the user specifies oxygen on the command line - The action to show the status bar isn't updated when entering/exiting fullscreen. - slow down the loading animation to use less X11 resources - Add Google suggestions to the search widget - Ctrl-0 is now zoom-reset, only support jumping to the first 9 tabs rather then 10 - Add action to add a bookmark folder to the bookmark menu - Display more loading information in the status bar. - Make 'Url' and 'Title' string translatable in Add Bookmark dialog. - Making SSL warnings more verbose Especially show the Certs a bit - If there is any active download on quit, warn user and ask for confirmation. - Add "Open in Tabs" action to all bookmark menu's. - Add "Save all Tabs" action to the bookmark menu and the tabbar context menu. - Support preferred web content language - Add common location bar shortcuts such as Alt-D - Allow to close the browser with more than one window opened, which was previously impossible (it might be useful when you restore session on startup). - Revert to the default tab selection behavior after closing a tab to match other browsers - Middle button role should be inverted when "Select tabs and windows as they created" is selected - Add support for MidClick/Ctrl-Click/Shift-Ctrl-Click to all urls in Arora. Be it in menus, toolbars, links and javascript links. - Add support for XButton1 and XButton2 to be back/forward on the webview - Add the ability to turn pop-up blocking off - More control to the users! Added a possibility to control where target="_blank" links will be opened and default to a new tab. - When opening a url from history include the old title which can populate the tab title. - Clearing the cache should only be enabled by default when compiled with Qt 4.5 - Set bookmarks bar as default folder when executing Add Bookmark Dialog from bookmarks toolbar. - Fixed typo that had clear cookies set checked twice instead of checking cookies once and cache once. - Force selected window to be on top of the windows stack (previous solution was only activating the window on the taskbar, at least on some desktop environments). - One tab close button option should not affect tab open button appearance. - Set Open action disabled in the download manager until the download is finished. - Add the ability to import html bookmarks using the existing htmlToXBel tool - Fix issue where shortcuts where not working - Fix issue where actions in the menus were not being translated when you change the language. - Add support for caching HTTP proxies when using Qt 4.5 - Add full page zooming - Added a new tool 'placesimport' to import Firefox 3+ history. - Fix the download manager SqueezeLabel class so that doesn't use 100% cpu, also now under the BSD - Tweak html error message to make more sense - Several spelling errors in the interface and code. Behind the scenes -Upgrade the SearchLineEdit class - Rather then using a QMenu use QCompleter now that LineEdit can let you set the text margin and the completer popup takes up the whole width. - Re-code searchlineedit to just be a LineEdit subclass that has a search button and a clear button and nothing more. - Re-code the SearchButton to use the QCompleter, take up less width when there isn't one and use a QImage. - Update the toolbar search widget to use the completer rather then the old QMenu - Significantly improve the startup time of Arora. - Add new access functions to the DownloadItem data. - Move the ClearButton and SearchButton class into its own file - Fix searchbar for special chars such as '+'. This seems a bug in Qt's addQueryItem. Workaround is to use addEncodedQueryItem. - delete the root bookmark node on exit to not generate errors in valgrind - fix memory leaks in the autotest to confirm that Arora's xbel doesn't have any leaks - Only clear the cookies if we have loaded them - In ModelMenu rather then all submenu's being QMenu let them be specified by the implementation and as the default use ModelMenu. - Add new menumodel manualtest - Set the default max rows of the model menu to -1 and put the special case of 7 in the history menu code - In 4.5 and beyond store the icon database in the cache directory - Add a few more mimetypes and match the Firefox desktop file - Only guess a url string is for a file if it is an absolute path. - Improve the overall design and implimentation of url loading especially when dealing with a startin - Several improvements to SingleApplication to make it more robust. - Improve the git hooks and add a hook to spell check commits - Don't hard code the location of tmp as it could easily not be /tmp as it is on OS X - Remove executable bit from html not found file - Be more vigilant about always using encoded urls when storing them in QString Build system - Ignore generated files on Windows - Add a common way to install binaries and install the tools - Add commit hook commit-msg with support for aspell to check the spelling of the commit message - In a source tarball and there is no .git hard code the version and change number so a message doesn't goto the console complaining about no git - Windows needs to link to advapi32 for GetUserName call, so add it to LIBS. - Don't force the binary to be re-build every time make is called because of the locale.pri - Install tools - Improve the build times of the manualtests by sharing object files and simplifying the includes 0.5 Interface - Add new Network Access Monitor tool that shows each network request as it passes. - Added option for showing only one close Button - Don't add empty tabs if closed to recently closed tabs menu. - Support HTTP proxies which listen in ports higher than 10000 - Save more space in full screen mode - hide menu and status bars. - Added an option in source viewer menu for wrapping code lines. - Open pages from autocompletion list directly instead of filling the bar with their addresses. - Don't show Open actions if the item is a Folder in the Bookmark Manager - Allow filtering bookmarks and histories by URLs as well. - Add drag functionality to Bookmark and History menu's - Allow selecting multiple bookmarks when ctrl is pressed. - Added support for renaming bookmarks through their context menus. - Expanded bookmark menu - added Change URL and made Rename displayed also on folders. - Allow for unlimited bookmarks in a folder on bookmark bar - Added privacy indicator to the location bar - Uncheck the privacy action when user aborts initial private browsing dialog. - When enabling or disabling private browsing only the checkbox on the current window is updated - Display missing Copy action in context menu if a link is selected. - Make tab reload action in the context menu work - Fix Middleclick on open tab to not have inconsistent behavior. - On some web pages, middle-clicking a link opened it in the same window. - Refined drag & drop handling in bookmarks toolbar. Fixed a bug, when page was assigned to inappropriate folder due to more than one folder having same name. - Implement simple context menu in bookmarks toolbar. Let user change bookmark URL in Add Bookmark dialog. Behind the scenes - Brand new more compliant, faster cookie jar - Brand new Language Manager which selects the correct language on start and lets you choose a different language via the Help menu. - Separate the cookie classes into separate files. - Fix a memory leak when creating the context menu under Qt 4.5+ - LineEdit utility class is now under the BSD license - The error web pages are now translatable. - Encode urls rather then use toString in various places to prevent loss of url data. - When using foreach try to use a const reference so a copy isn't made (slower) compared to the reference (faster). - Add a new tool to convert bookmarks that are in the html format into the XBel format (not used in Arora yet). - Various code style and general keeping the code clean fixes - Add Implementation to get the current username on Windows for the single application Build system - Add script to build OS X package using the new macdeployqt tool in Qt 4.5 - Building with QT_STRICT_ITERATORS to catch errors. - Enhance support for building with multiple WebKit trunk branches - Adds the ability to generate code documentation with doxygen 0.4 Interface - New source viewer with search and syntax highlighting. - Make middle click on bookmarks menus open the user in a new tab. - Added the ability to change the language from the Help menu. - Double left click location bar selects all of the text. - Incorporate Jens Explorer style into Arora on Window for a better look and feel on XP and Vista. http://labs.trolltech.com/blogs/2007/06/08/explorer-style-toolbars/ - Change the "icon" on the next/prev search for RTL desktops: next points to the right, and previous points to the right - Various RightToLeft fixes for for Mozilla's bug https://bugzilla.mozilla.org/show_bug.cgi?id=219070 - When the url scheme is https make the location bar background turn yellow. - When the history is cleared also clear the recently closed tabs list - Always populate the location bar with the completer - Only shrink the toolbar icons on OS X. - Only offset the search widget text when using Qt 4.5 - When clicking on a bookmark in a folder in the toolbar emit the proper signals to the url is opened. - When dropping text on the webpage load the url - When the location bar has focus don't change the text. Behind the scenes - Make a dedicated SingleApplication class - Tweak HistoryManager API to be easier to read. - Improvements to the code style to be more consistent - Move the binaries for autotests and manual tests into the .gitignore in that directory rather then all in one file at the top. - Update manualtest for the location bar now that the urllineedit class has become the new location bar class and add a new git hook to make sure manual tests build. Build system - Move locale build instructions to its own pri file in the locale directory - Correctly detect qt3's qmake on Debian - Enhance support for building with WebKit trunk 0.3 - With Qt 4.5 use movable tabs - With Qt 4.5 use disk cache - Created a new LineEdit that handles adding side widgets in a clean, simple and elegant way. - Add a way to set the minimum font size in the settings. - When you ctrl-click on a bookmark item in the bookmark toolbar open it in a new tab - Fix possible crash on startup; Initialize htmls resource - When making the text larger or smaller, use predefined zoom levels. - Mouse button 4 and 5 connected to action back and forward. like firefox and ie - Clear history: Added confirm dialog - Shortcuts in the Edit menu like in Firefox. - Save the state of inspector across sessions. - When only a hostname and port are entered in the url prepend http:// - Base the width of the tab on a font rather then a hard coded value - Tweak the main window look better on OS X and less out of place - Add support for javascript bookmarklets - Add option to automatically restore the session on startup. - Fix segfault caused by the clear private data dialog. - Save the location of the toolbars - Improve a number of the strings (feedback from MentalMaelstrom) - Tweak action accelerators (the same ones were being used) Build system - Allow building Arora with both Debug/Release of WebKit trunk - Only include the sha1 and change number in the version when using git. - Create utils directory to contain non-Arora specific classes - Run desktop file through desktop-file-validate and correct the errors Autotests - Add QTRY_COMPARE and QTRY_VERIFY for the autotests to use. - add AUTOTESTS define when running autotests to prevent accessing running arora's and sending url's to it - Fix autotest failures (test related, not arora) - Detect which version of qmake to use when building the autotests - Give a 1 second punishment if there is no autotest for the source file that was changed - Emit a warning of a file doesn't have a matching autotest - Update modeltest code to match Trolltech's svn 0.2 - Many Bug fixes and improvements. - Add make install on unix - Improved tabs - Translations - New reset dialog - New about dialog - Add search banner - Rename to Arora and a new application icon - Project specific git hooks - Branch from the Qt demo browser with new autotests and manualtests arora-0.11.0/Doxyfile000066400000000000000000001713471145000221100144020ustar00rootroot00000000000000# Doxyfile 1.5.7.1 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # This tag specifies the encoding used for all characters in the config file # that follow. The default is UTF-8 which is also the encoding used for all # text before the first occurrence of this tag. Doxygen uses libiconv (or the # iconv built into libc) for the transcoding. See # http://www.gnu.org/software/libiconv for the list of possible encodings. DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = Arora # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = doc # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, # Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, # Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), # Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, # Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene, # Spanish, Swedish, and Ukrainian. OUTPUT_LANGUAGE = English # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = YES # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like regular Qt-style comments # (thus requiring an explicit @brief command for a brief description.) JAVADOC_AUTOBRIEF = NO # If the QT_AUTOBRIEF tag is set to YES then Doxygen will # interpret the first line (until the first dot) of a Qt-style # comment as the brief description. If set to NO, the comments # will behave just like regular Qt-style comments (thus requiring # an explicit \brief command for a brief description.) QT_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 8 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = NO # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # sources only. Doxygen will then generate output that is more tailored for # Java. For instance, namespaces will be presented as packages, qualified # scopes will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran # sources only. Doxygen will then generate output that is more tailored for # Fortran. OPTIMIZE_FOR_FORTRAN = NO # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL # sources. Doxygen will then generate output that is tailored for # VHDL. OPTIMIZE_OUTPUT_VHDL = NO # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. # Doxygen will parse them like normal C++ but will assume all classes use public # instead of private inheritance when no explicit protection keyword is present. SIP_SUPPORT = NO # For Microsoft's IDL there are propget and propput attributes to indicate getter # and setter methods for a property. Setting this option to YES (the default) # will make doxygen to replace the get and set methods by a property in the # documentation. This will only work if the methods are indeed getting or # setting a simple type. If this is not the case, or you want to show the # methods anyway, you should set this option to NO. IDL_PROPERTY_SUPPORT = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum # is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct # with name TypeT. When disabled the typedef will appear as a member of a file, # namespace, or class. And the struct will be named TypeS. This can typically # be useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. TYPEDEF_HIDES_STRUCT = NO # The SYMBOL_CACHE_SIZE determines the size of the internal cache use to # determine which symbols to keep in memory and which to flush to disk. # When the cache is full, less often used symbols will be written to disk. # For small to medium size projects (<1000 input files) the default value is # probably good enough. For larger projects a too small cache size can cause # doxygen to be busy swapping symbols to and from disk most of the time # causing a significant performance penality. # If the system has enough physical memory increasing the cache will improve the # performance by keeping more symbols in memory. Note that the value works on # a logarithmic scale so increasing the size by one will rougly double the # memory usage. The cache size is given by this formula: # 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, # corresponding to a cache size of 2^16 = 65536 symbols SYMBOL_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = YES # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = YES # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base # name of the file that contains the anonymous namespace. By default # anonymous namespace are hidden. EXTRACT_ANON_NSPACES = YES # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the # hierarchy of group names into alphabetical order. If set to NO (the default) # the group names will appear in their defined order. SORT_GROUP_NAMES = YES # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and defines in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. The default is NO. SHOW_DIRECTORIES = YES # Set the SHOW_FILES tag to NO to disable the generation of the Files page. # This will remove the Files entry from the Quick Index and from the # Folder Tree View (if specified). The default is YES. SHOW_FILES = YES # Set the SHOW_NAMESPACES tag to NO to disable the generation of the # Namespaces page. This will remove the Namespaces entry from the Quick Index # and from the Folder Tree View (if specified). The default is YES. SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by # doxygen. The layout file controls the global structure of the generated output files # in an output format independent way. The create the layout file that represents # doxygen's defaults, run doxygen with the -l option. You can optionally specify a # file name after the option, if omitted DoxygenLayout.xml will be used as the name # of the layout file. LAYOUT_FILE = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be abled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = src # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is # also the default input encoding. Doxygen uses libiconv (or the iconv built # into libc) for the transcoding. See http://www.gnu.org/software/libiconv for # the list of possible encodings. INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 FILE_PATTERNS = # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = YES # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = src/.moc src/.rcc # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = YES # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = YES # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = YES # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = NO # If the REFERENCED_BY_RELATION tag is set to YES # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = YES # If the REFERENCES_RELATION tag is set to YES # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = YES # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will # link to the source code. Otherwise they will link to the documentstion. REFERENCES_LINK_SOURCE = YES # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = NO # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. For this to work a browser that supports # JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox # Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). HTML_DYNAMIC_SECTIONS = YES # If the GENERATE_DOCSET tag is set to YES, additional index files # will be generated that can be used as input for Apple's Xcode 3 # integrated development environment, introduced with OSX 10.5 (Leopard). # To create a documentation set, doxygen will generate a Makefile in the # HTML output directory. Running make will produce the docset in that # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. # See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. GENERATE_DOCSET = NO # When GENERATE_DOCSET tag is set to YES, this tag determines the name of the # feed. A documentation feed provides an umbrella under which multiple # documentation sets from a single provider (such as a company or product suite) # can be grouped. DOCSET_FEEDNAME = "Doxygen generated docs" # When GENERATE_DOCSET tag is set to YES, this tag specifies a string that # should uniquely identify the documentation set bundle. This should be a # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen # will append .docset to the name. DOCSET_BUNDLE_ID = org.doxygen.Project # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING # is used to encode HtmlHelp index (hhk), content (hhc) and project file # content. CHM_INDEX_ENCODING = # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER # are set, an additional index file will be generated that can be used as input for # Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated # HTML documentation. GENERATE_QHP = NO # If the QHG_LOCATION tag is specified, the QCH_FILE tag can # be used to specify the file name of the resulting .qch file. # The path specified is relative to the HTML output folder. QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # Qt Help Project / Namespace. QHP_NAMESPACE = org.doxygen.Project # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # Qt Help Project / Virtual Folders. QHP_VIRTUAL_FOLDER = doc # If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can # be used to specify the location of Qt's qhelpgenerator. # If non-empty doxygen will try to run qhelpgenerator on the generated # .qhp file . QHG_LOCATION = # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. # If the tag value is set to FRAME, a side panel will be generated # containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are # probably better off using the HTML help feature. Other possible values # for this tag are: HIERARCHIES, which will generate the Groups, Directories, # and Class Hierarchy pages using a tree view instead of an ordered list; # ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which # disables this behavior completely. For backwards compatibility with previous # releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE # respectively. GENERATE_TREEVIEW = FRAME # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 # Use this tag to change the font size of Latex formulas included # as images in the HTML documentation. The default is 10. Note that # when you change the font size after a successful doxygen run you need # to manually remove any form_*.png images from the HTML output directory # to force them to be regenerated. FORMULA_FONTSIZE = 10 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = YES # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. This is useful # if you want to understand what is going on. On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = NO # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option is superseded by the HAVE_DOT option below. This is only a # fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = YES # You can define message sequence charts within doxygen comments using the \msc # command. Doxygen will then run the mscgen tool (see # http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the # documentation. The MSCGEN_PATH tag allows you to specify the directory where # the mscgen tool resides. If left empty the tool is assumed to be found in the # default search path. MSCGEN_PATH = # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = NO # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = YES # By default doxygen will write a font called FreeSans.ttf to the output # directory and reference it in all dot files that doxygen generates. This # font does not include all possible unicode characters however, so when you need # these (or just want a differently looking font) you can specify the font name # using DOT_FONTNAME. You need need to make sure dot is able to find the font, # which can be done by putting it in a standard location or by setting the # DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory # containing the font. DOT_FONTNAME = FreeSans # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. # The default size is 10pt. DOT_FONTSIZE = 10 # By default doxygen will tell dot to use the output directory to look for the # FreeSans.ttf font (which doxygen will put there itself). If you specify a # different font using DOT_FONTNAME you can set the path where dot # can find it using this tag. DOT_FONTPATH = # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = YES # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT options are set to YES then # doxygen will generate a call dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable call graphs # for selected functions only using the \callgraph command. CALL_GRAPH = YES # If the CALLER_GRAPH and HAVE_DOT tags are set to YES then # doxygen will generate a caller dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable caller # graphs for selected functions only using the \callergraph command. CALLER_GRAPH = YES # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph # becomes larger than this value, doxygen will truncate the graph, which is # visualized by representing a node as a red box. Note that doxygen if the # number of direct children of the root node in a graph is already larger than # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. DOT_GRAPH_MAX_NODES = 50 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that the size of a graph can be further restricted by # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, because dot on Windows does not # seem to support this out of the box. Warning: Depending on the platform used, # enabling this option may lead to badly anti-aliased labels on the edges of # a graph (i.e. they become hard to read). DOT_TRANSPARENT = NO # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::additions related to the search engine #--------------------------------------------------------------------------- # The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = YES arora-0.11.0/GPLHEADER000066400000000000000000000014051145000221100140750ustar00rootroot00000000000000/* * Copyright 2008 Name * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */arora-0.11.0/LICENSE.GPL2000066400000000000000000000444251145000221100144000ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. ------------------------------------------------------------------------- In addition, as a special exception, permission is given to link the code of its release with the OpenSSL project's "OpenSSL" library (or modified versions of it that use the same license as the "OpenSSL" library), and distribute the linked executables. You must comply with the GNU General Public License version 2 or the GNU General Public License version 3 in all respects for all of the code used other than the "OpenSSL" code. If you modify this file, you may extend this exception to your version of the file, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version of this file.arora-0.11.0/LICENSE.GPL3000066400000000000000000001060401145000221100143710ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . ------------------------------------------------------------------------- In addition, as a special exception, permission is given to link the code of its release with the OpenSSL project's "OpenSSL" library (or modified versions of it that use the same license as the "OpenSSL" library), and distribute the linked executables. You must comply with the GNU General Public License version 2 or the GNU General Public License version 3 in all respects for all of the code used other than the "OpenSSL" code. If you modify this file, you may extend this exception to your version of the file, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version of this file. arora-0.11.0/README000066400000000000000000000006011145000221100135340ustar00rootroot00000000000000Arora web browser http://www.arora-browser.org Arora is a cross platform web browser built using Qt and WebKit. Building: Arora uses the qmake build system. If you already have Qt 4.5 or newer on your system building is as easy as running the command 'qmake' and then 'make' or 'nmake' on Windows. For more detailed information see http://code.google.com/p/arora/wiki/source?tm=4 arora-0.11.0/arora.pro000066400000000000000000000005141145000221100145050ustar00rootroot00000000000000lessThan(QT_VERSION, 4.5) { error("Arora requires Qt 4.5 or greater") } TEMPLATE = subdirs SUBDIRS = src tools CONFIG += ordered unix { # this is an ugly work around to do .PHONY: doc doxygen.target = doc dox doxygen.commands = doxygen Doxyfile doxygen.depends = Doxyfile QMAKE_EXTRA_TARGETS += doxygen } arora-0.11.0/autotests/000077500000000000000000000000001145000221100147125ustar00rootroot00000000000000arora-0.11.0/autotests/adblock/000077500000000000000000000000001145000221100163115ustar00rootroot00000000000000arora-0.11.0/autotests/adblock/adblock.pro000066400000000000000000000002311145000221100204260ustar00rootroot00000000000000TEMPLATE = subdirs SUBDIRS = \ adblockmanager \ adblocknetwork \ adblockpage \ adblockrule \ adblocksubscription CONFIG += ordered arora-0.11.0/autotests/adblock/adblockmanager/000077500000000000000000000000001145000221100212435ustar00rootroot00000000000000arora-0.11.0/autotests/adblock/adblockmanager/.gitignore000066400000000000000000000000171145000221100232310ustar00rootroot00000000000000adblockmanager arora-0.11.0/autotests/adblock/adblockmanager/adblockmanager.pro000066400000000000000000000002151145000221100247150ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../../autotests.pri) # Input SOURCES += tst_adblockmanager.cpp HEADERS += arora-0.11.0/autotests/adblock/adblockmanager/tst_adblockmanager.cpp000066400000000000000000000147611145000221100256040ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include #include #include #include "adblockdialog.h" #include "adblockmanager.h" #include "adblocksubscription.h" #include class tst_AdBlockManager : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void adblockmanager_data(); void adblockmanager(); void addSubscription(); void customRules(); void isEnabled_data(); void isEnabled(); void load(); void removeSubscription(); void showDialog(); void rulesChanged(); }; // Subclass that exposes the protected functions. class SubAdBlockManager : public AdBlockManager { public: ~SubAdBlockManager() { QList list = subscriptions(); foreach (AdBlockSubscription *s, list) removeSubscription(s); setEnabled(false); } void call_rulesChanged() { return SubAdBlockManager::rulesChanged(); } }; // This will be called before the first test function is executed. // It is only called once. void tst_AdBlockManager::initTestCase() { } // This will be called after the last test function is executed. // It is only called once. void tst_AdBlockManager::cleanupTestCase() { } // This will be called before each test function is executed. void tst_AdBlockManager::init() { } // This will be called after every test function. void tst_AdBlockManager::cleanup() { } void tst_AdBlockManager::adblockmanager_data() { } void tst_AdBlockManager::adblockmanager() { SubAdBlockManager manager; manager.addSubscription((AdBlockSubscription*)0); QVERIFY(manager.customRules()); QVERIFY(manager.instance() != (AdBlockManager*)0); QCOMPARE(manager.isEnabled(), true); manager.load(); QVERIFY(manager.network()); QVERIFY(manager.page()); manager.removeSubscription((AdBlockSubscription*)0); manager.setEnabled(false); QVERIFY(manager.showDialog()); QList list; list.append(manager.customRules()); QCOMPARE(manager.subscriptions(), list); } // public void addSubscription(AdBlockSubscription *subscription) void tst_AdBlockManager::addSubscription() { SubAdBlockManager manager; QList list = manager.subscriptions(); QSignalSpy spy0(&manager, SIGNAL(rulesChanged())); AdBlockSubscription *subscription = new AdBlockSubscription(QUrl(), &manager); manager.addSubscription(subscription); QCOMPARE(manager.subscriptions(), (list += subscription)); QCOMPARE(spy0.count(), 1); } // public AdBlockSubscription *customRules() void tst_AdBlockManager::customRules() { SubAdBlockManager manager; QSignalSpy spy0(&manager, SIGNAL(rulesChanged())); AdBlockSubscription *subscription = manager.customRules(); QVERIFY(subscription); QVERIFY(!subscription->title().isEmpty()); QVERIFY(subscription->allRules().isEmpty()); QCOMPARE(spy0.count(), 1); subscription = manager.customRules(); QCOMPARE(spy0.count(), 1); } void tst_AdBlockManager::isEnabled_data() { QTest::addColumn("isEnabled"); QTest::newRow("true") << true; QTest::newRow("false") << false; } // public bool isEnabled() const void tst_AdBlockManager::isEnabled() { QFETCH(bool, isEnabled); SubAdBlockManager manager; QSignalSpy spy0(&manager, SIGNAL(rulesChanged())); bool before = manager.isEnabled(); manager.setEnabled(isEnabled); manager.setEnabled(isEnabled); QCOMPARE(manager.isEnabled(), isEnabled); QCOMPARE(spy0.count(), before == isEnabled ? 0 : 1); } // public void load() void tst_AdBlockManager::load() { SubAdBlockManager manager; QSignalSpy spy0(&manager, SIGNAL(rulesChanged())); manager.load(); QCOMPARE(spy0.count(), 0); } // public void removeSubscription(AdBlockSubscription *subscription) void tst_AdBlockManager::removeSubscription() { SubAdBlockManager manager; QSignalSpy spy0(&manager, SIGNAL(rulesChanged())); QList list = manager.subscriptions(); AdBlockSubscription *subscription = new AdBlockSubscription(QUrl(), &manager); manager.addSubscription(subscription); manager.removeSubscription(subscription); QCOMPARE(manager.subscriptions(), list); QCOMPARE(spy0.count(), 2); } // public AdBlockDialog *showDialog() void tst_AdBlockManager::showDialog() { SubAdBlockManager manager; QSignalSpy spy0(&manager, SIGNAL(rulesChanged())); AdBlockDialog *dialog = manager.showDialog(); QVERIFY(dialog); QTRY_VERIFY(dialog->isVisible()); } void tst_AdBlockManager::rulesChanged() { SubAdBlockManager manager; QSignalSpy spy0(&manager, SIGNAL(rulesChanged())); AdBlockSubscription *subscription = new AdBlockSubscription(QUrl(), &manager); manager.addSubscription(subscription); subscription->setEnabled(true); subscription->addRule(AdBlockRule()); QCOMPARE(spy0.count(), 3); } QTEST_MAIN(tst_AdBlockManager) #include "tst_adblockmanager.moc" arora-0.11.0/autotests/adblock/adblocknetwork/000077500000000000000000000000001145000221100213225ustar00rootroot00000000000000arora-0.11.0/autotests/adblock/adblocknetwork/.gitignore000066400000000000000000000000171145000221100233100ustar00rootroot00000000000000adblocknetwork arora-0.11.0/autotests/adblock/adblocknetwork/adblocknetwork.pro000066400000000000000000000002151145000221100250530ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../../autotests.pri) # Input SOURCES += tst_adblocknetwork.cpp HEADERS += arora-0.11.0/autotests/adblock/adblocknetwork/tst_adblocknetwork.cpp000066400000000000000000000153071145000221100257370ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include #include "adblocknetwork.h" #include "adblockmanager.h" #include "adblocksubscription.h" #include "adblockrule.h" #include class tst_AdBlockNetwork : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void adblocknetwork_data(); void adblocknetwork(); void data(); void enabled_data(); void enabled(); void block_data(); void block(); }; // Subclass that exposes the protected functions. class SubAdBlockNetwork : public AdBlockNetwork { public: }; // This will be called before the first test function is executed. // It is only called once. void tst_AdBlockNetwork::initTestCase() { } // This will be called after the last test function is executed. // It is only called once. void tst_AdBlockNetwork::cleanupTestCase() { } // This will be called before each test function is executed. void tst_AdBlockNetwork::init() { } // This will be called after every test function. void tst_AdBlockNetwork::cleanup() { AdBlockManager *manager = AdBlockManager::instance(); QList list = manager->subscriptions(); foreach (AdBlockSubscription *s, list) manager->removeSubscription(s); } void tst_AdBlockNetwork::adblocknetwork_data() { } void tst_AdBlockNetwork::adblocknetwork() { SubAdBlockNetwork network; QCOMPARE(network.block(QNetworkRequest()), (QNetworkReply*)0); } void tst_AdBlockNetwork::data() { SubAdBlockNetwork network; AdBlockManager *manager = AdBlockManager::instance(); manager->setEnabled(true); AdBlockSubscription *subscription = new AdBlockSubscription(QUrl(), manager); subscription->setEnabled(true); manager->addSubscription(subscription); AdBlockRule rule("/"); rule.setEnabled(true); subscription->addRule(rule); QNetworkReply *reply = 0; QNetworkRequest request = QNetworkRequest(QUrl("data://foobar")); reply = network.block(request); QVERIFY(!reply); } void tst_AdBlockNetwork::enabled_data() { QTest::addColumn("enableManager"); QTest::addColumn("enableSubscription"); QTest::addColumn("enableRule"); QTest::addColumn("block"); QTest::newRow("null") << true << true << true << true; QTest::newRow("m") << false << true << true << false; QTest::newRow("s") << true << false << true << false; QTest::newRow("r") << true << true << false << false; } void tst_AdBlockNetwork::enabled() { QFETCH(bool, enableManager); QFETCH(bool, enableSubscription); QFETCH(bool, enableRule); QFETCH(bool, block); SubAdBlockNetwork network; AdBlockManager *manager = AdBlockManager::instance(); manager->setEnabled(enableManager); AdBlockSubscription *subscription = new AdBlockSubscription(QUrl(), manager); subscription->setEnabled(enableSubscription); manager->addSubscription(subscription); AdBlockRule rule("/"); rule.setEnabled(enableRule); subscription->addRule(rule); QNetworkReply *reply = 0; QNetworkRequest grequest = QNetworkRequest(QUrl("http://www.google.com")); reply = network.block(grequest); QCOMPARE((reply != 0), block); } // check that block block and !block blocks other sites void tst_AdBlockNetwork::block_data() { QTest::addColumn("ruleList"); QTest::addColumn("url"); QTest::addColumn("block"); QTest::newRow("null") << QString() << QUrl() << false; QUrl google("http://www.google.com"); QTest::newRow("google") << QString("/") << google << true; // defining exception rules QTest::newRow("exception0") << QString("@@advice,advice") << QUrl("http://example.com/advice.html") << false; QTest::newRow("exception1") << QString("@@|http://example.com") << QUrl("http://example.com/advice.html") << false; QTest::newRow("exception2") << QString("@@http://example.com") << QUrl("http://example.com/advice.html") << false; QTest::newRow("order0") << QString("advice,@@advice") << QUrl("http://example.com/advice.html") << false; } // public QNetworkReply *block(QNetworkRequest const &request) void tst_AdBlockNetwork::block() { QFETCH(QString, ruleList); QFETCH(QUrl, url); QFETCH(bool, block); SubAdBlockNetwork network; AdBlockManager *manager = AdBlockManager::instance(); manager->setEnabled(true); AdBlockSubscription *subscription = new AdBlockSubscription(QUrl(), manager); subscription->setEnabled(true); manager->addSubscription(subscription); QStringList rules = ruleList.split(","); foreach (const QString &rule, rules) subscription->addRule(AdBlockRule(rule)); QNetworkReply *reply = network.block(QNetworkRequest(url)); bool blocked = (reply != 0); QCOMPARE(blocked, block); } QTEST_MAIN(tst_AdBlockNetwork) #include "tst_adblocknetwork.moc" arora-0.11.0/autotests/adblock/adblockpage/000077500000000000000000000000001145000221100205455ustar00rootroot00000000000000arora-0.11.0/autotests/adblock/adblockpage/.gitignore000066400000000000000000000000141145000221100225300ustar00rootroot00000000000000adblockpage arora-0.11.0/autotests/adblock/adblockpage/adblockpage.pro000066400000000000000000000002121145000221100235160ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../../autotests.pri) # Input SOURCES += tst_adblockpage.cpp HEADERS += arora-0.11.0/autotests/adblock/adblockpage/test.html000066400000000000000000000006151145000221100224140ustar00rootroot00000000000000
Cheapest tofu, only here and now!
Really cheap tofu, click here!
Only here you get the best tofu!
tofu!
Cheapest tofu, only here and now!
Cheapest tofu, only here and now!
tofu!
arora-0.11.0/autotests/adblock/adblockpage/tst_adblockpage.cpp000066400000000000000000000116741145000221100244100ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include #include #include #include "adblockpage.h" #include "adblockmanager.h" #include "adblocksubscription.h" #include "adblockrule.h" #include #include #include #include class tst_AdBlockPage : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void adblockpage_data(); void adblockpage(); void applyRulesToPage_data(); void applyRulesToPage(); }; // Subclass that exposes the protected functions. class SubAdBlockPage : public AdBlockPage { public: }; // This will be called before the first test function is executed. // It is only called once. void tst_AdBlockPage::initTestCase() { } // This will be called after the last test function is executed. // It is only called once. void tst_AdBlockPage::cleanupTestCase() { } // This will be called before each test function is executed. void tst_AdBlockPage::init() { } // This will be called after every test function. void tst_AdBlockPage::cleanup() { AdBlockManager *manager = AdBlockManager::instance(); QList list = manager->subscriptions(); foreach (AdBlockSubscription *s, list) manager->removeSubscription(s); } void tst_AdBlockPage::adblockpage_data() { } void tst_AdBlockPage::adblockpage() { SubAdBlockPage page; page.applyRulesToPage((QWebPage*)0); } void tst_AdBlockPage::applyRulesToPage_data() { QTest::addColumn("ruleList"); QTest::addColumn("count"); int start = 7; QTest::newRow("null") << QString() << start; //Examples taken from http://adblockplus.org/en/filters QTest::newRow("basic-0") << QString("##div.textad") << start - 1; QTest::newRow("basic-1") << QString("##div#sponsorad") << start - 1; QTest::newRow("basic-2") << QString("##*#sponsorad") << start - 1; QTest::newRow("basic-3") << QString("##textad") << start -1; // Attribute selectors QTest::newRow("attribute-0") << QString("##table[width=\"80%\"]") << start - 2; QTest::newRow("attribute-1") << QString("##table[width=\"80%\"][bgcolor=\"white\"]") << start - 1; QTest::newRow("attribute-2") << QString("##div[title*=\"adv\"]") << start - 2; QTest::newRow("attribute-3") << QString("##div[title^=\"adv\"][title$=\"ert\"]") << start - 1; // Advanced selectors } // public void applyRulesToPage(QWebPage *page) void tst_AdBlockPage::applyRulesToPage() { QFETCH(QString, ruleList); QFETCH(int, count); AdBlockManager *manager = AdBlockManager::instance(); manager->setEnabled(true); AdBlockSubscription *subscription = new AdBlockSubscription(QUrl(), manager); subscription->setEnabled(true); manager->addSubscription(subscription); QStringList rules = ruleList.split(","); foreach (const QString &rule, rules) subscription->addRule(AdBlockRule(rule)); QWebView view; QSignalSpy spy1(view.page(), SIGNAL(loadFinished(bool))); view.load(QUrl::fromLocalFile(QDir::currentPath() + "/test.html")); QTRY_COMPARE(spy1.count(), 1); SubAdBlockPage page; page.applyRulesToPage(view.page()); if (view.page()->mainFrame()->toHtml().count("tofu") != count) qDebug() << view.page()->mainFrame()->toHtml(); QCOMPARE(view.page()->mainFrame()->toHtml().count("tofu"), count); } QTEST_MAIN(tst_AdBlockPage) #include "tst_adblockpage.moc" arora-0.11.0/autotests/adblock/adblockrule/000077500000000000000000000000001145000221100206005ustar00rootroot00000000000000arora-0.11.0/autotests/adblock/adblockrule/.gitignore000066400000000000000000000000141145000221100225630ustar00rootroot00000000000000adblockrule arora-0.11.0/autotests/adblock/adblockrule/adblockrule.pro000066400000000000000000000002121145000221100236040ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../../autotests.pri) # Input SOURCES += tst_adblockrule.cpp HEADERS += arora-0.11.0/autotests/adblock/adblockrule/tst_adblockrule.cpp000066400000000000000000000373071145000221100244770ustar00rootroot00000000000000/* * Copyright 2009 Benjamin C. Meyer * Copyright 2009 Zsombor Gegesy * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include "adblockrule.h" #include #include class tst_AdBlockRule : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void regexpCreation_data(); void regexpCreation(); void networkMatch_data(); void networkMatch(); }; // Subclass that exposes the protected functions. class SubAdBlockRule : public AdBlockRule { public: SubAdBlockRule(const QString &filter); }; SubAdBlockRule::SubAdBlockRule(const QString &filter) : AdBlockRule(filter) { } // This will be called before the first test function is executed. // It is only called once. void tst_AdBlockRule::initTestCase() { } // This will be called after the last test function is executed. // It is only called once. void tst_AdBlockRule::cleanupTestCase() { } // This will be called before each test function is executed. void tst_AdBlockRule::init() { } // This will be called after every test function. void tst_AdBlockRule::cleanup() { } void tst_AdBlockRule::networkMatch_data() { QTest::addColumn("filter"); QTest::addColumn("url"); QTest::addColumn("networkMatch"); QTest::newRow("null") << QString() << QUrl() << false; //Examples taken from http://adblockplus.org/en/filters // Basic filter rules QTest::newRow("basic0") << QString("http://example.com/ads/banner123.gif") << QUrl("http://example.com/ads/banner123.gif") << true; QTest::newRow("basic1") << QString("http://example.com/ads/banner*.gif") << QUrl("http://example.com/ads/banner123.gif") << true; QTest::newRow("basic2") << QString("http://example.com/ads/*") << QUrl("http://example.com/ads/banner123.gif") << true; QTest::newRow("basic3") << QString("http://example.com/*") << QUrl("http://example.com/ads/banner123.gif") << true; // defining exception rules QTest::newRow("exception0") << QString("@@advice") << QUrl("http://example.com/advice.html") << true; QTest::newRow("exception1") << QString("@@|http://example.com") << QUrl("http://example.com/advice.html") << true; QTest::newRow("exception2") << QString("@@http://example.com") << QUrl("http://example.com/advice.html") << true; // matching at beginning/end of an address QTest::newRow("m0") << QString("ad") << QUrl("http://example.com/advice.html") << true; QTest::newRow("m1") << QString("*ad*") << QUrl("http://example.com/advice.html") << true; QTest::newRow("m2") << QString("swf") << QUrl("http://example.com/swf/index.html") << true; QTest::newRow("m3") << QString("swf|") << QUrl("http://example.com/annoyingflash.swf") << true; QTest::newRow("m4") << QString("swf|") << QUrl("http://example.com/swf/index.html") << false; QTest::newRow("m5") << QString("http://baddomain.example/") << QUrl("http://baddomain.example/banner.gif") << true; QTest::newRow("m6") << QString("http://baddomain.example/") << QUrl("http://gooddomain.example/analyze?http://baddomain.example.") << false; QTest::newRow("m7") << QString("||example.com/banner.gif") << QUrl("http://example.com/banner.gif") << true; QTest::newRow("m8") << QString("||example.com/banner.gif") << QUrl("https://example.com/banner.gif") << true; QTest::newRow("m9") << QString("||example.com/banner.gif") << QUrl("http://www.example.com/banner.gif") << true; QTest::newRow("m10") << QString("||example.com/banner.gif") << QUrl("http://badexample.com/banner.gif") << false; QTest::newRow("m10") << QString("||example.com/banner.gif") << QUrl("http://gooddomain.example/analyze?http://example.com/banner.gif") << false; QTest::newRow("m11") << QString("/getad.php|") << QUrl("http://adblockplus.mozdev.org/easylist/easylist.txt") << false; // Matching separators QTest::newRow("sep_1") << QString("a^") << QUrl("a/") << true; QTest::newRow("sep_2") << QString("a^") << QUrl("a:") << true; QTest::newRow("sep_3") << QString("a^") << QUrl("a.") << false; QTest::newRow("sep_4") << QString("a^") << QUrl("a?") << true; QTest::newRow("sep_5") << QString("a^") << QUrl("a=") << true; QTest::newRow("sep_6") << QString("a^") << QUrl("a&") << true; QTest::newRow("s1_s") << QString("com^") << QUrl("com:") << true; QTest::newRow("s2_s") << QString("ab^cd") << QUrl("ab.cd") << false; // Marking separate characters QTest::newRow("s0") << QString("http://example.com^") << QUrl("http://example.com/") << true; QTest::newRow("s1") << QString("http://example.com^") << QUrl("http://example.com:8000/") << true; QTest::newRow("s2") << QString("http://example.com^") << QUrl("http://example.com.ar/") << false; QTest::newRow("s3") << QString("^example.com^") << QUrl("http://example.com:8000/foo.bar?a=12&b=%D1%82%D0%B5%D1%81%D1%82") << true; QTest::newRow("s4") << QString("^%D1^") << QUrl::fromEncoded("http://example.com:8000/foo.bar?a=12&b=%D1") << true; QTest::newRow("s5") << QString("^foo.bar^") << QUrl("http://example.com:8000/foo.bar?a=12&b=%D1%82%D0%B5%D1%81%D1%82") << true; QTest::newRow("s6") << QString("^%D1%82%D0%B5%D1%81%D1%82^") << QUrl::fromEncoded("http://example.com:8000/foo.bar?a=12&b=%D1%82%D0%B5%D1%81%D1%82") << true; // Comments QTest::newRow("c0") << QString("!foo.bar") << QUrl("!foo.bar") << false; QTest::newRow("c1") << QString("!foo.bar") << QUrl("foo.bar") << false; // Specifying filter options // type QTest::newRow("o0") << QString("*/ads/*$script,image,background,stylesheet,object,xbl,ping,xmlhttprequest,object-subrequest,object-subrequest,dtd,subdocument,document,other") << QUrl("foo.bar/ads/foo.jpg") << false; // Inverse type QTest::newRow("o1") << QString("*/ads/*$~script, ~image, ~background, ~stylesheet, ~object, ~xbl, ~ping, ~xmlhttprequest, ~object-subrequest, ~dtd, ~subdocument, ~document, ~other") << QUrl("foo.bar/ads/foo.jpg") << false; // Restriction to third-party/first-party requests QTest::newRow("o2") << QString("*/ads/*$third-party") << QUrl("foo.bar/ads/foo.jpg") << false; QTest::newRow("o3") << QString("*/ads/*$first-party") << QUrl("foo.bar/ads/foo.jpg") << false; // Domain restrictions QTest::newRow("o4") << QString("*/ads/*$domain=example.com|example.net") << QUrl("http://example.com/ads/foo.jpg") << true; QTest::newRow("o5") << QString("*/ads/*$domain=example.com") << QUrl("http://foo.com/ads/foo.jpg") << false; QTest::newRow("o6") << QString("*/ads/*$domain=~example.com") << QUrl("http://foo.com/ads/foo.jpg") << true; QTest::newRow("o7") << QString("*/ads/*$domain=~example.com") << QUrl("http://example.com/ads/foo.jpg") << false; QTest::newRow("o8") << QString("*/ads/*$domain=example.com|~foo.example.com") << QUrl("http://example.com/ads/foo.jpg") << true; QTest::newRow("o9") << QString("*/ads/*$domain=example.com|~foo.example.com") << QUrl("http://foo.example.com/ads/foo.jpg") << false; QTest::newRow("o10") << QString("*/ads/*$domain=example.com|~foo.example.com") << QUrl("http://bar.example.com/ads/foo.jpg") << true; // match-case QTest::newRow("o11") << QString("*/BannerAd.gif$match-case") << QUrl("http://example.com/BannerAd.gif") << true; QTest::newRow("o12") << QString("*/BannerAd.gif$match-case") << QUrl("http://example.com/bannerad.gif") << false; // collapse // TODO test collapse somehow QTest::newRow("o13") << QString("*/BannerAd.gif$collapse") << QUrl("http://example.com/bannerad.gif") << false; QTest::newRow("o14") << QString("*/BannerAd.gif$~collapse") << QUrl("http://example.com/bannerad.gif") << false; // Regular expressions QTest::newRow("r0") << QString("/banner\\d+/") << QUrl("banner123") << true; QTest::newRow("r1") << QString("/banner\\d+/") << QUrl("banner321") << true; QTest::newRow("r2") << QString("/banner\\d+/") << QUrl("banners") << false; // See the AdBlockPage autotest for CSS testing // Basic Element hiding the network matching should never pass QTest::newRow("e0") << QString("##div.textad") << QUrl() << false; QTest::newRow("e1") << QString("##div#sponsorad") << QUrl() << false; QTest::newRow("e1") << QString("##*#sponsorad") << QUrl() << false; QTest::newRow("e1") << QString("##textad") << QUrl() << false; QTest::newRow("e1") << QString("example.com##*.sponsor") << QUrl("example.com") << false; QTest::newRow("e1") << QString("example.com,example.net##*.sponsor") << QUrl("example.com") << false; // Seen on the internet QTest::newRow("i0") << QString("||snap.com^$third-party") << QUrl("http://spa.snap.com/snap_preview_anywhere.js?ap=1&key=89743df349c6c38afc3094e9566cb98e&sb=1&link_icon=off&domain=pub-6332280-www.techcrunch.com") << true; QTest::newRow("i1") << QString("|http://ads.") << QUrl("http://ads.cnn.com/html.ng/site=cnn&cnn_pagetype=main&cnn_position=336x280_adlinks&cnn_rollup=homepage&page.allowcompete=yes¶ms.styles=fs&tile=8837285713521&domId=463050") << true; QTest::newRow("i2") << QString("/adverti$~object_subrequest,~stylesheet,domain=~advertise4free.org|~amarillas.cl|~bnet.com|~catalysttelecom.com|~cod4central.com|~scansource.com|~scansourcecommunications.com|~scansourcesecurity.com") << QUrl("http://i2.cdn.turner.com/cnn/.element/img/2.0/content/ads/advertisement.gif") << true; QTest::newRow("i3") << QString("/adspace") << QUrl("http://i.cdn.turner.com/cnn/cnn_adspaces/cnn_adspaces.js") << false; } // public bool networkMatch(const QUrl &url) const void tst_AdBlockRule::networkMatch() { QFETCH(QString, filter); QFETCH(QUrl, url); QFETCH(bool, networkMatch); SubAdBlockRule AdBlockRule(filter); bool result = AdBlockRule.networkMatch(url.toEncoded()); if (result != networkMatch) { qDebug() << "Match error."; qDebug() << "\tFilter:" << filter; qDebug() << "\tUrl: " << url; qDebug() << "\tResult : " << (result ? "match" : "NOT match"); } QCOMPARE(AdBlockRule.networkMatch(url.toEncoded()), networkMatch); } void tst_AdBlockRule::regexpCreation_data() { QTest::addColumn("input"); QTest::addColumn("output"); QTest::newRow("null") << QString("test") << QString("test"); QTest::newRow("m1") << QString("abc*") << QString("abc"); QTest::newRow("m2") << QString("*abc*") << QString("abc"); QTest::newRow("m3") << QString("abc**") << QString("abc"); QTest::newRow("m4") << QString("abc***") << QString("abc"); QTest::newRow("m5") << QString("**abc**") << QString("abc"); QTest::newRow("m6") << QString("**a*bc**") << QString("a.*bc"); QTest::newRow("h1") << QString("abc.com") << QString("abc\\.com"); QTest::newRow("a2") << QString("abc^|def") << QString("abc(?:[^\\w\\d\\-.%]|$)\\|def"); QTest::newRow("a3") << QString("^|def") << QString("(?:[^\\w\\d\\-.%]|$)\\|def"); QTest::newRow("s1") << QString("de|f") << QString("de\\|f"); QTest::newRow("e1") << QString("|abc") << QString("^abc"); QTest::newRow("e2") << QString("d|abc") << QString("d\\|abc"); QTest::newRow("e3") << QString("abc|") << QString("abc$"); QTest::newRow("z1") << QString("^abc") << QString("(?:[^\\w\\d\\-.%]|$)abc"); QTest::newRow("z2") << QString("a^bc") << QString("a(?:[^\\w\\d\\-.%]|$)bc"); QTest::newRow("z3") << QString("abc^|") << QString("abc(?:[^\\w\\d\\-.%]|$)"); QTest::newRow("z4") << QString("http://example.com^") << QString("http\\:\\/\\/example\\.com(?:[^\\w\\d\\-.%]|$)"); QTest::newRow("d0") << QString("||example.com") << QString("^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?example\\.com"); QTest::newRow("d1") << QString("||example.com/banner.gif") << QString("^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?example\\.com\\/banner\\.gif"); } void tst_AdBlockRule::regexpCreation() { QFETCH(QString, input); QFETCH(QString, output); SubAdBlockRule rule(input); QCOMPARE(rule.regExpPattern(), output); } QTEST_MAIN(tst_AdBlockRule) #include "tst_adblockrule.moc" arora-0.11.0/autotests/adblock/adblocksubscription/000077500000000000000000000000001145000221100223555ustar00rootroot00000000000000arora-0.11.0/autotests/adblock/adblocksubscription/.gitignore000066400000000000000000000000371145000221100243450ustar00rootroot00000000000000adblocksubscription rules2.txt arora-0.11.0/autotests/adblock/adblocksubscription/adblocksubscription.pro000066400000000000000000000002221145000221100271370ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../../autotests.pri) # Input SOURCES += tst_adblocksubscription.cpp HEADERS += arora-0.11.0/autotests/adblock/adblocksubscription/rules.txt000066400000000000000000000000671145000221100242530ustar00rootroot00000000000000[Adblock Plus 0.7.1] http://example.com/ads/* @@advice arora-0.11.0/autotests/adblock/adblocksubscription/tst_adblocksubscription.cpp000066400000000000000000000254071145000221100300270ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include #include #include #include #include class tst_AdBlockSubscription : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void adblocksubscription_data(); void adblocksubscription(); void isEnabled_data(); void isEnabled(); void location_data(); void location(); void saveRules_data(); void saveRules(); void title_data(); void title(); void updateNow_data(); void updateNow(); void allow_data(); void allow(); void block_data(); void block(); void addRule(); void removeRule(); }; // Subclass that exposes the protected functions. class SubAdBlockSubscription : public AdBlockSubscription { public: SubAdBlockSubscription(const QUrl &url = QUrl()) : AdBlockSubscription(url) {} }; // This will be called before the first test function is executed. // It is only called once. void tst_AdBlockSubscription::initTestCase() { } // This will be called after the last test function is executed. // It is only called once. void tst_AdBlockSubscription::cleanupTestCase() { } // This will be called before each test function is executed. void tst_AdBlockSubscription::init() { } // This will be called after every test function. void tst_AdBlockSubscription::cleanup() { } void tst_AdBlockSubscription::adblocksubscription_data() { QTest::addColumn("url"); QTest::addColumn("title"); QTest::addColumn("location"); QTest::addColumn("enabled"); QTest::addColumn("lastUpdate"); QTest::newRow("basic0") << QUrl::fromEncoded("abp:subscribe?location=http://easylist.adblockplus.org/easylist.txt&title=EasyList") << "EasyList" << QUrl("http://easylist.adblockplus.org/easylist.txt") << true << QDateTime(); QTest::addColumn("url"); QTest::addColumn("title"); QTest::addColumn("location"); QTest::addColumn("enabled"); QTest::addColumn("lastUpdate"); QTest::newRow("basic1") << QUrl::fromEncoded("abp:subscribe?location=http://easylist.adblockplus.org/easylist.txt&title=EasyList&enabled=false&lastUpdate=2009-01-16T12%3A10%3A55") << "EasyList" << QUrl("http://easylist.adblockplus.org/easylist.txt") << false << QDateTime(QDate(2009, 1, 16), QTime(12, 10, 55)); } void tst_AdBlockSubscription::adblocksubscription() { QFETCH(QUrl, url); QFETCH(QString, title); QFETCH(QUrl, location); QFETCH(bool, enabled); QFETCH(QDateTime, lastUpdate); SubAdBlockSubscription subscription(url); QCOMPARE(subscription.title(), title); QCOMPARE(subscription.location(), location); QCOMPARE(subscription.isEnabled(), enabled); QCOMPARE(subscription.lastUpdate(), lastUpdate); QVERIFY(subscription.url().isValid()); //QCOMPARE(subscription.url(), url); QCOMPARE(subscription.block(QString()), (AdBlockRule const*)0); subscription.saveRules(); subscription.setEnabled(false); subscription.setLocation(QUrl()); subscription.setTitle(QString()); subscription.updateNow(); subscription.allRules(); subscription.removeRule(-1); subscription.removeRule(0); subscription.removeRule(1); subscription.addRule(AdBlockRule()); } Q_DECLARE_METATYPE(AdBlockRule const*) void tst_AdBlockSubscription::allow_data() { QTest::addColumn("url"); QTest::addColumn("allow"); QTest::newRow("block") << QUrl("http://example.com/ads/banner123.gif") << false; QTest::newRow("allow") << QUrl("http://example.com/ads/advice.html") << true; } // public AdBlockRule const *block(QString const &urlString) const void tst_AdBlockSubscription::allow() { QFETCH(QUrl, url); QFETCH(bool, allow); SubAdBlockSubscription subscription; subscription.setLocation(QUrl::fromLocalFile(QDir::currentPath() + "/rules.txt")); subscription.setEnabled(true); subscription.updateNow(); const AdBlockRule *rule = subscription.allow(QString::fromUtf8(url.toEncoded())); if (rule) QVERIFY(rule->isException()); QCOMPARE((0 != rule), allow); } void tst_AdBlockSubscription::block_data() { QTest::addColumn("url"); QTest::addColumn("block"); QTest::newRow("block") << QUrl("http://example.com/ads/banner123.gif") << true; QTest::newRow("allow") << QUrl("http://example.com/ads/advice.html") << true; } // public AdBlockRule const *block(QString const &urlString) const void tst_AdBlockSubscription::block() { QFETCH(QUrl, url); QFETCH(bool, block); SubAdBlockSubscription subscription; subscription.setLocation(QUrl::fromLocalFile(QDir::currentPath() + "/rules.txt")); subscription.setEnabled(true); subscription.updateNow(); const AdBlockRule *rule = subscription.block(QString::fromUtf8(url.toEncoded())); if (rule) QVERIFY(!rule->isException()); QCOMPARE((0 != rule), block); } void tst_AdBlockSubscription::isEnabled_data() { QTest::addColumn("isEnabled"); QTest::newRow("true") << true; QTest::newRow("false") << false; } // public bool isEnabled() const void tst_AdBlockSubscription::isEnabled() { QFETCH(bool, isEnabled); SubAdBlockSubscription subscription; QSignalSpy spy0(&subscription, SIGNAL(rulesChanged())); QSignalSpy spy1(&subscription, SIGNAL(changed())); bool changed = subscription.isEnabled() != isEnabled; subscription.setEnabled(isEnabled); QCOMPARE(subscription.isEnabled(), isEnabled); QCOMPARE(spy0.count(), 0); QCOMPARE(spy1.count(), changed ? 1 : 0); } void tst_AdBlockSubscription::location_data() { QTest::addColumn("location"); QTest::newRow("null") << QUrl(); QTest::newRow("x") << QUrl("x"); } // public QUrl location() const void tst_AdBlockSubscription::location() { QFETCH(QUrl, location); SubAdBlockSubscription subscription(QUrl("abp:subscribe")); QSignalSpy spy0(&subscription, SIGNAL(rulesChanged())); QSignalSpy spy1(&subscription, SIGNAL(changed())); bool changed = location != subscription.location(); subscription.setLocation(location); QCOMPARE(subscription.location(), location); QCOMPARE(subscription.url(), QUrl(QString("abp:subscribe?location=%1&title=").arg(location.toString()))); QCOMPARE(spy0.count(), 0); QCOMPARE(spy1.count(), changed ? 1 : 0); } void tst_AdBlockSubscription::saveRules_data() { QTest::addColumn("location"); QTest::newRow("file") << QUrl::fromLocalFile(QDir::currentPath() + "/rules2.txt"); } // public void saveRules() void tst_AdBlockSubscription::saveRules() { QFETCH(QUrl, location); SubAdBlockSubscription subscription; subscription.setLocation(location); subscription.addRule(AdBlockRule()); subscription.saveRules(); subscription.removeRule(0); subscription.updateNow(); QCOMPARE(subscription.allRules().count(), 1); } void tst_AdBlockSubscription::title_data() { QTest::addColumn("title"); QTest::newRow("null") << QString(); QTest::newRow("foo") << QString("foo"); } // public QString title() const void tst_AdBlockSubscription::title() { QFETCH(QString, title); SubAdBlockSubscription subscription; QSignalSpy spy0(&subscription, SIGNAL(rulesChanged())); QSignalSpy spy1(&subscription, SIGNAL(changed())); bool changed = title != subscription.title(); subscription.setTitle(title); QCOMPARE(subscription.title(), title); QCOMPARE(spy0.count(), 0); QCOMPARE(spy1.count(), changed ? 1 : 0); } void tst_AdBlockSubscription::updateNow_data() { QTest::addColumn("location"); QTest::newRow("file") << QUrl::fromLocalFile(QDir::currentPath() + "/rules.txt"); } // public void updateNow() void tst_AdBlockSubscription::updateNow() { QFETCH(QUrl, location); SubAdBlockSubscription subscription; subscription.setLocation(location); QSignalSpy spy0(&subscription, SIGNAL(rulesChanged())); QSignalSpy spy1(&subscription, SIGNAL(changed())); subscription.updateNow(); QTRY_COMPARE(spy0.count(), 1); QCOMPARE(spy1.count(), 1); QVERIFY(subscription.lastUpdate() != QDateTime()); QCOMPARE(subscription.allRules().count(), 2); } void tst_AdBlockSubscription::addRule() { SubAdBlockSubscription subscription; QSignalSpy spy0(&subscription, SIGNAL(rulesChanged())); QSignalSpy spy1(&subscription, SIGNAL(changed())); subscription.addRule(AdBlockRule()); subscription.addRule(AdBlockRule("/test")); QTRY_COMPARE(spy0.count(), 2); QCOMPARE(spy1.count(), 0); QCOMPARE(subscription.allRules().count(), 2); } void tst_AdBlockSubscription::removeRule() { SubAdBlockSubscription subscription; QSignalSpy spy0(&subscription, SIGNAL(rulesChanged())); QSignalSpy spy1(&subscription, SIGNAL(changed())); subscription.addRule(AdBlockRule("/test")); subscription.removeRule(0); QTRY_COMPARE(spy0.count(), 2); QCOMPARE(spy1.count(), 0); QCOMPARE(subscription.allRules().count(), 0); } QTEST_MAIN(tst_AdBlockSubscription) #include "tst_adblocksubscription.moc" arora-0.11.0/autotests/addbookmarkdialog/000077500000000000000000000000001145000221100203505ustar00rootroot00000000000000arora-0.11.0/autotests/addbookmarkdialog/.gitignore000066400000000000000000000000221145000221100223320ustar00rootroot00000000000000addbookmarkdialog arora-0.11.0/autotests/addbookmarkdialog/addbookmarkdialog.pro000066400000000000000000000002021145000221100245220ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../autotests.pri) # Input SOURCES += tst_addbookmarkdialog.cpp arora-0.11.0/autotests/addbookmarkdialog/tst_addbookmarkdialog.cpp000066400000000000000000000115401145000221100254050ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include "addbookmarkdialog.h" #include "bookmarksmanager.h" #include "bookmarknode.h" #include "browserapplication.h" #include #include class tst_AddBookmarkDialog : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void addbookmarkdialog_data(); void addbookmarkdialog(); }; // Subclass that exposes the protected functions. class SubAddBookmarkDialog : public AddBookmarkDialog { public: SubAddBookmarkDialog(QWidget *parent, BookmarksManager *manager) : AddBookmarkDialog(parent, manager) {} }; // This will be called before the first test function is executed. // It is only called once. void tst_AddBookmarkDialog::initTestCase() { QCoreApplication::setApplicationName("addbookmarkdialogtest"); } // This will be called after the last test function is executed. // It is only called once. void tst_AddBookmarkDialog::cleanupTestCase() { } // This will be called before each test function is executed. void tst_AddBookmarkDialog::init() { BookmarksManager *manager = BrowserApplication::bookmarksManager(); BookmarkNode *root = manager->bookmarks(); QList nodes = root->children(); BookmarkNode *menu = nodes[0]; BookmarkNode *toolbar = nodes[1]; while (!menu->children().isEmpty()) manager->removeBookmark(menu->children().first()); while (!toolbar->children().isEmpty()) manager->removeBookmark(toolbar->children().first()); } // This will be called after every test function. void tst_AddBookmarkDialog::cleanup() { } Q_DECLARE_METATYPE(QDialogButtonBox::StandardButton) void tst_AddBookmarkDialog::addbookmarkdialog_data() { QTest::addColumn("url"); QTest::addColumn("title"); QTest::addColumn("button"); QTest::addColumn("menuCount"); QTest::addColumn("toolbarCount"); QTest::addColumn("select"); // select invalid, menu, toolbar, submenu QTest::newRow("cancel") << "url" << "title" << QDialogButtonBox::Cancel << 0 << 0 << -1; QTest::newRow("ok default") << "url" << "title" << QDialogButtonBox::Ok << 0 << 1 << -1; QTest::newRow("ok toolbar") << "url" << "title" << QDialogButtonBox::Ok << 0 << 1 << 0; QTest::newRow("ok menu") << "url" << "title" << QDialogButtonBox::Ok << 1 << 0 << 1; } void tst_AddBookmarkDialog::addbookmarkdialog() { QFETCH(QString, url); QFETCH(QString, title); QFETCH(QDialogButtonBox::StandardButton, button); QFETCH(int, menuCount); QFETCH(int, toolbarCount); QFETCH(int, select); BookmarksManager *manager = BrowserApplication::bookmarksManager(); qRegisterMetaType("BookmarkNode *"); QSignalSpy spy(manager, SIGNAL(entryAdded(BookmarkNode *))); BookmarkNode *menu = manager->menu(); BookmarkNode *toolbar = manager->toolbar(); QCOMPARE(menu->children().count(), 0); QCOMPARE(toolbar->children().count(), 0); SubAddBookmarkDialog dialog(0, manager); dialog.setUrl(url); dialog.setTitle(title); QComboBox *combobox = dialog.findChild(); QVERIFY(combobox); if (select != -1) { combobox->setCurrentIndex(select); combobox->view()->setCurrentIndex(combobox->model()->index(select, 0)); } QDialogButtonBox *buttonBox = dialog.findChild(); QVERIFY(buttonBox); QPushButton *pushButton = buttonBox->button(button); pushButton->click(); QCOMPARE(spy.count(), menuCount + toolbarCount); QCOMPARE(menu->children().count(), menuCount); QCOMPARE(toolbar->children().count(), toolbarCount); BookmarkNode *node = 0; if (menuCount == 1) node = menu->children()[0]; if (toolbarCount == 1) node = toolbar->children()[0]; if (node) { QCOMPARE(node->title, title); QCOMPARE(node->url, url); QVERIFY(dialog.addedNode()); QVERIFY(*node == *dialog.addedNode()); } } QTEST_MAIN(tst_AddBookmarkDialog) #include "tst_addbookmarkdialog.moc" arora-0.11.0/autotests/autosaver/000077500000000000000000000000001145000221100167235ustar00rootroot00000000000000arora-0.11.0/autotests/autosaver/.gitignore000066400000000000000000000000121145000221100207040ustar00rootroot00000000000000autosaver arora-0.11.0/autotests/autosaver/autosaver.pro000066400000000000000000000002351145000221100214560ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../autotests.pri) # Input SOURCES = tst_autosaver.cpp autosaver.cpp HEADERS = autosaver.h arora-0.11.0/autotests/autosaver/tst_autosaver.cpp000066400000000000000000000071341145000221100223370ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include class tst_AutoSaver : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); void save(); private slots: void AutoSaver_data(); void AutoSaver(); void changeOccurred_data(); void changeOccurred(); void deleted(); }; // Subclass that exposes the protected functions. class SubAutoSaver : public AutoSaver { public: SubAutoSaver(QObject *parent = 0) : AutoSaver(parent) {} void call_timerEvent(QTimerEvent *event) { return SubAutoSaver::timerEvent(event); } }; class TestClass : public QObject { Q_OBJECT signals: void saveCalled(); public: TestClass(QObject *parent = 0) : QObject(parent), AutoSaver(new SubAutoSaver(this)) { } ~TestClass() { AutoSaver->saveIfNeccessary(); } SubAutoSaver *AutoSaver; public slots: void save() { emit saveCalled(); } }; // This will be called before the first test function is executed. // It is only called once. void tst_AutoSaver::initTestCase() { } // This will be called after the last test function is executed. // It is only called once. void tst_AutoSaver::cleanupTestCase() { } // This will be called before each test function is executed. void tst_AutoSaver::init() { } // This will be called after every test function. void tst_AutoSaver::cleanup() { } void tst_AutoSaver::AutoSaver_data() { } void tst_AutoSaver::AutoSaver() { SubAutoSaver save(this); save.changeOccurred(); save.saveIfNeccessary(); } void tst_AutoSaver::save() { } typedef QList IntList; Q_DECLARE_METATYPE(IntList) void tst_AutoSaver::changeOccurred_data() { QTest::addColumn("changed"); QTest::addColumn("saved"); QTest::newRow("no changes") << (QList()) << 0; QTest::newRow("1 changes") << (QList() << 0) << 1; QTest::newRow("3 changes in a row") << (QList() << 0 << 0 << 0) << 1; QTest::newRow("2 changes 4 secs, 1 change") << (QList() << 0 << 0 << 4000) << 2; QTest::newRow("0, 1.5s, 2s, 12s(force save), 100m, 100m") << (QList() << 0 << 1500 << 2000 << 12000 << 100 << 100) << 2; } // public void changeOccurred() void tst_AutoSaver::changeOccurred() { QFETCH(IntList, changed); QFETCH(int, saved); TestClass *test = new TestClass; QSignalSpy spy(test, SIGNAL(saveCalled())); for (int i = 0; i < changed.count(); ++i) { QTest::qWait(changed.at(i)); test->AutoSaver->changeOccurred(); } delete test; QCOMPARE(spy.count(), saved); } void tst_AutoSaver::deleted() { TestClass *test = new TestClass; QSignalSpy spy(test, SIGNAL(saveCalled())); test->AutoSaver->changeOccurred(); delete test; QCOMPARE(spy.count(), 1); } QTEST_MAIN(tst_AutoSaver) #include "tst_autosaver.moc" arora-0.11.0/autotests/autotests.pri000066400000000000000000000005141145000221100174610ustar00rootroot00000000000000win32: CONFIG += console mac:CONFIG -= app_bundle CONFIG += qtestlib include($$PWD/../src/src.pri) include($$PWD/modeltest/modeltest.pri) HEADERS += qtest_arora.h DEFINES += AUTOTESTS INCLUDEPATH += $$PWD DEPENDPATH += $$PWD RCC_DIR = $$PWD/.rcc UI_DIR = $$PWD/.ui MOC_DIR = $$PWD/.moc OBJECTS_DIR = $$PWD/.obj arora-0.11.0/autotests/autotests.pro000066400000000000000000000006021145000221100174650ustar00rootroot00000000000000TEMPLATE = subdirs SUBDIRS = \ adblock \ addbookmarkdialog \ autosaver \ cookiejar \ historyfiltermodel \ historymanager \ modeltoolbar \ opensearchengine \ opensearchmanager \ opensearchreader \ opensearchwriter \ searchlineedit \ tabbar \ tabwidget \ utils \ webactionmapper \ webpage \ xbel CONFIG += ordered arora-0.11.0/autotests/cookiejar/000077500000000000000000000000001145000221100166605ustar00rootroot00000000000000arora-0.11.0/autotests/cookiejar/.gitignore000066400000000000000000000000121145000221100206410ustar00rootroot00000000000000cookiejar arora-0.11.0/autotests/cookiejar/cookiejar.pro000066400000000000000000000002051145000221100213450ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../autotests.pri) # Input SOURCES += tst_cookiejar.cpp HEADERS += arora-0.11.0/autotests/cookiejar/tst_cookiejar.cpp000066400000000000000000000326561145000221100222400ustar00rootroot00000000000000/* * Copyright 2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include class tst_CookieJar : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void cookiejar_data(); void cookiejar(); void acceptPolicy_data(); void acceptPolicy(); void allowedCookies_data(); void allowedCookies(); void allowForSessionCookies_data(); void allowForSessionCookies(); void blockedCookies_data(); void blockedCookies(); void clear_data(); void clear(); void cookiesForUrl_data(); void cookiesForUrl(); void keepPolicy_data(); void keepPolicy(); void loadSettings_data(); void loadSettings(); void setAcceptPolicy_data(); void setAcceptPolicy(); void setAllowedCookies_data(); void setAllowedCookies(); void setAllowForSessionCookies_data(); void setAllowForSessionCookies(); void setBlockedCookies_data(); void setBlockedCookies(); void setCookiesFromUrl_data(); void setCookiesFromUrl(); void setKeepPolicy_data(); void setKeepPolicy(); void cookiesChanged_data(); void cookiesChanged(); void isOnDomainList_data(); void isOnDomainList(); }; // Subclass that exposes the protected functions. class SubCookieJar : public CookieJar { public: void call_cookiesChanged() { return SubCookieJar::cookiesChanged(); } static bool call_isOnDomainList(QStringList const &list, QString const &domain) { return SubCookieJar::isOnDomainList(list, domain); } }; // This will be called before the first test function is executed. // It is only called once. void tst_CookieJar::initTestCase() { } // This will be called after the last test function is executed. // It is only called once. void tst_CookieJar::cleanupTestCase() { } // This will be called before each test function is executed. void tst_CookieJar::init() { } // This will be called after every test function. void tst_CookieJar::cleanup() { } void tst_CookieJar::cookiejar_data() { } void tst_CookieJar::cookiejar() { SubCookieJar jar; #if 0 QCOMPARE(jar.acceptPolicy(), CookieJar::AcceptPolicy); QCOMPARE(jar.allowedCookies(), QStringList); QCOMPARE(jar.allowForSessionCookies(), QStringList); QCOMPARE(jar.blockedCookies(), QStringList); jar.clear(); QCOMPARE(jar.cookiesForUrl(QUrl()), QList()); QCOMPARE(jar.keepPolicy(), CookieJar::KeepPolicy); jar.loadSettings(); jar.setAcceptPolicy(CookieJar::AcceptPolicy); jar.setAllowedCookies(QStringList()); jar.setAllowForSessionCookies(QStringList()); jar.setBlockedCookies(QStringList()); QCOMPARE(jar.setCookiesFromUrl(QList(), QUrl()), false); jar.setKeepPolicy(CookieJar::KeepPolicy); jar.call_cookiesChanged(); QCOMPARE(jar.call_isOnDomainList(QStringList(), QString()), false); #endif QSKIP("Test is not implemented.", SkipAll); } Q_DECLARE_METATYPE(CookieJar::AcceptPolicy) void tst_CookieJar::acceptPolicy_data() { #if 0 QTest::addColumn("acceptPolicy"); QTest::newRow("null") << CookieJar::AcceptPolicy(); #endif } // public CookieJar::AcceptPolicy acceptPolicy() const void tst_CookieJar::acceptPolicy() { #if 0 QFETCH(CookieJar::AcceptPolicy, acceptPolicy); SubCookieJar jar; QSignalSpy spy0(&jar, SIGNAL(cookiesChanged())); QCOMPARE(jar.acceptPolicy(), acceptPolicy); QCOMPARE(spy0.count(), 0); #endif QSKIP("Test is not implemented.", SkipAll); } void tst_CookieJar::allowedCookies_data() { #if 0 QTest::addColumn("allowedCookies"); QTest::newRow("null") << QStringList(); #endif } // public QStringList allowedCookies() const void tst_CookieJar::allowedCookies() { #if 0 QFETCH(QStringList, allowedCookies); SubCookieJar jar; QSignalSpy spy0(&jar, SIGNAL(cookiesChanged())); QCOMPARE(jar.allowedCookies(), allowedCookies); QCOMPARE(spy0.count(), 0); #endif QSKIP("Test is not implemented.", SkipAll); } void tst_CookieJar::allowForSessionCookies_data() { #if 0 QTest::addColumn("allowForSessionCookies"); QTest::newRow("null") << QStringList(); #endif } // public QStringList allowForSessionCookies() const void tst_CookieJar::allowForSessionCookies() { #if 0 QFETCH(QStringList, allowForSessionCookies); SubCookieJar jar; QSignalSpy spy0(&jar, SIGNAL(cookiesChanged())); QCOMPARE(jar.allowForSessionCookies(), allowForSessionCookies); QCOMPARE(spy0.count(), 0); #endif QSKIP("Test is not implemented.", SkipAll); } void tst_CookieJar::blockedCookies_data() { #if 0 QTest::addColumn("blockedCookies"); QTest::newRow("null") << QStringList(); #endif } // public QStringList blockedCookies() const void tst_CookieJar::blockedCookies() { #if 0 QFETCH(QStringList, blockedCookies); SubCookieJar jar; QSignalSpy spy0(&jar, SIGNAL(cookiesChanged())); QCOMPARE(jar.blockedCookies(), blockedCookies); QCOMPARE(spy0.count(), 0); #endif QSKIP("Test is not implemented.", SkipAll); } void tst_CookieJar::clear_data() { QTest::addColumn("foo"); QTest::newRow("0") << 0; QTest::newRow("-1") << -1; } // public void clear() void tst_CookieJar::clear() { #if 0 QFETCH(int, foo); SubCookieJar jar; QSignalSpy spy0(&jar, SIGNAL(cookiesChanged())); jar.clear(); QCOMPARE(spy0.count(), 0); #endif QSKIP("Test is not implemented.", SkipAll); } void tst_CookieJar::cookiesForUrl_data() { #if 0 QTest::addColumn("url"); QTest::addColumn>("cookiesForUrl"); QTest::newRow("null") << QUrl() << QList(); #endif } // public QList cookiesForUrl(QUrl const &url) const void tst_CookieJar::cookiesForUrl() { #if 0 QFETCH(QUrl, url); QFETCH(QList, cookiesForUrl); SubCookieJar jar; QSignalSpy spy0(&jar, SIGNAL(cookiesChanged())); QCOMPARE(jar.cookiesForUrl(url), cookiesForUrl); QCOMPARE(spy0.count(), 0); #endif QSKIP("Test is not implemented.", SkipAll); } Q_DECLARE_METATYPE(CookieJar::KeepPolicy) void tst_CookieJar::keepPolicy_data() { #if 0 QTest::addColumn("keepPolicy"); QTest::newRow("null") << CookieJar::KeepPolicy(); #endif } // public CookieJar::KeepPolicy keepPolicy() const void tst_CookieJar::keepPolicy() { #if 0 QFETCH(CookieJar::KeepPolicy, keepPolicy); SubCookieJar jar; QSignalSpy spy0(&jar, SIGNAL(cookiesChanged())); QCOMPARE(jar.keepPolicy(), keepPolicy); QCOMPARE(spy0.count(), 0); #endif QSKIP("Test is not implemented.", SkipAll); } void tst_CookieJar::loadSettings_data() { QTest::addColumn("foo"); QTest::newRow("0") << 0; QTest::newRow("-1") << -1; } // public void loadSettings() void tst_CookieJar::loadSettings() { #if 0 QFETCH(int, foo); SubCookieJar jar; QSignalSpy spy0(&jar, SIGNAL(cookiesChanged())); jar.loadSettings(); QCOMPARE(spy0.count(), 0); #endif QSKIP("Test is not implemented.", SkipAll); } void tst_CookieJar::setAcceptPolicy_data() { #if 0 QTest::addColumn("policy"); QTest::newRow("null") << CookieJar::AcceptPolicy(); #endif } // public void setAcceptPolicy(CookieJar::AcceptPolicy policy) void tst_CookieJar::setAcceptPolicy() { #if 0 QFETCH(CookieJar::AcceptPolicy, policy); SubCookieJar jar; QSignalSpy spy0(&jar, SIGNAL(cookiesChanged())); jar.setAcceptPolicy(policy); QCOMPARE(spy0.count(), 0); #endif QSKIP("Test is not implemented.", SkipAll); } void tst_CookieJar::setAllowedCookies_data() { #if 0 QTest::addColumn("list"); QTest::newRow("null") << QStringList(); #endif } // public void setAllowedCookies(QStringList const &list) void tst_CookieJar::setAllowedCookies() { #if 0 QFETCH(QStringList, list); SubCookieJar jar; QSignalSpy spy0(&jar, SIGNAL(cookiesChanged())); jar.setAllowedCookies(list); QCOMPARE(spy0.count(), 0); #endif QSKIP("Test is not implemented.", SkipAll); } void tst_CookieJar::setAllowForSessionCookies_data() { #if 0 QTest::addColumn("list"); QTest::newRow("null") << QStringList(); #endif } // public void setAllowForSessionCookies(QStringList const &list) void tst_CookieJar::setAllowForSessionCookies() { #if 0 QFETCH(QStringList, list); SubCookieJar jar; QSignalSpy spy0(&jar, SIGNAL(cookiesChanged())); jar.setAllowForSessionCookies(list); QCOMPARE(spy0.count(), 0); #endif QSKIP("Test is not implemented.", SkipAll); } void tst_CookieJar::setBlockedCookies_data() { #if 0 QTest::addColumn("list"); QTest::newRow("null") << QStringList(); #endif } // public void setBlockedCookies(QStringList const &list) void tst_CookieJar::setBlockedCookies() { #if 0 QFETCH(QStringList, list); SubCookieJar jar; QSignalSpy spy0(&jar, SIGNAL(cookiesChanged())); jar.setBlockedCookies(list); QCOMPARE(spy0.count(), 0); #endif QSKIP("Test is not implemented.", SkipAll); } void tst_CookieJar::setCookiesFromUrl_data() { #if 0 QTest::addColumn>("cookieList"); QTest::addColumn("url"); QTest::addColumn("setCookiesFromUrl"); QTest::newRow("null") << QList() << QUrl() << false; #endif } // public bool setCookiesFromUrl(QList const &cookieList, QUrl const &url) void tst_CookieJar::setCookiesFromUrl() { #if 0 QFETCH(QList, cookieList); QFETCH(QUrl, url); QFETCH(bool, setCookiesFromUrl); SubCookieJar jar; QSignalSpy spy0(&jar, SIGNAL(cookiesChanged())); QCOMPARE(jar.setCookiesFromUrl(cookieList, url), setCookiesFromUrl); QCOMPARE(spy0.count(), 0); #endif QSKIP("Test is not implemented.", SkipAll); } void tst_CookieJar::setKeepPolicy_data() { #if 0 QTest::addColumn("policy"); QTest::newRow("null") << CookieJar::KeepPolicy(); #endif } // public void setKeepPolicy(CookieJar::KeepPolicy policy) void tst_CookieJar::setKeepPolicy() { #if 0 QFETCH(CookieJar::KeepPolicy, policy); SubCookieJar jar; QSignalSpy spy0(&jar, SIGNAL(cookiesChanged())); jar.setKeepPolicy(policy); QCOMPARE(spy0.count(), 0); #endif QSKIP("Test is not implemented.", SkipAll); } void tst_CookieJar::cookiesChanged_data() { QTest::addColumn("foo"); QTest::newRow("0") << 0; QTest::newRow("-1") << -1; } // protected void cookiesChanged() void tst_CookieJar::cookiesChanged() { #if 0 QFETCH(int, foo); SubCookieJar jar; QSignalSpy spy0(&jar, SIGNAL(cookiesChanged())); jar.call_cookiesChanged(); QCOMPARE(spy0.count(), 0); #endif QSKIP("Test is not implemented.", SkipAll); } void tst_CookieJar::isOnDomainList_data() { QTest::addColumn("list"); QTest::addColumn("domain"); QTest::addColumn("isOnDomainList"); QTest::newRow("null") << QStringList() << QString() << false; QTest::newRow("exact-match") << (QStringList() << "foo.com") << "foo.com" << true; QTest::newRow("check-0") << (QStringList() << "foo.com") << "foo.com" << true; QTest::newRow("check-1") << (QStringList() << "foo.com") << ".foo.com" << true; QTest::newRow("check-2") << (QStringList() << ".foo.com") << "foo.com" << true; QTest::newRow("check-3") << (QStringList() << ".foo.com") << ".foo.com" << true; QTest::newRow("check-4") << (QStringList() << "foo.com") << "abcfoo.com" << false; QTest::newRow("check-5") << (QStringList() << "foo.com") << "abc.foo.com" << true; QTest::newRow("check-6") << (QStringList() << ".foo.com") << "abcfoo.com" << false; QTest::newRow("check-7") << (QStringList() << ".foo.com") << "abc.foo.com" << true; QTest::newRow("check-4") << (QStringList() << "abc.foo.com") << "foo.com" << false; QTest::newRow("check-5") << (QStringList() << "abc.foo.com") << ".foo.com" << false; QTest::newRow("edgecheck-0") << (QStringList() << "") << ".foo.com" << false; QTest::newRow("edgecheck-1") << (QStringList() << "") << "foo.com" << false; QTest::newRow("edgecheck-2") << (QStringList() << ".") << ".foo.com" << false; QTest::newRow("edgecheck-3") << (QStringList() << ".") << "foo.com" << false; QTest::newRow("edgecheck-4") << (QStringList() << "abc.foo.com") << "" << false; QTest::newRow("edgecheck-5") << (QStringList() << "a") << "ab" << false; } // protected static bool isOnDomainList(QStringList const &list, QString const &domain) void tst_CookieJar::isOnDomainList() { QFETCH(QStringList, list); QFETCH(QString, domain); QFETCH(bool, isOnDomainList); SubCookieJar jar; QCOMPARE(jar.call_isOnDomainList(list, domain), isOnDomainList); } QTEST_MAIN(tst_CookieJar) #include "tst_cookiejar.moc" arora-0.11.0/autotests/downloadmanager/000077500000000000000000000000001145000221100200545ustar00rootroot00000000000000arora-0.11.0/autotests/downloadmanager/.gitignore000066400000000000000000000000201145000221100220340ustar00rootroot00000000000000downloadmanager arora-0.11.0/autotests/downloadmanager/downloadmanager.pro000066400000000000000000000002131145000221100237340ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../autotests.pri) # Input SOURCES += tst_downloadmanager.cpp HEADERS += arora-0.11.0/autotests/downloadmanager/tst_downloadmanager.cpp000066400000000000000000000202501145000221100246130ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include #include #include "downloadmanager.h" #define BIGFILE "http://10.0.0.3/~ben/distccKNOPPIX-1.3-2004-08-20-gcc-3.3.iso" #define BIGFILENAME "distccKNOPPIX-1.3-2004-08-20-gcc-3.3.iso" #define BIGFILENAME2 "distccKNOPPIX-1.3-2004-08-20-gcc-3.3-1.iso" class tst_DownloadManager : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void downloadmanager_data(); void downloadmanager(); void cleanupButton_data(); void cleanupButton(); void download_data(); void download(); void removePolicy_data(); void removePolicy(); }; // Subclass that exposes the protected functions. class SubDownloadManager : public DownloadManager { public: SubDownloadManager(QWidget *parent = 0) : DownloadManager(parent) {} }; // This will be called before the first test function is executed. // It is only called once. void tst_DownloadManager::initTestCase() { QCoreApplication::setApplicationName("downloadmanagertest"); } // This will be called after the last test function is executed. // It is only called once. void tst_DownloadManager::cleanupTestCase() { } // This will be called before each test function is executed. void tst_DownloadManager::init() { QSettings settings; settings.clear(); QFile file(QDesktopServices::storageLocation(QDesktopServices::DesktopLocation) + '/' + BIGFILENAME); file.remove(); } // This will be called after every test function. void tst_DownloadManager::cleanup() { } void tst_DownloadManager::downloadmanager_data() { } void tst_DownloadManager::downloadmanager() { SubDownloadManager manager; manager.cleanup(); manager.download(QUrl()); manager.handleUnsupportedContent(0); QCOMPARE(manager.removePolicy(), DownloadManager::Never); manager.setRemovePolicy(DownloadManager::Never); } void tst_DownloadManager::cleanupButton_data() { QTest::addColumn("waitForDownload"); QTest::newRow("cancel") << false; QTest::newRow("cleanup") << true; } // public void cleanup() void tst_DownloadManager::cleanupButton() { QFETCH(bool, waitForDownload); { SubDownloadManager manager; QTableView *view = manager.findChild(); QVERIFY(view); QCOMPARE(view->model()->rowCount(), 0); QPushButton *cleanupButton = manager.findChild(); QVERIFY(cleanupButton); QVERIFY(!cleanupButton->isEnabled()); manager.download(QUrl(BIGFILE)); QProgressBar *bar = manager.findChild(); QVERIFY(bar); QListbuttons = manager.findChildren(); QPushButton *tryAgainButton = 0; for (int i = 0; i < buttons.count(); ++i) if (buttons[i]->text().contains("Try")) tryAgainButton = buttons[i]; QVERIFY(tryAgainButton); QVERIFY(tryAgainButton->isHidden()); QVERIFY(!tryAgainButton->isEnabled()); QCOMPARE(view->model()->rowCount(), 1); if (!waitForDownload) { QTest::qWait(500); } else { while (bar->value() != bar->maximum()) QTest::qWait(500); } QCOMPARE(cleanupButton->isEnabled(), waitForDownload); QCOMPARE(view->model()->rowCount(), 1); manager.cleanup(); QCOMPARE(view->model()->rowCount(), waitForDownload ? 0 : 1); if (view->model()->rowCount() != 0) { QVERIFY(tryAgainButton->isHidden()); QVERIFY(!tryAgainButton->isEnabled()); } } QFile file(QDesktopServices::storageLocation(QDesktopServices::DesktopLocation) + '/' + BIGFILENAME); QCOMPARE(file.exists(), true); file.remove(); } void tst_DownloadManager::download_data() { QTest::addColumn("request"); QTest::addColumn("requestfilename"); QTest::addColumn("rowCount"); QTest::addColumn("exists"); QTest::newRow("badfile") << (QStringList() << BIGFILE ".dne") << (QStringList() << BIGFILENAME ".dne") << 1 << false; QTest::newRow("twofiles") << (QStringList() << BIGFILE << BIGFILE) << (QStringList() << BIGFILENAME << BIGFILENAME2) << 2 << true; } // public void download(QNetworkRequest const &request) void tst_DownloadManager::download() { QFETCH(QStringList, request); QFETCH(QStringList, requestfilename); QFETCH(int, rowCount); QFETCH(bool, exists); { SubDownloadManager manager; QTableView *view = manager.findChild(); QVERIFY(view); QPushButton *cleanupButton = manager.findChild(); QVERIFY(cleanupButton); QVERIFY(!cleanupButton->isEnabled()); for (int i = 0; i < request.count(); ++i) manager.download(QUrl(request[i])); QListbuttons = manager.findChildren(); QPushButton *tryAgainButton = 0; for (int i = 0; i < buttons.count(); ++i) if (buttons[i]->text().contains("Try")) tryAgainButton = buttons[i]; QVERIFY(tryAgainButton); QVERIFY(!tryAgainButton->isEnabled()); QVERIFY(tryAgainButton->isHidden()); QListbars = manager.findChildren(); QCOMPARE(bars.count(), rowCount); QCOMPARE(view->model()->rowCount(), request.count()); QTest::qWait(1000); QCOMPARE(cleanupButton->isEnabled(), !exists); QCOMPARE(tryAgainButton->isEnabled(), !exists); QCOMPARE(tryAgainButton->isVisible(), !exists); } for (int i = 0; i < requestfilename.count(); ++i) { QFile file(QDesktopServices::storageLocation(QDesktopServices::DesktopLocation) + '/' + requestfilename[i]); // bad file stil returns a 404 webpage QVERIFY(file.exists()); file.remove(); } } Q_DECLARE_METATYPE(DownloadManager::RemovePolicy) void tst_DownloadManager::removePolicy_data() { QTest::addColumn("removePolicy"); QTest::newRow("Never") << DownloadManager::Never; QTest::newRow("Exit") << DownloadManager::Exit; QTest::newRow("SuccessFullDownload") << DownloadManager::SuccessFullDownload; } // public DownloadManager::RemovePolicy removePolicy() const void tst_DownloadManager::removePolicy() { QFETCH(DownloadManager::RemovePolicy, removePolicy); { SubDownloadManager manager; manager.setRemovePolicy(removePolicy); QCOMPARE(manager.removePolicy(), removePolicy); QTableView *view = manager.findChild(); QVERIFY(view); manager.download(QUrl(BIGFILE)); QProgressBar *bar = manager.findChild(); QVERIFY(bar); QCOMPARE(view->model()->rowCount(), 1); while (bar && bar->value() != bar->maximum()) { QTest::qWait(500); bar = manager.findChild(); } QCOMPARE(view->model()->rowCount(), (removePolicy == DownloadManager::SuccessFullDownload) ? 0 : 1); } QFile file(QDesktopServices::storageLocation(QDesktopServices::DesktopLocation) + '/' + BIGFILENAME); file.remove(); SubDownloadManager manager; QTableView *view = manager.findChild(); QVERIFY(view); QCOMPARE(view->model()->rowCount(), removePolicy == DownloadManager::Never ? 1 : 0); } QTEST_MAIN(tst_DownloadManager) #include "tst_downloadmanager.moc" arora-0.11.0/autotests/historyfiltermodel/000077500000000000000000000000001145000221100206425ustar00rootroot00000000000000arora-0.11.0/autotests/historyfiltermodel/.gitignore000066400000000000000000000000231145000221100226250ustar00rootroot00000000000000historyfiltermodel arora-0.11.0/autotests/historyfiltermodel/historyfiltermodel.pro000066400000000000000000000002161145000221100253130ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../autotests.pri) # Input SOURCES += tst_historyfiltermodel.cpp HEADERS += arora-0.11.0/autotests/historyfiltermodel/tst_historyfiltermodel.cpp000066400000000000000000000244251145000221100261770ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include #include class tst_HistoryFilterModel : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void historyfiltermodel_data(); void historyfiltermodel(); void historyContains_data(); void historyContains(); void setSourceModel(); void historyLocation_data(); void historyLocation(); void addRow_data(); void addRow(); void removeRows_data(); void removeRows(); }; // Subclass that exposes the protected functions. class SubHistoryFilterModel : public HistoryFilterModel { public: SubHistoryFilterModel(QObject *parent = 0) : HistoryFilterModel(0, parent) { history = new HistoryManager(this); historyModel = new HistoryModel(history, this); setSourceModel(historyModel); history->setDaysToExpire(-1); } HistoryModel *historyModel; HistoryManager *history; }; // This will be called before the first test function is executed. // It is only called once. void tst_HistoryFilterModel::initTestCase() { } // This will be called after the last test function is executed. // It is only called once. void tst_HistoryFilterModel::cleanupTestCase() { } // This will be called before each test function is executed. void tst_HistoryFilterModel::init() { } // This will be called after every test function. void tst_HistoryFilterModel::cleanup() { } void tst_HistoryFilterModel::historyfiltermodel_data() { } void tst_HistoryFilterModel::historyfiltermodel() { SubHistoryFilterModel model; QCOMPARE(model.historyContains(QString()), false); model.setSourceModel(0); model.historyLocation(QString()); } typedef QList HistoryList; Q_DECLARE_METATYPE(HistoryList) Q_DECLARE_METATYPE(HistoryEntry) HistoryList makeHistoryList(int count) { HistoryList list; QDateTime dateTime = QDateTime::currentDateTime(); for (int i = 0; i < count; ++i) { HistoryEntry item; QString url = QString("http://%1host-%2.com/") .arg(qrand() % 2 ? "www." : "") .arg(QString::number(i)); item.url = url; item.title = QString("title %1").arg(i); item.dateTime = dateTime; list.append(item); dateTime = dateTime.addSecs(-1 * qrand() % (60 * 60)); } return list; } void tst_HistoryFilterModel::historyContains_data() { QTest::addColumn("list"); QTest::addColumn("url"); QTest::addColumn("historyContains"); QTest::newRow("null") << HistoryList() << QString("foo") << false; HistoryList list1 = makeHistoryList(1); QTest::newRow("one") << list1 << list1.at(0).url << true; HistoryList list2 = makeHistoryList(5); QTest::newRow("many-0") << list2 << list2.at(0).url << true; QTest::newRow("many-1") << list2 << list2.at(1).url << true; QTest::newRow("many-2") << list2 << list2.at(4).url << true; QTest::newRow("many-3") << list2 << QString("foo") << false; } // public bool historyContains(QString const &url) const void tst_HistoryFilterModel::historyContains() { QFETCH(HistoryList, list); QFETCH(QString, url); QFETCH(bool, historyContains); SubHistoryFilterModel model; model.history->setHistory(list); QCOMPARE(model.historyContains(url), historyContains); } // public void setSourceModel(QAbstractItemModel *sourceModel) void tst_HistoryFilterModel::setSourceModel() { SubHistoryFilterModel model; HistoryManager manager; HistoryModel *m = new HistoryModel(&manager, &model); model.setSourceModel(m); QCOMPARE(model.sourceModel(), m); } Q_DECLARE_METATYPE(QModelIndex) void tst_HistoryFilterModel::historyLocation_data() { QTest::addColumn("history"); QTest::addColumn("source_row"); QTest::addColumn("historyLocation"); QTest::newRow("null") << HistoryList() << 0 << 0; HistoryList list1 = makeHistoryList(1); QTest::newRow("one-0") << list1 << 0 << 0; QTest::newRow("one-1") << list1 << 1 << 0; HistoryList list2 = makeHistoryList(5); list2.insert(1, list2.at(1)); list2[1].dateTime = list2[1].dateTime.addSecs(1); QTest::newRow("many-0") << list2 << 0 << 0; QTest::newRow("many-1") << list2 << 1 << 1; QTest::newRow("many-2") << list2 << 2 << 1; QTest::newRow("many-3") << list2 << 3 << 3; } // protected int historyLocation(int source_row) const void tst_HistoryFilterModel::historyLocation() { QFETCH(HistoryList, history); QFETCH(int, source_row); QFETCH(int, historyLocation); SubHistoryFilterModel model; model.history->setHistory(history); QCOMPARE(model.history->history(), history); QCOMPARE(model.historyLocation(history.value(source_row).url), historyLocation); } typedef QList EnabledList; Q_DECLARE_METATYPE(EnabledList) void tst_HistoryFilterModel::addRow_data() { QTest::addColumn("history"); QTest::addColumn("item"); QTest::addColumn("enabledList"); QTest::newRow("null") << HistoryList() << "http://foo.com" << (EnabledList() << 0); HistoryList list1 = makeHistoryList(1); QTest::newRow("one-0") << list1 << "http://foo.com" << (EnabledList() << 0 << 1); QTest::newRow("one-1") << list1 << list1[0].url << (EnabledList() << 0 << 0); HistoryList list2 = makeHistoryList(2); QTest::newRow("two-0") << list2 << "http://foo.com" << (EnabledList() << 0 << 1 << 2); QTest::newRow("two-1") << list2 << list2[0].url << (EnabledList() << 0 << 0 << 2); QTest::newRow("two-2") << list2 << list2[1].url << (EnabledList() << 0 << 1 << 0); HistoryList list3 = makeHistoryList(3); QTest::newRow("three-0") << list3 << list3[0].url << (EnabledList() << 0 << 0 << 2 << 3); QTest::newRow("three-1") << list3 << list3[1].url << (EnabledList() << 0 << 1 << 0 << 3); QTest::newRow("three-2") << list3 << list3[2].url << (EnabledList() << 0 << 1 << 2 << 0); HistoryList list4 = makeHistoryList(5); list4.insert(1, list4.at(1)); list4[1].dateTime = list4[1].dateTime.addSecs(1); QTest::newRow("many-0") << list4 << list4[0].url << (EnabledList() << 0 << 0 << 2 << 2 << 4 << 5 << 6); HistoryList list5 = makeHistoryList(3); // 0, 1, 2 list5.insert(1, list5.at(1)); list5[1].dateTime = list5[1].dateTime.addSecs(1); // 0, 1, 1, 2 list5.insert(4, list5.at(1)); list5[4].dateTime = list5[3].dateTime.addSecs(-81); // 0, 1, 1, 2, 1 // ?, 1, 2, 2, 4, 2 QTest::newRow("many-1") << list5 << list5[1].url << (EnabledList() << 0 << 1 << 0 << 0 << 4 << 0); } void tst_HistoryFilterModel::addRow() { QFETCH(HistoryList, history); QFETCH(QString, item); QFETCH(EnabledList, enabledList); SubHistoryFilterModel model; model.history->setHistory(history); QCOMPARE(model.history->history(), history); QCOMPARE(model.history->history().count(), history.count()); model.history->addHistoryEntry(item); int currentRow = 0; QCOMPARE(model.history->history().count(), enabledList.count()); for (int i = 0; i < enabledList.count(); ++i) { QVERIFY(i < model.history->history().count()); QCOMPARE(model.historyLocation(model.history->history().value(i).url), enabledList[i]); if (i > 0 && enabledList[i] != 0 && (enabledList[i-1] < enabledList[i] || enabledList[i-1] == 0)) ++currentRow; if (currentRow >= model.rowCount() || enabledList[i] == 0) continue; QModelIndex idx = model.index(currentRow, 1); QCOMPARE(idx.data(HistoryModel::UrlStringRole).toString(), model.history->history().value(i).url); QModelIndex historyIndex = model.historyModel->index(i, 1); QModelIndex filterIndex = model.mapFromSource(historyIndex); if (filterIndex.isValid()) { QCOMPARE(filterIndex.data().toString(), historyIndex.data().toString()); } } if (history.count() > 0) for (int i = 0; i < qrand() % 15; ++i) model.history->addHistoryEntry(history[qrand() % history.count()].url); QStringList urls; for (int i = 0; i < model.rowCount(); ++i) { QModelIndex idx = model.index(i, 0); QString url = idx.data(HistoryModel::UrlStringRole).toString(); QVERIFY(!urls.contains(url)); urls.append(url); } } void tst_HistoryFilterModel::removeRows_data() { QTest::addColumn("history"); QTest::addColumn("start"); QTest::addColumn("end"); QTest::addColumn("count"); QTest::newRow("null") << HistoryList() << 0 << 0 << 0; QTest::newRow("first-0") << makeHistoryList(5) << 0 << 1 << 4; QTest::newRow("first-1") << makeHistoryList(5) << 1 << 1 << 4; QTest::newRow("first-2") << makeHistoryList(5) << 0 << 2 << 3; QTest::newRow("first-3") << makeHistoryList(5) << 0 << 5 << 0; HistoryList list = makeHistoryList(5); list[1].url = list[0].url; QTest::newRow("dupe-0") << list << 0 << 0 << 4; QTest::newRow("dupe-1") << list << 0 << 1 << 4; QTest::newRow("dupe-2") << list << 1 << 1 << 3; QTest::newRow("dupe-3") << list << 0 << 4 << 0; } void tst_HistoryFilterModel::removeRows() { QFETCH(HistoryList, history); QFETCH(int, start); QFETCH(int, end); QFETCH(int, count); SubHistoryFilterModel model; model.history->setHistory(history); model.removeRows(start, end); QCOMPARE(model.rowCount(), count); } QTEST_MAIN(tst_HistoryFilterModel) #include "tst_historyfiltermodel.moc" arora-0.11.0/autotests/historymanager/000077500000000000000000000000001145000221100177465ustar00rootroot00000000000000arora-0.11.0/autotests/historymanager/.gitignore000066400000000000000000000000171145000221100217340ustar00rootroot00000000000000historymanager arora-0.11.0/autotests/historymanager/historymanager.pro000066400000000000000000000002121145000221100235170ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../autotests.pri) # Input SOURCES += tst_historymanager.cpp HEADERS += arora-0.11.0/autotests/historymanager/myhistory.txt000066400000000000000000043040571145000221100225730ustar00rootroot00000000000000http://www.host-1.com/ Title: 1 Tue Aug 15 08:45:22 2006 http://www.host-2.com/ Title: 2 Tue Aug 15 08:45:25 2006 http://www.host-3.com/ Title: 3 Tue Aug 15 08:45:25 2006 http://host-4.com/ Title: 4 Tue Aug 15 08:45:30 2006 http://host-5.com/ Title: 5 Tue Aug 15 08:46:30 2006 http://host-6.com/ Title: 6 Tue Aug 15 08:46:33 2006 http://host-7.com/ Title: 7 Tue Aug 15 08:46:36 2006 http://host-8.com/ Title: 8 Tue Aug 15 08:47:51 2006 http://www.host-9.com/ Title: 9 Tue Aug 15 08:47:56 2006 http://www.host-10.com/ Title: 10 Tue Aug 15 08:49:16 2006 http://host-11.com/ Title: 11 Tue Aug 15 11:26:49 2006 http://www.host-12.com/ Title: 12 Tue Aug 15 11:27:07 2006 http://host-13.com/ Title: 13 Tue Aug 15 11:27:09 2006 http://host-14.com/ Title: 14 Tue Aug 15 12:33:07 2006 http://www.host-15.com/ Title: 15 Tue Aug 15 12:33:21 2006 http://www.host-16.com/ Title: 16 Tue Aug 15 12:51:49 2006 http://www.host-17.com/ Title: 17 Tue Aug 15 12:52:11 2006 http://www.host-18.com/ Title: 18 Tue Aug 15 12:53:12 2006 http://host-19.com/ Title: 19 Tue Aug 15 12:53:14 2006 http://host-20.com/ Title: 20 Tue Aug 15 12:53:45 2006 http://www.host-21.com/ Title: 21 Tue Aug 15 12:53:50 2006 http://www.host-22.com/ Title: 22 Tue Aug 15 12:53:55 2006 http://www.host-23.com/ Title: 23 Tue Aug 15 12:59:32 2006 http://www.host-24.com/ Title: 24 Tue Aug 15 12:59:44 2006 http://host-25.com/ Title: 25 Tue Aug 15 13:00:01 2006 http://www.host-26.com/ Title: 26 Tue Aug 15 13:01:10 2006 http://www.host-27.com/ Title: 27 Tue Aug 15 13:01:26 2006 http://host-28.com/ Title: 28 Tue Aug 15 13:20:38 2006 http://host-29.com/ Title: 29 Tue Aug 15 13:21:07 2006 http://www.host-30.com/ Title: 30 Tue Aug 15 13:22:15 2006 http://www.host-31.com/ Title: 31 Tue Aug 15 13:22:56 2006 http://host-32.com/ Title: 32 Tue Aug 15 13:23:23 2006 http://host-33.com/ Title: 33 Tue Aug 15 13:27:18 2006 http://www.host-34.com/ Title: 34 Tue Aug 15 13:27:48 2006 http://host-35.com/ Title: 35 Tue Aug 15 13:34:50 2006 http://www.host-36.com/ Title: 36 Tue Aug 15 13:34:55 2006 http://www.host-37.com/ Title: 37 Tue Aug 15 17:36:07 2006 http://www.host-38.com/ Title: 38 Tue Aug 15 17:36:19 2006 http://www.host-39.com/ Title: 39 Tue Aug 15 17:37:20 2006 http://www.host-40.com/ Title: 40 Tue Aug 15 18:08:56 2006 http://www.host-41.com/ Title: 41 Tue Aug 15 18:09:11 2006 http://host-42.com/ Title: 42 Tue Aug 15 18:09:59 2006 http://www.host-43.com/ Title: 43 Tue Aug 15 18:10:11 2006 http://host-44.com/ Title: 44 Tue Aug 15 18:20:57 2006 http://www.host-45.com/ Title: 45 Tue Aug 15 18:21:23 2006 http://www.host-46.com/ Title: 46 Tue Aug 15 18:22:20 2006 http://host-47.com/ Title: 47 Tue Aug 15 18:22:28 2006 http://www.host-48.com/ Title: 48 Tue Aug 15 18:24:17 2006 http://host-49.com/ Title: 49 Tue Aug 15 18:24:33 2006 http://www.host-50.com/ Title: 50 Wed Aug 16 08:34:04 2006 http://www.host-51.com/ Title: 51 Wed Aug 16 08:34:22 2006 http://www.host-52.com/ Title: 52 Wed Aug 16 08:35:52 2006 http://host-53.com/ Title: 53 Wed Aug 16 08:36:00 2006 http://host-54.com/ Title: 54 Wed Aug 16 08:36:07 2006 http://host-55.com/ Title: 55 Wed Aug 16 08:36:39 2006 http://host-56.com/ Title: 56 Wed Aug 16 08:36:46 2006 http://host-57.com/ Title: 57 Wed Aug 16 08:37:16 2006 http://host-58.com/ Title: 58 Wed Aug 16 08:37:43 2006 http://host-59.com/ Title: 59 Wed Aug 16 08:37:51 2006 http://www.host-60.com/ Title: 60 Wed Aug 16 08:37:57 2006 http://host-61.com/ Title: 61 Wed Aug 16 08:38:05 2006 http://host-62.com/ Title: 62 Wed Aug 16 08:38:12 2006 http://www.host-63.com/ Title: 63 Wed Aug 16 08:38:19 2006 http://host-64.com/ Title: 64 Wed Aug 16 08:38:26 2006 http://www.host-65.com/ Title: 65 Wed Aug 16 08:38:35 2006 http://www.host-66.com/ Title: 66 Wed Aug 16 08:39:37 2006 http://www.host-67.com/ Title: 67 Wed Aug 16 08:39:39 2006 http://host-68.com/ Title: 68 Wed Aug 16 08:39:46 2006 http://host-69.com/ Title: 69 Wed Aug 16 08:39:52 2006 http://www.host-70.com/ Title: 70 Wed Aug 16 08:39:55 2006 http://host-71.com/ Title: 71 Wed Aug 16 08:40:06 2006 http://www.host-72.com/ Title: 72 Wed Aug 16 08:40:11 2006 http://www.host-73.com/ Title: 73 Wed Aug 16 08:40:22 2006 http://www.host-74.com/ Title: 74 Wed Aug 16 08:40:52 2006 http://www.host-75.com/ Title: 75 Wed Aug 16 08:41:01 2006 http://host-76.com/ Title: 76 Wed Aug 16 08:41:04 2006 http://www.host-77.com/ Title: 77 Wed Aug 16 08:42:06 2006 http://host-78.com/ Title: 78 Wed Aug 16 08:42:36 2006 http://www.host-79.com/ Title: 79 Wed Aug 16 08:42:39 2006 http://www.host-80.com/ Title: 80 Wed Aug 16 08:42:48 2006 http://www.host-81.com/ Title: 81 Wed Aug 16 08:42:48 2006 http://host-82.com/ Title: 82 Wed Aug 16 08:43:29 2006 http://www.host-83.com/ Title: 83 Wed Aug 16 08:44:08 2006 http://www.host-84.com/ Title: 84 Wed Aug 16 08:46:03 2006 http://www.host-85.com/ Title: 85 Wed Aug 16 08:46:47 2006 http://www.host-86.com/ Title: 86 Wed Aug 16 09:14:22 2006 http://www.host-87.com/ Title: 87 Wed Aug 16 09:18:47 2006 http://host-88.com/ Title: 88 Wed Aug 16 09:18:49 2006 http://www.host-89.com/ Title: 89 Wed Aug 16 09:18:49 2006 http://host-90.com/ Title: 90 Wed Aug 16 09:18:50 2006 http://host-91.com/ Title: 91 Wed Aug 16 09:18:51 2006 http://www.host-92.com/ Title: 92 Wed Aug 16 09:18:53 2006 http://www.host-93.com/ Title: 93 Wed Aug 16 09:19:01 2006 http://host-94.com/ Title: 94 Wed Aug 16 10:49:26 2006 http://host-95.com/ Title: 95 Wed Aug 16 10:51:51 2006 http://host-96.com/ Title: 96 Wed Aug 16 10:53:36 2006 http://host-97.com/ Title: 97 Wed Aug 16 10:53:53 2006 http://www.host-98.com/ Title: 98 Wed Aug 16 11:13:37 2006 http://host-99.com/ Title: 99 Wed Aug 16 11:14:31 2006 http://host-100.com/ Title: 100 Wed Aug 16 11:26:32 2006 http://www.host-101.com/ Title: 101 Wed Aug 16 11:26:57 2006 http://www.host-102.com/ Title: 102 Wed Aug 16 11:27:20 2006 http://www.host-103.com/ Title: 103 Wed Aug 16 11:27:39 2006 http://host-104.com/ Title: 104 Wed Aug 16 11:27:50 2006 http://www.host-105.com/ Title: 105 Wed Aug 16 11:28:05 2006 http://host-106.com/ Title: 106 Wed Aug 16 11:28:50 2006 http://www.host-107.com/ Title: 107 Wed Aug 16 11:28:54 2006 http://www.host-108.com/ Title: 108 Wed Aug 16 11:29:01 2006 http://host-109.com/ Title: 109 Wed Aug 16 11:45:40 2006 http://host-110.com/ Title: 110 Wed Aug 16 11:45:44 2006 http://www.host-111.com/ Title: 111 Wed Aug 16 11:45:57 2006 http://www.host-112.com/ Title: 112 Wed Aug 16 11:46:15 2006 http://www.host-113.com/ Title: 113 Wed Aug 16 11:46:30 2006 http://www.host-114.com/ Title: 114 Wed Aug 16 11:47:23 2006 http://www.host-115.com/ Title: 115 Wed Aug 16 11:48:06 2006 http://host-116.com/ Title: 116 Wed Aug 16 11:48:35 2006 http://host-117.com/ Title: 117 Wed Aug 16 11:49:01 2006 http://www.host-118.com/ Title: 118 Wed Aug 16 11:50:27 2006 http://host-119.com/ Title: 119 Wed Aug 16 11:52:05 2006 http://host-120.com/ Title: 120 Wed Aug 16 11:53:00 2006 http://host-121.com/ Title: 121 Wed Aug 16 12:40:31 2006 http://www.host-122.com/ Title: 122 Wed Aug 16 13:32:00 2006 http://host-123.com/ Title: 123 Wed Aug 16 13:34:47 2006 http://host-124.com/ Title: 124 Wed Aug 16 13:35:08 2006 http://www.host-125.com/ Title: 125 Wed Aug 16 13:35:17 2006 http://host-126.com/ Title: 126 Wed Aug 16 13:35:18 2006 http://www.host-127.com/ Title: 127 Wed Aug 16 13:35:21 2006 http://host-128.com/ Title: 128 Wed Aug 16 13:35:25 2006 http://host-129.com/ Title: 129 Wed Aug 16 13:35:29 2006 http://host-130.com/ Title: 130 Wed Aug 16 13:35:31 2006 http://host-131.com/ Title: 131 Wed Aug 16 13:35:39 2006 http://www.host-132.com/ Title: 132 Wed Aug 16 13:35:41 2006 http://host-133.com/ Title: 133 Wed Aug 16 13:35:43 2006 http://host-134.com/ Title: 134 Wed Aug 16 13:35:46 2006 http://www.host-135.com/ Title: 135 Wed Aug 16 13:36:11 2006 http://www.host-136.com/ Title: 136 Wed Aug 16 13:36:17 2006 http://www.host-137.com/ Title: 137 Wed Aug 16 13:36:20 2006 http://host-138.com/ Title: 138 Wed Aug 16 13:36:26 2006 http://www.host-139.com/ Title: 139 Wed Aug 16 13:36:30 2006 http://www.host-140.com/ Title: 140 Wed Aug 16 13:41:56 2006 http://host-141.com/ Title: 141 Wed Aug 16 13:42:19 2006 http://www.host-142.com/ Title: 142 Wed Aug 16 13:43:29 2006 http://host-143.com/ Title: 143 Wed Aug 16 13:43:45 2006 http://www.host-144.com/ Title: 144 Wed Aug 16 13:44:22 2006 http://host-145.com/ Title: 145 Wed Aug 16 13:44:24 2006 http://host-146.com/ Title: 146 Wed Aug 16 13:44:27 2006 http://host-147.com/ Title: 147 Wed Aug 16 13:44:29 2006 http://www.host-148.com/ Title: 148 Wed Aug 16 13:44:36 2006 http://www.host-149.com/ Title: 149 Wed Aug 16 13:44:38 2006 http://host-150.com/ Title: 150 Wed Aug 16 13:44:42 2006 http://host-151.com/ Title: 151 Wed Aug 16 13:44:44 2006 http://host-152.com/ Title: 152 Wed Aug 16 13:44:45 2006 http://www.host-153.com/ Title: 153 Wed Aug 16 13:44:57 2006 http://www.host-154.com/ Title: 154 Wed Aug 16 13:45:24 2006 http://host-155.com/ Title: 155 Wed Aug 16 13:45:44 2006 http://www.host-156.com/ Title: 156 Wed Aug 16 13:45:54 2006 http://www.host-157.com/ Title: 157 Wed Aug 16 13:46:04 2006 http://host-158.com/ Title: 158 Wed Aug 16 13:46:10 2006 http://www.host-159.com/ Title: 159 Wed Aug 16 13:46:14 2006 http://host-160.com/ Title: 160 Wed Aug 16 13:46:22 2006 http://www.host-161.com/ Title: 161 Wed Aug 16 13:46:46 2006 http://host-162.com/ Title: 162 Wed Aug 16 13:46:50 2006 http://www.host-163.com/ Title: 163 Wed Aug 16 13:47:01 2006 http://host-164.com/ Title: 164 Wed Aug 16 13:47:08 2006 http://host-165.com/ Title: 165 Wed Aug 16 13:47:10 2006 http://host-166.com/ Title: 166 Wed Aug 16 13:47:13 2006 http://host-167.com/ Title: 167 Wed Aug 16 13:47:22 2006 http://host-168.com/ Title: 168 Wed Aug 16 13:48:22 2006 http://host-169.com/ Title: 169 Wed Aug 16 13:48:40 2006 http://host-170.com/ Title: 170 Wed Aug 16 13:48:48 2006 http://host-171.com/ Title: 171 Wed Aug 16 13:49:11 2006 http://host-172.com/ Title: 172 Wed Aug 16 13:49:16 2006 http://www.host-173.com/ Title: 173 Wed Aug 16 13:49:37 2006 http://host-174.com/ Title: 174 Wed Aug 16 13:49:48 2006 http://host-175.com/ Title: 175 Wed Aug 16 13:50:02 2006 http://host-176.com/ Title: 176 Wed Aug 16 13:50:29 2006 http://host-177.com/ Title: 177 Wed Aug 16 13:50:38 2006 http://www.host-178.com/ Title: 178 Wed Aug 16 15:06:23 2006 http://www.host-179.com/ Title: 179 Wed Aug 16 15:06:25 2006 http://www.host-180.com/ Title: 180 Wed Aug 16 16:10:00 2006 http://www.host-181.com/ Title: 181 Wed Aug 16 16:10:14 2006 http://www.host-182.com/ Title: 182 Wed Aug 16 16:10:17 2006 http://host-183.com/ Title: 183 Wed Aug 16 16:10:23 2006 http://www.host-184.com/ Title: 184 Wed Aug 16 16:10:31 2006 http://www.host-185.com/ Title: 185 Wed Aug 16 16:14:09 2006 http://www.host-186.com/ Title: 186 Wed Aug 16 16:15:26 2006 http://host-187.com/ Title: 187 Wed Aug 16 16:15:50 2006 http://www.host-188.com/ Title: 188 Wed Aug 16 16:15:50 2006 http://www.host-189.com/ Title: 189 Wed Aug 16 16:16:04 2006 http://host-190.com/ Title: 190 Wed Aug 16 16:16:11 2006 http://host-191.com/ Title: 191 Wed Aug 16 16:16:15 2006 http://host-192.com/ Title: 192 Wed Aug 16 16:20:06 2006 http://www.host-193.com/ Title: 193 Wed Aug 16 16:20:06 2006 http://www.host-194.com/ Title: 194 Wed Aug 16 17:07:36 2006 http://www.host-195.com/ Title: 195 Wed Aug 16 17:08:14 2006 http://host-196.com/ Title: 196 Wed Aug 16 17:08:17 2006 http://host-197.com/ Title: 197 Wed Aug 16 17:08:35 2006 http://www.host-198.com/ Title: 198 Wed Aug 16 17:08:42 2006 http://www.host-199.com/ Title: 199 Wed Aug 16 17:09:58 2006 http://host-200.com/ Title: 200 Wed Aug 16 17:10:01 2006 http://host-201.com/ Title: 201 Thu Aug 17 08:36:09 2006 http://www.host-202.com/ Title: 202 Thu Aug 17 08:36:22 2006 http://host-203.com/ Title: 203 Thu Aug 17 08:37:04 2006 http://host-204.com/ Title: 204 Thu Aug 17 08:37:11 2006 http://host-205.com/ Title: 205 Thu Aug 17 08:37:26 2006 http://www.host-206.com/ Title: 206 Thu Aug 17 08:47:16 2006 http://www.host-207.com/ Title: 207 Thu Aug 17 08:58:07 2006 http://www.host-208.com/ Title: 208 Thu Aug 17 09:02:55 2006 http://www.host-209.com/ Title: 209 Thu Aug 17 09:42:14 2006 http://www.host-210.com/ Title: 210 Thu Aug 17 09:42:15 2006 http://www.host-211.com/ Title: 211 Thu Aug 17 09:53:17 2006 http://www.host-212.com/ Title: 212 Thu Aug 17 10:46:26 2006 http://www.host-213.com/ Title: 213 Thu Aug 17 11:06:06 2006 http://host-214.com/ Title: 214 Thu Aug 17 11:06:06 2006 http://host-215.com/ Title: 215 Thu Aug 17 11:06:08 2006 http://www.host-216.com/ Title: 216 Thu Aug 17 11:06:09 2006 http://host-217.com/ Title: 217 Thu Aug 17 11:06:10 2006 http://www.host-218.com/ Title: 218 Thu Aug 17 11:06:13 2006 http://www.host-219.com/ Title: 219 Thu Aug 17 11:06:23 2006 http://www.host-220.com/ Title: 220 Thu Aug 17 11:06:25 2006 http://www.host-221.com/ Title: 221 Thu Aug 17 11:06:33 2006 http://host-222.com/ Title: 222 Thu Aug 17 11:06:42 2006 http://www.host-223.com/ Title: 223 Thu Aug 17 12:20:58 2006 http://host-224.com/ Title: 224 Thu Aug 17 12:21:11 2006 http://www.host-225.com/ Title: 225 Thu Aug 17 12:21:15 2006 http://www.host-226.com/ Title: 226 Thu Aug 17 12:21:48 2006 http://host-227.com/ Title: 227 Thu Aug 17 12:21:48 2006 http://www.host-228.com/ Title: 228 Thu Aug 17 12:22:09 2006 http://host-229.com/ Title: 229 Thu Aug 17 12:22:21 2006 http://www.host-230.com/ Title: 230 Thu Aug 17 12:23:23 2006 http://host-231.com/ Title: 231 Thu Aug 17 12:23:23 2006 http://host-232.com/ Title: 232 Thu Aug 17 12:23:23 2006 http://host-233.com/ Title: 233 Thu Aug 17 12:23:26 2006 http://host-234.com/ Title: 234 Thu Aug 17 12:23:27 2006 http://www.host-235.com/ Title: 235 Thu Aug 17 12:23:28 2006 http://www.host-236.com/ Title: 236 Thu Aug 17 12:23:30 2006 http://www.host-237.com/ Title: 237 Thu Aug 17 12:23:30 2006 http://www.host-238.com/ Title: 238 Thu Aug 17 12:38:56 2006 http://www.host-239.com/ Title: 239 Thu Aug 17 12:38:59 2006 http://www.host-240.com/ Title: 240 Thu Aug 17 12:39:09 2006 http://host-241.com/ Title: 241 Thu Aug 17 12:39:39 2006 http://www.host-242.com/ Title: 242 Thu Aug 17 12:39:42 2006 http://www.host-243.com/ Title: 243 Thu Aug 17 12:39:50 2006 http://host-244.com/ Title: 244 Thu Aug 17 12:39:52 2006 http://www.host-245.com/ Title: 245 Thu Aug 17 12:39:59 2006 http://host-246.com/ Title: 246 Thu Aug 17 12:40:02 2006 http://host-247.com/ Title: 247 Thu Aug 17 12:40:07 2006 http://host-248.com/ Title: 248 Thu Aug 17 12:40:09 2006 http://www.host-249.com/ Title: 249 Thu Aug 17 12:40:28 2006 http://www.host-250.com/ Title: 250 Thu Aug 17 12:40:30 2006 http://host-251.com/ Title: 251 Thu Aug 17 12:40:46 2006 http://host-252.com/ Title: 252 Thu Aug 17 12:40:51 2006 http://host-253.com/ Title: 253 Thu Aug 17 12:41:32 2006 http://www.host-254.com/ Title: 254 Thu Aug 17 12:41:34 2006 http://www.host-255.com/ Title: 255 Thu Aug 17 12:41:46 2006 http://www.host-256.com/ Title: 256 Thu Aug 17 12:41:48 2006 http://www.host-257.com/ Title: 257 Thu Aug 17 12:42:04 2006 http://www.host-258.com/ Title: 258 Thu Aug 17 12:42:07 2006 http://www.host-259.com/ Title: 259 Thu Aug 17 12:42:26 2006 http://host-260.com/ Title: 260 Thu Aug 17 12:42:28 2006 http://www.host-261.com/ Title: 261 Thu Aug 17 13:14:48 2006 http://www.host-262.com/ Title: 262 Thu Aug 17 13:14:53 2006 http://www.host-263.com/ Title: 263 Thu Aug 17 13:14:58 2006 http://host-264.com/ Title: 264 Thu Aug 17 13:14:59 2006 http://www.host-265.com/ Title: 265 Thu Aug 17 13:15:01 2006 http://www.host-266.com/ Title: 266 Thu Aug 17 13:55:50 2006 http://host-267.com/ Title: 267 Thu Aug 17 14:14:34 2006 http://host-268.com/ Title: 268 Thu Aug 17 14:54:40 2006 http://www.host-269.com/ Title: 269 Thu Aug 17 14:54:44 2006 http://www.host-270.com/ Title: 270 Thu Aug 17 14:55:03 2006 http://www.host-271.com/ Title: 271 Thu Aug 17 14:55:07 2006 http://www.host-272.com/ Title: 272 Thu Aug 17 14:55:12 2006 http://host-273.com/ Title: 273 Thu Aug 17 14:55:17 2006 http://host-274.com/ Title: 274 Thu Aug 17 14:55:28 2006 http://host-275.com/ Title: 275 Thu Aug 17 14:55:30 2006 http://www.host-276.com/ Title: 276 Thu Aug 17 14:57:55 2006 http://host-277.com/ Title: 277 Thu Aug 17 14:58:00 2006 http://host-278.com/ Title: 278 Thu Aug 17 14:58:08 2006 http://host-279.com/ Title: 279 Thu Aug 17 14:58:14 2006 http://host-280.com/ Title: 280 Thu Aug 17 14:59:04 2006 http://host-281.com/ Title: 281 Thu Aug 17 14:59:06 2006 http://host-282.com/ Title: 282 Thu Aug 17 14:59:25 2006 http://host-283.com/ Title: 283 Thu Aug 17 14:59:33 2006 http://www.host-284.com/ Title: 284 Thu Aug 17 15:19:08 2006 http://host-285.com/ Title: 285 Thu Aug 17 15:19:13 2006 http://www.host-286.com/ Title: 286 Thu Aug 17 15:19:23 2006 http://host-287.com/ Title: 287 Thu Aug 17 15:23:59 2006 http://www.host-288.com/ Title: 288 Thu Aug 17 15:24:04 2006 http://host-289.com/ Title: 289 Thu Aug 17 15:25:22 2006 http://www.host-290.com/ Title: 290 Thu Aug 17 15:25:26 2006 http://www.host-291.com/ Title: 291 Thu Aug 17 15:25:41 2006 http://www.host-292.com/ Title: 292 Thu Aug 17 15:25:48 2006 http://www.host-293.com/ Title: 293 Thu Aug 17 15:25:56 2006 http://www.host-294.com/ Title: 294 Thu Aug 17 15:26:03 2006 http://www.host-295.com/ Title: 295 Thu Aug 17 15:27:19 2006 http://www.host-296.com/ Title: 296 Thu Aug 17 15:27:21 2006 http://www.host-297.com/ Title: 297 Thu Aug 17 15:36:44 2006 http://host-298.com/ Title: 298 Thu Aug 17 15:40:44 2006 http://www.host-299.com/ Title: 299 Thu Aug 17 15:40:49 2006 http://host-300.com/ Title: 300 Thu Aug 17 15:40:54 2006 http://www.host-301.com/ Title: 301 Thu Aug 17 15:41:06 2006 http://host-302.com/ Title: 302 Thu Aug 17 15:41:12 2006 http://host-303.com/ Title: 303 Thu Aug 17 15:42:10 2006 http://host-304.com/ Title: 304 Thu Aug 17 15:42:15 2006 http://host-305.com/ Title: 305 Thu Aug 17 15:55:24 2006 http://host-306.com/ Title: 306 Thu Aug 17 15:55:40 2006 http://host-307.com/ Title: 307 Thu Aug 17 15:55:52 2006 http://www.host-308.com/ Title: 308 Thu Aug 17 15:55:54 2006 http://host-309.com/ Title: 309 Thu Aug 17 15:57:14 2006 http://host-310.com/ Title: 310 Thu Aug 17 15:57:17 2006 http://www.host-311.com/ Title: 311 Thu Aug 17 15:57:39 2006 http://www.host-312.com/ Title: 312 Thu Aug 17 15:57:45 2006 http://www.host-313.com/ Title: 313 Thu Aug 17 15:57:55 2006 http://host-314.com/ Title: 314 Thu Aug 17 15:58:01 2006 http://host-315.com/ Title: 315 Thu Aug 17 16:00:07 2006 http://host-316.com/ Title: 316 Thu Aug 17 16:00:11 2006 http://www.host-317.com/ Title: 317 Thu Aug 17 16:02:59 2006 http://www.host-318.com/ Title: 318 Thu Aug 17 16:03:02 2006 http://host-319.com/ Title: 319 Thu Aug 17 16:03:56 2006 http://host-320.com/ Title: 320 Thu Aug 17 16:03:58 2006 http://www.host-321.com/ Title: 321 Thu Aug 17 16:05:19 2006 http://www.host-322.com/ Title: 322 Thu Aug 17 16:05:25 2006 http://www.host-323.com/ Title: 323 Thu Aug 17 16:06:06 2006 http://www.host-324.com/ Title: 324 Thu Aug 17 16:06:09 2006 http://host-325.com/ Title: 325 Thu Aug 17 16:06:18 2006 http://host-326.com/ Title: 326 Thu Aug 17 16:06:21 2006 http://www.host-327.com/ Title: 327 Thu Aug 17 16:16:45 2006 http://www.host-328.com/ Title: 328 Thu Aug 17 16:16:49 2006 http://www.host-329.com/ Title: 329 Thu Aug 17 16:16:56 2006 http://host-330.com/ Title: 330 Thu Aug 17 16:16:58 2006 http://www.host-331.com/ Title: 331 Thu Aug 17 16:17:19 2006 http://www.host-332.com/ Title: 332 Thu Aug 17 16:17:21 2006 http://www.host-333.com/ Title: 333 Thu Aug 17 16:17:46 2006 http://host-334.com/ Title: 334 Thu Aug 17 16:17:48 2006 http://host-335.com/ Title: 335 Fri Aug 18 09:46:53 2006 http://host-336.com/ Title: 336 Fri Aug 18 09:52:01 2006 http://host-337.com/ Title: 337 Fri Aug 18 09:54:05 2006 http://host-338.com/ Title: 338 Fri Aug 18 09:57:21 2006 http://www.host-339.com/ Title: 339 Fri Aug 18 09:59:37 2006 http://www.host-340.com/ Title: 340 Fri Aug 18 10:02:25 2006 http://host-341.com/ Title: 341 Fri Aug 18 10:02:33 2006 http://host-342.com/ Title: 342 Fri Aug 18 10:02:44 2006 http://www.host-343.com/ Title: 343 Fri Aug 18 10:02:53 2006 http://host-344.com/ Title: 344 Fri Aug 18 10:03:00 2006 http://www.host-345.com/ Title: 345 Fri Aug 18 10:03:02 2006 http://host-346.com/ Title: 346 Fri Aug 18 10:17:52 2006 http://host-347.com/ Title: 347 Fri Aug 18 10:21:20 2006 http://host-348.com/ Title: 348 Fri Aug 18 10:21:46 2006 http://www.host-349.com/ Title: 349 Fri Aug 18 10:21:51 2006 http://www.host-350.com/ Title: 350 Fri Aug 18 10:41:58 2006 http://www.host-351.com/ Title: 351 Fri Aug 18 10:47:20 2006 http://host-352.com/ Title: 352 Fri Aug 18 10:47:21 2006 http://www.host-353.com/ Title: 353 Fri Aug 18 10:47:21 2006 http://host-354.com/ Title: 354 Fri Aug 18 10:47:22 2006 http://host-355.com/ Title: 355 Fri Aug 18 10:47:22 2006 http://host-356.com/ Title: 356 Fri Aug 18 10:47:23 2006 http://www.host-357.com/ Title: 357 Fri Aug 18 10:47:26 2006 http://www.host-358.com/ Title: 358 Fri Aug 18 10:54:38 2006 http://www.host-359.com/ Title: 359 Fri Aug 18 10:54:42 2006 http://www.host-360.com/ Title: 360 Fri Aug 18 11:28:02 2006 http://www.host-361.com/ Title: 361 Fri Aug 18 11:28:05 2006 http://host-362.com/ Title: 362 Fri Aug 18 15:47:38 2006 http://www.host-363.com/ Title: 363 Fri Aug 18 15:47:41 2006 http://www.host-364.com/ Title: 364 Fri Aug 18 16:22:17 2006 http://www.host-365.com/ Title: 365 Fri Aug 18 17:14:13 2006 http://www.host-366.com/ Title: 366 Fri Aug 18 17:14:44 2006 http://www.host-367.com/ Title: 367 Fri Aug 18 17:19:33 2006 http://www.host-368.com/ Title: 368 Fri Aug 18 17:55:49 2006 http://www.host-369.com/ Title: 369 Fri Aug 18 17:55:56 2006 http://www.host-370.com/ Title: 370 Fri Aug 18 17:56:00 2006 http://www.host-371.com/ Title: 371 Mon Aug 21 11:37:58 2006 http://www.host-372.com/ Title: 372 Mon Aug 21 11:45:53 2006 http://host-373.com/ Title: 373 Mon Aug 21 11:45:55 2006 http://www.host-374.com/ Title: 374 Mon Aug 21 12:05:25 2006 http://host-375.com/ Title: 375 Mon Aug 21 12:05:39 2006 http://www.host-376.com/ Title: 376 Mon Aug 21 12:05:41 2006 http://host-377.com/ Title: 377 Mon Aug 21 12:05:43 2006 http://host-378.com/ Title: 378 Mon Aug 21 12:05:44 2006 http://host-379.com/ Title: 379 Mon Aug 21 12:05:45 2006 http://host-380.com/ Title: 380 Mon Aug 21 12:05:46 2006 http://www.host-381.com/ Title: 381 Mon Aug 21 12:05:47 2006 http://www.host-382.com/ Title: 382 Mon Aug 21 12:05:48 2006 http://www.host-383.com/ Title: 383 Mon Aug 21 12:05:48 2006 http://host-384.com/ Title: 384 Mon Aug 21 13:35:14 2006 http://host-385.com/ Title: 385 Mon Aug 21 13:35:17 2006 http://www.host-386.com/ Title: 386 Mon Aug 21 13:35:25 2006 http://host-387.com/ Title: 387 Mon Aug 21 13:35:28 2006 http://www.host-388.com/ Title: 388 Mon Aug 21 13:35:43 2006 http://host-389.com/ Title: 389 Mon Aug 21 13:35:45 2006 http://host-390.com/ Title: 390 Mon Aug 21 14:18:16 2006 http://www.host-391.com/ Title: 391 Mon Aug 21 14:18:17 2006 http://host-392.com/ Title: 392 Mon Aug 21 14:21:04 2006 http://www.host-393.com/ Title: 393 Mon Aug 21 14:21:21 2006 http://host-394.com/ Title: 394 Mon Aug 21 14:39:16 2006 http://host-395.com/ Title: 395 Mon Aug 21 14:40:22 2006 http://host-396.com/ Title: 396 Mon Aug 21 14:57:05 2006 http://host-397.com/ Title: 397 Mon Aug 21 14:59:47 2006 http://www.host-398.com/ Title: 398 Mon Aug 21 14:59:49 2006 http://host-399.com/ Title: 399 Mon Aug 21 16:31:20 2006 http://host-400.com/ Title: 400 Mon Aug 21 16:31:23 2006 http://www.host-401.com/ Title: 401 Mon Aug 21 16:31:28 2006 http://host-402.com/ Title: 402 Mon Aug 21 16:31:40 2006 http://www.host-403.com/ Title: 403 Mon Aug 21 16:31:46 2006 http://www.host-404.com/ Title: 404 Mon Aug 21 16:31:47 2006 http://host-405.com/ Title: 405 Mon Aug 21 16:31:50 2006 http://www.host-406.com/ Title: 406 Mon Aug 21 18:12:15 2006 http://www.host-407.com/ Title: 407 Mon Aug 21 18:12:29 2006 http://host-408.com/ Title: 408 Tue Aug 22 12:50:05 2006 http://host-409.com/ Title: 409 Tue Aug 22 15:02:34 2006 http://www.host-410.com/ Title: 410 Tue Aug 22 15:02:35 2006 http://host-411.com/ Title: 411 Tue Aug 22 16:06:15 2006 http://www.host-412.com/ Title: 412 Tue Aug 22 16:06:22 2006 http://www.host-413.com/ Title: 413 Tue Aug 22 16:06:32 2006 http://host-414.com/ Title: 414 Tue Aug 22 16:06:45 2006 http://host-415.com/ Title: 415 Tue Aug 22 16:06:52 2006 http://www.host-416.com/ Title: 416 Tue Aug 22 16:07:01 2006 http://host-417.com/ Title: 417 Tue Aug 22 16:07:05 2006 http://www.host-418.com/ Title: 418 Tue Aug 22 16:07:08 2006 http://host-419.com/ Title: 419 Tue Aug 22 16:07:11 2006 http://host-420.com/ Title: 420 Tue Aug 22 18:13:10 2006 http://host-421.com/ Title: 421 Tue Aug 22 18:13:12 2006 http://host-422.com/ Title: 422 Tue Aug 22 18:13:25 2006 http://host-423.com/ Title: 423 Wed Aug 23 12:08:52 2006 http://www.host-424.com/ Title: 424 Wed Aug 23 12:49:05 2006 http://host-425.com/ Title: 425 Wed Aug 23 14:18:08 2006 http://host-426.com/ Title: 426 Thu Aug 24 11:14:03 2006 http://host-427.com/ Title: 427 Thu Aug 24 11:40:39 2006 http://www.host-428.com/ Title: 428 Thu Aug 24 11:45:48 2006 http://host-429.com/ Title: 429 Thu Aug 24 15:30:02 2006 http://www.host-430.com/ Title: 430 Thu Aug 24 15:30:05 2006 http://www.host-431.com/ Title: 431 Thu Aug 24 15:41:48 2006 http://www.host-432.com/ Title: 432 Thu Aug 24 15:42:39 2006 http://www.host-433.com/ Title: 433 Thu Aug 24 15:42:41 2006 http://host-434.com/ Title: 434 Thu Aug 24 15:42:45 2006 http://host-435.com/ Title: 435 Thu Aug 24 15:42:50 2006 http://host-436.com/ Title: 436 Thu Aug 24 15:50:32 2006 http://www.host-437.com/ Title: 437 Thu Aug 24 15:50:39 2006 http://www.host-438.com/ Title: 438 Thu Aug 24 15:50:58 2006 http://host-439.com/ Title: 439 Thu Aug 24 15:51:31 2006 http://www.host-440.com/ Title: 440 Thu Aug 24 15:51:42 2006 http://host-441.com/ Title: 441 Thu Aug 24 15:51:52 2006 http://www.host-442.com/ Title: 442 Thu Aug 24 15:52:00 2006 http://host-443.com/ Title: 443 Thu Aug 24 15:53:15 2006 http://www.host-444.com/ Title: 444 Thu Aug 24 15:54:22 2006 http://host-445.com/ Title: 445 Thu Aug 24 16:00:45 2006 http://host-446.com/ Title: 446 Thu Aug 24 16:31:58 2006 http://host-447.com/ Title: 447 Thu Aug 24 18:04:46 2006 http://www.host-448.com/ Title: 448 Thu Aug 24 18:43:00 2006 http://www.host-449.com/ Title: 449 Thu Aug 24 18:43:08 2006 http://www.host-450.com/ Title: 450 Thu Aug 24 18:43:21 2006 http://host-451.com/ Title: 451 Thu Aug 24 18:43:38 2006 http://host-452.com/ Title: 452 Thu Aug 24 18:44:53 2006 http://host-453.com/ Title: 453 Thu Aug 24 18:45:37 2006 http://www.host-454.com/ Title: 454 Thu Aug 24 18:45:38 2006 http://www.host-455.com/ Title: 455 Fri Aug 25 11:10:57 2006 http://www.host-456.com/ Title: 456 Fri Aug 25 12:53:11 2006 http://host-457.com/ Title: 457 Fri Aug 25 13:35:11 2006 http://host-458.com/ Title: 458 Fri Aug 25 13:35:16 2006 http://www.host-459.com/ Title: 459 Fri Aug 25 13:37:33 2006 http://host-460.com/ Title: 460 Fri Aug 25 15:40:21 2006 http://www.host-461.com/ Title: 461 Fri Aug 25 15:47:27 2006 http://www.host-462.com/ Title: 462 Fri Aug 25 15:47:28 2006 http://host-463.com/ Title: 463 Fri Aug 25 16:50:43 2006 http://host-464.com/ Title: 464 Fri Aug 25 16:50:51 2006 http://www.host-465.com/ Title: 465 Fri Aug 25 16:58:14 2006 http://www.host-466.com/ Title: 466 Fri Aug 25 17:01:51 2006 http://www.host-467.com/ Title: 467 Fri Aug 25 17:01:55 2006 http://www.host-468.com/ Title: 468 Fri Aug 25 17:01:55 2006 http://host-469.com/ Title: 469 Fri Aug 25 17:02:11 2006 http://www.host-470.com/ Title: 470 Fri Aug 25 17:02:11 2006 http://www.host-471.com/ Title: 471 Fri Aug 25 17:02:19 2006 http://www.host-472.com/ Title: 472 Fri Aug 25 17:02:22 2006 http://host-473.com/ Title: 473 Fri Aug 25 17:04:20 2006 http://host-474.com/ Title: 474 Fri Aug 25 17:04:27 2006 http://www.host-475.com/ Title: 475 Fri Aug 25 17:04:39 2006 http://host-476.com/ Title: 476 Fri Aug 25 18:30:08 2006 http://www.host-477.com/ Title: 477 Fri Aug 25 18:30:17 2006 http://www.host-478.com/ Title: 478 Fri Aug 25 18:30:45 2006 http://host-479.com/ Title: 479 Fri Aug 25 18:30:52 2006 http://www.host-480.com/ Title: 480 Mon Aug 28 11:00:56 2006 http://www.host-481.com/ Title: 481 Mon Aug 28 11:01:10 2006 http://host-482.com/ Title: 482 Mon Aug 28 11:02:07 2006 http://www.host-483.com/ Title: 483 Mon Aug 28 11:05:47 2006 http://www.host-484.com/ Title: 484 Mon Aug 28 11:15:05 2006 http://www.host-485.com/ Title: 485 Mon Aug 28 11:15:39 2006 http://www.host-486.com/ Title: 486 Mon Aug 28 11:16:00 2006 http://host-487.com/ Title: 487 Mon Aug 28 14:53:28 2006 http://host-488.com/ Title: 488 Mon Aug 28 14:54:07 2006 http://host-489.com/ Title: 489 Mon Aug 28 14:59:33 2006 http://host-490.com/ Title: 490 Tue Aug 29 13:10:43 2006 http://host-491.com/ Title: 491 Tue Aug 29 13:15:23 2006 http://host-492.com/ Title: 492 Tue Aug 29 13:15:27 2006 http://host-493.com/ Title: 493 Tue Aug 29 13:15:31 2006 http://host-494.com/ Title: 494 Tue Aug 29 13:15:36 2006 http://host-495.com/ Title: 495 Tue Aug 29 13:15:50 2006 http://www.host-496.com/ Title: 496 Tue Aug 29 13:30:55 2006 http://host-497.com/ Title: 497 Tue Aug 29 14:30:04 2006 http://www.host-498.com/ Title: 498 Tue Aug 29 14:30:05 2006 http://host-499.com/ Title: 499 Tue Aug 29 14:30:10 2006 http://www.host-500.com/ Title: 500 Tue Aug 29 14:30:20 2006 http://www.host-501.com/ Title: 501 Tue Aug 29 14:30:24 2006 http://host-502.com/ Title: 502 Tue Aug 29 14:30:27 2006 http://www.host-503.com/ Title: 503 Tue Aug 29 14:30:40 2006 http://www.host-504.com/ Title: 504 Tue Aug 29 14:30:59 2006 http://host-505.com/ Title: 505 Tue Aug 29 14:32:23 2006 http://www.host-506.com/ Title: 506 Tue Aug 29 14:32:41 2006 http://www.host-507.com/ Title: 507 Tue Aug 29 14:32:42 2006 http://www.host-508.com/ Title: 508 Tue Aug 29 14:33:08 2006 http://host-509.com/ Title: 509 Tue Aug 29 14:36:34 2006 http://host-510.com/ Title: 510 Tue Aug 29 15:41:28 2006 http://host-511.com/ Title: 511 Wed Aug 30 09:55:09 2006 http://www.host-512.com/ Title: 512 Wed Aug 30 12:21:27 2006 http://www.host-513.com/ Title: 513 Wed Aug 30 12:25:01 2006 http://host-514.com/ Title: 514 Wed Aug 30 12:45:11 2006 http://www.host-515.com/ Title: 515 Wed Aug 30 12:47:43 2006 http://www.host-516.com/ Title: 516 Wed Aug 30 12:49:17 2006 http://host-517.com/ Title: 517 Wed Aug 30 12:50:09 2006 http://www.host-518.com/ Title: 518 Wed Aug 30 12:51:15 2006 http://www.host-519.com/ Title: 519 Wed Aug 30 12:51:15 2006 http://www.host-520.com/ Title: 520 Wed Aug 30 12:51:16 2006 http://www.host-521.com/ Title: 521 Wed Aug 30 12:55:05 2006 http://www.host-522.com/ Title: 522 Wed Aug 30 12:56:20 2006 http://host-523.com/ Title: 523 Wed Aug 30 12:56:30 2006 http://host-524.com/ Title: 524 Wed Aug 30 12:56:35 2006 http://host-525.com/ Title: 525 Wed Aug 30 12:56:40 2006 http://www.host-526.com/ Title: 526 Wed Aug 30 12:56:46 2006 http://host-527.com/ Title: 527 Wed Aug 30 13:13:32 2006 http://www.host-528.com/ Title: 528 Wed Aug 30 13:13:32 2006 http://www.host-529.com/ Title: 529 Wed Aug 30 13:13:33 2006 http://www.host-530.com/ Title: 530 Wed Aug 30 13:26:24 2006 http://www.host-531.com/ Title: 531 Wed Aug 30 13:26:24 2006 http://host-532.com/ Title: 532 Wed Aug 30 13:26:25 2006 http://host-533.com/ Title: 533 Wed Aug 30 13:27:53 2006 http://host-534.com/ Title: 534 Wed Aug 30 13:29:12 2006 http://www.host-535.com/ Title: 535 Wed Aug 30 13:29:43 2006 http://www.host-536.com/ Title: 536 Wed Aug 30 13:30:15 2006 http://host-537.com/ Title: 537 Wed Aug 30 13:31:01 2006 http://host-538.com/ Title: 538 Wed Aug 30 13:33:22 2006 http://www.host-539.com/ Title: 539 Wed Aug 30 13:33:24 2006 http://www.host-540.com/ Title: 540 Wed Aug 30 14:44:54 2006 http://www.host-541.com/ Title: 541 Wed Aug 30 14:45:09 2006 http://host-542.com/ Title: 542 Wed Aug 30 14:45:12 2006 http://www.host-543.com/ Title: 543 Wed Aug 30 14:45:18 2006 http://www.host-544.com/ Title: 544 Wed Aug 30 14:45:20 2006 http://www.host-545.com/ Title: 545 Wed Aug 30 14:47:35 2006 http://www.host-546.com/ Title: 546 Wed Aug 30 14:48:00 2006 http://host-547.com/ Title: 547 Wed Aug 30 15:17:18 2006 http://host-548.com/ Title: 548 Wed Aug 30 15:19:02 2006 http://www.host-549.com/ Title: 549 Wed Aug 30 18:03:46 2006 http://host-550.com/ Title: 550 Wed Aug 30 18:03:49 2006 http://www.host-551.com/ Title: 551 Wed Aug 30 18:04:05 2006 http://www.host-552.com/ Title: 552 Wed Aug 30 18:04:08 2006 http://host-553.com/ Title: 553 Wed Aug 30 18:04:13 2006 http://host-554.com/ Title: 554 Wed Aug 30 18:04:15 2006 http://host-555.com/ Title: 555 Wed Aug 30 18:04:26 2006 http://host-556.com/ Title: 556 Wed Aug 30 18:05:03 2006 http://www.host-557.com/ Title: 557 Wed Aug 30 18:05:04 2006 http://host-558.com/ Title: 558 Wed Aug 30 18:05:19 2006 http://host-559.com/ Title: 559 Wed Aug 30 18:05:23 2006 http://www.host-560.com/ Title: 560 Wed Aug 30 18:05:51 2006 http://host-561.com/ Title: 561 Wed Aug 30 18:05:54 2006 http://host-562.com/ Title: 562 Wed Aug 30 18:06:06 2006 http://www.host-563.com/ Title: 563 Wed Aug 30 18:06:09 2006 http://host-564.com/ Title: 564 Wed Aug 30 18:06:19 2006 http://host-565.com/ Title: 565 Thu Aug 31 11:00:52 2006 http://host-566.com/ Title: 566 Thu Aug 31 11:01:59 2006 http://host-567.com/ Title: 567 Thu Aug 31 11:12:59 2006 http://www.host-568.com/ Title: 568 Thu Aug 31 11:20:10 2006 http://www.host-569.com/ Title: 569 Thu Aug 31 11:20:15 2006 http://www.host-570.com/ Title: 570 Thu Aug 31 11:48:46 2006 http://host-571.com/ Title: 571 Thu Aug 31 11:48:47 2006 http://host-572.com/ Title: 572 Thu Aug 31 11:55:40 2006 http://www.host-573.com/ Title: 573 Thu Aug 31 12:54:11 2006 http://host-574.com/ Title: 574 Thu Aug 31 12:54:28 2006 http://host-575.com/ Title: 575 Thu Aug 31 12:54:31 2006 http://www.host-576.com/ Title: 576 Thu Aug 31 12:54:35 2006 http://host-577.com/ Title: 577 Thu Aug 31 12:54:40 2006 http://www.host-578.com/ Title: 578 Thu Aug 31 12:54:44 2006 http://host-579.com/ Title: 579 Thu Aug 31 12:54:54 2006 http://host-580.com/ Title: 580 Thu Aug 31 12:54:58 2006 http://host-581.com/ Title: 581 Thu Aug 31 12:55:02 2006 http://host-582.com/ Title: 582 Thu Aug 31 12:55:16 2006 http://www.host-583.com/ Title: 583 Thu Aug 31 12:55:21 2006 http://www.host-584.com/ Title: 584 Thu Aug 31 12:55:27 2006 http://host-585.com/ Title: 585 Thu Aug 31 12:55:29 2006 http://www.host-586.com/ Title: 586 Thu Aug 31 12:55:33 2006 http://www.host-587.com/ Title: 587 Thu Aug 31 12:57:02 2006 http://host-588.com/ Title: 588 Thu Aug 31 13:01:19 2006 http://host-589.com/ Title: 589 Thu Aug 31 13:01:37 2006 http://host-590.com/ Title: 590 Thu Aug 31 13:01:44 2006 http://www.host-591.com/ Title: 591 Thu Aug 31 13:01:52 2006 http://www.host-592.com/ Title: 592 Thu Aug 31 13:01:58 2006 http://www.host-593.com/ Title: 593 Thu Aug 31 13:02:18 2006 http://host-594.com/ Title: 594 Thu Aug 31 13:02:24 2006 http://www.host-595.com/ Title: 595 Thu Aug 31 13:02:33 2006 http://host-596.com/ Title: 596 Thu Aug 31 13:02:34 2006 http://host-597.com/ Title: 597 Thu Aug 31 13:02:35 2006 http://www.host-598.com/ Title: 598 Thu Aug 31 17:04:24 2006 http://www.host-599.com/ Title: 599 Thu Aug 31 17:05:10 2006 http://www.host-600.com/ Title: 600 Thu Aug 31 17:05:20 2006 http://www.host-601.com/ Title: 601 Thu Aug 31 17:05:30 2006 http://www.host-602.com/ Title: 602 Thu Aug 31 17:05:31 2006 http://www.host-603.com/ Title: 603 Thu Aug 31 17:05:32 2006 http://www.host-604.com/ Title: 604 Thu Aug 31 17:05:37 2006 http://www.host-605.com/ Title: 605 Thu Aug 31 17:05:37 2006 http://host-606.com/ Title: 606 Thu Aug 31 17:05:37 2006 http://www.host-607.com/ Title: 607 Thu Aug 31 17:05:37 2006 http://www.host-608.com/ Title: 608 Thu Aug 31 17:05:38 2006 http://www.host-609.com/ Title: 609 Thu Aug 31 17:05:38 2006 http://www.host-610.com/ Title: 610 Thu Aug 31 17:05:38 2006 http://host-611.com/ Title: 611 Thu Aug 31 17:05:38 2006 http://www.host-612.com/ Title: 612 Thu Aug 31 17:30:53 2006 http://host-613.com/ Title: 613 Thu Aug 31 17:31:57 2006 http://www.host-614.com/ Title: 614 Thu Aug 31 17:55:15 2006 http://host-615.com/ Title: 615 Thu Aug 31 17:55:16 2006 http://www.host-616.com/ Title: 616 Thu Aug 31 17:55:16 2006 http://host-617.com/ Title: 617 Thu Aug 31 18:20:08 2006 http://host-618.com/ Title: 618 Thu Aug 31 18:20:09 2006 http://www.host-619.com/ Title: 619 Thu Aug 31 18:20:10 2006 http://host-620.com/ Title: 620 Thu Aug 31 18:20:11 2006 http://host-621.com/ Title: 621 Thu Aug 31 18:20:17 2006 http://www.host-622.com/ Title: 622 Thu Aug 31 18:22:30 2006 http://www.host-623.com/ Title: 623 Thu Aug 31 18:22:41 2006 http://host-624.com/ Title: 624 Thu Aug 31 18:22:43 2006 http://www.host-625.com/ Title: 625 Thu Aug 31 18:22:45 2006 http://host-626.com/ Title: 626 Thu Aug 31 18:24:15 2006 http://www.host-627.com/ Title: 627 Thu Aug 31 18:24:17 2006 http://www.host-628.com/ Title: 628 Thu Aug 31 18:24:17 2006 http://www.host-629.com/ Title: 629 Thu Aug 31 18:24:57 2006 http://www.host-630.com/ Title: 630 Thu Aug 31 18:25:08 2006 http://host-631.com/ Title: 631 Thu Aug 31 18:25:59 2006 http://host-632.com/ Title: 632 Thu Aug 31 18:26:02 2006 http://www.host-633.com/ Title: 633 Thu Aug 31 18:26:03 2006 http://host-634.com/ Title: 634 Thu Aug 31 18:26:04 2006 http://host-635.com/ Title: 635 Thu Aug 31 18:26:35 2006 http://www.host-636.com/ Title: 636 Thu Aug 31 18:26:35 2006 http://www.host-637.com/ Title: 637 Thu Aug 31 18:26:36 2006 http://www.host-638.com/ Title: 638 Thu Aug 31 18:27:08 2006 http://www.host-639.com/ Title: 639 Thu Aug 31 18:27:10 2006 http://host-640.com/ Title: 640 Fri Sep 1 11:05:14 2006 http://www.host-641.com/ Title: 641 Fri Sep 1 11:05:15 2006 http://www.host-642.com/ Title: 642 Fri Sep 1 11:05:18 2006 http://www.host-643.com/ Title: 643 Fri Sep 1 11:05:39 2006 http://www.host-644.com/ Title: 644 Fri Sep 1 11:05:41 2006 http://www.host-645.com/ Title: 645 Fri Sep 1 11:11:47 2006 http://host-646.com/ Title: 646 Fri Sep 1 11:12:11 2006 http://host-647.com/ Title: 647 Fri Sep 1 11:12:15 2006 http://www.host-648.com/ Title: 648 Fri Sep 1 11:12:40 2006 http://host-649.com/ Title: 649 Fri Sep 1 11:13:05 2006 http://www.host-650.com/ Title: 650 Fri Sep 1 11:13:37 2006 http://www.host-651.com/ Title: 651 Fri Sep 1 11:13:45 2006 http://www.host-652.com/ Title: 652 Fri Sep 1 11:13:52 2006 http://www.host-653.com/ Title: 653 Fri Sep 1 11:14:28 2006 http://www.host-654.com/ Title: 654 Fri Sep 1 11:15:09 2006 http://host-655.com/ Title: 655 Fri Sep 1 11:33:08 2006 http://www.host-656.com/ Title: 656 Fri Sep 1 11:33:55 2006 http://www.host-657.com/ Title: 657 Fri Sep 1 11:42:25 2006 http://host-658.com/ Title: 658 Fri Sep 1 11:42:31 2006 http://host-659.com/ Title: 659 Fri Sep 1 12:11:33 2006 http://host-660.com/ Title: 660 Fri Sep 1 12:12:03 2006 http://www.host-661.com/ Title: 661 Fri Sep 1 12:15:15 2006 http://host-662.com/ Title: 662 Fri Sep 1 12:15:19 2006 http://host-663.com/ Title: 663 Fri Sep 1 12:15:29 2006 http://www.host-664.com/ Title: 664 Fri Sep 1 12:16:13 2006 http://host-665.com/ Title: 665 Fri Sep 1 12:16:15 2006 http://www.host-666.com/ Title: 666 Fri Sep 1 12:16:29 2006 http://www.host-667.com/ Title: 667 Fri Sep 1 12:16:36 2006 http://host-668.com/ Title: 668 Fri Sep 1 12:16:39 2006 http://www.host-669.com/ Title: 669 Fri Sep 1 12:16:46 2006 http://www.host-670.com/ Title: 670 Fri Sep 1 12:18:06 2006 http://www.host-671.com/ Title: 671 Fri Sep 1 12:18:09 2006 http://host-672.com/ Title: 672 Fri Sep 1 12:18:15 2006 http://www.host-673.com/ Title: 673 Fri Sep 1 12:18:51 2006 http://www.host-674.com/ Title: 674 Fri Sep 1 12:18:52 2006 http://host-675.com/ Title: 675 Fri Sep 1 12:20:31 2006 http://host-676.com/ Title: 676 Fri Sep 1 12:20:34 2006 http://host-677.com/ Title: 677 Fri Sep 1 12:20:50 2006 http://www.host-678.com/ Title: 678 Fri Sep 1 12:21:25 2006 http://www.host-679.com/ Title: 679 Fri Sep 1 12:21:26 2006 http://host-680.com/ Title: 680 Fri Sep 1 12:28:55 2006 http://www.host-681.com/ Title: 681 Fri Sep 1 12:28:59 2006 http://www.host-682.com/ Title: 682 Fri Sep 1 12:29:31 2006 http://www.host-683.com/ Title: 683 Fri Sep 1 12:29:37 2006 http://host-684.com/ Title: 684 Fri Sep 1 13:33:17 2006 http://host-685.com/ Title: 685 Fri Sep 1 13:33:22 2006 http://www.host-686.com/ Title: 686 Fri Sep 1 13:33:45 2006 http://www.host-687.com/ Title: 687 Sun Sep 3 15:19:03 2006 http://host-688.com/ Title: 688 Sun Sep 3 15:21:16 2006 http://www.host-689.com/ Title: 689 Sun Sep 3 15:21:17 2006 http://host-690.com/ Title: 690 Sun Sep 3 15:21:19 2006 http://host-691.com/ Title: 691 Sun Sep 3 15:21:19 2006 http://www.host-692.com/ Title: 692 Sun Sep 3 15:21:21 2006 http://www.host-693.com/ Title: 693 Sun Sep 3 15:21:22 2006 http://host-694.com/ Title: 694 Sun Sep 3 15:22:55 2006 http://www.host-695.com/ Title: 695 Mon Sep 4 10:56:12 2006 http://www.host-696.com/ Title: 696 Mon Sep 4 11:12:56 2006 http://host-697.com/ Title: 697 Mon Sep 4 11:23:40 2006 http://host-698.com/ Title: 698 Mon Sep 4 11:29:25 2006 http://www.host-699.com/ Title: 699 Mon Sep 4 11:29:26 2006 http://host-700.com/ Title: 700 Mon Sep 4 11:59:02 2006 http://host-701.com/ Title: 701 Mon Sep 4 11:59:07 2006 http://host-702.com/ Title: 702 Mon Sep 4 11:59:41 2006 http://host-703.com/ Title: 703 Mon Sep 4 16:12:44 2006 http://www.host-704.com/ Title: 704 Mon Sep 4 16:12:48 2006 http://www.host-705.com/ Title: 705 Mon Sep 4 16:13:04 2006 http://host-706.com/ Title: 706 Mon Sep 4 16:13:11 2006 http://www.host-707.com/ Title: 707 Mon Sep 4 16:13:21 2006 http://host-708.com/ Title: 708 Mon Sep 4 16:13:30 2006 http://www.host-709.com/ Title: 709 Mon Sep 4 16:13:32 2006 http://www.host-710.com/ Title: 710 Mon Sep 4 16:13:49 2006 http://www.host-711.com/ Title: 711 Mon Sep 4 16:13:55 2006 http://host-712.com/ Title: 712 Mon Sep 4 16:14:04 2006 http://host-713.com/ Title: 713 Mon Sep 4 16:14:13 2006 http://www.host-714.com/ Title: 714 Mon Sep 4 16:14:19 2006 http://host-715.com/ Title: 715 Mon Sep 4 16:15:38 2006 http://host-716.com/ Title: 716 Mon Sep 4 16:17:40 2006 http://www.host-717.com/ Title: 717 Mon Sep 4 16:51:46 2006 http://www.host-718.com/ Title: 718 Mon Sep 4 16:51:48 2006 http://www.host-719.com/ Title: 719 Mon Sep 4 16:51:53 2006 http://www.host-720.com/ Title: 720 Mon Sep 4 16:51:58 2006 http://www.host-721.com/ Title: 721 Mon Sep 4 16:52:01 2006 http://www.host-722.com/ Title: 722 Mon Sep 4 16:52:18 2006 http://host-723.com/ Title: 723 Mon Sep 4 16:52:18 2006 http://host-724.com/ Title: 724 Mon Sep 4 16:52:19 2006 http://www.host-725.com/ Title: 725 Mon Sep 4 16:52:22 2006 http://www.host-726.com/ Title: 726 Mon Sep 4 16:52:26 2006 http://www.host-727.com/ Title: 727 Mon Sep 4 16:52:46 2006 http://host-728.com/ Title: 728 Mon Sep 4 16:52:47 2006 http://host-729.com/ Title: 729 Mon Sep 4 16:52:48 2006 http://www.host-730.com/ Title: 730 Mon Sep 4 16:52:48 2006 http://www.host-731.com/ Title: 731 Mon Sep 4 17:05:14 2006 http://www.host-732.com/ Title: 732 Mon Sep 4 17:05:21 2006 http://host-733.com/ Title: 733 Mon Sep 4 17:05:56 2006 http://www.host-734.com/ Title: 734 Mon Sep 4 17:07:47 2006 http://host-735.com/ Title: 735 Mon Sep 4 17:39:50 2006 http://www.host-736.com/ Title: 736 Mon Sep 4 18:03:55 2006 http://host-737.com/ Title: 737 Mon Sep 4 19:05:26 2006 http://www.host-738.com/ Title: 738 Mon Sep 4 19:05:32 2006 http://www.host-739.com/ Title: 739 Mon Sep 4 19:05:41 2006 http://host-740.com/ Title: 740 Mon Sep 4 19:05:47 2006 http://www.host-741.com/ Title: 741 Mon Sep 4 19:08:56 2006 http://host-742.com/ Title: 742 Mon Sep 4 19:08:57 2006 http://host-743.com/ Title: 743 Mon Sep 4 19:09:00 2006 http://www.host-744.com/ Title: 744 Mon Sep 4 19:09:03 2006 http://host-745.com/ Title: 745 Mon Sep 4 19:16:57 2006 http://host-746.com/ Title: 746 Mon Sep 4 19:17:06 2006 http://host-747.com/ Title: 747 Mon Sep 4 19:19:38 2006 http://host-748.com/ Title: 748 Mon Sep 4 19:19:40 2006 http://host-749.com/ Title: 749 Tue Sep 5 11:04:17 2006 http://www.host-750.com/ Title: 750 Tue Sep 5 13:05:01 2006 http://www.host-751.com/ Title: 751 Tue Sep 5 13:22:20 2006 http://www.host-752.com/ Title: 752 Tue Sep 5 13:22:21 2006 http://www.host-753.com/ Title: 753 Tue Sep 5 13:22:35 2006 http://host-754.com/ Title: 754 Tue Sep 5 13:22:44 2006 http://www.host-755.com/ Title: 755 Tue Sep 5 13:22:46 2006 http://host-756.com/ Title: 756 Tue Sep 5 13:23:30 2006 http://www.host-757.com/ Title: 757 Tue Sep 5 14:15:55 2006 http://www.host-758.com/ Title: 758 Tue Sep 5 14:16:02 2006 http://www.host-759.com/ Title: 759 Tue Sep 5 14:33:37 2006 http://host-760.com/ Title: 760 Tue Sep 5 14:33:44 2006 http://host-761.com/ Title: 761 Tue Sep 5 14:33:47 2006 http://host-762.com/ Title: 762 Tue Sep 5 14:33:51 2006 http://host-763.com/ Title: 763 Tue Sep 5 14:34:05 2006 http://www.host-764.com/ Title: 764 Tue Sep 5 14:34:27 2006 http://www.host-765.com/ Title: 765 Tue Sep 5 14:34:33 2006 http://www.host-766.com/ Title: 766 Tue Sep 5 14:41:08 2006 http://host-767.com/ Title: 767 Tue Sep 5 14:41:11 2006 http://host-768.com/ Title: 768 Tue Sep 5 14:41:19 2006 http://www.host-769.com/ Title: 769 Tue Sep 5 14:43:22 2006 http://host-770.com/ Title: 770 Tue Sep 5 14:43:25 2006 http://www.host-771.com/ Title: 771 Tue Sep 5 15:03:48 2006 http://www.host-772.com/ Title: 772 Tue Sep 5 15:03:50 2006 http://host-773.com/ Title: 773 Tue Sep 5 15:03:56 2006 http://host-774.com/ Title: 774 Tue Sep 5 15:04:26 2006 http://www.host-775.com/ Title: 775 Tue Sep 5 15:04:31 2006 http://host-776.com/ Title: 776 Tue Sep 5 15:04:46 2006 http://www.host-777.com/ Title: 777 Tue Sep 5 15:13:12 2006 http://host-778.com/ Title: 778 Tue Sep 5 15:13:15 2006 http://host-779.com/ Title: 779 Tue Sep 5 15:13:35 2006 http://host-780.com/ Title: 780 Tue Sep 5 15:13:36 2006 http://host-781.com/ Title: 781 Tue Sep 5 15:13:37 2006 http://host-782.com/ Title: 782 Tue Sep 5 15:18:11 2006 http://host-783.com/ Title: 783 Tue Sep 5 15:18:16 2006 http://host-784.com/ Title: 784 Tue Sep 5 15:18:23 2006 http://host-785.com/ Title: 785 Tue Sep 5 15:18:56 2006 http://www.host-786.com/ Title: 786 Tue Sep 5 15:19:10 2006 http://www.host-787.com/ Title: 787 Tue Sep 5 15:19:10 2006 http://www.host-788.com/ Title: 788 Tue Sep 5 15:19:38 2006 http://www.host-789.com/ Title: 789 Tue Sep 5 15:19:39 2006 http://www.host-790.com/ Title: 790 Tue Sep 5 15:19:58 2006 http://www.host-791.com/ Title: 791 Tue Sep 5 15:20:07 2006 http://www.host-792.com/ Title: 792 Tue Sep 5 15:21:19 2006 http://www.host-793.com/ Title: 793 Tue Sep 5 15:21:30 2006 http://host-794.com/ Title: 794 Tue Sep 5 15:21:32 2006 http://host-795.com/ Title: 795 Tue Sep 5 15:21:34 2006 http://www.host-796.com/ Title: 796 Tue Sep 5 15:22:24 2006 http://www.host-797.com/ Title: 797 Tue Sep 5 15:22:50 2006 http://www.host-798.com/ Title: 798 Tue Sep 5 15:23:21 2006 http://www.host-799.com/ Title: 799 Tue Sep 5 15:23:26 2006 http://host-800.com/ Title: 800 Tue Sep 5 15:23:54 2006 http://www.host-801.com/ Title: 801 Tue Sep 5 15:25:32 2006 http://www.host-802.com/ Title: 802 Tue Sep 5 15:25:59 2006 http://www.host-803.com/ Title: 803 Tue Sep 5 15:26:03 2006 http://host-804.com/ Title: 804 Tue Sep 5 15:26:04 2006 http://host-805.com/ Title: 805 Tue Sep 5 15:26:06 2006 http://www.host-806.com/ Title: 806 Tue Sep 5 15:26:07 2006 http://host-807.com/ Title: 807 Tue Sep 5 15:26:09 2006 http://host-808.com/ Title: 808 Tue Sep 5 15:26:10 2006 http://www.host-809.com/ Title: 809 Tue Sep 5 15:26:15 2006 http://www.host-810.com/ Title: 810 Tue Sep 5 15:37:59 2006 http://www.host-811.com/ Title: 811 Tue Sep 5 15:38:02 2006 http://host-812.com/ Title: 812 Tue Sep 5 15:38:20 2006 http://www.host-813.com/ Title: 813 Tue Sep 5 15:38:43 2006 http://www.host-814.com/ Title: 814 Tue Sep 5 15:38:49 2006 http://host-815.com/ Title: 815 Tue Sep 5 16:16:33 2006 http://host-816.com/ Title: 816 Tue Sep 5 16:16:42 2006 http://www.host-817.com/ Title: 817 Tue Sep 5 16:16:44 2006 http://host-818.com/ Title: 818 Tue Sep 5 16:16:47 2006 http://host-819.com/ Title: 819 Tue Sep 5 16:16:52 2006 http://host-820.com/ Title: 820 Tue Sep 5 16:16:54 2006 http://host-821.com/ Title: 821 Tue Sep 5 16:16:54 2006 http://host-822.com/ Title: 822 Tue Sep 5 16:17:12 2006 http://host-823.com/ Title: 823 Tue Sep 5 16:17:32 2006 http://host-824.com/ Title: 824 Tue Sep 5 16:17:39 2006 http://host-825.com/ Title: 825 Tue Sep 5 16:18:20 2006 http://host-826.com/ Title: 826 Tue Sep 5 16:18:32 2006 http://www.host-827.com/ Title: 827 Tue Sep 5 16:18:47 2006 http://www.host-828.com/ Title: 828 Tue Sep 5 16:18:48 2006 http://host-829.com/ Title: 829 Tue Sep 5 16:19:24 2006 http://www.host-830.com/ Title: 830 Tue Sep 5 16:19:26 2006 http://www.host-831.com/ Title: 831 Tue Sep 5 16:19:35 2006 http://host-832.com/ Title: 832 Tue Sep 5 16:19:48 2006 http://host-833.com/ Title: 833 Tue Sep 5 16:19:55 2006 http://www.host-834.com/ Title: 834 Tue Sep 5 16:20:07 2006 http://host-835.com/ Title: 835 Tue Sep 5 16:22:51 2006 http://www.host-836.com/ Title: 836 Tue Sep 5 16:23:18 2006 http://www.host-837.com/ Title: 837 Tue Sep 5 16:23:35 2006 http://www.host-838.com/ Title: 838 Tue Sep 5 16:40:11 2006 http://www.host-839.com/ Title: 839 Tue Sep 5 16:40:11 2006 http://www.host-840.com/ Title: 840 Tue Sep 5 16:40:12 2006 http://www.host-841.com/ Title: 841 Tue Sep 5 16:40:12 2006 http://www.host-842.com/ Title: 842 Tue Sep 5 16:40:12 2006 http://host-843.com/ Title: 843 Tue Sep 5 16:40:12 2006 http://host-844.com/ Title: 844 Tue Sep 5 16:40:13 2006 http://www.host-845.com/ Title: 845 Tue Sep 5 16:40:13 2006 http://host-846.com/ Title: 846 Tue Sep 5 16:40:14 2006 http://host-847.com/ Title: 847 Tue Sep 5 16:40:14 2006 http://host-848.com/ Title: 848 Tue Sep 5 16:40:15 2006 http://www.host-849.com/ Title: 849 Tue Sep 5 16:40:15 2006 http://host-850.com/ Title: 850 Tue Sep 5 16:40:19 2006 http://host-851.com/ Title: 851 Tue Sep 5 16:40:19 2006 http://host-852.com/ Title: 852 Tue Sep 5 16:40:20 2006 http://host-853.com/ Title: 853 Tue Sep 5 16:40:22 2006 http://host-854.com/ Title: 854 Tue Sep 5 16:40:22 2006 http://www.host-855.com/ Title: 855 Tue Sep 5 16:40:24 2006 http://www.host-856.com/ Title: 856 Tue Sep 5 16:40:28 2006 http://host-857.com/ Title: 857 Tue Sep 5 16:40:29 2006 http://host-858.com/ Title: 858 Tue Sep 5 16:40:30 2006 http://host-859.com/ Title: 859 Tue Sep 5 16:40:32 2006 http://www.host-860.com/ Title: 860 Tue Sep 5 16:45:30 2006 http://host-861.com/ Title: 861 Tue Sep 5 16:53:36 2006 http://www.host-862.com/ Title: 862 Tue Sep 5 18:59:16 2006 http://www.host-863.com/ Title: 863 Tue Sep 5 18:59:38 2006 http://www.host-864.com/ Title: 864 Tue Sep 5 18:59:41 2006 http://host-865.com/ Title: 865 Tue Sep 5 19:00:09 2006 http://www.host-866.com/ Title: 866 Tue Sep 5 19:00:11 2006 http://host-867.com/ Title: 867 Tue Sep 5 19:00:21 2006 http://host-868.com/ Title: 868 Tue Sep 5 19:00:26 2006 http://host-869.com/ Title: 869 Tue Sep 5 19:00:53 2006 http://host-870.com/ Title: 870 Tue Sep 5 19:01:02 2006 http://www.host-871.com/ Title: 871 Tue Sep 5 19:01:06 2006 http://www.host-872.com/ Title: 872 Tue Sep 5 19:02:13 2006 http://host-873.com/ Title: 873 Tue Sep 5 19:02:23 2006 http://host-874.com/ Title: 874 Tue Sep 5 19:02:43 2006 http://www.host-875.com/ Title: 875 Tue Sep 5 19:03:13 2006 http://host-876.com/ Title: 876 Tue Sep 5 19:03:16 2006 http://www.host-877.com/ Title: 877 Tue Sep 5 19:03:57 2006 http://host-878.com/ Title: 878 Tue Sep 5 19:04:09 2006 http://www.host-879.com/ Title: 879 Tue Sep 5 19:04:11 2006 http://host-880.com/ Title: 880 Tue Sep 5 19:04:49 2006 http://host-881.com/ Title: 881 Tue Sep 5 19:05:07 2006 http://www.host-882.com/ Title: 882 Wed Sep 6 11:02:29 2006 http://www.host-883.com/ Title: 883 Wed Sep 6 11:02:30 2006 http://www.host-884.com/ Title: 884 Wed Sep 6 11:02:31 2006 http://www.host-885.com/ Title: 885 Wed Sep 6 11:02:32 2006 http://host-886.com/ Title: 886 Wed Sep 6 11:02:33 2006 http://www.host-887.com/ Title: 887 Wed Sep 6 11:02:34 2006 http://www.host-888.com/ Title: 888 Wed Sep 6 11:02:38 2006 http://www.host-889.com/ Title: 889 Wed Sep 6 11:06:39 2006 http://host-890.com/ Title: 890 Wed Sep 6 11:06:59 2006 http://www.host-891.com/ Title: 891 Wed Sep 6 11:07:00 2006 http://www.host-892.com/ Title: 892 Wed Sep 6 11:07:07 2006 http://www.host-893.com/ Title: 893 Wed Sep 6 11:07:33 2006 http://host-894.com/ Title: 894 Wed Sep 6 11:07:33 2006 http://www.host-895.com/ Title: 895 Wed Sep 6 11:07:40 2006 http://www.host-896.com/ Title: 896 Wed Sep 6 11:07:55 2006 http://host-897.com/ Title: 897 Wed Sep 6 11:08:04 2006 http://host-898.com/ Title: 898 Wed Sep 6 11:08:57 2006 http://www.host-899.com/ Title: 899 Wed Sep 6 11:09:01 2006 http://www.host-900.com/ Title: 900 Wed Sep 6 11:09:05 2006 http://host-901.com/ Title: 901 Wed Sep 6 11:14:58 2006 http://host-902.com/ Title: 902 Wed Sep 6 11:15:17 2006 http://host-903.com/ Title: 903 Wed Sep 6 11:15:23 2006 http://www.host-904.com/ Title: 904 Wed Sep 6 11:15:27 2006 http://host-905.com/ Title: 905 Wed Sep 6 11:15:32 2006 http://www.host-906.com/ Title: 906 Wed Sep 6 11:15:39 2006 http://host-907.com/ Title: 907 Wed Sep 6 11:15:49 2006 http://www.host-908.com/ Title: 908 Wed Sep 6 11:28:24 2006 http://host-909.com/ Title: 909 Wed Sep 6 11:28:47 2006 http://host-910.com/ Title: 910 Wed Sep 6 11:28:50 2006 http://host-911.com/ Title: 911 Wed Sep 6 11:29:25 2006 http://www.host-912.com/ Title: 912 Wed Sep 6 12:21:45 2006 http://www.host-913.com/ Title: 913 Wed Sep 6 12:21:45 2006 http://host-914.com/ Title: 914 Wed Sep 6 12:21:45 2006 http://www.host-915.com/ Title: 915 Wed Sep 6 12:22:13 2006 http://host-916.com/ Title: 916 Wed Sep 6 14:22:35 2006 http://www.host-917.com/ Title: 917 Wed Sep 6 14:23:04 2006 http://www.host-918.com/ Title: 918 Wed Sep 6 14:23:27 2006 http://host-919.com/ Title: 919 Wed Sep 6 14:23:56 2006 http://host-920.com/ Title: 920 Wed Sep 6 14:24:24 2006 http://host-921.com/ Title: 921 Wed Sep 6 14:25:46 2006 http://host-922.com/ Title: 922 Wed Sep 6 17:07:01 2006 http://host-923.com/ Title: 923 Wed Sep 6 17:50:56 2006 http://www.host-924.com/ Title: 924 Wed Sep 6 17:51:16 2006 http://host-925.com/ Title: 925 Wed Sep 6 18:04:40 2006 http://www.host-926.com/ Title: 926 Wed Sep 6 18:04:41 2006 http://host-927.com/ Title: 927 Wed Sep 6 18:04:42 2006 http://www.host-928.com/ Title: 928 Wed Sep 6 18:04:45 2006 http://host-929.com/ Title: 929 Wed Sep 6 18:25:51 2006 http://www.host-930.com/ Title: 930 Wed Sep 6 18:26:23 2006 http://host-931.com/ Title: 931 Wed Sep 6 18:26:27 2006 http://host-932.com/ Title: 932 Wed Sep 6 18:51:05 2006 http://host-933.com/ Title: 933 Wed Sep 6 18:53:16 2006 http://host-934.com/ Title: 934 Wed Sep 6 18:58:29 2006 http://host-935.com/ Title: 935 Wed Sep 6 18:58:34 2006 http://host-936.com/ Title: 936 Wed Sep 6 18:58:40 2006 http://www.host-937.com/ Title: 937 Wed Sep 6 18:59:01 2006 http://host-938.com/ Title: 938 Wed Sep 6 18:59:15 2006 http://www.host-939.com/ Title: 939 Wed Sep 6 18:59:16 2006 http://host-940.com/ Title: 940 Wed Sep 6 18:59:44 2006 http://www.host-941.com/ Title: 941 Wed Sep 6 19:00:04 2006 http://www.host-942.com/ Title: 942 Thu Sep 7 11:16:14 2006 http://host-943.com/ Title: 943 Thu Sep 7 11:16:28 2006 http://www.host-944.com/ Title: 944 Thu Sep 7 11:32:40 2006 http://host-945.com/ Title: 945 Thu Sep 7 12:30:17 2006 http://host-946.com/ Title: 946 Thu Sep 7 13:26:40 2006 http://www.host-947.com/ Title: 947 Thu Sep 7 15:04:47 2006 http://host-948.com/ Title: 948 Thu Sep 7 15:05:43 2006 http://host-949.com/ Title: 949 Thu Sep 7 15:14:48 2006 http://www.host-950.com/ Title: 950 Thu Sep 7 15:15:10 2006 http://www.host-951.com/ Title: 951 Thu Sep 7 15:15:21 2006 http://www.host-952.com/ Title: 952 Thu Sep 7 15:20:36 2006 http://www.host-953.com/ Title: 953 Thu Sep 7 15:20:47 2006 http://host-954.com/ Title: 954 Thu Sep 7 15:21:25 2006 http://www.host-955.com/ Title: 955 Thu Sep 7 15:21:37 2006 http://www.host-956.com/ Title: 956 Thu Sep 7 15:21:37 2006 http://www.host-957.com/ Title: 957 Thu Sep 7 15:37:28 2006 http://www.host-958.com/ Title: 958 Thu Sep 7 15:38:07 2006 http://host-959.com/ Title: 959 Thu Sep 7 15:38:11 2006 http://host-960.com/ Title: 960 Thu Sep 7 15:38:11 2006 http://host-961.com/ Title: 961 Thu Sep 7 15:38:17 2006 http://host-962.com/ Title: 962 Thu Sep 7 15:38:24 2006 http://www.host-963.com/ Title: 963 Thu Sep 7 15:38:28 2006 http://host-964.com/ Title: 964 Thu Sep 7 15:38:31 2006 http://host-965.com/ Title: 965 Thu Sep 7 15:38:34 2006 http://www.host-966.com/ Title: 966 Thu Sep 7 15:38:37 2006 http://www.host-967.com/ Title: 967 Thu Sep 7 15:38:40 2006 http://host-968.com/ Title: 968 Thu Sep 7 15:38:43 2006 http://www.host-969.com/ Title: 969 Thu Sep 7 15:38:46 2006 http://host-970.com/ Title: 970 Thu Sep 7 15:38:49 2006 http://www.host-971.com/ Title: 971 Thu Sep 7 15:39:18 2006 http://www.host-972.com/ Title: 972 Thu Sep 7 15:39:18 2006 http://host-973.com/ Title: 973 Thu Sep 7 15:40:58 2006 http://www.host-974.com/ Title: 974 Thu Sep 7 15:41:08 2006 http://host-975.com/ Title: 975 Thu Sep 7 15:41:08 2006 http://www.host-976.com/ Title: 976 Thu Sep 7 15:50:19 2006 http://www.host-977.com/ Title: 977 Thu Sep 7 15:50:24 2006 http://www.host-978.com/ Title: 978 Thu Sep 7 15:50:32 2006 http://www.host-979.com/ Title: 979 Thu Sep 7 15:50:41 2006 http://www.host-980.com/ Title: 980 Thu Sep 7 15:50:54 2006 http://host-981.com/ Title: 981 Thu Sep 7 15:51:05 2006 http://host-982.com/ Title: 982 Thu Sep 7 15:55:31 2006 http://www.host-983.com/ Title: 983 Thu Sep 7 16:37:54 2006 http://www.host-984.com/ Title: 984 Thu Sep 7 16:49:43 2006 http://host-985.com/ Title: 985 Thu Sep 7 16:49:54 2006 http://host-986.com/ Title: 986 Thu Sep 7 16:49:54 2006 http://host-987.com/ Title: 987 Thu Sep 7 16:49:55 2006 http://host-988.com/ Title: 988 Thu Sep 7 16:49:57 2006 http://www.host-989.com/ Title: 989 Thu Sep 7 16:50:21 2006 http://www.host-990.com/ Title: 990 Thu Sep 7 16:50:23 2006 http://www.host-991.com/ Title: 991 Thu Sep 7 16:50:30 2006 http://host-992.com/ Title: 992 Thu Sep 7 16:50:32 2006 http://host-993.com/ Title: 993 Thu Sep 7 16:50:39 2006 http://www.host-994.com/ Title: 994 Thu Sep 7 16:50:44 2006 http://host-995.com/ Title: 995 Thu Sep 7 16:50:53 2006 http://www.host-996.com/ Title: 996 Thu Sep 7 16:50:55 2006 http://host-997.com/ Title: 997 Thu Sep 7 16:50:59 2006 http://www.host-998.com/ Title: 998 Thu Sep 7 16:54:26 2006 http://www.host-999.com/ Title: 999 Thu Sep 7 16:54:41 2006 http://host-1000.com/ Title: 1000 Thu Sep 7 16:54:42 2006 http://www.host-1001.com/ Title: 1001 Thu Sep 7 16:55:05 2006 http://www.host-1002.com/ Title: 1002 Thu Sep 7 16:55:06 2006 http://host-1003.com/ Title: 1003 Thu Sep 7 16:55:06 2006 http://host-1004.com/ Title: 1004 Thu Sep 7 16:55:09 2006 http://host-1005.com/ Title: 1005 Thu Sep 7 16:57:34 2006 http://www.host-1006.com/ Title: 1006 Thu Sep 7 16:58:01 2006 http://host-1007.com/ Title: 1007 Thu Sep 7 16:58:04 2006 http://host-1008.com/ Title: 1008 Thu Sep 7 16:58:12 2006 http://host-1009.com/ Title: 1009 Thu Sep 7 16:58:13 2006 http://host-1010.com/ Title: 1010 Thu Sep 7 16:58:18 2006 http://host-1011.com/ Title: 1011 Thu Sep 7 16:58:30 2006 http://www.host-1012.com/ Title: 1012 Thu Sep 7 16:58:35 2006 http://www.host-1013.com/ Title: 1013 Thu Sep 7 16:58:44 2006 http://www.host-1014.com/ Title: 1014 Thu Sep 7 16:58:55 2006 http://host-1015.com/ Title: 1015 Thu Sep 7 16:58:56 2006 http://host-1016.com/ Title: 1016 Thu Sep 7 16:59:00 2006 http://www.host-1017.com/ Title: 1017 Thu Sep 7 16:59:32 2006 http://www.host-1018.com/ Title: 1018 Thu Sep 7 17:00:04 2006 http://www.host-1019.com/ Title: 1019 Thu Sep 7 17:02:23 2006 http://host-1020.com/ Title: 1020 Thu Sep 7 17:02:29 2006 http://www.host-1021.com/ Title: 1021 Thu Sep 7 17:02:36 2006 http://host-1022.com/ Title: 1022 Thu Sep 7 17:04:01 2006 http://host-1023.com/ Title: 1023 Thu Sep 7 17:04:42 2006 http://www.host-1024.com/ Title: 1024 Thu Sep 7 17:17:21 2006 http://host-1025.com/ Title: 1025 Thu Sep 7 17:53:00 2006 http://host-1026.com/ Title: 1026 Thu Sep 7 17:54:22 2006 http://host-1027.com/ Title: 1027 Thu Sep 7 17:55:43 2006 http://host-1028.com/ Title: 1028 Thu Sep 7 17:59:27 2006 http://www.host-1029.com/ Title: 1029 Thu Sep 7 18:04:48 2006 http://www.host-1030.com/ Title: 1030 Thu Sep 7 18:07:58 2006 http://host-1031.com/ Title: 1031 Thu Sep 7 18:08:04 2006 http://www.host-1032.com/ Title: 1032 Thu Sep 7 18:08:08 2006 http://host-1033.com/ Title: 1033 Thu Sep 7 18:08:09 2006 http://host-1034.com/ Title: 1034 Thu Sep 7 18:08:12 2006 http://www.host-1035.com/ Title: 1035 Thu Sep 7 18:08:12 2006 http://host-1036.com/ Title: 1036 Thu Sep 7 18:08:16 2006 http://host-1037.com/ Title: 1037 Thu Sep 7 18:08:18 2006 http://host-1038.com/ Title: 1038 Fri Sep 8 11:06:23 2006 http://host-1039.com/ Title: 1039 Fri Sep 8 11:13:02 2006 http://host-1040.com/ Title: 1040 Fri Sep 8 11:13:02 2006 http://host-1041.com/ Title: 1041 Fri Sep 8 11:51:15 2006 http://host-1042.com/ Title: 1042 Fri Sep 8 11:55:19 2006 http://host-1043.com/ Title: 1043 Fri Sep 8 11:55:40 2006 http://www.host-1044.com/ Title: 1044 Fri Sep 8 12:58:12 2006 http://www.host-1045.com/ Title: 1045 Fri Sep 8 12:58:13 2006 http://www.host-1046.com/ Title: 1046 Fri Sep 8 12:58:23 2006 http://www.host-1047.com/ Title: 1047 Fri Sep 8 12:58:28 2006 http://www.host-1048.com/ Title: 1048 Fri Sep 8 12:58:38 2006 http://host-1049.com/ Title: 1049 Fri Sep 8 12:58:44 2006 http://www.host-1050.com/ Title: 1050 Fri Sep 8 12:59:36 2006 http://www.host-1051.com/ Title: 1051 Fri Sep 8 12:59:56 2006 http://host-1052.com/ Title: 1052 Fri Sep 8 13:22:23 2006 http://host-1053.com/ Title: 1053 Fri Sep 8 14:13:38 2006 http://host-1054.com/ Title: 1054 Fri Sep 8 14:13:41 2006 http://host-1055.com/ Title: 1055 Fri Sep 8 14:13:53 2006 http://www.host-1056.com/ Title: 1056 Fri Sep 8 14:13:58 2006 http://host-1057.com/ Title: 1057 Fri Sep 8 14:14:05 2006 http://host-1058.com/ Title: 1058 Fri Sep 8 14:14:09 2006 http://www.host-1059.com/ Title: 1059 Fri Sep 8 14:33:31 2006 http://host-1060.com/ Title: 1060 Fri Sep 8 14:33:40 2006 http://www.host-1061.com/ Title: 1061 Fri Sep 8 14:33:41 2006 http://www.host-1062.com/ Title: 1062 Fri Sep 8 14:34:45 2006 http://www.host-1063.com/ Title: 1063 Fri Sep 8 14:34:47 2006 http://host-1064.com/ Title: 1064 Fri Sep 8 14:34:49 2006 http://host-1065.com/ Title: 1065 Fri Sep 8 14:50:57 2006 http://www.host-1066.com/ Title: 1066 Fri Sep 8 14:50:59 2006 http://www.host-1067.com/ Title: 1067 Fri Sep 8 14:51:06 2006 http://www.host-1068.com/ Title: 1068 Fri Sep 8 14:51:09 2006 http://host-1069.com/ Title: 1069 Fri Sep 8 14:51:10 2006 http://www.host-1070.com/ Title: 1070 Fri Sep 8 14:51:11 2006 http://www.host-1071.com/ Title: 1071 Fri Sep 8 15:06:33 2006 http://host-1072.com/ Title: 1072 Fri Sep 8 15:08:01 2006 http://www.host-1073.com/ Title: 1073 Fri Sep 8 15:08:10 2006 http://host-1074.com/ Title: 1074 Fri Sep 8 15:08:20 2006 http://host-1075.com/ Title: 1075 Fri Sep 8 15:08:21 2006 http://host-1076.com/ Title: 1076 Fri Sep 8 15:08:30 2006 http://host-1077.com/ Title: 1077 Fri Sep 8 15:08:40 2006 http://host-1078.com/ Title: 1078 Fri Sep 8 15:08:42 2006 http://host-1079.com/ Title: 1079 Fri Sep 8 15:13:58 2006 http://www.host-1080.com/ Title: 1080 Fri Sep 8 15:19:29 2006 http://www.host-1081.com/ Title: 1081 Fri Sep 8 15:40:33 2006 http://host-1082.com/ Title: 1082 Fri Sep 8 15:41:13 2006 http://host-1083.com/ Title: 1083 Fri Sep 8 15:41:16 2006 http://www.host-1084.com/ Title: 1084 Fri Sep 8 15:41:23 2006 http://www.host-1085.com/ Title: 1085 Fri Sep 8 15:41:25 2006 http://host-1086.com/ Title: 1086 Fri Sep 8 15:41:26 2006 http://www.host-1087.com/ Title: 1087 Fri Sep 8 15:42:07 2006 http://host-1088.com/ Title: 1088 Mon Sep 11 13:20:55 2006 http://host-1089.com/ Title: 1089 Mon Sep 11 13:20:55 2006 http://host-1090.com/ Title: 1090 Mon Sep 11 13:20:56 2006 http://www.host-1091.com/ Title: 1091 Mon Sep 11 13:23:10 2006 http://host-1092.com/ Title: 1092 Mon Sep 11 13:23:11 2006 http://host-1093.com/ Title: 1093 Mon Sep 11 13:23:20 2006 http://www.host-1094.com/ Title: 1094 Mon Sep 11 13:23:20 2006 http://host-1095.com/ Title: 1095 Mon Sep 11 13:23:26 2006 http://host-1096.com/ Title: 1096 Mon Sep 11 13:23:32 2006 http://www.host-1097.com/ Title: 1097 Mon Sep 11 13:23:32 2006 http://host-1098.com/ Title: 1098 Mon Sep 11 13:27:37 2006 http://www.host-1099.com/ Title: 1099 Mon Sep 11 13:27:39 2006 http://www.host-1100.com/ Title: 1100 Mon Sep 11 13:27:40 2006 http://www.host-1101.com/ Title: 1101 Mon Sep 11 13:34:47 2006 http://host-1102.com/ Title: 1102 Mon Sep 11 13:34:47 2006 http://host-1103.com/ Title: 1103 Mon Sep 11 13:34:50 2006 http://host-1104.com/ Title: 1104 Mon Sep 11 14:23:38 2006 http://www.host-1105.com/ Title: 1105 Mon Sep 11 14:23:45 2006 http://www.host-1106.com/ Title: 1106 Mon Sep 11 14:23:54 2006 http://www.host-1107.com/ Title: 1107 Mon Sep 11 14:24:16 2006 http://host-1108.com/ Title: 1108 Mon Sep 11 14:24:20 2006 http://www.host-1109.com/ Title: 1109 Mon Sep 11 14:26:54 2006 http://host-1110.com/ Title: 1110 Mon Sep 11 14:33:25 2006 http://host-1111.com/ Title: 1111 Mon Sep 11 14:33:31 2006 http://host-1112.com/ Title: 1112 Mon Sep 11 14:33:37 2006 http://host-1113.com/ Title: 1113 Mon Sep 11 14:33:41 2006 http://host-1114.com/ Title: 1114 Mon Sep 11 14:33:43 2006 http://www.host-1115.com/ Title: 1115 Mon Sep 11 14:33:44 2006 http://host-1116.com/ Title: 1116 Mon Sep 11 14:33:44 2006 http://www.host-1117.com/ Title: 1117 Mon Sep 11 14:34:14 2006 http://host-1118.com/ Title: 1118 Mon Sep 11 14:34:15 2006 http://www.host-1119.com/ Title: 1119 Mon Sep 11 14:34:17 2006 http://www.host-1120.com/ Title: 1120 Mon Sep 11 14:34:20 2006 http://host-1121.com/ Title: 1121 Mon Sep 11 14:34:21 2006 http://www.host-1122.com/ Title: 1122 Mon Sep 11 14:34:24 2006 http://www.host-1123.com/ Title: 1123 Mon Sep 11 14:34:25 2006 http://www.host-1124.com/ Title: 1124 Mon Sep 11 14:34:27 2006 http://host-1125.com/ Title: 1125 Mon Sep 11 14:34:30 2006 http://www.host-1126.com/ Title: 1126 Mon Sep 11 14:34:33 2006 http://host-1127.com/ Title: 1127 Mon Sep 11 15:12:48 2006 http://www.host-1128.com/ Title: 1128 Mon Sep 11 15:12:51 2006 http://host-1129.com/ Title: 1129 Mon Sep 11 15:13:01 2006 http://www.host-1130.com/ Title: 1130 Mon Sep 11 15:13:15 2006 http://www.host-1131.com/ Title: 1131 Mon Sep 11 15:13:49 2006 http://www.host-1132.com/ Title: 1132 Mon Sep 11 15:13:51 2006 http://www.host-1133.com/ Title: 1133 Mon Sep 11 15:15:19 2006 http://www.host-1134.com/ Title: 1134 Mon Sep 11 15:15:33 2006 http://www.host-1135.com/ Title: 1135 Mon Sep 11 15:32:19 2006 http://host-1136.com/ Title: 1136 Mon Sep 11 19:15:31 2006 http://host-1137.com/ Title: 1137 Mon Sep 11 19:15:38 2006 http://host-1138.com/ Title: 1138 Mon Sep 11 19:15:41 2006 http://host-1139.com/ Title: 1139 Mon Sep 11 19:15:55 2006 http://www.host-1140.com/ Title: 1140 Mon Sep 11 19:16:10 2006 http://www.host-1141.com/ Title: 1141 Mon Sep 11 19:16:14 2006 http://host-1142.com/ Title: 1142 Mon Sep 11 19:19:44 2006 http://host-1143.com/ Title: 1143 Mon Sep 11 19:20:29 2006 http://www.host-1144.com/ Title: 1144 Tue Sep 12 11:18:10 2006 http://host-1145.com/ Title: 1145 Tue Sep 12 11:25:25 2006 http://host-1146.com/ Title: 1146 Tue Sep 12 11:25:36 2006 http://host-1147.com/ Title: 1147 Tue Sep 12 11:25:41 2006 http://host-1148.com/ Title: 1148 Tue Sep 12 11:25:50 2006 http://www.host-1149.com/ Title: 1149 Tue Sep 12 11:25:53 2006 http://host-1150.com/ Title: 1150 Tue Sep 12 11:26:01 2006 http://host-1151.com/ Title: 1151 Tue Sep 12 11:27:30 2006 http://host-1152.com/ Title: 1152 Tue Sep 12 11:27:30 2006 http://www.host-1153.com/ Title: 1153 Tue Sep 12 11:28:36 2006 http://host-1154.com/ Title: 1154 Tue Sep 12 11:28:37 2006 http://host-1155.com/ Title: 1155 Tue Sep 12 11:29:06 2006 http://www.host-1156.com/ Title: 1156 Tue Sep 12 11:29:09 2006 http://host-1157.com/ Title: 1157 Tue Sep 12 11:29:12 2006 http://www.host-1158.com/ Title: 1158 Tue Sep 12 11:29:23 2006 http://host-1159.com/ Title: 1159 Tue Sep 12 11:29:32 2006 http://www.host-1160.com/ Title: 1160 Tue Sep 12 11:29:37 2006 http://host-1161.com/ Title: 1161 Tue Sep 12 11:29:52 2006 http://host-1162.com/ Title: 1162 Tue Sep 12 11:30:09 2006 http://host-1163.com/ Title: 1163 Tue Sep 12 11:30:28 2006 http://host-1164.com/ Title: 1164 Tue Sep 12 11:30:30 2006 http://host-1165.com/ Title: 1165 Tue Sep 12 11:30:33 2006 http://host-1166.com/ Title: 1166 Tue Sep 12 11:35:13 2006 http://www.host-1167.com/ Title: 1167 Tue Sep 12 11:35:13 2006 http://host-1168.com/ Title: 1168 Tue Sep 12 11:35:15 2006 http://host-1169.com/ Title: 1169 Tue Sep 12 11:35:17 2006 http://www.host-1170.com/ Title: 1170 Tue Sep 12 13:09:25 2006 http://host-1171.com/ Title: 1171 Tue Sep 12 13:09:33 2006 http://www.host-1172.com/ Title: 1172 Tue Sep 12 13:25:35 2006 http://www.host-1173.com/ Title: 1173 Tue Sep 12 13:25:40 2006 http://host-1174.com/ Title: 1174 Tue Sep 12 13:25:57 2006 http://www.host-1175.com/ Title: 1175 Tue Sep 12 14:01:01 2006 http://www.host-1176.com/ Title: 1176 Tue Sep 12 14:01:16 2006 http://www.host-1177.com/ Title: 1177 Tue Sep 12 14:01:19 2006 http://host-1178.com/ Title: 1178 Tue Sep 12 14:01:23 2006 http://www.host-1179.com/ Title: 1179 Tue Sep 12 14:42:25 2006 http://www.host-1180.com/ Title: 1180 Tue Sep 12 14:42:28 2006 http://www.host-1181.com/ Title: 1181 Tue Sep 12 14:42:33 2006 http://www.host-1182.com/ Title: 1182 Tue Sep 12 15:19:28 2006 http://www.host-1183.com/ Title: 1183 Tue Sep 12 15:39:27 2006 http://host-1184.com/ Title: 1184 Tue Sep 12 15:48:18 2006 http://host-1185.com/ Title: 1185 Tue Sep 12 15:48:21 2006 http://host-1186.com/ Title: 1186 Tue Sep 12 15:48:31 2006 http://host-1187.com/ Title: 1187 Tue Sep 12 15:49:03 2006 http://host-1188.com/ Title: 1188 Tue Sep 12 15:49:12 2006 http://host-1189.com/ Title: 1189 Tue Sep 12 15:49:35 2006 http://www.host-1190.com/ Title: 1190 Tue Sep 12 15:49:43 2006 http://www.host-1191.com/ Title: 1191 Tue Sep 12 15:50:10 2006 http://host-1192.com/ Title: 1192 Tue Sep 12 15:50:20 2006 http://www.host-1193.com/ Title: 1193 Tue Sep 12 17:24:16 2006 http://www.host-1194.com/ Title: 1194 Tue Sep 12 17:24:18 2006 http://host-1195.com/ Title: 1195 Tue Sep 12 17:25:39 2006 http://host-1196.com/ Title: 1196 Tue Sep 12 17:25:45 2006 http://www.host-1197.com/ Title: 1197 Tue Sep 12 17:26:22 2006 http://www.host-1198.com/ Title: 1198 Tue Sep 12 17:26:23 2006 http://host-1199.com/ Title: 1199 Tue Sep 12 17:26:24 2006 http://www.host-1200.com/ Title: 1200 Tue Sep 12 17:26:26 2006 http://www.host-1201.com/ Title: 1201 Tue Sep 12 17:26:34 2006 http://host-1202.com/ Title: 1202 Tue Sep 12 17:26:41 2006 http://host-1203.com/ Title: 1203 Tue Sep 12 17:26:44 2006 http://www.host-1204.com/ Title: 1204 Tue Sep 12 17:27:28 2006 http://host-1205.com/ Title: 1205 Tue Sep 12 17:27:56 2006 http://www.host-1206.com/ Title: 1206 Tue Sep 12 17:27:57 2006 http://www.host-1207.com/ Title: 1207 Tue Sep 12 17:27:57 2006 http://www.host-1208.com/ Title: 1208 Tue Sep 12 17:28:00 2006 http://www.host-1209.com/ Title: 1209 Tue Sep 12 17:28:02 2006 http://host-1210.com/ Title: 1210 Tue Sep 12 17:28:03 2006 http://host-1211.com/ Title: 1211 Tue Sep 12 17:28:09 2006 http://www.host-1212.com/ Title: 1212 Tue Sep 12 17:28:12 2006 http://host-1213.com/ Title: 1213 Tue Sep 12 17:28:12 2006 http://www.host-1214.com/ Title: 1214 Tue Sep 12 17:28:14 2006 http://host-1215.com/ Title: 1215 Tue Sep 12 17:28:19 2006 http://www.host-1216.com/ Title: 1216 Tue Sep 12 18:11:35 2006 http://www.host-1217.com/ Title: 1217 Tue Sep 12 18:17:33 2006 http://host-1218.com/ Title: 1218 Tue Sep 12 18:17:41 2006 http://www.host-1219.com/ Title: 1219 Tue Sep 12 18:23:35 2006 http://host-1220.com/ Title: 1220 Tue Sep 12 18:23:57 2006 http://www.host-1221.com/ Title: 1221 Tue Sep 12 18:23:58 2006 http://www.host-1222.com/ Title: 1222 Tue Sep 12 18:24:12 2006 http://www.host-1223.com/ Title: 1223 Tue Sep 12 18:24:22 2006 http://www.host-1224.com/ Title: 1224 Tue Sep 12 18:24:31 2006 http://www.host-1225.com/ Title: 1225 Tue Sep 12 18:40:22 2006 http://www.host-1226.com/ Title: 1226 Tue Sep 12 18:40:28 2006 http://host-1227.com/ Title: 1227 Tue Sep 12 18:40:36 2006 http://www.host-1228.com/ Title: 1228 Tue Sep 12 18:40:48 2006 http://www.host-1229.com/ Title: 1229 Tue Sep 12 18:50:51 2006 http://host-1230.com/ Title: 1230 Tue Sep 12 18:50:59 2006 http://www.host-1231.com/ Title: 1231 Tue Sep 12 18:51:11 2006 http://www.host-1232.com/ Title: 1232 Tue Sep 12 18:51:15 2006 http://host-1233.com/ Title: 1233 Wed Sep 13 11:29:47 2006 http://host-1234.com/ Title: 1234 Wed Sep 13 12:08:06 2006 http://www.host-1235.com/ Title: 1235 Wed Sep 13 12:08:07 2006 http://host-1236.com/ Title: 1236 Wed Sep 13 12:09:29 2006 http://host-1237.com/ Title: 1237 Wed Sep 13 12:14:17 2006 http://www.host-1238.com/ Title: 1238 Wed Sep 13 12:14:27 2006 http://www.host-1239.com/ Title: 1239 Wed Sep 13 12:14:58 2006 http://host-1240.com/ Title: 1240 Wed Sep 13 12:20:05 2006 http://www.host-1241.com/ Title: 1241 Wed Sep 13 12:23:38 2006 http://host-1242.com/ Title: 1242 Wed Sep 13 12:25:19 2006 http://www.host-1243.com/ Title: 1243 Wed Sep 13 12:26:26 2006 http://host-1244.com/ Title: 1244 Wed Sep 13 12:26:34 2006 http://host-1245.com/ Title: 1245 Wed Sep 13 12:26:49 2006 http://host-1246.com/ Title: 1246 Wed Sep 13 12:36:06 2006 http://host-1247.com/ Title: 1247 Wed Sep 13 12:51:20 2006 http://www.host-1248.com/ Title: 1248 Wed Sep 13 12:57:33 2006 http://host-1249.com/ Title: 1249 Wed Sep 13 13:40:36 2006 http://www.host-1250.com/ Title: 1250 Wed Sep 13 14:05:04 2006 http://host-1251.com/ Title: 1251 Wed Sep 13 14:05:07 2006 http://www.host-1252.com/ Title: 1252 Wed Sep 13 14:05:12 2006 http://www.host-1253.com/ Title: 1253 Wed Sep 13 14:05:13 2006 http://www.host-1254.com/ Title: 1254 Wed Sep 13 14:05:17 2006 http://www.host-1255.com/ Title: 1255 Wed Sep 13 14:15:34 2006 http://host-1256.com/ Title: 1256 Wed Sep 13 14:15:43 2006 http://host-1257.com/ Title: 1257 Wed Sep 13 14:16:10 2006 http://host-1258.com/ Title: 1258 Wed Sep 13 14:16:11 2006 http://www.host-1259.com/ Title: 1259 Wed Sep 13 14:16:11 2006 http://www.host-1260.com/ Title: 1260 Wed Sep 13 14:16:13 2006 http://host-1261.com/ Title: 1261 Wed Sep 13 14:32:56 2006 http://host-1262.com/ Title: 1262 Wed Sep 13 14:33:27 2006 http://www.host-1263.com/ Title: 1263 Wed Sep 13 14:37:30 2006 http://host-1264.com/ Title: 1264 Wed Sep 13 14:37:33 2006 http://host-1265.com/ Title: 1265 Wed Sep 13 14:38:08 2006 http://host-1266.com/ Title: 1266 Wed Sep 13 14:38:51 2006 http://www.host-1267.com/ Title: 1267 Wed Sep 13 14:38:53 2006 http://www.host-1268.com/ Title: 1268 Wed Sep 13 15:33:57 2006 http://www.host-1269.com/ Title: 1269 Wed Sep 13 15:49:54 2006 http://host-1270.com/ Title: 1270 Wed Sep 13 15:50:47 2006 http://host-1271.com/ Title: 1271 Wed Sep 13 15:50:52 2006 http://host-1272.com/ Title: 1272 Wed Sep 13 15:50:59 2006 http://www.host-1273.com/ Title: 1273 Wed Sep 13 15:51:14 2006 http://host-1274.com/ Title: 1274 Wed Sep 13 15:51:44 2006 http://www.host-1275.com/ Title: 1275 Wed Sep 13 15:51:46 2006 http://host-1276.com/ Title: 1276 Wed Sep 13 15:53:00 2006 http://host-1277.com/ Title: 1277 Wed Sep 13 16:01:10 2006 http://www.host-1278.com/ Title: 1278 Wed Sep 13 16:22:23 2006 http://www.host-1279.com/ Title: 1279 Wed Sep 13 16:22:30 2006 http://host-1280.com/ Title: 1280 Wed Sep 13 16:22:32 2006 http://host-1281.com/ Title: 1281 Wed Sep 13 16:22:35 2006 http://host-1282.com/ Title: 1282 Wed Sep 13 17:04:14 2006 http://www.host-1283.com/ Title: 1283 Wed Sep 13 17:04:16 2006 http://www.host-1284.com/ Title: 1284 Wed Sep 13 17:04:33 2006 http://host-1285.com/ Title: 1285 Wed Sep 13 17:05:29 2006 http://www.host-1286.com/ Title: 1286 Wed Sep 13 17:05:30 2006 http://host-1287.com/ Title: 1287 Thu Sep 14 12:31:17 2006 http://www.host-1288.com/ Title: 1288 Thu Sep 14 12:32:23 2006 http://host-1289.com/ Title: 1289 Thu Sep 14 12:34:20 2006 http://host-1290.com/ Title: 1290 Thu Sep 14 12:35:09 2006 http://www.host-1291.com/ Title: 1291 Thu Sep 14 12:35:19 2006 http://www.host-1292.com/ Title: 1292 Thu Sep 14 12:35:19 2006 http://host-1293.com/ Title: 1293 Thu Sep 14 12:35:30 2006 http://host-1294.com/ Title: 1294 Thu Sep 14 12:35:39 2006 http://host-1295.com/ Title: 1295 Thu Sep 14 12:36:21 2006 http://www.host-1296.com/ Title: 1296 Thu Sep 14 12:38:08 2006 http://www.host-1297.com/ Title: 1297 Thu Sep 14 12:38:11 2006 http://www.host-1298.com/ Title: 1298 Thu Sep 14 12:38:20 2006 http://www.host-1299.com/ Title: 1299 Thu Sep 14 12:38:22 2006 http://host-1300.com/ Title: 1300 Thu Sep 14 12:38:29 2006 http://www.host-1301.com/ Title: 1301 Thu Sep 14 12:38:32 2006 http://host-1302.com/ Title: 1302 Thu Sep 14 12:38:33 2006 http://www.host-1303.com/ Title: 1303 Thu Sep 14 13:25:45 2006 http://www.host-1304.com/ Title: 1304 Thu Sep 14 13:25:50 2006 http://www.host-1305.com/ Title: 1305 Thu Sep 14 13:25:53 2006 http://www.host-1306.com/ Title: 1306 Thu Sep 14 13:25:58 2006 http://host-1307.com/ Title: 1307 Thu Sep 14 13:26:08 2006 http://host-1308.com/ Title: 1308 Thu Sep 14 14:16:11 2006 http://host-1309.com/ Title: 1309 Thu Sep 14 14:23:20 2006 http://www.host-1310.com/ Title: 1310 Thu Sep 14 14:23:26 2006 http://www.host-1311.com/ Title: 1311 Thu Sep 14 14:23:30 2006 http://www.host-1312.com/ Title: 1312 Thu Sep 14 14:23:33 2006 http://host-1313.com/ Title: 1313 Thu Sep 14 14:23:38 2006 http://host-1314.com/ Title: 1314 Thu Sep 14 14:26:01 2006 http://host-1315.com/ Title: 1315 Thu Sep 14 14:26:05 2006 http://host-1316.com/ Title: 1316 Thu Sep 14 14:26:31 2006 http://host-1317.com/ Title: 1317 Thu Sep 14 14:26:36 2006 http://host-1318.com/ Title: 1318 Thu Sep 14 14:26:39 2006 http://www.host-1319.com/ Title: 1319 Thu Sep 14 14:26:39 2006 http://www.host-1320.com/ Title: 1320 Thu Sep 14 14:26:41 2006 http://www.host-1321.com/ Title: 1321 Thu Sep 14 14:26:42 2006 http://www.host-1322.com/ Title: 1322 Thu Sep 14 14:26:42 2006 http://www.host-1323.com/ Title: 1323 Thu Sep 14 14:26:43 2006 http://www.host-1324.com/ Title: 1324 Thu Sep 14 14:28:25 2006 http://www.host-1325.com/ Title: 1325 Thu Sep 14 14:28:35 2006 http://www.host-1326.com/ Title: 1326 Thu Sep 14 14:32:40 2006 http://host-1327.com/ Title: 1327 Thu Sep 14 14:33:21 2006 http://host-1328.com/ Title: 1328 Thu Sep 14 14:33:37 2006 http://www.host-1329.com/ Title: 1329 Thu Sep 14 14:33:42 2006 http://www.host-1330.com/ Title: 1330 Thu Sep 14 14:33:44 2006 http://host-1331.com/ Title: 1331 Thu Sep 14 15:50:12 2006 http://www.host-1332.com/ Title: 1332 Thu Sep 14 15:50:14 2006 http://host-1333.com/ Title: 1333 Thu Sep 14 15:50:17 2006 http://www.host-1334.com/ Title: 1334 Thu Sep 14 16:12:23 2006 http://host-1335.com/ Title: 1335 Thu Sep 14 16:12:25 2006 http://www.host-1336.com/ Title: 1336 Thu Sep 14 16:26:18 2006 http://host-1337.com/ Title: 1337 Thu Sep 14 16:27:16 2006 http://www.host-1338.com/ Title: 1338 Thu Sep 14 16:27:39 2006 http://host-1339.com/ Title: 1339 Thu Sep 14 16:27:57 2006 http://www.host-1340.com/ Title: 1340 Thu Sep 14 16:28:04 2006 http://host-1341.com/ Title: 1341 Thu Sep 14 16:28:16 2006 http://host-1342.com/ Title: 1342 Thu Sep 14 18:02:53 2006 http://www.host-1343.com/ Title: 1343 Thu Sep 14 18:07:34 2006 http://www.host-1344.com/ Title: 1344 Thu Sep 14 18:07:35 2006 http://host-1345.com/ Title: 1345 Thu Sep 14 18:07:35 2006 http://host-1346.com/ Title: 1346 Thu Sep 14 18:07:37 2006 http://www.host-1347.com/ Title: 1347 Thu Sep 14 18:07:37 2006 http://host-1348.com/ Title: 1348 Thu Sep 14 18:07:38 2006 http://host-1349.com/ Title: 1349 Thu Sep 14 18:08:52 2006 http://www.host-1350.com/ Title: 1350 Thu Sep 14 18:08:55 2006 http://www.host-1351.com/ Title: 1351 Thu Sep 14 18:08:55 2006 http://www.host-1352.com/ Title: 1352 Thu Sep 14 18:08:59 2006 http://host-1353.com/ Title: 1353 Thu Sep 14 18:09:02 2006 http://host-1354.com/ Title: 1354 Thu Sep 14 18:09:05 2006 http://host-1355.com/ Title: 1355 Thu Sep 14 18:09:14 2006 http://host-1356.com/ Title: 1356 Thu Sep 14 18:09:17 2006 http://www.host-1357.com/ Title: 1357 Thu Sep 14 18:11:24 2006 http://host-1358.com/ Title: 1358 Thu Sep 14 18:11:25 2006 http://www.host-1359.com/ Title: 1359 Thu Sep 14 18:11:36 2006 http://host-1360.com/ Title: 1360 Thu Sep 14 18:11:36 2006 http://www.host-1361.com/ Title: 1361 Thu Sep 14 18:11:37 2006 http://www.host-1362.com/ Title: 1362 Thu Sep 14 18:11:42 2006 http://host-1363.com/ Title: 1363 Thu Sep 14 18:11:43 2006 http://host-1364.com/ Title: 1364 Thu Sep 14 18:12:13 2006 http://host-1365.com/ Title: 1365 Thu Sep 14 18:12:19 2006 http://host-1366.com/ Title: 1366 Thu Sep 14 18:12:27 2006 http://host-1367.com/ Title: 1367 Thu Sep 14 18:12:32 2006 http://www.host-1368.com/ Title: 1368 Thu Sep 14 18:12:42 2006 http://www.host-1369.com/ Title: 1369 Thu Sep 14 18:12:53 2006 http://host-1370.com/ Title: 1370 Thu Sep 14 18:12:55 2006 http://host-1371.com/ Title: 1371 Thu Sep 14 18:13:02 2006 http://www.host-1372.com/ Title: 1372 Thu Sep 14 18:13:22 2006 http://www.host-1373.com/ Title: 1373 Thu Sep 14 18:13:40 2006 http://host-1374.com/ Title: 1374 Thu Sep 14 18:14:06 2006 http://host-1375.com/ Title: 1375 Thu Sep 14 18:14:27 2006 http://www.host-1376.com/ Title: 1376 Thu Sep 14 18:15:07 2006 http://host-1377.com/ Title: 1377 Thu Sep 14 18:15:07 2006 http://www.host-1378.com/ Title: 1378 Thu Sep 14 19:26:07 2006 http://www.host-1379.com/ Title: 1379 Thu Sep 14 19:26:14 2006 http://host-1380.com/ Title: 1380 Thu Sep 14 19:26:21 2006 http://www.host-1381.com/ Title: 1381 Thu Sep 14 19:26:24 2006 http://www.host-1382.com/ Title: 1382 Thu Sep 14 19:26:31 2006 http://www.host-1383.com/ Title: 1383 Thu Sep 14 19:26:33 2006 http://www.host-1384.com/ Title: 1384 Thu Sep 14 19:32:25 2006 http://www.host-1385.com/ Title: 1385 Thu Sep 14 19:35:18 2006 http://host-1386.com/ Title: 1386 Thu Sep 14 19:35:26 2006 http://host-1387.com/ Title: 1387 Thu Sep 14 19:36:27 2006 http://host-1388.com/ Title: 1388 Thu Sep 14 19:36:37 2006 http://host-1389.com/ Title: 1389 Thu Sep 14 19:37:32 2006 http://www.host-1390.com/ Title: 1390 Thu Sep 14 19:37:38 2006 http://host-1391.com/ Title: 1391 Thu Sep 14 19:37:40 2006 http://www.host-1392.com/ Title: 1392 Thu Sep 14 19:38:24 2006 http://www.host-1393.com/ Title: 1393 Fri Sep 15 10:07:35 2006 http://host-1394.com/ Title: 1394 Fri Sep 15 10:14:14 2006 http://host-1395.com/ Title: 1395 Fri Sep 15 10:14:23 2006 http://www.host-1396.com/ Title: 1396 Fri Sep 15 10:14:29 2006 http://host-1397.com/ Title: 1397 Fri Sep 15 10:14:36 2006 http://host-1398.com/ Title: 1398 Fri Sep 15 10:16:16 2006 http://www.host-1399.com/ Title: 1399 Fri Sep 15 10:16:45 2006 http://host-1400.com/ Title: 1400 Fri Sep 15 10:16:46 2006 http://host-1401.com/ Title: 1401 Fri Sep 15 10:18:41 2006 http://host-1402.com/ Title: 1402 Fri Sep 15 10:18:45 2006 http://host-1403.com/ Title: 1403 Fri Sep 15 10:18:58 2006 http://www.host-1404.com/ Title: 1404 Fri Sep 15 10:19:06 2006 http://host-1405.com/ Title: 1405 Fri Sep 15 10:19:20 2006 http://www.host-1406.com/ Title: 1406 Fri Sep 15 10:19:26 2006 http://www.host-1407.com/ Title: 1407 Fri Sep 15 10:25:55 2006 http://host-1408.com/ Title: 1408 Fri Sep 15 10:33:53 2006 http://host-1409.com/ Title: 1409 Fri Sep 15 10:33:59 2006 http://host-1410.com/ Title: 1410 Fri Sep 15 10:34:07 2006 http://www.host-1411.com/ Title: 1411 Fri Sep 15 10:34:21 2006 http://www.host-1412.com/ Title: 1412 Fri Sep 15 10:34:52 2006 http://www.host-1413.com/ Title: 1413 Fri Sep 15 10:36:03 2006 http://host-1414.com/ Title: 1414 Fri Sep 15 10:44:28 2006 http://www.host-1415.com/ Title: 1415 Fri Sep 15 10:44:30 2006 http://host-1416.com/ Title: 1416 Fri Sep 15 10:44:35 2006 http://www.host-1417.com/ Title: 1417 Fri Sep 15 10:44:56 2006 http://host-1418.com/ Title: 1418 Fri Sep 15 11:24:45 2006 http://host-1419.com/ Title: 1419 Fri Sep 15 11:33:45 2006 http://host-1420.com/ Title: 1420 Fri Sep 15 11:33:47 2006 http://host-1421.com/ Title: 1421 Fri Sep 15 12:43:55 2006 http://www.host-1422.com/ Title: 1422 Fri Sep 15 12:44:16 2006 http://www.host-1423.com/ Title: 1423 Fri Sep 15 12:44:21 2006 http://www.host-1424.com/ Title: 1424 Fri Sep 15 12:44:39 2006 http://host-1425.com/ Title: 1425 Fri Sep 15 12:44:43 2006 http://www.host-1426.com/ Title: 1426 Fri Sep 15 12:44:45 2006 http://host-1427.com/ Title: 1427 Fri Sep 15 12:44:46 2006 http://www.host-1428.com/ Title: 1428 Fri Sep 15 13:03:48 2006 http://www.host-1429.com/ Title: 1429 Fri Sep 15 13:03:50 2006 http://www.host-1430.com/ Title: 1430 Fri Sep 15 13:04:36 2006 http://host-1431.com/ Title: 1431 Fri Sep 15 13:04:36 2006 http://www.host-1432.com/ Title: 1432 Fri Sep 15 13:04:37 2006 http://host-1433.com/ Title: 1433 Fri Sep 15 13:04:42 2006 http://www.host-1434.com/ Title: 1434 Fri Sep 15 13:04:43 2006 http://www.host-1435.com/ Title: 1435 Fri Sep 15 13:05:34 2006 http://host-1436.com/ Title: 1436 Fri Sep 15 13:06:03 2006 http://www.host-1437.com/ Title: 1437 Fri Sep 15 13:06:07 2006 http://www.host-1438.com/ Title: 1438 Fri Sep 15 13:06:18 2006 http://host-1439.com/ Title: 1439 Fri Sep 15 13:07:52 2006 http://www.host-1440.com/ Title: 1440 Fri Sep 15 13:07:57 2006 http://www.host-1441.com/ Title: 1441 Fri Sep 15 13:08:50 2006 http://www.host-1442.com/ Title: 1442 Fri Sep 15 13:19:11 2006 http://host-1443.com/ Title: 1443 Fri Sep 15 13:38:55 2006 http://host-1444.com/ Title: 1444 Fri Sep 15 13:39:05 2006 http://host-1445.com/ Title: 1445 Fri Sep 15 13:39:09 2006 http://www.host-1446.com/ Title: 1446 Fri Sep 15 13:39:10 2006 http://www.host-1447.com/ Title: 1447 Fri Sep 15 13:39:20 2006 http://host-1448.com/ Title: 1448 Fri Sep 15 13:39:25 2006 http://host-1449.com/ Title: 1449 Fri Sep 15 14:06:07 2006 http://www.host-1450.com/ Title: 1450 Fri Sep 15 14:06:11 2006 http://www.host-1451.com/ Title: 1451 Fri Sep 15 14:06:11 2006 http://www.host-1452.com/ Title: 1452 Fri Sep 15 14:36:14 2006 http://www.host-1453.com/ Title: 1453 Fri Sep 15 14:36:25 2006 http://www.host-1454.com/ Title: 1454 Fri Sep 15 14:37:01 2006 http://host-1455.com/ Title: 1455 Fri Sep 15 14:37:03 2006 http://www.host-1456.com/ Title: 1456 Fri Sep 15 14:37:17 2006 http://host-1457.com/ Title: 1457 Fri Sep 15 14:38:58 2006 http://www.host-1458.com/ Title: 1458 Fri Sep 15 14:39:04 2006 http://host-1459.com/ Title: 1459 Fri Sep 15 14:40:24 2006 http://host-1460.com/ Title: 1460 Fri Sep 15 14:40:28 2006 http://www.host-1461.com/ Title: 1461 Fri Sep 15 14:40:32 2006 http://host-1462.com/ Title: 1462 Fri Sep 15 14:40:35 2006 http://host-1463.com/ Title: 1463 Fri Sep 15 14:40:35 2006 http://www.host-1464.com/ Title: 1464 Fri Sep 15 14:40:37 2006 http://host-1465.com/ Title: 1465 Fri Sep 15 14:40:38 2006 http://host-1466.com/ Title: 1466 Fri Sep 15 14:40:42 2006 http://www.host-1467.com/ Title: 1467 Fri Sep 15 14:47:57 2006 http://www.host-1468.com/ Title: 1468 Fri Sep 15 14:48:35 2006 http://host-1469.com/ Title: 1469 Fri Sep 15 14:48:39 2006 http://www.host-1470.com/ Title: 1470 Fri Sep 15 14:48:54 2006 http://host-1471.com/ Title: 1471 Fri Sep 15 14:49:00 2006 http://www.host-1472.com/ Title: 1472 Fri Sep 15 14:49:10 2006 http://host-1473.com/ Title: 1473 Fri Sep 15 14:49:16 2006 http://host-1474.com/ Title: 1474 Fri Sep 15 14:49:22 2006 http://host-1475.com/ Title: 1475 Fri Sep 15 14:50:21 2006 http://host-1476.com/ Title: 1476 Fri Sep 15 14:50:45 2006 http://www.host-1477.com/ Title: 1477 Fri Sep 15 14:50:52 2006 http://host-1478.com/ Title: 1478 Fri Sep 15 14:53:31 2006 http://www.host-1479.com/ Title: 1479 Fri Sep 15 14:53:53 2006 http://host-1480.com/ Title: 1480 Fri Sep 15 14:55:32 2006 http://host-1481.com/ Title: 1481 Fri Sep 15 15:03:19 2006 http://host-1482.com/ Title: 1482 Fri Sep 15 15:11:41 2006 http://www.host-1483.com/ Title: 1483 Fri Sep 15 15:15:34 2006 http://www.host-1484.com/ Title: 1484 Fri Sep 15 15:15:34 2006 http://www.host-1485.com/ Title: 1485 Fri Sep 15 15:15:36 2006 http://www.host-1486.com/ Title: 1486 Fri Sep 15 15:15:53 2006 http://www.host-1487.com/ Title: 1487 Fri Sep 15 15:15:53 2006 http://host-1488.com/ Title: 1488 Fri Sep 15 15:15:54 2006 http://host-1489.com/ Title: 1489 Fri Sep 15 15:16:22 2006 http://www.host-1490.com/ Title: 1490 Fri Sep 15 15:16:22 2006 http://www.host-1491.com/ Title: 1491 Fri Sep 15 15:16:23 2006 http://www.host-1492.com/ Title: 1492 Mon Sep 18 09:48:12 2006 http://www.host-1493.com/ Title: 1493 Mon Sep 18 09:48:35 2006 http://host-1494.com/ Title: 1494 Mon Sep 18 09:49:23 2006 http://www.host-1495.com/ Title: 1495 Mon Sep 18 09:49:27 2006 http://host-1496.com/ Title: 1496 Mon Sep 18 09:54:19 2006 http://www.host-1497.com/ Title: 1497 Mon Sep 18 09:54:54 2006 http://www.host-1498.com/ Title: 1498 Mon Sep 18 09:55:07 2006 http://host-1499.com/ Title: 1499 Mon Sep 18 09:55:16 2006 http://host-1500.com/ Title: 1500 Mon Sep 18 09:55:43 2006 http://host-1501.com/ Title: 1501 Mon Sep 18 09:56:10 2006 http://www.host-1502.com/ Title: 1502 Mon Sep 18 09:57:20 2006 http://www.host-1503.com/ Title: 1503 Mon Sep 18 09:57:29 2006 http://host-1504.com/ Title: 1504 Mon Sep 18 09:57:47 2006 http://www.host-1505.com/ Title: 1505 Mon Sep 18 10:05:00 2006 http://host-1506.com/ Title: 1506 Mon Sep 18 10:05:11 2006 http://host-1507.com/ Title: 1507 Mon Sep 18 10:11:20 2006 http://www.host-1508.com/ Title: 1508 Mon Sep 18 10:11:27 2006 http://host-1509.com/ Title: 1509 Mon Sep 18 10:18:56 2006 http://www.host-1510.com/ Title: 1510 Mon Sep 18 10:24:10 2006 http://host-1511.com/ Title: 1511 Mon Sep 18 10:25:19 2006 http://host-1512.com/ Title: 1512 Mon Sep 18 10:34:37 2006 http://host-1513.com/ Title: 1513 Mon Sep 18 10:42:55 2006 http://www.host-1514.com/ Title: 1514 Mon Sep 18 10:43:00 2006 http://www.host-1515.com/ Title: 1515 Mon Sep 18 10:43:04 2006 http://www.host-1516.com/ Title: 1516 Mon Sep 18 10:43:10 2006 http://host-1517.com/ Title: 1517 Mon Sep 18 10:48:25 2006 http://www.host-1518.com/ Title: 1518 Mon Sep 18 10:51:36 2006 http://host-1519.com/ Title: 1519 Mon Sep 18 10:54:28 2006 http://host-1520.com/ Title: 1520 Mon Sep 18 10:58:09 2006 http://www.host-1521.com/ Title: 1521 Mon Sep 18 10:58:13 2006 http://www.host-1522.com/ Title: 1522 Mon Sep 18 10:58:16 2006 http://host-1523.com/ Title: 1523 Mon Sep 18 10:59:41 2006 http://host-1524.com/ Title: 1524 Mon Sep 18 10:59:45 2006 http://www.host-1525.com/ Title: 1525 Mon Sep 18 11:00:43 2006 http://www.host-1526.com/ Title: 1526 Mon Sep 18 11:00:45 2006 http://host-1527.com/ Title: 1527 Mon Sep 18 11:01:41 2006 http://www.host-1528.com/ Title: 1528 Mon Sep 18 11:01:45 2006 http://host-1529.com/ Title: 1529 Mon Sep 18 11:01:47 2006 http://www.host-1530.com/ Title: 1530 Mon Sep 18 11:04:47 2006 http://www.host-1531.com/ Title: 1531 Mon Sep 18 11:07:09 2006 http://www.host-1532.com/ Title: 1532 Mon Sep 18 11:07:22 2006 http://www.host-1533.com/ Title: 1533 Mon Sep 18 11:07:24 2006 http://host-1534.com/ Title: 1534 Mon Sep 18 11:10:05 2006 http://host-1535.com/ Title: 1535 Mon Sep 18 11:25:01 2006 http://www.host-1536.com/ Title: 1536 Mon Sep 18 12:01:01 2006 http://www.host-1537.com/ Title: 1537 Mon Sep 18 12:01:08 2006 http://host-1538.com/ Title: 1538 Mon Sep 18 12:01:16 2006 http://host-1539.com/ Title: 1539 Mon Sep 18 12:01:28 2006 http://host-1540.com/ Title: 1540 Mon Sep 18 12:06:39 2006 http://www.host-1541.com/ Title: 1541 Mon Sep 18 12:08:19 2006 http://www.host-1542.com/ Title: 1542 Mon Sep 18 12:08:22 2006 http://host-1543.com/ Title: 1543 Mon Sep 18 12:09:18 2006 http://host-1544.com/ Title: 1544 Mon Sep 18 12:09:21 2006 http://www.host-1545.com/ Title: 1545 Mon Sep 18 12:38:02 2006 http://www.host-1546.com/ Title: 1546 Mon Sep 18 12:38:13 2006 http://www.host-1547.com/ Title: 1547 Mon Sep 18 12:38:17 2006 http://host-1548.com/ Title: 1548 Mon Sep 18 12:38:20 2006 http://host-1549.com/ Title: 1549 Mon Sep 18 12:38:41 2006 http://www.host-1550.com/ Title: 1550 Mon Sep 18 12:39:16 2006 http://host-1551.com/ Title: 1551 Mon Sep 18 12:39:21 2006 http://www.host-1552.com/ Title: 1552 Mon Sep 18 12:51:41 2006 http://host-1553.com/ Title: 1553 Mon Sep 18 14:27:16 2006 http://www.host-1554.com/ Title: 1554 Mon Sep 18 14:40:38 2006 http://host-1555.com/ Title: 1555 Mon Sep 18 14:45:17 2006 http://www.host-1556.com/ Title: 1556 Mon Sep 18 14:46:21 2006 http://www.host-1557.com/ Title: 1557 Mon Sep 18 14:46:23 2006 http://host-1558.com/ Title: 1558 Mon Sep 18 14:47:01 2006 http://host-1559.com/ Title: 1559 Mon Sep 18 14:47:12 2006 http://host-1560.com/ Title: 1560 Mon Sep 18 14:47:17 2006 http://host-1561.com/ Title: 1561 Mon Sep 18 14:47:33 2006 http://www.host-1562.com/ Title: 1562 Mon Sep 18 14:47:36 2006 http://www.host-1563.com/ Title: 1563 Mon Sep 18 14:47:40 2006 http://host-1564.com/ Title: 1564 Mon Sep 18 14:47:43 2006 http://www.host-1565.com/ Title: 1565 Mon Sep 18 14:48:18 2006 http://host-1566.com/ Title: 1566 Mon Sep 18 14:48:22 2006 http://www.host-1567.com/ Title: 1567 Mon Sep 18 14:48:26 2006 http://host-1568.com/ Title: 1568 Mon Sep 18 14:54:32 2006 http://www.host-1569.com/ Title: 1569 Mon Sep 18 14:54:36 2006 http://host-1570.com/ Title: 1570 Mon Sep 18 14:54:38 2006 http://host-1571.com/ Title: 1571 Mon Sep 18 14:54:44 2006 http://www.host-1572.com/ Title: 1572 Mon Sep 18 14:54:53 2006 http://www.host-1573.com/ Title: 1573 Mon Sep 18 14:56:57 2006 http://www.host-1574.com/ Title: 1574 Mon Sep 18 14:56:58 2006 http://host-1575.com/ Title: 1575 Mon Sep 18 14:57:17 2006 http://www.host-1576.com/ Title: 1576 Mon Sep 18 14:57:29 2006 http://host-1577.com/ Title: 1577 Mon Sep 18 14:57:37 2006 http://www.host-1578.com/ Title: 1578 Mon Sep 18 14:57:40 2006 http://www.host-1579.com/ Title: 1579 Mon Sep 18 14:57:45 2006 http://host-1580.com/ Title: 1580 Mon Sep 18 14:57:47 2006 http://host-1581.com/ Title: 1581 Mon Sep 18 14:57:51 2006 http://www.host-1582.com/ Title: 1582 Mon Sep 18 14:57:54 2006 http://host-1583.com/ Title: 1583 Mon Sep 18 14:57:55 2006 http://host-1584.com/ Title: 1584 Mon Sep 18 15:32:04 2006 http://host-1585.com/ Title: 1585 Mon Sep 18 15:39:36 2006 http://www.host-1586.com/ Title: 1586 Mon Sep 18 16:35:10 2006 http://www.host-1587.com/ Title: 1587 Mon Sep 18 16:35:11 2006 http://www.host-1588.com/ Title: 1588 Mon Sep 18 16:35:25 2006 http://www.host-1589.com/ Title: 1589 Mon Sep 18 16:49:25 2006 http://host-1590.com/ Title: 1590 Mon Sep 18 16:49:45 2006 http://www.host-1591.com/ Title: 1591 Mon Sep 18 17:30:35 2006 http://www.host-1592.com/ Title: 1592 Mon Sep 18 17:45:04 2006 http://host-1593.com/ Title: 1593 Mon Sep 18 17:47:38 2006 http://www.host-1594.com/ Title: 1594 Mon Sep 18 17:47:50 2006 http://www.host-1595.com/ Title: 1595 Mon Sep 18 17:47:54 2006 http://www.host-1596.com/ Title: 1596 Mon Sep 18 17:47:59 2006 http://host-1597.com/ Title: 1597 Mon Sep 18 17:48:02 2006 http://host-1598.com/ Title: 1598 Mon Sep 18 22:29:33 2006 http://www.host-1599.com/ Title: 1599 Mon Sep 18 22:29:34 2006 http://host-1600.com/ Title: 1600 Mon Sep 18 22:29:37 2006 http://www.host-1601.com/ Title: 1601 Mon Sep 18 22:38:43 2006 http://www.host-1602.com/ Title: 1602 Mon Sep 18 22:38:53 2006 http://www.host-1603.com/ Title: 1603 Mon Sep 18 22:39:03 2006 http://www.host-1604.com/ Title: 1604 Mon Sep 18 22:39:03 2006 http://host-1605.com/ Title: 1605 Mon Sep 18 22:39:11 2006 http://host-1606.com/ Title: 1606 Mon Sep 18 22:39:14 2006 http://host-1607.com/ Title: 1607 Mon Sep 18 22:39:20 2006 http://host-1608.com/ Title: 1608 Mon Sep 18 22:39:23 2006 http://host-1609.com/ Title: 1609 Mon Sep 18 22:39:25 2006 http://www.host-1610.com/ Title: 1610 Mon Sep 18 22:39:51 2006 http://www.host-1611.com/ Title: 1611 Mon Sep 18 22:39:58 2006 http://www.host-1612.com/ Title: 1612 Mon Sep 18 22:40:04 2006 http://host-1613.com/ Title: 1613 Mon Sep 18 22:40:24 2006 http://host-1614.com/ Title: 1614 Mon Sep 18 22:44:48 2006 http://host-1615.com/ Title: 1615 Mon Sep 18 22:44:52 2006 http://www.host-1616.com/ Title: 1616 Mon Sep 18 22:45:08 2006 http://host-1617.com/ Title: 1617 Mon Sep 18 22:49:59 2006 http://www.host-1618.com/ Title: 1618 Mon Sep 18 22:50:09 2006 http://www.host-1619.com/ Title: 1619 Tue Sep 19 10:44:06 2006 http://host-1620.com/ Title: 1620 Tue Sep 19 10:44:14 2006 http://host-1621.com/ Title: 1621 Tue Sep 19 11:01:40 2006 http://www.host-1622.com/ Title: 1622 Tue Sep 19 11:01:43 2006 http://host-1623.com/ Title: 1623 Tue Sep 19 11:03:45 2006 http://www.host-1624.com/ Title: 1624 Tue Sep 19 11:03:49 2006 http://www.host-1625.com/ Title: 1625 Tue Sep 19 11:03:52 2006 http://www.host-1626.com/ Title: 1626 Tue Sep 19 11:40:36 2006 http://host-1627.com/ Title: 1627 Tue Sep 19 11:40:49 2006 http://www.host-1628.com/ Title: 1628 Tue Sep 19 11:40:50 2006 http://www.host-1629.com/ Title: 1629 Tue Sep 19 11:40:53 2006 http://www.host-1630.com/ Title: 1630 Tue Sep 19 11:41:00 2006 http://host-1631.com/ Title: 1631 Tue Sep 19 11:41:01 2006 http://www.host-1632.com/ Title: 1632 Tue Sep 19 11:41:08 2006 http://www.host-1633.com/ Title: 1633 Tue Sep 19 12:13:42 2006 http://host-1634.com/ Title: 1634 Tue Sep 19 12:19:16 2006 http://www.host-1635.com/ Title: 1635 Tue Sep 19 12:27:04 2006 http://host-1636.com/ Title: 1636 Tue Sep 19 12:27:09 2006 http://host-1637.com/ Title: 1637 Tue Sep 19 12:47:46 2006 http://www.host-1638.com/ Title: 1638 Tue Sep 19 14:32:56 2006 http://www.host-1639.com/ Title: 1639 Tue Sep 19 15:08:33 2006 http://www.host-1640.com/ Title: 1640 Wed Sep 20 12:56:39 2006 http://host-1641.com/ Title: 1641 Wed Sep 20 13:00:06 2006 http://www.host-1642.com/ Title: 1642 Wed Sep 20 13:00:08 2006 http://www.host-1643.com/ Title: 1643 Wed Sep 20 13:00:08 2006 http://host-1644.com/ Title: 1644 Wed Sep 20 13:00:11 2006 http://host-1645.com/ Title: 1645 Wed Sep 20 13:00:20 2006 http://host-1646.com/ Title: 1646 Wed Sep 20 13:43:39 2006 http://www.host-1647.com/ Title: 1647 Wed Sep 20 13:49:35 2006 http://www.host-1648.com/ Title: 1648 Wed Sep 20 16:00:25 2006 http://host-1649.com/ Title: 1649 Wed Sep 20 16:10:17 2006 http://www.host-1650.com/ Title: 1650 Wed Sep 20 16:12:41 2006 http://host-1651.com/ Title: 1651 Wed Sep 20 17:05:43 2006 http://host-1652.com/ Title: 1652 Wed Sep 20 17:05:47 2006 http://www.host-1653.com/ Title: 1653 Wed Sep 20 17:05:55 2006 http://host-1654.com/ Title: 1654 Thu Sep 21 10:23:30 2006 http://www.host-1655.com/ Title: 1655 Thu Sep 21 10:23:35 2006 http://host-1656.com/ Title: 1656 Thu Sep 21 10:23:55 2006 http://host-1657.com/ Title: 1657 Thu Sep 21 10:24:07 2006 http://host-1658.com/ Title: 1658 Thu Sep 21 10:25:02 2006 http://host-1659.com/ Title: 1659 Thu Sep 21 10:26:02 2006 http://host-1660.com/ Title: 1660 Thu Sep 21 10:26:16 2006 http://host-1661.com/ Title: 1661 Thu Sep 21 10:29:04 2006 http://host-1662.com/ Title: 1662 Thu Sep 21 10:50:43 2006 http://www.host-1663.com/ Title: 1663 Thu Sep 21 10:50:47 2006 http://www.host-1664.com/ Title: 1664 Thu Sep 21 10:50:57 2006 http://www.host-1665.com/ Title: 1665 Thu Sep 21 10:53:19 2006 http://www.host-1666.com/ Title: 1666 Thu Sep 21 10:53:22 2006 http://host-1667.com/ Title: 1667 Thu Sep 21 10:53:29 2006 http://host-1668.com/ Title: 1668 Thu Sep 21 10:56:02 2006 http://host-1669.com/ Title: 1669 Thu Sep 21 10:56:20 2006 http://www.host-1670.com/ Title: 1670 Thu Sep 21 11:08:07 2006 http://www.host-1671.com/ Title: 1671 Thu Sep 21 11:08:44 2006 http://www.host-1672.com/ Title: 1672 Thu Sep 21 11:12:12 2006 http://host-1673.com/ Title: 1673 Thu Sep 21 11:12:25 2006 http://host-1674.com/ Title: 1674 Thu Sep 21 11:21:49 2006 http://www.host-1675.com/ Title: 1675 Thu Sep 21 11:22:43 2006 http://host-1676.com/ Title: 1676 Thu Sep 21 13:07:12 2006 http://www.host-1677.com/ Title: 1677 Thu Sep 21 13:07:22 2006 http://www.host-1678.com/ Title: 1678 Thu Sep 21 13:07:24 2006 http://www.host-1679.com/ Title: 1679 Thu Sep 21 13:08:17 2006 http://www.host-1680.com/ Title: 1680 Thu Sep 21 13:08:18 2006 http://host-1681.com/ Title: 1681 Thu Sep 21 13:09:06 2006 http://www.host-1682.com/ Title: 1682 Thu Sep 21 13:21:16 2006 http://www.host-1683.com/ Title: 1683 Thu Sep 21 13:21:17 2006 http://www.host-1684.com/ Title: 1684 Thu Sep 21 13:21:18 2006 http://www.host-1685.com/ Title: 1685 Thu Sep 21 13:21:21 2006 http://www.host-1686.com/ Title: 1686 Thu Sep 21 13:31:58 2006 http://www.host-1687.com/ Title: 1687 Thu Sep 21 13:32:09 2006 http://www.host-1688.com/ Title: 1688 Thu Sep 21 13:32:29 2006 http://www.host-1689.com/ Title: 1689 Thu Sep 21 13:37:59 2006 http://host-1690.com/ Title: 1690 Thu Sep 21 13:38:01 2006 http://host-1691.com/ Title: 1691 Thu Sep 21 13:38:02 2006 http://host-1692.com/ Title: 1692 Thu Sep 21 13:42:25 2006 http://www.host-1693.com/ Title: 1693 Thu Sep 21 13:51:33 2006 http://www.host-1694.com/ Title: 1694 Thu Sep 21 13:51:34 2006 http://host-1695.com/ Title: 1695 Thu Sep 21 13:51:34 2006 http://host-1696.com/ Title: 1696 Thu Sep 21 13:51:36 2006 http://www.host-1697.com/ Title: 1697 Thu Sep 21 13:51:37 2006 http://host-1698.com/ Title: 1698 Thu Sep 21 13:52:25 2006 http://host-1699.com/ Title: 1699 Thu Sep 21 14:03:07 2006 http://www.host-1700.com/ Title: 1700 Thu Sep 21 14:03:23 2006 http://www.host-1701.com/ Title: 1701 Thu Sep 21 14:04:25 2006 http://www.host-1702.com/ Title: 1702 Thu Sep 21 14:04:54 2006 http://www.host-1703.com/ Title: 1703 Thu Sep 21 14:05:29 2006 http://www.host-1704.com/ Title: 1704 Thu Sep 21 14:05:31 2006 http://www.host-1705.com/ Title: 1705 Thu Sep 21 14:06:15 2006 http://host-1706.com/ Title: 1706 Thu Sep 21 14:08:36 2006 http://www.host-1707.com/ Title: 1707 Thu Sep 21 14:08:38 2006 http://host-1708.com/ Title: 1708 Thu Sep 21 14:08:43 2006 http://host-1709.com/ Title: 1709 Thu Sep 21 14:09:14 2006 http://host-1710.com/ Title: 1710 Thu Sep 21 14:09:18 2006 http://host-1711.com/ Title: 1711 Thu Sep 21 14:09:27 2006 http://www.host-1712.com/ Title: 1712 Thu Sep 21 14:09:41 2006 http://www.host-1713.com/ Title: 1713 Thu Sep 21 14:09:48 2006 http://www.host-1714.com/ Title: 1714 Thu Sep 21 14:10:12 2006 http://www.host-1715.com/ Title: 1715 Thu Sep 21 14:10:17 2006 http://www.host-1716.com/ Title: 1716 Thu Sep 21 14:10:39 2006 http://www.host-1717.com/ Title: 1717 Thu Sep 21 14:11:04 2006 http://www.host-1718.com/ Title: 1718 Thu Sep 21 14:11:05 2006 http://host-1719.com/ Title: 1719 Thu Sep 21 14:14:22 2006 http://host-1720.com/ Title: 1720 Thu Sep 21 14:14:40 2006 http://host-1721.com/ Title: 1721 Thu Sep 21 14:14:44 2006 http://host-1722.com/ Title: 1722 Thu Sep 21 14:15:05 2006 http://www.host-1723.com/ Title: 1723 Thu Sep 21 14:15:13 2006 http://www.host-1724.com/ Title: 1724 Thu Sep 21 14:15:22 2006 http://www.host-1725.com/ Title: 1725 Thu Sep 21 14:15:29 2006 http://host-1726.com/ Title: 1726 Thu Sep 21 14:15:44 2006 http://www.host-1727.com/ Title: 1727 Thu Sep 21 14:15:48 2006 http://www.host-1728.com/ Title: 1728 Thu Sep 21 14:15:54 2006 http://www.host-1729.com/ Title: 1729 Thu Sep 21 14:15:55 2006 http://host-1730.com/ Title: 1730 Thu Sep 21 14:15:56 2006 http://www.host-1731.com/ Title: 1731 Thu Sep 21 14:15:57 2006 http://host-1732.com/ Title: 1732 Thu Sep 21 14:15:59 2006 http://host-1733.com/ Title: 1733 Thu Sep 21 14:16:00 2006 http://host-1734.com/ Title: 1734 Thu Sep 21 14:16:16 2006 http://www.host-1735.com/ Title: 1735 Thu Sep 21 14:16:21 2006 http://host-1736.com/ Title: 1736 Thu Sep 21 14:16:23 2006 http://host-1737.com/ Title: 1737 Thu Sep 21 14:17:18 2006 http://host-1738.com/ Title: 1738 Thu Sep 21 14:17:29 2006 http://www.host-1739.com/ Title: 1739 Thu Sep 21 14:17:32 2006 http://www.host-1740.com/ Title: 1740 Thu Sep 21 14:17:47 2006 http://host-1741.com/ Title: 1741 Thu Sep 21 14:18:02 2006 http://host-1742.com/ Title: 1742 Thu Sep 21 14:18:10 2006 http://www.host-1743.com/ Title: 1743 Thu Sep 21 14:18:19 2006 http://www.host-1744.com/ Title: 1744 Thu Sep 21 14:18:29 2006 http://www.host-1745.com/ Title: 1745 Thu Sep 21 14:18:43 2006 http://www.host-1746.com/ Title: 1746 Thu Sep 21 14:19:20 2006 http://www.host-1747.com/ Title: 1747 Thu Sep 21 14:20:43 2006 http://host-1748.com/ Title: 1748 Thu Sep 21 14:21:56 2006 http://host-1749.com/ Title: 1749 Thu Sep 21 14:22:32 2006 http://host-1750.com/ Title: 1750 Thu Sep 21 14:22:38 2006 http://www.host-1751.com/ Title: 1751 Thu Sep 21 14:22:46 2006 http://www.host-1752.com/ Title: 1752 Thu Sep 21 14:22:50 2006 http://host-1753.com/ Title: 1753 Thu Sep 21 14:22:54 2006 http://www.host-1754.com/ Title: 1754 Thu Sep 21 14:22:58 2006 http://www.host-1755.com/ Title: 1755 Thu Sep 21 14:23:02 2006 http://www.host-1756.com/ Title: 1756 Thu Sep 21 14:23:04 2006 http://www.host-1757.com/ Title: 1757 Thu Sep 21 14:23:11 2006 http://www.host-1758.com/ Title: 1758 Thu Sep 21 14:23:15 2006 http://host-1759.com/ Title: 1759 Thu Sep 21 14:23:16 2006 http://www.host-1760.com/ Title: 1760 Thu Sep 21 14:23:19 2006 http://host-1761.com/ Title: 1761 Thu Sep 21 14:23:32 2006 http://www.host-1762.com/ Title: 1762 Thu Sep 21 14:23:49 2006 http://www.host-1763.com/ Title: 1763 Thu Sep 21 14:25:09 2006 http://www.host-1764.com/ Title: 1764 Thu Sep 21 14:26:00 2006 http://www.host-1765.com/ Title: 1765 Thu Sep 21 14:26:28 2006 http://host-1766.com/ Title: 1766 Thu Sep 21 14:27:26 2006 http://host-1767.com/ Title: 1767 Thu Sep 21 14:32:15 2006 http://host-1768.com/ Title: 1768 Thu Sep 21 14:32:49 2006 http://www.host-1769.com/ Title: 1769 Thu Sep 21 14:33:00 2006 http://host-1770.com/ Title: 1770 Thu Sep 21 14:33:03 2006 http://host-1771.com/ Title: 1771 Thu Sep 21 14:33:32 2006 http://www.host-1772.com/ Title: 1772 Thu Sep 21 14:33:32 2006 http://www.host-1773.com/ Title: 1773 Thu Sep 21 14:33:34 2006 http://www.host-1774.com/ Title: 1774 Thu Sep 21 14:36:46 2006 http://www.host-1775.com/ Title: 1775 Thu Sep 21 14:36:49 2006 http://www.host-1776.com/ Title: 1776 Thu Sep 21 14:47:56 2006 http://www.host-1777.com/ Title: 1777 Thu Sep 21 14:48:03 2006 http://www.host-1778.com/ Title: 1778 Thu Sep 21 14:48:13 2006 http://host-1779.com/ Title: 1779 Thu Sep 21 14:48:18 2006 http://host-1780.com/ Title: 1780 Thu Sep 21 14:52:44 2006 http://www.host-1781.com/ Title: 1781 Thu Sep 21 14:56:44 2006 http://host-1782.com/ Title: 1782 Thu Sep 21 14:56:51 2006 http://host-1783.com/ Title: 1783 Thu Sep 21 14:56:57 2006 http://www.host-1784.com/ Title: 1784 Thu Sep 21 14:56:57 2006 http://www.host-1785.com/ Title: 1785 Thu Sep 21 15:04:06 2006 http://host-1786.com/ Title: 1786 Thu Sep 21 15:05:02 2006 http://www.host-1787.com/ Title: 1787 Thu Sep 21 15:05:03 2006 http://host-1788.com/ Title: 1788 Thu Sep 21 15:05:04 2006 http://host-1789.com/ Title: 1789 Thu Sep 21 15:05:27 2006 http://host-1790.com/ Title: 1790 Thu Sep 21 15:05:28 2006 http://www.host-1791.com/ Title: 1791 Thu Sep 21 15:05:28 2006 http://www.host-1792.com/ Title: 1792 Thu Sep 21 15:05:46 2006 http://www.host-1793.com/ Title: 1793 Thu Sep 21 15:05:57 2006 http://host-1794.com/ Title: 1794 Thu Sep 21 15:06:17 2006 http://host-1795.com/ Title: 1795 Thu Sep 21 15:06:37 2006 http://host-1796.com/ Title: 1796 Thu Sep 21 15:06:43 2006 http://host-1797.com/ Title: 1797 Thu Sep 21 15:06:55 2006 http://www.host-1798.com/ Title: 1798 Thu Sep 21 15:07:16 2006 http://host-1799.com/ Title: 1799 Thu Sep 21 15:07:30 2006 http://host-1800.com/ Title: 1800 Thu Sep 21 15:07:37 2006 http://host-1801.com/ Title: 1801 Thu Sep 21 15:07:43 2006 http://host-1802.com/ Title: 1802 Thu Sep 21 15:07:52 2006 http://www.host-1803.com/ Title: 1803 Thu Sep 21 15:12:58 2006 http://host-1804.com/ Title: 1804 Thu Sep 21 15:14:56 2006 http://host-1805.com/ Title: 1805 Thu Sep 21 15:37:37 2006 http://host-1806.com/ Title: 1806 Thu Sep 21 15:37:40 2006 http://www.host-1807.com/ Title: 1807 Thu Sep 21 15:55:27 2006 http://www.host-1808.com/ Title: 1808 Thu Sep 21 15:55:40 2006 http://host-1809.com/ Title: 1809 Thu Sep 21 15:55:46 2006 http://host-1810.com/ Title: 1810 Thu Sep 21 15:56:01 2006 http://host-1811.com/ Title: 1811 Thu Sep 21 15:56:08 2006 http://host-1812.com/ Title: 1812 Thu Sep 21 15:56:18 2006 http://host-1813.com/ Title: 1813 Thu Sep 21 15:56:24 2006 http://www.host-1814.com/ Title: 1814 Thu Sep 21 15:56:36 2006 http://host-1815.com/ Title: 1815 Thu Sep 21 15:56:48 2006 http://host-1816.com/ Title: 1816 Thu Sep 21 15:57:04 2006 http://host-1817.com/ Title: 1817 Thu Sep 21 15:57:11 2006 http://www.host-1818.com/ Title: 1818 Thu Sep 21 15:57:14 2006 http://www.host-1819.com/ Title: 1819 Thu Sep 21 15:57:21 2006 http://host-1820.com/ Title: 1820 Thu Sep 21 15:57:36 2006 http://www.host-1821.com/ Title: 1821 Thu Sep 21 15:57:48 2006 http://www.host-1822.com/ Title: 1822 Thu Sep 21 15:57:54 2006 http://www.host-1823.com/ Title: 1823 Thu Sep 21 16:00:27 2006 http://www.host-1824.com/ Title: 1824 Thu Sep 21 16:01:12 2006 http://www.host-1825.com/ Title: 1825 Thu Sep 21 16:01:33 2006 http://www.host-1826.com/ Title: 1826 Thu Sep 21 16:02:30 2006 http://www.host-1827.com/ Title: 1827 Thu Sep 21 16:03:25 2006 http://www.host-1828.com/ Title: 1828 Thu Sep 21 16:03:34 2006 http://host-1829.com/ Title: 1829 Thu Sep 21 16:03:34 2006 http://host-1830.com/ Title: 1830 Thu Sep 21 16:03:36 2006 http://www.host-1831.com/ Title: 1831 Thu Sep 21 16:03:42 2006 http://host-1832.com/ Title: 1832 Thu Sep 21 16:03:44 2006 http://www.host-1833.com/ Title: 1833 Thu Sep 21 16:04:33 2006 http://host-1834.com/ Title: 1834 Thu Sep 21 16:04:44 2006 http://host-1835.com/ Title: 1835 Thu Sep 21 16:04:46 2006 http://host-1836.com/ Title: 1836 Thu Sep 21 16:04:55 2006 http://host-1837.com/ Title: 1837 Thu Sep 21 16:04:56 2006 http://www.host-1838.com/ Title: 1838 Thu Sep 21 16:05:00 2006 http://www.host-1839.com/ Title: 1839 Thu Sep 21 16:05:01 2006 http://host-1840.com/ Title: 1840 Thu Sep 21 16:07:25 2006 http://www.host-1841.com/ Title: 1841 Thu Sep 21 16:11:30 2006 http://host-1842.com/ Title: 1842 Thu Sep 21 16:11:35 2006 http://host-1843.com/ Title: 1843 Thu Sep 21 16:30:08 2006 http://host-1844.com/ Title: 1844 Thu Sep 21 17:18:56 2006 http://host-1845.com/ Title: 1845 Thu Sep 21 17:19:00 2006 http://host-1846.com/ Title: 1846 Thu Sep 21 17:19:05 2006 http://host-1847.com/ Title: 1847 Thu Sep 21 17:19:16 2006 http://www.host-1848.com/ Title: 1848 Thu Sep 21 17:19:22 2006 http://www.host-1849.com/ Title: 1849 Thu Sep 21 17:19:24 2006 http://host-1850.com/ Title: 1850 Thu Sep 21 17:19:41 2006 http://www.host-1851.com/ Title: 1851 Thu Sep 21 17:19:53 2006 http://www.host-1852.com/ Title: 1852 Thu Sep 21 17:25:31 2006 http://www.host-1853.com/ Title: 1853 Thu Sep 21 17:28:43 2006 http://host-1854.com/ Title: 1854 Thu Sep 21 17:28:45 2006 http://www.host-1855.com/ Title: 1855 Thu Sep 21 17:29:43 2006 http://host-1856.com/ Title: 1856 Thu Sep 21 17:34:53 2006 http://host-1857.com/ Title: 1857 Thu Sep 21 17:35:53 2006 http://www.host-1858.com/ Title: 1858 Thu Sep 21 17:35:55 2006 http://www.host-1859.com/ Title: 1859 Thu Sep 21 17:35:57 2006 http://host-1860.com/ Title: 1860 Thu Sep 21 17:36:01 2006 http://host-1861.com/ Title: 1861 Thu Sep 21 17:41:58 2006 http://host-1862.com/ Title: 1862 Thu Sep 21 17:42:02 2006 http://host-1863.com/ Title: 1863 Mon Oct 2 11:18:22 2006 http://host-1864.com/ Title: 1864 Mon Oct 2 11:37:09 2006 http://www.host-1865.com/ Title: 1865 Mon Oct 2 11:44:06 2006 http://www.host-1866.com/ Title: 1866 Mon Oct 2 11:44:20 2006 http://www.host-1867.com/ Title: 1867 Mon Oct 2 11:44:22 2006 http://www.host-1868.com/ Title: 1868 Mon Oct 2 11:44:30 2006 http://www.host-1869.com/ Title: 1869 Mon Oct 2 11:44:54 2006 http://www.host-1870.com/ Title: 1870 Mon Oct 2 12:16:12 2006 http://host-1871.com/ Title: 1871 Mon Oct 2 12:16:28 2006 http://host-1872.com/ Title: 1872 Mon Oct 2 12:16:45 2006 http://www.host-1873.com/ Title: 1873 Mon Oct 2 12:17:04 2006 http://www.host-1874.com/ Title: 1874 Mon Oct 2 12:17:53 2006 http://host-1875.com/ Title: 1875 Mon Oct 2 12:18:07 2006 http://www.host-1876.com/ Title: 1876 Mon Oct 2 12:18:49 2006 http://host-1877.com/ Title: 1877 Mon Oct 2 12:18:50 2006 http://host-1878.com/ Title: 1878 Mon Oct 2 12:18:53 2006 http://host-1879.com/ Title: 1879 Mon Oct 2 12:19:09 2006 http://host-1880.com/ Title: 1880 Mon Oct 2 12:19:52 2006 http://www.host-1881.com/ Title: 1881 Mon Oct 2 12:19:58 2006 http://www.host-1882.com/ Title: 1882 Mon Oct 2 12:20:05 2006 http://www.host-1883.com/ Title: 1883 Mon Oct 2 12:24:17 2006 http://www.host-1884.com/ Title: 1884 Mon Oct 2 12:24:29 2006 http://www.host-1885.com/ Title: 1885 Mon Oct 2 12:29:18 2006 http://host-1886.com/ Title: 1886 Mon Oct 2 12:37:24 2006 http://host-1887.com/ Title: 1887 Mon Oct 2 12:54:14 2006 http://host-1888.com/ Title: 1888 Mon Oct 2 12:54:40 2006 http://www.host-1889.com/ Title: 1889 Mon Oct 2 12:55:09 2006 http://www.host-1890.com/ Title: 1890 Mon Oct 2 12:55:36 2006 http://www.host-1891.com/ Title: 1891 Mon Oct 2 13:07:21 2006 http://www.host-1892.com/ Title: 1892 Mon Oct 2 13:07:40 2006 http://host-1893.com/ Title: 1893 Mon Oct 2 13:18:11 2006 http://host-1894.com/ Title: 1894 Mon Oct 2 14:02:42 2006 http://host-1895.com/ Title: 1895 Mon Oct 2 14:06:43 2006 http://host-1896.com/ Title: 1896 Mon Oct 2 14:07:39 2006 http://host-1897.com/ Title: 1897 Mon Oct 2 14:08:11 2006 http://www.host-1898.com/ Title: 1898 Mon Oct 2 14:08:20 2006 http://host-1899.com/ Title: 1899 Mon Oct 2 14:08:56 2006 http://host-1900.com/ Title: 1900 Mon Oct 2 14:09:11 2006 http://www.host-1901.com/ Title: 1901 Mon Oct 2 14:09:32 2006 http://host-1902.com/ Title: 1902 Mon Oct 2 14:09:43 2006 http://www.host-1903.com/ Title: 1903 Mon Oct 2 14:09:55 2006 http://host-1904.com/ Title: 1904 Mon Oct 2 14:11:13 2006 http://host-1905.com/ Title: 1905 Mon Oct 2 14:28:11 2006 http://host-1906.com/ Title: 1906 Mon Oct 2 14:30:45 2006 http://www.host-1907.com/ Title: 1907 Mon Oct 2 14:34:44 2006 http://www.host-1908.com/ Title: 1908 Mon Oct 2 14:39:22 2006 http://www.host-1909.com/ Title: 1909 Mon Oct 2 14:57:34 2006 http://host-1910.com/ Title: 1910 Mon Oct 2 14:58:03 2006 http://host-1911.com/ Title: 1911 Mon Oct 2 14:59:14 2006 http://host-1912.com/ Title: 1912 Mon Oct 2 15:06:31 2006 http://www.host-1913.com/ Title: 1913 Mon Oct 2 15:06:35 2006 http://host-1914.com/ Title: 1914 Mon Oct 2 15:06:57 2006 http://www.host-1915.com/ Title: 1915 Mon Oct 2 15:07:02 2006 http://host-1916.com/ Title: 1916 Mon Oct 2 15:07:04 2006 http://www.host-1917.com/ Title: 1917 Mon Oct 2 15:07:08 2006 http://host-1918.com/ Title: 1918 Mon Oct 2 15:07:10 2006 http://host-1919.com/ Title: 1919 Mon Oct 2 15:08:34 2006 http://host-1920.com/ Title: 1920 Mon Oct 2 15:08:41 2006 http://www.host-1921.com/ Title: 1921 Mon Oct 2 15:08:49 2006 http://host-1922.com/ Title: 1922 Mon Oct 2 15:09:02 2006 http://host-1923.com/ Title: 1923 Mon Oct 2 15:09:41 2006 http://host-1924.com/ Title: 1924 Mon Oct 2 15:10:20 2006 http://www.host-1925.com/ Title: 1925 Mon Oct 2 15:10:23 2006 http://www.host-1926.com/ Title: 1926 Mon Oct 2 15:10:43 2006 http://host-1927.com/ Title: 1927 Mon Oct 2 15:10:51 2006 http://host-1928.com/ Title: 1928 Mon Oct 2 15:16:26 2006 http://www.host-1929.com/ Title: 1929 Mon Oct 2 15:16:30 2006 http://www.host-1930.com/ Title: 1930 Mon Oct 2 15:16:41 2006 http://www.host-1931.com/ Title: 1931 Mon Oct 2 15:16:58 2006 http://host-1932.com/ Title: 1932 Mon Oct 2 15:17:07 2006 http://host-1933.com/ Title: 1933 Mon Oct 2 15:19:24 2006 http://host-1934.com/ Title: 1934 Mon Oct 2 15:19:24 2006 http://host-1935.com/ Title: 1935 Mon Oct 2 15:19:33 2006 http://www.host-1936.com/ Title: 1936 Mon Oct 2 15:19:41 2006 http://host-1937.com/ Title: 1937 Mon Oct 2 15:19:51 2006 http://host-1938.com/ Title: 1938 Mon Oct 2 15:19:59 2006 http://www.host-1939.com/ Title: 1939 Mon Oct 2 15:20:06 2006 http://host-1940.com/ Title: 1940 Mon Oct 2 15:20:11 2006 http://www.host-1941.com/ Title: 1941 Mon Oct 2 15:20:18 2006 http://www.host-1942.com/ Title: 1942 Mon Oct 2 15:20:25 2006 http://www.host-1943.com/ Title: 1943 Mon Oct 2 15:20:27 2006 http://host-1944.com/ Title: 1944 Mon Oct 2 15:20:31 2006 http://www.host-1945.com/ Title: 1945 Mon Oct 2 15:21:11 2006 http://www.host-1946.com/ Title: 1946 Mon Oct 2 15:23:07 2006 http://www.host-1947.com/ Title: 1947 Mon Oct 2 15:23:59 2006 http://www.host-1948.com/ Title: 1948 Mon Oct 2 15:24:03 2006 http://www.host-1949.com/ Title: 1949 Mon Oct 2 15:24:13 2006 http://www.host-1950.com/ Title: 1950 Mon Oct 2 15:24:44 2006 http://host-1951.com/ Title: 1951 Mon Oct 2 15:24:56 2006 http://host-1952.com/ Title: 1952 Mon Oct 2 15:25:05 2006 http://www.host-1953.com/ Title: 1953 Mon Oct 2 15:27:49 2006 http://www.host-1954.com/ Title: 1954 Mon Oct 2 15:27:56 2006 http://www.host-1955.com/ Title: 1955 Mon Oct 2 15:28:02 2006 http://www.host-1956.com/ Title: 1956 Mon Oct 2 15:28:24 2006 http://www.host-1957.com/ Title: 1957 Mon Oct 2 15:28:29 2006 http://www.host-1958.com/ Title: 1958 Mon Oct 2 15:28:38 2006 http://www.host-1959.com/ Title: 1959 Mon Oct 2 15:29:08 2006 http://www.host-1960.com/ Title: 1960 Mon Oct 2 15:29:41 2006 http://host-1961.com/ Title: 1961 Mon Oct 2 15:30:08 2006 http://host-1962.com/ Title: 1962 Mon Oct 2 15:30:20 2006 http://www.host-1963.com/ Title: 1963 Mon Oct 2 15:31:08 2006 http://www.host-1964.com/ Title: 1964 Mon Oct 2 15:31:27 2006 http://host-1965.com/ Title: 1965 Mon Oct 2 15:32:02 2006 http://www.host-1966.com/ Title: 1966 Mon Oct 2 15:33:15 2006 http://host-1967.com/ Title: 1967 Mon Oct 2 15:33:25 2006 http://www.host-1968.com/ Title: 1968 Mon Oct 2 15:33:32 2006 http://www.host-1969.com/ Title: 1969 Mon Oct 2 15:33:34 2006 http://host-1970.com/ Title: 1970 Mon Oct 2 15:33:46 2006 http://host-1971.com/ Title: 1971 Mon Oct 2 16:34:06 2006 http://host-1972.com/ Title: 1972 Mon Oct 2 16:34:08 2006 http://www.host-1973.com/ Title: 1973 Mon Oct 2 16:35:42 2006 http://host-1974.com/ Title: 1974 Mon Oct 2 16:36:34 2006 http://host-1975.com/ Title: 1975 Mon Oct 2 16:59:19 2006 http://www.host-1976.com/ Title: 1976 Mon Oct 2 17:28:42 2006 http://www.host-1977.com/ Title: 1977 Mon Oct 2 22:25:01 2006 http://host-1978.com/ Title: 1978 Mon Oct 2 22:25:08 2006 http://www.host-1979.com/ Title: 1979 Mon Oct 2 22:25:12 2006 http://host-1980.com/ Title: 1980 Mon Oct 2 22:25:23 2006 http://www.host-1981.com/ Title: 1981 Mon Oct 2 22:25:29 2006 http://www.host-1982.com/ Title: 1982 Mon Oct 2 22:25:33 2006 http://host-1983.com/ Title: 1983 Mon Oct 2 22:25:38 2006 http://www.host-1984.com/ Title: 1984 Mon Oct 2 22:26:05 2006 http://host-1985.com/ Title: 1985 Mon Oct 2 22:26:12 2006 http://host-1986.com/ Title: 1986 Mon Oct 2 22:26:35 2006 http://host-1987.com/ Title: 1987 Mon Oct 2 22:26:38 2006 http://www.host-1988.com/ Title: 1988 Mon Oct 2 22:26:53 2006 http://www.host-1989.com/ Title: 1989 Mon Oct 2 22:26:55 2006 http://www.host-1990.com/ Title: 1990 Mon Oct 2 22:27:16 2006 http://www.host-1991.com/ Title: 1991 Mon Oct 2 22:27:44 2006 http://www.host-1992.com/ Title: 1992 Mon Oct 2 22:27:44 2006 http://host-1993.com/ Title: 1993 Mon Oct 2 22:27:52 2006 http://host-1994.com/ Title: 1994 Mon Oct 2 22:28:02 2006 http://host-1995.com/ Title: 1995 Mon Oct 2 22:28:14 2006 http://www.host-1996.com/ Title: 1996 Mon Oct 2 22:28:30 2006 http://www.host-1997.com/ Title: 1997 Mon Oct 2 22:28:35 2006 http://www.host-1998.com/ Title: 1998 Mon Oct 2 22:28:44 2006 http://host-1999.com/ Title: 1999 Mon Oct 2 22:28:47 2006 http://host-2000.com/ Title: 2000 Mon Oct 2 22:28:51 2006 http://www.host-2001.com/ Title: 2001 Mon Oct 2 22:29:09 2006 http://www.host-2002.com/ Title: 2002 Mon Oct 2 22:29:26 2006 http://www.host-2003.com/ Title: 2003 Mon Oct 2 22:29:51 2006 http://host-2004.com/ Title: 2004 Mon Oct 2 22:30:03 2006 http://www.host-2005.com/ Title: 2005 Mon Oct 2 22:30:14 2006 http://host-2006.com/ Title: 2006 Mon Oct 2 22:30:24 2006 http://host-2007.com/ Title: 2007 Mon Oct 2 22:30:44 2006 http://host-2008.com/ Title: 2008 Mon Oct 2 22:30:47 2006 http://host-2009.com/ Title: 2009 Mon Oct 2 22:31:38 2006 http://host-2010.com/ Title: 2010 Mon Oct 2 22:31:40 2006 http://host-2011.com/ Title: 2011 Mon Oct 2 22:31:50 2006 http://www.host-2012.com/ Title: 2012 Tue Oct 3 08:58:24 2006 http://host-2013.com/ Title: 2013 Tue Oct 3 09:00:24 2006 http://host-2014.com/ Title: 2014 Tue Oct 3 09:00:34 2006 http://www.host-2015.com/ Title: 2015 Tue Oct 3 09:00:39 2006 http://www.host-2016.com/ Title: 2016 Tue Oct 3 09:00:44 2006 http://host-2017.com/ Title: 2017 Tue Oct 3 09:05:15 2006 http://host-2018.com/ Title: 2018 Tue Oct 3 09:05:18 2006 http://www.host-2019.com/ Title: 2019 Tue Oct 3 09:11:39 2006 http://www.host-2020.com/ Title: 2020 Tue Oct 3 09:11:39 2006 http://host-2021.com/ Title: 2021 Tue Oct 3 09:11:40 2006 http://host-2022.com/ Title: 2022 Tue Oct 3 09:11:42 2006 http://www.host-2023.com/ Title: 2023 Tue Oct 3 09:12:52 2006 http://host-2024.com/ Title: 2024 Tue Oct 3 09:12:54 2006 http://www.host-2025.com/ Title: 2025 Tue Oct 3 09:12:57 2006 http://www.host-2026.com/ Title: 2026 Tue Oct 3 09:13:20 2006 http://www.host-2027.com/ Title: 2027 Tue Oct 3 09:13:42 2006 http://www.host-2028.com/ Title: 2028 Tue Oct 3 09:14:33 2006 http://www.host-2029.com/ Title: 2029 Tue Oct 3 09:15:07 2006 http://host-2030.com/ Title: 2030 Tue Oct 3 09:15:10 2006 http://www.host-2031.com/ Title: 2031 Tue Oct 3 09:15:15 2006 http://www.host-2032.com/ Title: 2032 Tue Oct 3 09:15:42 2006 http://host-2033.com/ Title: 2033 Tue Oct 3 09:15:43 2006 http://host-2034.com/ Title: 2034 Tue Oct 3 09:17:42 2006 http://www.host-2035.com/ Title: 2035 Tue Oct 3 09:20:45 2006 http://host-2036.com/ Title: 2036 Tue Oct 3 09:26:06 2006 http://www.host-2037.com/ Title: 2037 Tue Oct 3 09:26:09 2006 http://host-2038.com/ Title: 2038 Tue Oct 3 09:26:11 2006 http://www.host-2039.com/ Title: 2039 Tue Oct 3 09:26:23 2006 http://host-2040.com/ Title: 2040 Tue Oct 3 09:26:33 2006 http://www.host-2041.com/ Title: 2041 Tue Oct 3 09:26:37 2006 http://host-2042.com/ Title: 2042 Tue Oct 3 09:41:59 2006 http://www.host-2043.com/ Title: 2043 Tue Oct 3 09:43:36 2006 http://www.host-2044.com/ Title: 2044 Tue Oct 3 09:43:40 2006 http://www.host-2045.com/ Title: 2045 Tue Oct 3 09:50:25 2006 http://host-2046.com/ Title: 2046 Tue Oct 3 09:50:30 2006 http://host-2047.com/ Title: 2047 Tue Oct 3 09:50:50 2006 http://www.host-2048.com/ Title: 2048 Tue Oct 3 10:04:09 2006 http://host-2049.com/ Title: 2049 Tue Oct 3 10:06:58 2006 http://host-2050.com/ Title: 2050 Tue Oct 3 10:06:59 2006 http://host-2051.com/ Title: 2051 Tue Oct 3 10:07:52 2006 http://www.host-2052.com/ Title: 2052 Tue Oct 3 10:07:58 2006 http://www.host-2053.com/ Title: 2053 Tue Oct 3 10:08:08 2006 http://host-2054.com/ Title: 2054 Tue Oct 3 10:08:09 2006 http://host-2055.com/ Title: 2055 Tue Oct 3 10:58:01 2006 http://host-2056.com/ Title: 2056 Tue Oct 3 12:41:40 2006 http://www.host-2057.com/ Title: 2057 Tue Oct 3 12:41:48 2006 http://www.host-2058.com/ Title: 2058 Tue Oct 3 12:41:53 2006 http://www.host-2059.com/ Title: 2059 Tue Oct 3 12:45:20 2006 http://host-2060.com/ Title: 2060 Tue Oct 3 12:46:51 2006 http://host-2061.com/ Title: 2061 Tue Oct 3 12:46:54 2006 http://www.host-2062.com/ Title: 2062 Tue Oct 3 12:52:39 2006 http://www.host-2063.com/ Title: 2063 Tue Oct 3 12:52:46 2006 http://host-2064.com/ Title: 2064 Tue Oct 3 12:53:02 2006 http://host-2065.com/ Title: 2065 Tue Oct 3 12:53:14 2006 http://www.host-2066.com/ Title: 2066 Tue Oct 3 12:53:42 2006 http://www.host-2067.com/ Title: 2067 Tue Oct 3 12:53:47 2006 http://www.host-2068.com/ Title: 2068 Tue Oct 3 12:53:55 2006 http://www.host-2069.com/ Title: 2069 Tue Oct 3 12:54:04 2006 http://www.host-2070.com/ Title: 2070 Tue Oct 3 12:54:08 2006 http://host-2071.com/ Title: 2071 Tue Oct 3 12:54:18 2006 http://www.host-2072.com/ Title: 2072 Tue Oct 3 12:54:25 2006 http://www.host-2073.com/ Title: 2073 Tue Oct 3 12:57:01 2006 http://www.host-2074.com/ Title: 2074 Tue Oct 3 12:57:56 2006 http://host-2075.com/ Title: 2075 Tue Oct 3 12:58:16 2006 http://host-2076.com/ Title: 2076 Tue Oct 3 12:58:26 2006 http://host-2077.com/ Title: 2077 Tue Oct 3 12:58:37 2006 http://www.host-2078.com/ Title: 2078 Tue Oct 3 14:35:11 2006 http://host-2079.com/ Title: 2079 Tue Oct 3 14:35:39 2006 http://host-2080.com/ Title: 2080 Tue Oct 3 14:35:40 2006 http://www.host-2081.com/ Title: 2081 Tue Oct 3 14:35:55 2006 http://www.host-2082.com/ Title: 2082 Tue Oct 3 14:36:10 2006 http://www.host-2083.com/ Title: 2083 Tue Oct 3 15:20:18 2006 http://www.host-2084.com/ Title: 2084 Tue Oct 3 15:23:25 2006 http://host-2085.com/ Title: 2085 Tue Oct 3 15:26:54 2006 http://host-2086.com/ Title: 2086 Tue Oct 3 15:26:58 2006 http://host-2087.com/ Title: 2087 Tue Oct 3 15:27:01 2006 http://www.host-2088.com/ Title: 2088 Tue Oct 3 15:27:03 2006 http://host-2089.com/ Title: 2089 Tue Oct 3 15:27:07 2006 http://www.host-2090.com/ Title: 2090 Tue Oct 3 15:27:10 2006 http://host-2091.com/ Title: 2091 Tue Oct 3 15:27:12 2006 http://www.host-2092.com/ Title: 2092 Tue Oct 3 15:27:14 2006 http://www.host-2093.com/ Title: 2093 Tue Oct 3 15:27:18 2006 http://www.host-2094.com/ Title: 2094 Tue Oct 3 15:27:21 2006 http://host-2095.com/ Title: 2095 Tue Oct 3 15:27:25 2006 http://www.host-2096.com/ Title: 2096 Tue Oct 3 15:27:27 2006 http://www.host-2097.com/ Title: 2097 Tue Oct 3 15:27:29 2006 http://www.host-2098.com/ Title: 2098 Tue Oct 3 15:27:31 2006 http://host-2099.com/ Title: 2099 Tue Oct 3 15:27:32 2006 http://host-2100.com/ Title: 2100 Tue Oct 3 15:27:34 2006 http://host-2101.com/ Title: 2101 Tue Oct 3 15:27:37 2006 http://host-2102.com/ Title: 2102 Tue Oct 3 15:28:22 2006 http://www.host-2103.com/ Title: 2103 Tue Oct 3 16:27:03 2006 http://www.host-2104.com/ Title: 2104 Tue Oct 3 17:56:18 2006 http://www.host-2105.com/ Title: 2105 Tue Oct 3 17:56:45 2006 http://www.host-2106.com/ Title: 2106 Tue Oct 3 17:56:55 2006 http://www.host-2107.com/ Title: 2107 Wed Oct 4 10:26:04 2006 http://host-2108.com/ Title: 2108 Wed Oct 4 10:26:45 2006 http://host-2109.com/ Title: 2109 Wed Oct 4 10:29:03 2006 http://www.host-2110.com/ Title: 2110 Wed Oct 4 10:29:44 2006 http://host-2111.com/ Title: 2111 Wed Oct 4 10:30:08 2006 http://host-2112.com/ Title: 2112 Wed Oct 4 10:30:12 2006 http://www.host-2113.com/ Title: 2113 Wed Oct 4 10:33:35 2006 http://host-2114.com/ Title: 2114 Wed Oct 4 10:33:36 2006 http://www.host-2115.com/ Title: 2115 Wed Oct 4 10:34:03 2006 http://www.host-2116.com/ Title: 2116 Wed Oct 4 10:35:15 2006 http://www.host-2117.com/ Title: 2117 Wed Oct 4 10:35:19 2006 http://host-2118.com/ Title: 2118 Wed Oct 4 10:36:23 2006 http://www.host-2119.com/ Title: 2119 Wed Oct 4 10:55:09 2006 http://www.host-2120.com/ Title: 2120 Wed Oct 4 10:55:20 2006 http://host-2121.com/ Title: 2121 Wed Oct 4 10:55:28 2006 http://www.host-2122.com/ Title: 2122 Wed Oct 4 10:55:31 2006 http://host-2123.com/ Title: 2123 Wed Oct 4 10:55:34 2006 http://www.host-2124.com/ Title: 2124 Wed Oct 4 10:55:50 2006 http://www.host-2125.com/ Title: 2125 Wed Oct 4 10:55:52 2006 http://host-2126.com/ Title: 2126 Wed Oct 4 10:55:56 2006 http://host-2127.com/ Title: 2127 Wed Oct 4 10:57:23 2006 http://www.host-2128.com/ Title: 2128 Wed Oct 4 11:07:09 2006 http://host-2129.com/ Title: 2129 Wed Oct 4 12:24:24 2006 http://host-2130.com/ Title: 2130 Wed Oct 4 12:34:24 2006 http://www.host-2131.com/ Title: 2131 Wed Oct 4 12:34:25 2006 http://www.host-2132.com/ Title: 2132 Wed Oct 4 12:34:26 2006 http://host-2133.com/ Title: 2133 Wed Oct 4 12:34:27 2006 http://host-2134.com/ Title: 2134 Wed Oct 4 12:34:33 2006 http://www.host-2135.com/ Title: 2135 Wed Oct 4 12:34:36 2006 http://www.host-2136.com/ Title: 2136 Wed Oct 4 12:34:39 2006 http://www.host-2137.com/ Title: 2137 Wed Oct 4 12:35:24 2006 http://host-2138.com/ Title: 2138 Wed Oct 4 12:57:50 2006 http://www.host-2139.com/ Title: 2139 Wed Oct 4 12:58:14 2006 http://host-2140.com/ Title: 2140 Wed Oct 4 12:59:01 2006 http://www.host-2141.com/ Title: 2141 Wed Oct 4 12:59:49 2006 http://host-2142.com/ Title: 2142 Wed Oct 4 15:21:15 2006 http://host-2143.com/ Title: 2143 Wed Oct 4 15:21:58 2006 http://host-2144.com/ Title: 2144 Wed Oct 4 15:21:58 2006 http://host-2145.com/ Title: 2145 Wed Oct 4 15:22:21 2006 http://host-2146.com/ Title: 2146 Wed Oct 4 15:22:32 2006 http://www.host-2147.com/ Title: 2147 Wed Oct 4 15:22:54 2006 http://host-2148.com/ Title: 2148 Wed Oct 4 15:23:04 2006 http://host-2149.com/ Title: 2149 Wed Oct 4 15:23:10 2006 http://www.host-2150.com/ Title: 2150 Wed Oct 4 15:23:18 2006 http://host-2151.com/ Title: 2151 Wed Oct 4 15:23:24 2006 http://www.host-2152.com/ Title: 2152 Wed Oct 4 15:23:37 2006 http://www.host-2153.com/ Title: 2153 Wed Oct 4 15:23:42 2006 http://www.host-2154.com/ Title: 2154 Wed Oct 4 15:23:51 2006 http://host-2155.com/ Title: 2155 Wed Oct 4 15:24:08 2006 http://www.host-2156.com/ Title: 2156 Wed Oct 4 15:24:12 2006 http://host-2157.com/ Title: 2157 Wed Oct 4 15:24:19 2006 http://host-2158.com/ Title: 2158 Wed Oct 4 15:24:27 2006 http://host-2159.com/ Title: 2159 Wed Oct 4 15:24:28 2006 http://www.host-2160.com/ Title: 2160 Wed Oct 4 15:24:44 2006 http://host-2161.com/ Title: 2161 Wed Oct 4 15:24:44 2006 http://host-2162.com/ Title: 2162 Wed Oct 4 15:24:46 2006 http://www.host-2163.com/ Title: 2163 Wed Oct 4 15:24:47 2006 http://host-2164.com/ Title: 2164 Wed Oct 4 15:24:50 2006 http://www.host-2165.com/ Title: 2165 Wed Oct 4 15:24:51 2006 http://host-2166.com/ Title: 2166 Wed Oct 4 15:24:52 2006 http://www.host-2167.com/ Title: 2167 Wed Oct 4 15:25:34 2006 http://host-2168.com/ Title: 2168 Wed Oct 4 15:25:36 2006 http://www.host-2169.com/ Title: 2169 Wed Oct 4 15:26:26 2006 http://www.host-2170.com/ Title: 2170 Wed Oct 4 15:26:31 2006 http://host-2171.com/ Title: 2171 Wed Oct 4 15:26:39 2006 http://host-2172.com/ Title: 2172 Wed Oct 4 15:26:49 2006 http://www.host-2173.com/ Title: 2173 Wed Oct 4 15:26:58 2006 http://www.host-2174.com/ Title: 2174 Wed Oct 4 15:27:13 2006 http://www.host-2175.com/ Title: 2175 Wed Oct 4 15:27:39 2006 http://www.host-2176.com/ Title: 2176 Wed Oct 4 15:27:46 2006 http://host-2177.com/ Title: 2177 Wed Oct 4 15:27:55 2006 http://www.host-2178.com/ Title: 2178 Wed Oct 4 15:28:02 2006 http://host-2179.com/ Title: 2179 Wed Oct 4 15:28:03 2006 http://host-2180.com/ Title: 2180 Wed Oct 4 15:28:06 2006 http://host-2181.com/ Title: 2181 Wed Oct 4 15:28:11 2006 http://www.host-2182.com/ Title: 2182 Wed Oct 4 15:28:21 2006 http://www.host-2183.com/ Title: 2183 Wed Oct 4 15:28:21 2006 http://host-2184.com/ Title: 2184 Wed Oct 4 15:30:10 2006 http://www.host-2185.com/ Title: 2185 Wed Oct 4 15:30:25 2006 http://host-2186.com/ Title: 2186 Wed Oct 4 15:30:40 2006 http://www.host-2187.com/ Title: 2187 Wed Oct 4 15:30:42 2006 http://host-2188.com/ Title: 2188 Wed Oct 4 15:30:45 2006 http://host-2189.com/ Title: 2189 Wed Oct 4 15:30:54 2006 http://www.host-2190.com/ Title: 2190 Wed Oct 4 15:31:09 2006 http://www.host-2191.com/ Title: 2191 Wed Oct 4 15:31:14 2006 http://www.host-2192.com/ Title: 2192 Wed Oct 4 15:31:18 2006 http://host-2193.com/ Title: 2193 Wed Oct 4 15:32:49 2006 http://host-2194.com/ Title: 2194 Wed Oct 4 15:32:56 2006 http://host-2195.com/ Title: 2195 Wed Oct 4 15:32:57 2006 http://host-2196.com/ Title: 2196 Wed Oct 4 15:32:57 2006 http://host-2197.com/ Title: 2197 Wed Oct 4 15:32:59 2006 http://www.host-2198.com/ Title: 2198 Wed Oct 4 15:33:02 2006 http://www.host-2199.com/ Title: 2199 Wed Oct 4 15:33:03 2006 http://www.host-2200.com/ Title: 2200 Wed Oct 4 15:33:35 2006 http://host-2201.com/ Title: 2201 Wed Oct 4 15:33:42 2006 http://www.host-2202.com/ Title: 2202 Wed Oct 4 15:33:50 2006 http://host-2203.com/ Title: 2203 Wed Oct 4 15:34:12 2006 http://host-2204.com/ Title: 2204 Wed Oct 4 15:34:21 2006 http://host-2205.com/ Title: 2205 Wed Oct 4 15:39:46 2006 http://www.host-2206.com/ Title: 2206 Wed Oct 4 15:39:57 2006 http://www.host-2207.com/ Title: 2207 Wed Oct 4 15:40:06 2006 http://www.host-2208.com/ Title: 2208 Wed Oct 4 15:40:19 2006 http://www.host-2209.com/ Title: 2209 Wed Oct 4 15:40:25 2006 http://host-2210.com/ Title: 2210 Wed Oct 4 15:40:32 2006 http://host-2211.com/ Title: 2211 Wed Oct 4 15:40:38 2006 http://host-2212.com/ Title: 2212 Wed Oct 4 15:40:46 2006 http://www.host-2213.com/ Title: 2213 Wed Oct 4 16:53:42 2006 http://www.host-2214.com/ Title: 2214 Wed Oct 4 16:55:27 2006 http://www.host-2215.com/ Title: 2215 Wed Oct 4 16:55:30 2006 http://host-2216.com/ Title: 2216 Wed Oct 4 16:56:24 2006 http://host-2217.com/ Title: 2217 Wed Oct 4 16:56:28 2006 http://host-2218.com/ Title: 2218 Wed Oct 4 16:56:47 2006 http://www.host-2219.com/ Title: 2219 Wed Oct 4 17:10:51 2006 http://www.host-2220.com/ Title: 2220 Wed Oct 4 17:10:53 2006 http://host-2221.com/ Title: 2221 Thu Oct 5 10:48:10 2006 http://www.host-2222.com/ Title: 2222 Thu Oct 5 10:49:03 2006 http://www.host-2223.com/ Title: 2223 Thu Oct 5 10:49:15 2006 http://www.host-2224.com/ Title: 2224 Thu Oct 5 10:51:18 2006 http://host-2225.com/ Title: 2225 Thu Oct 5 10:51:28 2006 http://host-2226.com/ Title: 2226 Thu Oct 5 10:53:51 2006 http://www.host-2227.com/ Title: 2227 Thu Oct 5 10:54:25 2006 http://host-2228.com/ Title: 2228 Thu Oct 5 10:55:01 2006 http://www.host-2229.com/ Title: 2229 Thu Oct 5 10:55:26 2006 http://www.host-2230.com/ Title: 2230 Thu Oct 5 10:56:19 2006 http://host-2231.com/ Title: 2231 Thu Oct 5 10:57:02 2006 http://host-2232.com/ Title: 2232 Thu Oct 5 10:57:05 2006 http://host-2233.com/ Title: 2233 Thu Oct 5 10:58:08 2006 http://host-2234.com/ Title: 2234 Thu Oct 5 11:02:27 2006 http://www.host-2235.com/ Title: 2235 Thu Oct 5 11:04:35 2006 http://host-2236.com/ Title: 2236 Thu Oct 5 11:05:27 2006 http://host-2237.com/ Title: 2237 Thu Oct 5 11:06:35 2006 http://host-2238.com/ Title: 2238 Thu Oct 5 11:07:44 2006 http://www.host-2239.com/ Title: 2239 Thu Oct 5 11:19:10 2006 http://host-2240.com/ Title: 2240 Thu Oct 5 11:21:16 2006 http://host-2241.com/ Title: 2241 Thu Oct 5 11:22:39 2006 http://www.host-2242.com/ Title: 2242 Thu Oct 5 11:23:43 2006 http://host-2243.com/ Title: 2243 Thu Oct 5 11:23:43 2006 http://host-2244.com/ Title: 2244 Thu Oct 5 11:23:53 2006 http://host-2245.com/ Title: 2245 Thu Oct 5 11:24:00 2006 http://host-2246.com/ Title: 2246 Thu Oct 5 11:24:01 2006 http://www.host-2247.com/ Title: 2247 Thu Oct 5 11:24:07 2006 http://host-2248.com/ Title: 2248 Thu Oct 5 11:24:08 2006 http://host-2249.com/ Title: 2249 Thu Oct 5 11:24:11 2006 http://host-2250.com/ Title: 2250 Thu Oct 5 11:24:13 2006 http://www.host-2251.com/ Title: 2251 Thu Oct 5 11:29:08 2006 http://host-2252.com/ Title: 2252 Thu Oct 5 11:29:43 2006 http://host-2253.com/ Title: 2253 Thu Oct 5 11:31:03 2006 http://www.host-2254.com/ Title: 2254 Thu Oct 5 11:31:14 2006 http://host-2255.com/ Title: 2255 Thu Oct 5 12:09:36 2006 http://host-2256.com/ Title: 2256 Thu Oct 5 12:14:17 2006 http://host-2257.com/ Title: 2257 Thu Oct 5 13:07:54 2006 http://host-2258.com/ Title: 2258 Thu Oct 5 13:09:09 2006 http://host-2259.com/ Title: 2259 Thu Oct 5 13:13:46 2006 http://www.host-2260.com/ Title: 2260 Thu Oct 5 13:35:47 2006 http://www.host-2261.com/ Title: 2261 Thu Oct 5 13:35:58 2006 http://www.host-2262.com/ Title: 2262 Thu Oct 5 13:36:05 2006 http://host-2263.com/ Title: 2263 Thu Oct 5 13:36:11 2006 http://www.host-2264.com/ Title: 2264 Thu Oct 5 13:36:22 2006 http://host-2265.com/ Title: 2265 Thu Oct 5 13:36:41 2006 http://host-2266.com/ Title: 2266 Thu Oct 5 13:36:46 2006 http://host-2267.com/ Title: 2267 Thu Oct 5 13:36:53 2006 http://host-2268.com/ Title: 2268 Thu Oct 5 13:37:00 2006 http://host-2269.com/ Title: 2269 Thu Oct 5 13:37:05 2006 http://www.host-2270.com/ Title: 2270 Thu Oct 5 13:37:09 2006 http://www.host-2271.com/ Title: 2271 Thu Oct 5 13:37:15 2006 http://host-2272.com/ Title: 2272 Thu Oct 5 13:37:19 2006 http://www.host-2273.com/ Title: 2273 Thu Oct 5 13:37:25 2006 http://host-2274.com/ Title: 2274 Thu Oct 5 13:37:30 2006 http://www.host-2275.com/ Title: 2275 Thu Oct 5 13:37:37 2006 http://host-2276.com/ Title: 2276 Thu Oct 5 13:37:44 2006 http://www.host-2277.com/ Title: 2277 Thu Oct 5 13:37:49 2006 http://host-2278.com/ Title: 2278 Thu Oct 5 13:37:53 2006 http://www.host-2279.com/ Title: 2279 Thu Oct 5 13:38:00 2006 http://www.host-2280.com/ Title: 2280 Thu Oct 5 13:38:06 2006 http://www.host-2281.com/ Title: 2281 Thu Oct 5 13:38:14 2006 http://www.host-2282.com/ Title: 2282 Thu Oct 5 14:28:11 2006 http://www.host-2283.com/ Title: 2283 Thu Oct 5 14:28:13 2006 http://www.host-2284.com/ Title: 2284 Thu Oct 5 14:48:28 2006 http://host-2285.com/ Title: 2285 Thu Oct 5 14:48:43 2006 http://www.host-2286.com/ Title: 2286 Thu Oct 5 14:48:51 2006 http://host-2287.com/ Title: 2287 Thu Oct 5 14:48:59 2006 http://www.host-2288.com/ Title: 2288 Thu Oct 5 14:49:07 2006 http://www.host-2289.com/ Title: 2289 Thu Oct 5 14:49:15 2006 http://www.host-2290.com/ Title: 2290 Thu Oct 5 14:49:23 2006 http://www.host-2291.com/ Title: 2291 Thu Oct 5 14:50:05 2006 http://www.host-2292.com/ Title: 2292 Thu Oct 5 14:50:13 2006 http://www.host-2293.com/ Title: 2293 Thu Oct 5 14:50:23 2006 http://host-2294.com/ Title: 2294 Thu Oct 5 15:21:04 2006 http://host-2295.com/ Title: 2295 Thu Oct 5 15:21:09 2006 http://www.host-2296.com/ Title: 2296 Thu Oct 5 15:21:11 2006 http://host-2297.com/ Title: 2297 Thu Oct 5 15:21:35 2006 http://www.host-2298.com/ Title: 2298 Thu Oct 5 15:26:55 2006 http://www.host-2299.com/ Title: 2299 Thu Oct 5 15:27:38 2006 http://www.host-2300.com/ Title: 2300 Thu Oct 5 15:28:23 2006 http://host-2301.com/ Title: 2301 Thu Oct 5 15:28:27 2006 http://www.host-2302.com/ Title: 2302 Thu Oct 5 15:28:28 2006 http://host-2303.com/ Title: 2303 Thu Oct 5 15:28:40 2006 http://host-2304.com/ Title: 2304 Thu Oct 5 15:32:34 2006 http://www.host-2305.com/ Title: 2305 Thu Oct 5 15:32:41 2006 http://host-2306.com/ Title: 2306 Thu Oct 5 15:32:46 2006 http://www.host-2307.com/ Title: 2307 Thu Oct 5 15:32:55 2006 http://www.host-2308.com/ Title: 2308 Thu Oct 5 15:32:56 2006 http://host-2309.com/ Title: 2309 Thu Oct 5 15:33:02 2006 http://www.host-2310.com/ Title: 2310 Thu Oct 5 15:33:03 2006 http://www.host-2311.com/ Title: 2311 Thu Oct 5 15:33:43 2006 http://host-2312.com/ Title: 2312 Thu Oct 5 15:33:45 2006 http://host-2313.com/ Title: 2313 Thu Oct 5 15:33:48 2006 http://www.host-2314.com/ Title: 2314 Thu Oct 5 15:33:55 2006 http://www.host-2315.com/ Title: 2315 Thu Oct 5 15:34:16 2006 http://www.host-2316.com/ Title: 2316 Thu Oct 5 15:34:26 2006 http://www.host-2317.com/ Title: 2317 Thu Oct 5 15:34:29 2006 http://www.host-2318.com/ Title: 2318 Thu Oct 5 15:37:04 2006 http://www.host-2319.com/ Title: 2319 Thu Oct 5 15:37:07 2006 http://host-2320.com/ Title: 2320 Thu Oct 5 15:37:11 2006 http://www.host-2321.com/ Title: 2321 Thu Oct 5 15:38:17 2006 http://host-2322.com/ Title: 2322 Thu Oct 5 15:38:36 2006 http://host-2323.com/ Title: 2323 Thu Oct 5 15:41:15 2006 http://host-2324.com/ Title: 2324 Thu Oct 5 15:41:19 2006 http://host-2325.com/ Title: 2325 Thu Oct 5 15:41:28 2006 http://host-2326.com/ Title: 2326 Thu Oct 5 15:43:38 2006 http://host-2327.com/ Title: 2327 Thu Oct 5 15:44:17 2006 http://www.host-2328.com/ Title: 2328 Thu Oct 5 15:44:58 2006 http://www.host-2329.com/ Title: 2329 Thu Oct 5 15:45:26 2006 http://www.host-2330.com/ Title: 2330 Thu Oct 5 15:46:17 2006 http://www.host-2331.com/ Title: 2331 Thu Oct 5 15:46:45 2006 http://www.host-2332.com/ Title: 2332 Thu Oct 5 15:46:55 2006 http://host-2333.com/ Title: 2333 Thu Oct 5 15:47:21 2006 http://www.host-2334.com/ Title: 2334 Thu Oct 5 15:47:30 2006 http://host-2335.com/ Title: 2335 Thu Oct 5 15:47:35 2006 http://host-2336.com/ Title: 2336 Thu Oct 5 15:47:52 2006 http://www.host-2337.com/ Title: 2337 Thu Oct 5 15:48:09 2006 http://www.host-2338.com/ Title: 2338 Thu Oct 5 15:48:43 2006 http://www.host-2339.com/ Title: 2339 Thu Oct 5 15:48:44 2006 http://www.host-2340.com/ Title: 2340 Thu Oct 5 15:58:28 2006 http://www.host-2341.com/ Title: 2341 Thu Oct 5 16:14:37 2006 http://host-2342.com/ Title: 2342 Thu Oct 5 16:15:51 2006 http://www.host-2343.com/ Title: 2343 Thu Oct 5 16:16:07 2006 http://www.host-2344.com/ Title: 2344 Thu Oct 5 16:16:30 2006 http://www.host-2345.com/ Title: 2345 Thu Oct 5 16:29:09 2006 http://host-2346.com/ Title: 2346 Thu Oct 5 16:29:13 2006 http://www.host-2347.com/ Title: 2347 Thu Oct 5 16:29:16 2006 http://host-2348.com/ Title: 2348 Thu Oct 5 16:29:24 2006 http://www.host-2349.com/ Title: 2349 Thu Oct 5 16:45:50 2006 http://www.host-2350.com/ Title: 2350 Thu Oct 5 16:45:54 2006 http://www.host-2351.com/ Title: 2351 Thu Oct 5 16:45:59 2006 http://host-2352.com/ Title: 2352 Thu Oct 5 17:18:50 2006 http://www.host-2353.com/ Title: 2353 Thu Oct 5 17:18:52 2006 http://host-2354.com/ Title: 2354 Fri Oct 6 10:24:52 2006 http://host-2355.com/ Title: 2355 Fri Oct 6 10:29:45 2006 http://host-2356.com/ Title: 2356 Fri Oct 6 10:29:56 2006 http://host-2357.com/ Title: 2357 Fri Oct 6 10:30:44 2006 http://host-2358.com/ Title: 2358 Fri Oct 6 10:31:04 2006 http://www.host-2359.com/ Title: 2359 Fri Oct 6 10:31:18 2006 http://www.host-2360.com/ Title: 2360 Fri Oct 6 10:31:22 2006 http://host-2361.com/ Title: 2361 Fri Oct 6 10:31:57 2006 http://www.host-2362.com/ Title: 2362 Fri Oct 6 10:32:16 2006 http://host-2363.com/ Title: 2363 Fri Oct 6 10:32:21 2006 http://host-2364.com/ Title: 2364 Fri Oct 6 10:32:42 2006 http://host-2365.com/ Title: 2365 Fri Oct 6 10:35:08 2006 http://www.host-2366.com/ Title: 2366 Fri Oct 6 10:37:44 2006 http://www.host-2367.com/ Title: 2367 Fri Oct 6 11:34:08 2006 http://host-2368.com/ Title: 2368 Fri Oct 6 11:34:08 2006 http://host-2369.com/ Title: 2369 Fri Oct 6 11:34:17 2006 http://www.host-2370.com/ Title: 2370 Fri Oct 6 11:36:21 2006 http://www.host-2371.com/ Title: 2371 Fri Oct 6 11:36:33 2006 http://host-2372.com/ Title: 2372 Fri Oct 6 11:37:28 2006 http://www.host-2373.com/ Title: 2373 Fri Oct 6 11:37:55 2006 http://host-2374.com/ Title: 2374 Fri Oct 6 11:38:21 2006 http://www.host-2375.com/ Title: 2375 Fri Oct 6 11:39:08 2006 http://www.host-2376.com/ Title: 2376 Fri Oct 6 12:05:56 2006 http://www.host-2377.com/ Title: 2377 Fri Oct 6 12:06:05 2006 http://host-2378.com/ Title: 2378 Fri Oct 6 12:06:17 2006 http://host-2379.com/ Title: 2379 Fri Oct 6 12:07:32 2006 http://www.host-2380.com/ Title: 2380 Fri Oct 6 12:24:52 2006 http://host-2381.com/ Title: 2381 Fri Oct 6 12:25:17 2006 http://www.host-2382.com/ Title: 2382 Fri Oct 6 13:02:52 2006 http://www.host-2383.com/ Title: 2383 Fri Oct 6 13:02:54 2006 http://host-2384.com/ Title: 2384 Fri Oct 6 13:19:59 2006 http://www.host-2385.com/ Title: 2385 Fri Oct 6 14:46:26 2006 http://www.host-2386.com/ Title: 2386 Fri Oct 6 14:46:27 2006 http://www.host-2387.com/ Title: 2387 Fri Oct 6 14:46:35 2006 http://www.host-2388.com/ Title: 2388 Fri Oct 6 14:46:44 2006 http://host-2389.com/ Title: 2389 Fri Oct 6 14:46:53 2006 http://host-2390.com/ Title: 2390 Fri Oct 6 14:47:08 2006 http://www.host-2391.com/ Title: 2391 Fri Oct 6 14:47:19 2006 http://www.host-2392.com/ Title: 2392 Fri Oct 6 14:47:26 2006 http://www.host-2393.com/ Title: 2393 Fri Oct 6 14:47:31 2006 http://host-2394.com/ Title: 2394 Fri Oct 6 14:51:11 2006 http://host-2395.com/ Title: 2395 Fri Oct 6 14:56:02 2006 http://www.host-2396.com/ Title: 2396 Fri Oct 6 15:46:30 2006 http://host-2397.com/ Title: 2397 Fri Oct 6 17:31:21 2006 http://host-2398.com/ Title: 2398 Fri Oct 6 17:45:12 2006 http://host-2399.com/ Title: 2399 Fri Oct 6 17:45:23 2006 http://www.host-2400.com/ Title: 2400 Fri Oct 6 17:45:26 2006 http://www.host-2401.com/ Title: 2401 Fri Oct 6 17:55:03 2006 http://host-2402.com/ Title: 2402 Fri Oct 6 17:55:05 2006 http://host-2403.com/ Title: 2403 Fri Oct 6 17:55:06 2006 http://host-2404.com/ Title: 2404 Fri Oct 6 17:55:08 2006 http://host-2405.com/ Title: 2405 Fri Oct 6 17:58:47 2006 http://www.host-2406.com/ Title: 2406 Fri Oct 6 17:58:50 2006 http://www.host-2407.com/ Title: 2407 Fri Oct 6 17:58:51 2006 http://host-2408.com/ Title: 2408 Fri Oct 6 17:58:56 2006 http://host-2409.com/ Title: 2409 Fri Oct 6 18:46:57 2006 http://www.host-2410.com/ Title: 2410 Fri Oct 6 18:47:08 2006 http://host-2411.com/ Title: 2411 Fri Oct 6 18:47:11 2006 http://www.host-2412.com/ Title: 2412 Mon Oct 9 10:50:06 2006 http://host-2413.com/ Title: 2413 Mon Oct 9 10:55:08 2006 http://www.host-2414.com/ Title: 2414 Mon Oct 9 10:58:15 2006 http://www.host-2415.com/ Title: 2415 Mon Oct 9 10:58:28 2006 http://www.host-2416.com/ Title: 2416 Mon Oct 9 10:58:38 2006 http://host-2417.com/ Title: 2417 Mon Oct 9 10:58:52 2006 http://host-2418.com/ Title: 2418 Mon Oct 9 11:19:43 2006 http://www.host-2419.com/ Title: 2419 Mon Oct 9 11:29:42 2006 http://host-2420.com/ Title: 2420 Mon Oct 9 12:02:13 2006 http://host-2421.com/ Title: 2421 Mon Oct 9 12:02:50 2006 http://www.host-2422.com/ Title: 2422 Mon Oct 9 12:04:57 2006 http://host-2423.com/ Title: 2423 Mon Oct 9 12:05:15 2006 http://host-2424.com/ Title: 2424 Mon Oct 9 12:05:23 2006 http://host-2425.com/ Title: 2425 Mon Oct 9 12:05:33 2006 http://www.host-2426.com/ Title: 2426 Mon Oct 9 13:03:01 2006 http://www.host-2427.com/ Title: 2427 Mon Oct 9 13:03:06 2006 http://host-2428.com/ Title: 2428 Mon Oct 9 13:04:37 2006 http://host-2429.com/ Title: 2429 Mon Oct 9 13:04:45 2006 http://www.host-2430.com/ Title: 2430 Mon Oct 9 14:28:00 2006 http://www.host-2431.com/ Title: 2431 Mon Oct 9 14:28:03 2006 http://host-2432.com/ Title: 2432 Mon Oct 9 14:28:16 2006 http://host-2433.com/ Title: 2433 Mon Oct 9 14:28:26 2006 http://host-2434.com/ Title: 2434 Mon Oct 9 14:28:28 2006 http://www.host-2435.com/ Title: 2435 Mon Oct 9 14:30:49 2006 http://www.host-2436.com/ Title: 2436 Mon Oct 9 15:40:36 2006 http://www.host-2437.com/ Title: 2437 Mon Oct 9 15:42:52 2006 http://www.host-2438.com/ Title: 2438 Mon Oct 9 16:07:59 2006 http://host-2439.com/ Title: 2439 Mon Oct 9 16:08:07 2006 http://www.host-2440.com/ Title: 2440 Mon Oct 9 16:08:10 2006 http://host-2441.com/ Title: 2441 Mon Oct 9 16:08:16 2006 http://www.host-2442.com/ Title: 2442 Mon Oct 9 16:08:25 2006 http://host-2443.com/ Title: 2443 Mon Oct 9 16:08:31 2006 http://host-2444.com/ Title: 2444 Mon Oct 9 16:08:39 2006 http://www.host-2445.com/ Title: 2445 Mon Oct 9 16:08:47 2006 http://host-2446.com/ Title: 2446 Mon Oct 9 16:08:53 2006 http://host-2447.com/ Title: 2447 Mon Oct 9 16:10:02 2006 http://www.host-2448.com/ Title: 2448 Mon Oct 9 16:13:44 2006 http://www.host-2449.com/ Title: 2449 Mon Oct 9 16:50:20 2006 http://www.host-2450.com/ Title: 2450 Mon Oct 9 17:00:14 2006 http://host-2451.com/ Title: 2451 Mon Oct 9 17:00:17 2006 http://host-2452.com/ Title: 2452 Mon Oct 9 17:05:55 2006 http://host-2453.com/ Title: 2453 Mon Oct 9 17:05:58 2006 http://www.host-2454.com/ Title: 2454 Mon Oct 9 17:06:07 2006 http://www.host-2455.com/ Title: 2455 Mon Oct 9 17:35:15 2006 http://www.host-2456.com/ Title: 2456 Mon Oct 9 17:35:31 2006 http://www.host-2457.com/ Title: 2457 Mon Oct 9 17:36:21 2006 http://www.host-2458.com/ Title: 2458 Mon Oct 9 17:36:21 2006 http://www.host-2459.com/ Title: 2459 Mon Oct 9 17:36:40 2006 http://host-2460.com/ Title: 2460 Mon Oct 9 17:36:59 2006 http://host-2461.com/ Title: 2461 Mon Oct 9 17:37:01 2006 http://www.host-2462.com/ Title: 2462 Mon Oct 9 17:37:10 2006 http://www.host-2463.com/ Title: 2463 Mon Oct 9 17:42:17 2006 http://host-2464.com/ Title: 2464 Mon Oct 9 17:42:31 2006 http://host-2465.com/ Title: 2465 Tue Oct 10 10:54:33 2006 http://host-2466.com/ Title: 2466 Tue Oct 10 10:58:43 2006 http://host-2467.com/ Title: 2467 Tue Oct 10 10:58:56 2006 http://www.host-2468.com/ Title: 2468 Tue Oct 10 10:59:01 2006 http://www.host-2469.com/ Title: 2469 Tue Oct 10 10:59:05 2006 http://host-2470.com/ Title: 2470 Tue Oct 10 11:09:27 2006 http://www.host-2471.com/ Title: 2471 Tue Oct 10 11:09:35 2006 http://www.host-2472.com/ Title: 2472 Tue Oct 10 11:09:43 2006 http://host-2473.com/ Title: 2473 Tue Oct 10 11:14:26 2006 http://host-2474.com/ Title: 2474 Tue Oct 10 11:24:48 2006 http://www.host-2475.com/ Title: 2475 Tue Oct 10 11:25:08 2006 http://www.host-2476.com/ Title: 2476 Tue Oct 10 11:25:24 2006 http://www.host-2477.com/ Title: 2477 Tue Oct 10 11:25:32 2006 http://www.host-2478.com/ Title: 2478 Tue Oct 10 11:35:32 2006 http://www.host-2479.com/ Title: 2479 Tue Oct 10 11:35:37 2006 http://www.host-2480.com/ Title: 2480 Tue Oct 10 11:35:40 2006 http://www.host-2481.com/ Title: 2481 Tue Oct 10 11:35:44 2006 http://www.host-2482.com/ Title: 2482 Tue Oct 10 11:35:50 2006 http://www.host-2483.com/ Title: 2483 Tue Oct 10 11:36:00 2006 http://www.host-2484.com/ Title: 2484 Tue Oct 10 11:36:03 2006 http://www.host-2485.com/ Title: 2485 Tue Oct 10 11:36:37 2006 http://host-2486.com/ Title: 2486 Tue Oct 10 11:36:44 2006 http://www.host-2487.com/ Title: 2487 Tue Oct 10 12:18:45 2006 http://host-2488.com/ Title: 2488 Tue Oct 10 12:22:38 2006 http://www.host-2489.com/ Title: 2489 Tue Oct 10 12:22:43 2006 http://www.host-2490.com/ Title: 2490 Tue Oct 10 12:22:46 2006 http://www.host-2491.com/ Title: 2491 Tue Oct 10 12:23:53 2006 http://host-2492.com/ Title: 2492 Tue Oct 10 12:23:55 2006 http://host-2493.com/ Title: 2493 Tue Oct 10 12:23:57 2006 http://www.host-2494.com/ Title: 2494 Tue Oct 10 12:51:21 2006 http://www.host-2495.com/ Title: 2495 Tue Oct 10 12:51:41 2006 http://host-2496.com/ Title: 2496 Tue Oct 10 12:51:46 2006 http://host-2497.com/ Title: 2497 Tue Oct 10 12:51:51 2006 http://www.host-2498.com/ Title: 2498 Tue Oct 10 12:53:16 2006 http://host-2499.com/ Title: 2499 Tue Oct 10 12:53:36 2006 http://host-2500.com/ Title: 2500 Tue Oct 10 13:03:03 2006 http://host-2501.com/ Title: 2501 Tue Oct 10 13:03:07 2006 http://www.host-2502.com/ Title: 2502 Tue Oct 10 13:03:10 2006 http://host-2503.com/ Title: 2503 Tue Oct 10 13:03:16 2006 http://host-2504.com/ Title: 2504 Tue Oct 10 13:03:22 2006 http://host-2505.com/ Title: 2505 Tue Oct 10 13:03:26 2006 http://host-2506.com/ Title: 2506 Tue Oct 10 13:03:32 2006 http://host-2507.com/ Title: 2507 Tue Oct 10 13:03:41 2006 http://host-2508.com/ Title: 2508 Tue Oct 10 13:03:53 2006 http://host-2509.com/ Title: 2509 Tue Oct 10 13:08:46 2006 http://host-2510.com/ Title: 2510 Tue Oct 10 13:56:00 2006 http://www.host-2511.com/ Title: 2511 Tue Oct 10 14:08:33 2006 http://www.host-2512.com/ Title: 2512 Tue Oct 10 14:08:35 2006 http://www.host-2513.com/ Title: 2513 Tue Oct 10 14:09:49 2006 http://www.host-2514.com/ Title: 2514 Tue Oct 10 14:31:32 2006 http://www.host-2515.com/ Title: 2515 Tue Oct 10 14:32:51 2006 http://www.host-2516.com/ Title: 2516 Tue Oct 10 14:42:51 2006 http://host-2517.com/ Title: 2517 Tue Oct 10 14:42:52 2006 http://www.host-2518.com/ Title: 2518 Tue Oct 10 14:42:54 2006 http://www.host-2519.com/ Title: 2519 Tue Oct 10 14:43:31 2006 http://www.host-2520.com/ Title: 2520 Tue Oct 10 14:43:46 2006 http://www.host-2521.com/ Title: 2521 Tue Oct 10 14:44:01 2006 http://host-2522.com/ Title: 2522 Tue Oct 10 14:45:00 2006 http://host-2523.com/ Title: 2523 Tue Oct 10 14:45:04 2006 http://www.host-2524.com/ Title: 2524 Tue Oct 10 14:45:32 2006 http://host-2525.com/ Title: 2525 Tue Oct 10 14:45:36 2006 http://www.host-2526.com/ Title: 2526 Tue Oct 10 14:51:01 2006 http://host-2527.com/ Title: 2527 Tue Oct 10 15:24:30 2006 http://www.host-2528.com/ Title: 2528 Tue Oct 10 15:42:00 2006 http://host-2529.com/ Title: 2529 Tue Oct 10 15:42:07 2006 http://host-2530.com/ Title: 2530 Tue Oct 10 15:42:21 2006 http://www.host-2531.com/ Title: 2531 Tue Oct 10 15:42:27 2006 http://host-2532.com/ Title: 2532 Tue Oct 10 16:50:19 2006 http://www.host-2533.com/ Title: 2533 Tue Oct 10 16:50:37 2006 http://www.host-2534.com/ Title: 2534 Tue Oct 10 16:54:38 2006 http://host-2535.com/ Title: 2535 Tue Oct 10 16:55:26 2006 http://host-2536.com/ Title: 2536 Tue Oct 10 16:55:31 2006 http://www.host-2537.com/ Title: 2537 Tue Oct 10 16:55:38 2006 http://www.host-2538.com/ Title: 2538 Tue Oct 10 18:21:39 2006 http://host-2539.com/ Title: 2539 Wed Oct 11 11:20:29 2006 http://host-2540.com/ Title: 2540 Wed Oct 11 11:36:00 2006 http://host-2541.com/ Title: 2541 Wed Oct 11 11:37:51 2006 http://www.host-2542.com/ Title: 2542 Wed Oct 11 11:38:02 2006 http://www.host-2543.com/ Title: 2543 Wed Oct 11 11:38:12 2006 http://www.host-2544.com/ Title: 2544 Wed Oct 11 11:38:47 2006 http://www.host-2545.com/ Title: 2545 Wed Oct 11 11:39:24 2006 http://host-2546.com/ Title: 2546 Wed Oct 11 11:39:26 2006 http://www.host-2547.com/ Title: 2547 Wed Oct 11 11:41:09 2006 http://www.host-2548.com/ Title: 2548 Wed Oct 11 11:41:18 2006 http://host-2549.com/ Title: 2549 Wed Oct 11 11:41:26 2006 http://www.host-2550.com/ Title: 2550 Wed Oct 11 11:41:33 2006 http://www.host-2551.com/ Title: 2551 Wed Oct 11 12:08:16 2006 http://www.host-2552.com/ Title: 2552 Wed Oct 11 12:08:27 2006 http://www.host-2553.com/ Title: 2553 Wed Oct 11 12:08:49 2006 http://host-2554.com/ Title: 2554 Wed Oct 11 12:16:44 2006 http://www.host-2555.com/ Title: 2555 Wed Oct 11 12:18:35 2006 http://www.host-2556.com/ Title: 2556 Wed Oct 11 12:18:45 2006 http://host-2557.com/ Title: 2557 Wed Oct 11 12:24:10 2006 http://host-2558.com/ Title: 2558 Wed Oct 11 12:24:23 2006 http://www.host-2559.com/ Title: 2559 Wed Oct 11 12:24:30 2006 http://www.host-2560.com/ Title: 2560 Wed Oct 11 12:29:55 2006 http://www.host-2561.com/ Title: 2561 Wed Oct 11 12:30:26 2006 http://host-2562.com/ Title: 2562 Wed Oct 11 12:30:59 2006 http://www.host-2563.com/ Title: 2563 Wed Oct 11 12:31:09 2006 http://host-2564.com/ Title: 2564 Wed Oct 11 12:31:38 2006 http://www.host-2565.com/ Title: 2565 Wed Oct 11 12:31:54 2006 http://host-2566.com/ Title: 2566 Wed Oct 11 12:32:21 2006 http://host-2567.com/ Title: 2567 Wed Oct 11 12:32:29 2006 http://www.host-2568.com/ Title: 2568 Wed Oct 11 12:33:04 2006 http://www.host-2569.com/ Title: 2569 Wed Oct 11 12:33:18 2006 http://www.host-2570.com/ Title: 2570 Wed Oct 11 12:33:35 2006 http://www.host-2571.com/ Title: 2571 Wed Oct 11 12:34:03 2006 http://host-2572.com/ Title: 2572 Wed Oct 11 12:34:14 2006 http://www.host-2573.com/ Title: 2573 Wed Oct 11 12:34:49 2006 http://www.host-2574.com/ Title: 2574 Wed Oct 11 12:35:09 2006 http://www.host-2575.com/ Title: 2575 Wed Oct 11 12:43:20 2006 http://www.host-2576.com/ Title: 2576 Wed Oct 11 12:43:21 2006 http://www.host-2577.com/ Title: 2577 Wed Oct 11 12:43:22 2006 http://www.host-2578.com/ Title: 2578 Wed Oct 11 12:43:25 2006 http://www.host-2579.com/ Title: 2579 Wed Oct 11 12:43:30 2006 http://host-2580.com/ Title: 2580 Wed Oct 11 12:59:42 2006 http://www.host-2581.com/ Title: 2581 Wed Oct 11 12:59:43 2006 http://host-2582.com/ Title: 2582 Wed Oct 11 13:00:26 2006 http://www.host-2583.com/ Title: 2583 Wed Oct 11 13:00:58 2006 http://www.host-2584.com/ Title: 2584 Wed Oct 11 13:04:00 2006 http://www.host-2585.com/ Title: 2585 Wed Oct 11 13:04:35 2006 http://www.host-2586.com/ Title: 2586 Wed Oct 11 13:04:38 2006 http://host-2587.com/ Title: 2587 Wed Oct 11 13:04:41 2006 http://host-2588.com/ Title: 2588 Wed Oct 11 13:04:42 2006 http://host-2589.com/ Title: 2589 Wed Oct 11 15:12:53 2006 http://www.host-2590.com/ Title: 2590 Wed Oct 11 15:12:59 2006 http://host-2591.com/ Title: 2591 Wed Oct 11 15:29:23 2006 http://host-2592.com/ Title: 2592 Wed Oct 11 15:29:25 2006 http://host-2593.com/ Title: 2593 Wed Oct 11 15:29:40 2006 http://host-2594.com/ Title: 2594 Wed Oct 11 15:29:55 2006 http://www.host-2595.com/ Title: 2595 Wed Oct 11 15:30:14 2006 http://www.host-2596.com/ Title: 2596 Wed Oct 11 15:30:21 2006 http://host-2597.com/ Title: 2597 Wed Oct 11 15:34:12 2006 http://host-2598.com/ Title: 2598 Wed Oct 11 15:34:20 2006 http://host-2599.com/ Title: 2599 Wed Oct 11 15:34:22 2006 http://host-2600.com/ Title: 2600 Wed Oct 11 15:55:08 2006 http://host-2601.com/ Title: 2601 Wed Oct 11 15:56:08 2006 http://www.host-2602.com/ Title: 2602 Wed Oct 11 15:57:38 2006 http://host-2603.com/ Title: 2603 Wed Oct 11 15:57:51 2006 http://www.host-2604.com/ Title: 2604 Wed Oct 11 17:09:26 2006 http://www.host-2605.com/ Title: 2605 Wed Oct 11 17:09:26 2006 http://www.host-2606.com/ Title: 2606 Wed Oct 11 17:22:35 2006 http://www.host-2607.com/ Title: 2607 Wed Oct 11 17:39:01 2006 http://www.host-2608.com/ Title: 2608 Wed Oct 11 17:39:03 2006 http://host-2609.com/ Title: 2609 Wed Oct 11 17:39:04 2006 http://host-2610.com/ Title: 2610 Wed Oct 11 17:39:05 2006 http://www.host-2611.com/ Title: 2611 Wed Oct 11 17:39:14 2006 http://host-2612.com/ Title: 2612 Wed Oct 11 18:39:52 2006 http://www.host-2613.com/ Title: 2613 Wed Oct 11 18:40:08 2006 http://www.host-2614.com/ Title: 2614 Wed Oct 11 18:40:29 2006 http://www.host-2615.com/ Title: 2615 Wed Oct 11 18:40:36 2006 http://www.host-2616.com/ Title: 2616 Wed Oct 11 18:40:41 2006 http://www.host-2617.com/ Title: 2617 Wed Oct 11 18:40:46 2006 http://www.host-2618.com/ Title: 2618 Wed Oct 11 18:40:59 2006 http://www.host-2619.com/ Title: 2619 Wed Oct 11 18:41:15 2006 http://host-2620.com/ Title: 2620 Wed Oct 11 18:41:31 2006 http://host-2621.com/ Title: 2621 Wed Oct 11 18:41:32 2006 http://host-2622.com/ Title: 2622 Wed Oct 11 18:41:34 2006 http://host-2623.com/ Title: 2623 Wed Oct 11 18:41:37 2006 http://www.host-2624.com/ Title: 2624 Wed Oct 11 18:42:01 2006 http://www.host-2625.com/ Title: 2625 Wed Oct 11 18:42:15 2006 http://www.host-2626.com/ Title: 2626 Wed Oct 11 18:42:16 2006 http://host-2627.com/ Title: 2627 Wed Oct 11 18:42:21 2006 http://host-2628.com/ Title: 2628 Wed Oct 11 18:42:24 2006 http://www.host-2629.com/ Title: 2629 Wed Oct 11 18:42:27 2006 http://host-2630.com/ Title: 2630 Wed Oct 11 18:42:29 2006 http://host-2631.com/ Title: 2631 Wed Oct 11 18:42:41 2006 http://www.host-2632.com/ Title: 2632 Wed Oct 11 18:42:42 2006 http://host-2633.com/ Title: 2633 Wed Oct 11 18:42:45 2006 http://www.host-2634.com/ Title: 2634 Wed Oct 11 18:42:47 2006 http://www.host-2635.com/ Title: 2635 Wed Oct 11 18:44:11 2006 http://www.host-2636.com/ Title: 2636 Wed Oct 11 18:44:16 2006 http://www.host-2637.com/ Title: 2637 Wed Oct 11 18:44:20 2006 http://www.host-2638.com/ Title: 2638 Wed Oct 11 18:44:23 2006 http://host-2639.com/ Title: 2639 Wed Oct 11 18:44:28 2006 http://www.host-2640.com/ Title: 2640 Wed Oct 11 18:44:35 2006 http://www.host-2641.com/ Title: 2641 Wed Oct 11 18:45:40 2006 http://www.host-2642.com/ Title: 2642 Wed Oct 11 18:45:49 2006 http://www.host-2643.com/ Title: 2643 Wed Oct 11 18:45:51 2006 http://www.host-2644.com/ Title: 2644 Wed Oct 11 18:45:53 2006 http://www.host-2645.com/ Title: 2645 Wed Oct 11 18:45:56 2006 http://www.host-2646.com/ Title: 2646 Wed Oct 11 18:54:54 2006 http://host-2647.com/ Title: 2647 Thu Oct 12 10:17:26 2006 http://host-2648.com/ Title: 2648 Thu Oct 12 10:20:04 2006 http://www.host-2649.com/ Title: 2649 Thu Oct 12 10:20:06 2006 http://www.host-2650.com/ Title: 2650 Thu Oct 12 10:20:10 2006 http://www.host-2651.com/ Title: 2651 Thu Oct 12 10:20:10 2006 http://www.host-2652.com/ Title: 2652 Thu Oct 12 10:23:59 2006 http://www.host-2653.com/ Title: 2653 Thu Oct 12 10:28:13 2006 http://host-2654.com/ Title: 2654 Thu Oct 12 10:28:35 2006 http://www.host-2655.com/ Title: 2655 Thu Oct 12 10:28:47 2006 http://host-2656.com/ Title: 2656 Thu Oct 12 10:31:02 2006 http://host-2657.com/ Title: 2657 Thu Oct 12 10:31:03 2006 http://host-2658.com/ Title: 2658 Thu Oct 12 10:31:03 2006 http://host-2659.com/ Title: 2659 Thu Oct 12 10:31:06 2006 http://host-2660.com/ Title: 2660 Thu Oct 12 10:31:13 2006 http://www.host-2661.com/ Title: 2661 Thu Oct 12 11:09:19 2006 http://www.host-2662.com/ Title: 2662 Thu Oct 12 11:09:34 2006 http://host-2663.com/ Title: 2663 Thu Oct 12 11:09:35 2006 http://www.host-2664.com/ Title: 2664 Thu Oct 12 11:09:56 2006 http://host-2665.com/ Title: 2665 Thu Oct 12 11:10:00 2006 http://www.host-2666.com/ Title: 2666 Thu Oct 12 11:10:05 2006 http://host-2667.com/ Title: 2667 Thu Oct 12 11:10:13 2006 http://host-2668.com/ Title: 2668 Thu Oct 12 13:21:15 2006 http://www.host-2669.com/ Title: 2669 Thu Oct 12 13:42:02 2006 http://host-2670.com/ Title: 2670 Thu Oct 12 13:42:31 2006 http://www.host-2671.com/ Title: 2671 Thu Oct 12 13:42:35 2006 http://host-2672.com/ Title: 2672 Thu Oct 12 15:47:19 2006 http://www.host-2673.com/ Title: 2673 Thu Oct 12 15:47:28 2006 http://host-2674.com/ Title: 2674 Thu Oct 12 15:52:31 2006 http://www.host-2675.com/ Title: 2675 Thu Oct 12 16:52:24 2006 http://www.host-2676.com/ Title: 2676 Thu Oct 12 16:53:02 2006 http://host-2677.com/ Title: 2677 Thu Oct 12 16:53:30 2006 http://host-2678.com/ Title: 2678 Thu Oct 12 16:54:52 2006 http://host-2679.com/ Title: 2679 Thu Oct 12 16:55:13 2006 http://host-2680.com/ Title: 2680 Thu Oct 12 16:56:45 2006 http://host-2681.com/ Title: 2681 Thu Oct 12 16:57:14 2006 http://host-2682.com/ Title: 2682 Thu Oct 12 16:57:41 2006 http://www.host-2683.com/ Title: 2683 Thu Oct 12 16:58:09 2006 http://host-2684.com/ Title: 2684 Thu Oct 12 16:58:27 2006 http://www.host-2685.com/ Title: 2685 Thu Oct 12 16:58:50 2006 http://host-2686.com/ Title: 2686 Thu Oct 12 16:59:02 2006 http://host-2687.com/ Title: 2687 Thu Oct 12 16:59:20 2006 http://host-2688.com/ Title: 2688 Thu Oct 12 18:23:50 2006 http://www.host-2689.com/ Title: 2689 Thu Oct 12 18:24:34 2006 http://host-2690.com/ Title: 2690 Fri Oct 13 11:01:24 2006 http://www.host-2691.com/ Title: 2691 Fri Oct 13 11:04:20 2006 http://host-2692.com/ Title: 2692 Fri Oct 13 11:04:21 2006 http://www.host-2693.com/ Title: 2693 Fri Oct 13 11:04:22 2006 http://www.host-2694.com/ Title: 2694 Fri Oct 13 11:04:25 2006 http://host-2695.com/ Title: 2695 Fri Oct 13 11:04:33 2006 http://host-2696.com/ Title: 2696 Fri Oct 13 11:05:58 2006 http://host-2697.com/ Title: 2697 Fri Oct 13 11:06:05 2006 http://www.host-2698.com/ Title: 2698 Fri Oct 13 11:06:22 2006 http://www.host-2699.com/ Title: 2699 Fri Oct 13 11:06:34 2006 http://www.host-2700.com/ Title: 2700 Fri Oct 13 11:06:34 2006 http://host-2701.com/ Title: 2701 Fri Oct 13 11:06:40 2006 http://www.host-2702.com/ Title: 2702 Fri Oct 13 11:06:57 2006 http://www.host-2703.com/ Title: 2703 Fri Oct 13 11:07:33 2006 http://host-2704.com/ Title: 2704 Fri Oct 13 11:07:39 2006 http://www.host-2705.com/ Title: 2705 Fri Oct 13 11:17:34 2006 http://www.host-2706.com/ Title: 2706 Fri Oct 13 11:17:48 2006 http://www.host-2707.com/ Title: 2707 Fri Oct 13 11:19:26 2006 http://www.host-2708.com/ Title: 2708 Fri Oct 13 11:21:12 2006 http://host-2709.com/ Title: 2709 Fri Oct 13 11:21:56 2006 http://www.host-2710.com/ Title: 2710 Fri Oct 13 11:22:04 2006 http://host-2711.com/ Title: 2711 Fri Oct 13 11:29:56 2006 http://host-2712.com/ Title: 2712 Fri Oct 13 11:35:12 2006 http://www.host-2713.com/ Title: 2713 Fri Oct 13 11:38:50 2006 http://www.host-2714.com/ Title: 2714 Fri Oct 13 12:07:00 2006 http://www.host-2715.com/ Title: 2715 Fri Oct 13 12:09:24 2006 http://host-2716.com/ Title: 2716 Fri Oct 13 12:09:27 2006 http://host-2717.com/ Title: 2717 Fri Oct 13 12:09:42 2006 http://www.host-2718.com/ Title: 2718 Fri Oct 13 12:09:44 2006 http://host-2719.com/ Title: 2719 Fri Oct 13 12:10:27 2006 http://www.host-2720.com/ Title: 2720 Fri Oct 13 12:10:34 2006 http://www.host-2721.com/ Title: 2721 Fri Oct 13 12:10:35 2006 http://www.host-2722.com/ Title: 2722 Fri Oct 13 12:10:37 2006 http://www.host-2723.com/ Title: 2723 Fri Oct 13 12:10:59 2006 http://host-2724.com/ Title: 2724 Fri Oct 13 12:11:01 2006 http://host-2725.com/ Title: 2725 Fri Oct 13 12:11:12 2006 http://www.host-2726.com/ Title: 2726 Fri Oct 13 12:11:13 2006 http://host-2727.com/ Title: 2727 Fri Oct 13 12:11:26 2006 http://host-2728.com/ Title: 2728 Fri Oct 13 12:11:29 2006 http://www.host-2729.com/ Title: 2729 Fri Oct 13 12:11:39 2006 http://host-2730.com/ Title: 2730 Fri Oct 13 12:11:41 2006 http://www.host-2731.com/ Title: 2731 Fri Oct 13 12:12:03 2006 http://www.host-2732.com/ Title: 2732 Fri Oct 13 12:12:05 2006 http://www.host-2733.com/ Title: 2733 Fri Oct 13 12:12:15 2006 http://www.host-2734.com/ Title: 2734 Fri Oct 13 12:12:16 2006 http://host-2735.com/ Title: 2735 Fri Oct 13 12:12:20 2006 http://www.host-2736.com/ Title: 2736 Fri Oct 13 13:15:55 2006 http://www.host-2737.com/ Title: 2737 Fri Oct 13 13:16:07 2006 http://host-2738.com/ Title: 2738 Fri Oct 13 13:16:26 2006 http://www.host-2739.com/ Title: 2739 Fri Oct 13 14:11:56 2006 http://host-2740.com/ Title: 2740 Fri Oct 13 14:11:59 2006 http://www.host-2741.com/ Title: 2741 Fri Oct 13 14:12:02 2006 http://www.host-2742.com/ Title: 2742 Fri Oct 13 14:12:05 2006 http://host-2743.com/ Title: 2743 Fri Oct 13 14:12:08 2006 http://host-2744.com/ Title: 2744 Fri Oct 13 14:12:12 2006 http://host-2745.com/ Title: 2745 Fri Oct 13 14:12:16 2006 http://host-2746.com/ Title: 2746 Fri Oct 13 14:12:22 2006 http://www.host-2747.com/ Title: 2747 Fri Oct 13 14:12:24 2006 http://www.host-2748.com/ Title: 2748 Fri Oct 13 14:12:44 2006 http://host-2749.com/ Title: 2749 Fri Oct 13 14:12:45 2006 http://host-2750.com/ Title: 2750 Fri Oct 13 14:12:49 2006 http://host-2751.com/ Title: 2751 Fri Oct 13 14:13:45 2006 http://host-2752.com/ Title: 2752 Fri Oct 13 14:13:48 2006 http://www.host-2753.com/ Title: 2753 Fri Oct 13 14:15:00 2006 http://host-2754.com/ Title: 2754 Fri Oct 13 14:15:06 2006 http://host-2755.com/ Title: 2755 Fri Oct 13 14:15:09 2006 http://host-2756.com/ Title: 2756 Fri Oct 13 14:15:10 2006 http://www.host-2757.com/ Title: 2757 Fri Oct 13 14:15:16 2006 http://www.host-2758.com/ Title: 2758 Fri Oct 13 14:15:21 2006 http://host-2759.com/ Title: 2759 Fri Oct 13 14:15:27 2006 http://www.host-2760.com/ Title: 2760 Fri Oct 13 14:15:44 2006 http://www.host-2761.com/ Title: 2761 Fri Oct 13 14:16:09 2006 http://host-2762.com/ Title: 2762 Fri Oct 13 14:16:11 2006 http://host-2763.com/ Title: 2763 Fri Oct 13 14:16:27 2006 http://www.host-2764.com/ Title: 2764 Fri Oct 13 14:16:32 2006 http://www.host-2765.com/ Title: 2765 Fri Oct 13 14:16:51 2006 http://www.host-2766.com/ Title: 2766 Fri Oct 13 14:16:54 2006 http://www.host-2767.com/ Title: 2767 Fri Oct 13 14:16:58 2006 http://host-2768.com/ Title: 2768 Fri Oct 13 14:43:56 2006 http://host-2769.com/ Title: 2769 Fri Oct 13 14:43:59 2006 http://www.host-2770.com/ Title: 2770 Fri Oct 13 14:44:01 2006 http://host-2771.com/ Title: 2771 Fri Oct 13 14:44:04 2006 http://www.host-2772.com/ Title: 2772 Fri Oct 13 14:44:08 2006 http://www.host-2773.com/ Title: 2773 Fri Oct 13 14:44:11 2006 http://host-2774.com/ Title: 2774 Fri Oct 13 14:44:23 2006 http://www.host-2775.com/ Title: 2775 Fri Oct 13 14:44:26 2006 http://www.host-2776.com/ Title: 2776 Fri Oct 13 14:44:29 2006 http://www.host-2777.com/ Title: 2777 Fri Oct 13 14:44:34 2006 http://www.host-2778.com/ Title: 2778 Fri Oct 13 14:44:39 2006 http://www.host-2779.com/ Title: 2779 Fri Oct 13 15:03:46 2006 http://www.host-2780.com/ Title: 2780 Fri Oct 13 15:05:10 2006 http://host-2781.com/ Title: 2781 Fri Oct 13 15:05:11 2006 http://host-2782.com/ Title: 2782 Fri Oct 13 15:25:13 2006 http://host-2783.com/ Title: 2783 Fri Oct 13 17:33:34 2006 http://host-2784.com/ Title: 2784 Fri Oct 13 17:33:55 2006 http://host-2785.com/ Title: 2785 Fri Oct 13 17:34:35 2006 http://host-2786.com/ Title: 2786 Fri Oct 13 17:34:57 2006 http://www.host-2787.com/ Title: 2787 Fri Oct 13 17:35:10 2006 http://host-2788.com/ Title: 2788 Fri Oct 13 17:35:17 2006 http://host-2789.com/ Title: 2789 Fri Oct 13 17:43:05 2006 http://www.host-2790.com/ Title: 2790 Fri Oct 13 17:43:10 2006 http://www.host-2791.com/ Title: 2791 Fri Oct 13 17:43:55 2006 http://www.host-2792.com/ Title: 2792 Fri Oct 13 18:07:09 2006 http://www.host-2793.com/ Title: 2793 Fri Oct 13 18:07:11 2006 http://www.host-2794.com/ Title: 2794 Mon Oct 16 11:13:09 2006 http://host-2795.com/ Title: 2795 Mon Oct 16 11:16:08 2006 http://host-2796.com/ Title: 2796 Mon Oct 16 11:24:48 2006 http://host-2797.com/ Title: 2797 Mon Oct 16 11:31:24 2006 http://host-2798.com/ Title: 2798 Mon Oct 16 11:40:29 2006 http://www.host-2799.com/ Title: 2799 Mon Oct 16 11:40:37 2006 http://host-2800.com/ Title: 2800 Mon Oct 16 11:40:46 2006 http://host-2801.com/ Title: 2801 Mon Oct 16 11:40:56 2006 http://host-2802.com/ Title: 2802 Mon Oct 16 11:44:48 2006 http://www.host-2803.com/ Title: 2803 Mon Oct 16 11:45:25 2006 http://host-2804.com/ Title: 2804 Mon Oct 16 11:45:31 2006 http://www.host-2805.com/ Title: 2805 Mon Oct 16 11:46:14 2006 http://host-2806.com/ Title: 2806 Mon Oct 16 11:56:06 2006 http://host-2807.com/ Title: 2807 Mon Oct 16 12:00:28 2006 http://host-2808.com/ Title: 2808 Mon Oct 16 12:00:44 2006 http://host-2809.com/ Title: 2809 Mon Oct 16 12:01:40 2006 http://host-2810.com/ Title: 2810 Mon Oct 16 12:36:35 2006 http://www.host-2811.com/ Title: 2811 Mon Oct 16 12:50:14 2006 http://www.host-2812.com/ Title: 2812 Mon Oct 16 13:33:44 2006 http://www.host-2813.com/ Title: 2813 Mon Oct 16 13:34:08 2006 http://host-2814.com/ Title: 2814 Mon Oct 16 13:34:22 2006 http://host-2815.com/ Title: 2815 Mon Oct 16 13:34:28 2006 http://www.host-2816.com/ Title: 2816 Mon Oct 16 13:34:49 2006 http://host-2817.com/ Title: 2817 Mon Oct 16 13:35:13 2006 http://www.host-2818.com/ Title: 2818 Mon Oct 16 14:04:49 2006 http://www.host-2819.com/ Title: 2819 Mon Oct 16 14:40:55 2006 http://host-2820.com/ Title: 2820 Mon Oct 16 14:41:09 2006 http://www.host-2821.com/ Title: 2821 Mon Oct 16 14:43:35 2006 http://www.host-2822.com/ Title: 2822 Mon Oct 16 14:43:36 2006 http://host-2823.com/ Title: 2823 Mon Oct 16 14:43:48 2006 http://host-2824.com/ Title: 2824 Mon Oct 16 14:44:46 2006 http://www.host-2825.com/ Title: 2825 Mon Oct 16 14:44:49 2006 http://host-2826.com/ Title: 2826 Mon Oct 16 14:44:52 2006 http://host-2827.com/ Title: 2827 Mon Oct 16 14:45:18 2006 http://www.host-2828.com/ Title: 2828 Mon Oct 16 14:45:31 2006 http://www.host-2829.com/ Title: 2829 Mon Oct 16 14:45:37 2006 http://host-2830.com/ Title: 2830 Mon Oct 16 14:45:42 2006 http://www.host-2831.com/ Title: 2831 Mon Oct 16 14:46:34 2006 http://www.host-2832.com/ Title: 2832 Mon Oct 16 14:46:45 2006 http://host-2833.com/ Title: 2833 Mon Oct 16 14:46:49 2006 http://www.host-2834.com/ Title: 2834 Mon Oct 16 14:47:02 2006 http://www.host-2835.com/ Title: 2835 Mon Oct 16 14:47:11 2006 http://www.host-2836.com/ Title: 2836 Mon Oct 16 14:47:18 2006 http://host-2837.com/ Title: 2837 Mon Oct 16 14:47:23 2006 http://www.host-2838.com/ Title: 2838 Mon Oct 16 14:47:26 2006 http://host-2839.com/ Title: 2839 Mon Oct 16 14:47:27 2006 http://www.host-2840.com/ Title: 2840 Mon Oct 16 14:47:29 2006 http://host-2841.com/ Title: 2841 Mon Oct 16 14:47:32 2006 http://host-2842.com/ Title: 2842 Mon Oct 16 14:58:52 2006 http://host-2843.com/ Title: 2843 Mon Oct 16 14:58:56 2006 http://host-2844.com/ Title: 2844 Mon Oct 16 14:59:26 2006 http://host-2845.com/ Title: 2845 Mon Oct 16 14:59:29 2006 http://www.host-2846.com/ Title: 2846 Mon Oct 16 17:25:56 2006 http://www.host-2847.com/ Title: 2847 Mon Oct 16 17:26:11 2006 http://www.host-2848.com/ Title: 2848 Mon Oct 16 17:26:12 2006 http://host-2849.com/ Title: 2849 Mon Oct 16 17:26:15 2006 http://www.host-2850.com/ Title: 2850 Mon Oct 16 17:26:28 2006 http://www.host-2851.com/ Title: 2851 Mon Oct 16 17:26:30 2006 http://host-2852.com/ Title: 2852 Mon Oct 16 17:26:34 2006 http://www.host-2853.com/ Title: 2853 Tue Oct 17 11:54:36 2006 http://host-2854.com/ Title: 2854 Tue Oct 17 11:54:46 2006 http://www.host-2855.com/ Title: 2855 Tue Oct 17 11:55:15 2006 http://www.host-2856.com/ Title: 2856 Tue Oct 17 11:55:25 2006 http://www.host-2857.com/ Title: 2857 Tue Oct 17 11:55:37 2006 http://host-2858.com/ Title: 2858 Tue Oct 17 11:57:19 2006 http://host-2859.com/ Title: 2859 Tue Oct 17 12:37:23 2006 http://www.host-2860.com/ Title: 2860 Tue Oct 17 12:38:10 2006 http://host-2861.com/ Title: 2861 Tue Oct 17 12:38:28 2006 http://www.host-2862.com/ Title: 2862 Tue Oct 17 12:38:32 2006 http://www.host-2863.com/ Title: 2863 Tue Oct 17 12:38:35 2006 http://host-2864.com/ Title: 2864 Tue Oct 17 12:38:38 2006 http://www.host-2865.com/ Title: 2865 Tue Oct 17 12:38:42 2006 http://host-2866.com/ Title: 2866 Tue Oct 17 12:38:46 2006 http://www.host-2867.com/ Title: 2867 Tue Oct 17 12:38:52 2006 http://host-2868.com/ Title: 2868 Tue Oct 17 12:38:57 2006 http://host-2869.com/ Title: 2869 Tue Oct 17 12:39:00 2006 http://host-2870.com/ Title: 2870 Tue Oct 17 12:39:07 2006 http://www.host-2871.com/ Title: 2871 Tue Oct 17 12:39:35 2006 http://www.host-2872.com/ Title: 2872 Tue Oct 17 12:40:01 2006 http://host-2873.com/ Title: 2873 Tue Oct 17 12:40:11 2006 http://www.host-2874.com/ Title: 2874 Tue Oct 17 12:40:48 2006 http://host-2875.com/ Title: 2875 Tue Oct 17 12:40:51 2006 http://www.host-2876.com/ Title: 2876 Tue Oct 17 12:40:55 2006 http://host-2877.com/ Title: 2877 Tue Oct 17 12:40:59 2006 http://host-2878.com/ Title: 2878 Tue Oct 17 12:41:02 2006 http://www.host-2879.com/ Title: 2879 Tue Oct 17 12:41:06 2006 http://www.host-2880.com/ Title: 2880 Tue Oct 17 12:41:11 2006 http://host-2881.com/ Title: 2881 Tue Oct 17 12:41:16 2006 http://host-2882.com/ Title: 2882 Tue Oct 17 12:41:22 2006 http://www.host-2883.com/ Title: 2883 Tue Oct 17 12:41:25 2006 http://www.host-2884.com/ Title: 2884 Tue Oct 17 12:41:30 2006 http://host-2885.com/ Title: 2885 Tue Oct 17 12:41:35 2006 http://www.host-2886.com/ Title: 2886 Tue Oct 17 12:41:38 2006 http://host-2887.com/ Title: 2887 Tue Oct 17 12:41:41 2006 http://www.host-2888.com/ Title: 2888 Tue Oct 17 12:41:44 2006 http://www.host-2889.com/ Title: 2889 Tue Oct 17 12:41:47 2006 http://www.host-2890.com/ Title: 2890 Tue Oct 17 12:41:50 2006 http://host-2891.com/ Title: 2891 Tue Oct 17 12:41:54 2006 http://host-2892.com/ Title: 2892 Tue Oct 17 12:41:58 2006 http://host-2893.com/ Title: 2893 Tue Oct 17 12:42:03 2006 http://host-2894.com/ Title: 2894 Tue Oct 17 12:42:08 2006 http://www.host-2895.com/ Title: 2895 Tue Oct 17 12:42:11 2006 http://host-2896.com/ Title: 2896 Tue Oct 17 12:42:13 2006 http://www.host-2897.com/ Title: 2897 Tue Oct 17 12:42:17 2006 http://www.host-2898.com/ Title: 2898 Tue Oct 17 12:42:20 2006 http://www.host-2899.com/ Title: 2899 Tue Oct 17 12:42:23 2006 http://www.host-2900.com/ Title: 2900 Tue Oct 17 12:42:28 2006 http://host-2901.com/ Title: 2901 Tue Oct 17 12:42:31 2006 http://host-2902.com/ Title: 2902 Tue Oct 17 12:42:40 2006 http://host-2903.com/ Title: 2903 Tue Oct 17 12:48:10 2006 http://host-2904.com/ Title: 2904 Tue Oct 17 12:48:38 2006 http://www.host-2905.com/ Title: 2905 Tue Oct 17 12:48:43 2006 http://host-2906.com/ Title: 2906 Tue Oct 17 12:48:47 2006 http://www.host-2907.com/ Title: 2907 Tue Oct 17 13:35:01 2006 http://host-2908.com/ Title: 2908 Tue Oct 17 14:04:57 2006 http://host-2909.com/ Title: 2909 Tue Oct 17 14:05:06 2006 http://www.host-2910.com/ Title: 2910 Tue Oct 17 14:05:16 2006 http://www.host-2911.com/ Title: 2911 Tue Oct 17 14:05:17 2006 http://host-2912.com/ Title: 2912 Tue Oct 17 14:05:18 2006 http://host-2913.com/ Title: 2913 Tue Oct 17 14:05:40 2006 http://host-2914.com/ Title: 2914 Tue Oct 17 14:05:43 2006 http://www.host-2915.com/ Title: 2915 Tue Oct 17 14:05:45 2006 http://host-2916.com/ Title: 2916 Tue Oct 17 14:05:52 2006 http://www.host-2917.com/ Title: 2917 Tue Oct 17 14:05:58 2006 http://www.host-2918.com/ Title: 2918 Tue Oct 17 14:23:18 2006 http://host-2919.com/ Title: 2919 Tue Oct 17 14:25:43 2006 http://host-2920.com/ Title: 2920 Tue Oct 17 14:27:10 2006 http://www.host-2921.com/ Title: 2921 Tue Oct 17 14:27:11 2006 http://host-2922.com/ Title: 2922 Tue Oct 17 15:50:34 2006 http://host-2923.com/ Title: 2923 Tue Oct 17 15:50:36 2006 http://www.host-2924.com/ Title: 2924 Tue Oct 17 15:50:45 2006 http://www.host-2925.com/ Title: 2925 Tue Oct 17 15:50:54 2006 http://www.host-2926.com/ Title: 2926 Tue Oct 17 15:50:57 2006 http://www.host-2927.com/ Title: 2927 Tue Oct 17 15:51:09 2006 http://www.host-2928.com/ Title: 2928 Tue Oct 17 15:51:17 2006 http://host-2929.com/ Title: 2929 Tue Oct 17 15:51:34 2006 http://www.host-2930.com/ Title: 2930 Tue Oct 17 15:51:34 2006 http://host-2931.com/ Title: 2931 Tue Oct 17 15:52:04 2006 http://host-2932.com/ Title: 2932 Tue Oct 17 15:52:54 2006 http://www.host-2933.com/ Title: 2933 Tue Oct 17 15:53:04 2006 http://www.host-2934.com/ Title: 2934 Tue Oct 17 15:53:15 2006 http://www.host-2935.com/ Title: 2935 Tue Oct 17 15:53:28 2006 http://www.host-2936.com/ Title: 2936 Tue Oct 17 15:53:35 2006 http://www.host-2937.com/ Title: 2937 Tue Oct 17 15:53:38 2006 http://www.host-2938.com/ Title: 2938 Tue Oct 17 15:56:05 2006 http://host-2939.com/ Title: 2939 Tue Oct 17 15:56:11 2006 http://www.host-2940.com/ Title: 2940 Tue Oct 17 15:56:16 2006 http://host-2941.com/ Title: 2941 Tue Oct 17 15:56:19 2006 http://www.host-2942.com/ Title: 2942 Tue Oct 17 15:56:25 2006 http://www.host-2943.com/ Title: 2943 Tue Oct 17 15:56:29 2006 http://host-2944.com/ Title: 2944 Tue Oct 17 15:56:39 2006 http://www.host-2945.com/ Title: 2945 Tue Oct 17 15:56:41 2006 http://host-2946.com/ Title: 2946 Tue Oct 17 15:56:48 2006 http://www.host-2947.com/ Title: 2947 Tue Oct 17 15:56:55 2006 http://host-2948.com/ Title: 2948 Tue Oct 17 15:56:56 2006 http://www.host-2949.com/ Title: 2949 Tue Oct 17 15:56:59 2006 http://www.host-2950.com/ Title: 2950 Tue Oct 17 15:57:00 2006 http://www.host-2951.com/ Title: 2951 Tue Oct 17 15:57:13 2006 http://www.host-2952.com/ Title: 2952 Tue Oct 17 15:57:24 2006 http://host-2953.com/ Title: 2953 Tue Oct 17 15:57:28 2006 http://www.host-2954.com/ Title: 2954 Tue Oct 17 15:57:29 2006 http://host-2955.com/ Title: 2955 Tue Oct 17 15:57:32 2006 http://www.host-2956.com/ Title: 2956 Tue Oct 17 15:57:33 2006 http://www.host-2957.com/ Title: 2957 Tue Oct 17 15:57:49 2006 http://host-2958.com/ Title: 2958 Tue Oct 17 15:57:54 2006 http://host-2959.com/ Title: 2959 Tue Oct 17 15:58:05 2006 http://www.host-2960.com/ Title: 2960 Tue Oct 17 15:58:27 2006 http://www.host-2961.com/ Title: 2961 Tue Oct 17 15:58:48 2006 http://host-2962.com/ Title: 2962 Tue Oct 17 16:42:14 2006 http://www.host-2963.com/ Title: 2963 Tue Oct 17 16:42:17 2006 http://www.host-2964.com/ Title: 2964 Tue Oct 17 16:42:26 2006 http://www.host-2965.com/ Title: 2965 Tue Oct 17 17:09:46 2006 http://host-2966.com/ Title: 2966 Tue Oct 17 17:09:52 2006 http://host-2967.com/ Title: 2967 Tue Oct 17 17:10:40 2006 http://host-2968.com/ Title: 2968 Tue Oct 17 17:11:09 2006 http://www.host-2969.com/ Title: 2969 Tue Oct 17 17:11:19 2006 http://host-2970.com/ Title: 2970 Tue Oct 17 17:11:40 2006 http://host-2971.com/ Title: 2971 Tue Oct 17 17:13:34 2006 http://www.host-2972.com/ Title: 2972 Tue Oct 17 17:51:21 2006 http://host-2973.com/ Title: 2973 Tue Oct 17 17:51:36 2006 http://www.host-2974.com/ Title: 2974 Tue Oct 17 17:51:59 2006 http://www.host-2975.com/ Title: 2975 Tue Oct 17 17:52:01 2006 http://www.host-2976.com/ Title: 2976 Tue Oct 17 17:52:04 2006 http://host-2977.com/ Title: 2977 Tue Oct 17 17:52:07 2006 http://www.host-2978.com/ Title: 2978 Tue Oct 17 17:53:26 2006 http://host-2979.com/ Title: 2979 Tue Oct 17 17:53:30 2006 http://host-2980.com/ Title: 2980 Tue Oct 17 20:18:55 2006 http://www.host-2981.com/ Title: 2981 Tue Oct 17 20:18:57 2006 http://host-2982.com/ Title: 2982 Tue Oct 17 20:19:13 2006 http://host-2983.com/ Title: 2983 Tue Oct 17 20:19:19 2006 http://www.host-2984.com/ Title: 2984 Tue Oct 17 20:19:26 2006 http://www.host-2985.com/ Title: 2985 Tue Oct 17 20:19:31 2006 http://www.host-2986.com/ Title: 2986 Tue Oct 17 20:20:00 2006 http://host-2987.com/ Title: 2987 Tue Oct 17 20:20:18 2006 http://host-2988.com/ Title: 2988 Tue Oct 17 20:20:35 2006 http://www.host-2989.com/ Title: 2989 Tue Oct 17 20:20:59 2006 http://www.host-2990.com/ Title: 2990 Tue Oct 17 20:35:49 2006 http://host-2991.com/ Title: 2991 Tue Oct 17 20:43:55 2006 http://host-2992.com/ Title: 2992 Tue Oct 17 20:44:41 2006 http://host-2993.com/ Title: 2993 Tue Oct 17 20:46:23 2006 http://host-2994.com/ Title: 2994 Tue Oct 17 20:47:08 2006 http://host-2995.com/ Title: 2995 Tue Oct 17 20:50:45 2006 http://www.host-2996.com/ Title: 2996 Tue Oct 17 20:51:23 2006 http://www.host-2997.com/ Title: 2997 Tue Oct 17 20:52:37 2006 http://host-2998.com/ Title: 2998 Tue Oct 17 20:53:22 2006 http://host-2999.com/ Title: 2999 Tue Oct 17 20:53:32 2006 http://www.host-3000.com/ Title: 3000 Tue Oct 17 20:53:42 2006 http://www.host-3001.com/ Title: 3001 Tue Oct 17 20:53:51 2006 http://www.host-3002.com/ Title: 3002 Tue Oct 17 20:53:57 2006 http://host-3003.com/ Title: 3003 Tue Oct 17 20:54:10 2006 http://www.host-3004.com/ Title: 3004 Tue Oct 17 20:54:16 2006 http://www.host-3005.com/ Title: 3005 Tue Oct 17 20:55:01 2006 http://www.host-3006.com/ Title: 3006 Tue Oct 17 20:56:05 2006 http://www.host-3007.com/ Title: 3007 Tue Oct 17 20:56:09 2006 http://www.host-3008.com/ Title: 3008 Tue Oct 17 20:56:47 2006 http://host-3009.com/ Title: 3009 Tue Oct 17 20:58:23 2006 http://www.host-3010.com/ Title: 3010 Tue Oct 17 20:58:28 2006 http://host-3011.com/ Title: 3011 Tue Oct 17 20:58:40 2006 http://host-3012.com/ Title: 3012 Tue Oct 17 20:58:49 2006 http://www.host-3013.com/ Title: 3013 Tue Oct 17 20:59:02 2006 http://www.host-3014.com/ Title: 3014 Tue Oct 17 20:59:07 2006 http://host-3015.com/ Title: 3015 Tue Oct 17 21:00:18 2006 http://www.host-3016.com/ Title: 3016 Tue Oct 17 21:08:22 2006 http://host-3017.com/ Title: 3017 Tue Oct 17 21:09:58 2006 http://host-3018.com/ Title: 3018 Tue Oct 17 21:10:40 2006 http://www.host-3019.com/ Title: 3019 Tue Oct 17 21:11:43 2006 http://host-3020.com/ Title: 3020 Tue Oct 17 21:17:56 2006 http://host-3021.com/ Title: 3021 Tue Oct 17 21:18:12 2006 http://host-3022.com/ Title: 3022 Tue Oct 17 21:18:42 2006 http://host-3023.com/ Title: 3023 Tue Oct 17 21:18:54 2006 http://www.host-3024.com/ Title: 3024 Tue Oct 17 21:19:06 2006 http://host-3025.com/ Title: 3025 Tue Oct 17 21:19:53 2006 http://host-3026.com/ Title: 3026 Tue Oct 17 21:19:55 2006 http://host-3027.com/ Title: 3027 Tue Oct 17 21:20:07 2006 http://www.host-3028.com/ Title: 3028 Tue Oct 17 21:20:16 2006 http://www.host-3029.com/ Title: 3029 Tue Oct 17 21:21:23 2006 http://host-3030.com/ Title: 3030 Tue Oct 17 21:21:49 2006 http://host-3031.com/ Title: 3031 Tue Oct 17 21:23:39 2006 http://www.host-3032.com/ Title: 3032 Tue Oct 17 21:33:06 2006 http://www.host-3033.com/ Title: 3033 Tue Oct 17 21:33:12 2006 http://host-3034.com/ Title: 3034 Tue Oct 17 21:33:17 2006 http://host-3035.com/ Title: 3035 Wed Oct 18 10:16:15 2006 http://host-3036.com/ Title: 3036 Wed Oct 18 10:16:21 2006 http://www.host-3037.com/ Title: 3037 Wed Oct 18 10:20:43 2006 http://www.host-3038.com/ Title: 3038 Wed Oct 18 10:20:47 2006 http://host-3039.com/ Title: 3039 Wed Oct 18 10:24:48 2006 http://host-3040.com/ Title: 3040 Wed Oct 18 10:26:13 2006 http://host-3041.com/ Title: 3041 Wed Oct 18 10:26:56 2006 http://host-3042.com/ Title: 3042 Wed Oct 18 10:26:57 2006 http://host-3043.com/ Title: 3043 Wed Oct 18 10:26:59 2006 http://www.host-3044.com/ Title: 3044 Wed Oct 18 10:27:19 2006 http://www.host-3045.com/ Title: 3045 Wed Oct 18 10:27:22 2006 http://host-3046.com/ Title: 3046 Wed Oct 18 10:28:08 2006 http://www.host-3047.com/ Title: 3047 Wed Oct 18 10:29:46 2006 http://host-3048.com/ Title: 3048 Wed Oct 18 10:29:48 2006 http://www.host-3049.com/ Title: 3049 Wed Oct 18 10:34:34 2006 http://host-3050.com/ Title: 3050 Wed Oct 18 10:37:24 2006 http://host-3051.com/ Title: 3051 Wed Oct 18 10:49:23 2006 http://host-3052.com/ Title: 3052 Wed Oct 18 10:49:25 2006 http://www.host-3053.com/ Title: 3053 Wed Oct 18 10:49:31 2006 http://host-3054.com/ Title: 3054 Wed Oct 18 10:49:35 2006 http://www.host-3055.com/ Title: 3055 Wed Oct 18 10:49:48 2006 http://www.host-3056.com/ Title: 3056 Wed Oct 18 10:49:53 2006 http://host-3057.com/ Title: 3057 Wed Oct 18 11:02:13 2006 http://host-3058.com/ Title: 3058 Wed Oct 18 11:02:16 2006 http://host-3059.com/ Title: 3059 Wed Oct 18 11:02:48 2006 http://www.host-3060.com/ Title: 3060 Wed Oct 18 11:02:50 2006 http://host-3061.com/ Title: 3061 Wed Oct 18 11:02:56 2006 http://host-3062.com/ Title: 3062 Wed Oct 18 11:02:57 2006 http://host-3063.com/ Title: 3063 Wed Oct 18 11:03:00 2006 http://www.host-3064.com/ Title: 3064 Wed Oct 18 11:03:13 2006 http://www.host-3065.com/ Title: 3065 Wed Oct 18 11:03:23 2006 http://host-3066.com/ Title: 3066 Wed Oct 18 11:03:27 2006 http://host-3067.com/ Title: 3067 Wed Oct 18 11:58:21 2006 http://host-3068.com/ Title: 3068 Wed Oct 18 12:08:37 2006 http://www.host-3069.com/ Title: 3069 Wed Oct 18 12:08:38 2006 http://www.host-3070.com/ Title: 3070 Wed Oct 18 12:32:25 2006 http://www.host-3071.com/ Title: 3071 Wed Oct 18 12:32:27 2006 http://www.host-3072.com/ Title: 3072 Wed Oct 18 12:32:48 2006 http://host-3073.com/ Title: 3073 Wed Oct 18 12:32:51 2006 http://host-3074.com/ Title: 3074 Wed Oct 18 14:58:41 2006 http://www.host-3075.com/ Title: 3075 Wed Oct 18 16:27:44 2006 http://www.host-3076.com/ Title: 3076 Wed Oct 18 16:50:37 2006 http://host-3077.com/ Title: 3077 Wed Oct 18 16:51:11 2006 http://www.host-3078.com/ Title: 3078 Wed Oct 18 16:52:31 2006 http://www.host-3079.com/ Title: 3079 Thu Oct 19 11:05:07 2006 http://www.host-3080.com/ Title: 3080 Thu Oct 19 11:05:26 2006 http://host-3081.com/ Title: 3081 Thu Oct 19 11:05:29 2006 http://www.host-3082.com/ Title: 3082 Thu Oct 19 11:05:34 2006 http://host-3083.com/ Title: 3083 Thu Oct 19 11:06:01 2006 http://host-3084.com/ Title: 3084 Thu Oct 19 11:22:14 2006 http://www.host-3085.com/ Title: 3085 Thu Oct 19 11:32:48 2006 http://host-3086.com/ Title: 3086 Thu Oct 19 11:32:58 2006 http://www.host-3087.com/ Title: 3087 Thu Oct 19 11:33:52 2006 http://host-3088.com/ Title: 3088 Thu Oct 19 11:41:35 2006 http://www.host-3089.com/ Title: 3089 Thu Oct 19 12:16:23 2006 http://www.host-3090.com/ Title: 3090 Thu Oct 19 12:16:25 2006 http://host-3091.com/ Title: 3091 Thu Oct 19 12:16:27 2006 http://www.host-3092.com/ Title: 3092 Thu Oct 19 12:16:33 2006 http://www.host-3093.com/ Title: 3093 Thu Oct 19 12:16:38 2006 http://host-3094.com/ Title: 3094 Thu Oct 19 12:16:59 2006 http://www.host-3095.com/ Title: 3095 Thu Oct 19 12:19:22 2006 http://www.host-3096.com/ Title: 3096 Thu Oct 19 12:19:25 2006 http://host-3097.com/ Title: 3097 Thu Oct 19 12:19:40 2006 http://www.host-3098.com/ Title: 3098 Thu Oct 19 12:19:46 2006 http://host-3099.com/ Title: 3099 Thu Oct 19 12:19:56 2006 http://www.host-3100.com/ Title: 3100 Thu Oct 19 12:20:00 2006 http://host-3101.com/ Title: 3101 Thu Oct 19 12:20:03 2006 http://www.host-3102.com/ Title: 3102 Thu Oct 19 12:20:05 2006 http://www.host-3103.com/ Title: 3103 Thu Oct 19 12:20:08 2006 http://www.host-3104.com/ Title: 3104 Thu Oct 19 12:20:12 2006 http://host-3105.com/ Title: 3105 Thu Oct 19 12:21:18 2006 http://www.host-3106.com/ Title: 3106 Thu Oct 19 12:21:43 2006 http://host-3107.com/ Title: 3107 Thu Oct 19 12:21:54 2006 http://www.host-3108.com/ Title: 3108 Thu Oct 19 12:43:25 2006 http://host-3109.com/ Title: 3109 Thu Oct 19 12:43:44 2006 http://host-3110.com/ Title: 3110 Thu Oct 19 13:22:54 2006 http://www.host-3111.com/ Title: 3111 Thu Oct 19 13:23:55 2006 http://www.host-3112.com/ Title: 3112 Thu Oct 19 13:23:59 2006 http://www.host-3113.com/ Title: 3113 Thu Oct 19 13:24:05 2006 http://www.host-3114.com/ Title: 3114 Thu Oct 19 13:24:15 2006 http://www.host-3115.com/ Title: 3115 Thu Oct 19 13:24:34 2006 http://host-3116.com/ Title: 3116 Thu Oct 19 13:57:30 2006 http://www.host-3117.com/ Title: 3117 Thu Oct 19 13:57:38 2006 http://www.host-3118.com/ Title: 3118 Thu Oct 19 13:57:59 2006 http://host-3119.com/ Title: 3119 Thu Oct 19 13:58:07 2006 http://host-3120.com/ Title: 3120 Thu Oct 19 13:59:25 2006 http://host-3121.com/ Title: 3121 Thu Oct 19 13:59:29 2006 http://www.host-3122.com/ Title: 3122 Thu Oct 19 13:59:36 2006 http://www.host-3123.com/ Title: 3123 Thu Oct 19 13:59:55 2006 http://host-3124.com/ Title: 3124 Thu Oct 19 14:00:27 2006 http://host-3125.com/ Title: 3125 Thu Oct 19 14:00:58 2006 http://host-3126.com/ Title: 3126 Thu Oct 19 14:01:10 2006 http://host-3127.com/ Title: 3127 Thu Oct 19 14:01:18 2006 http://host-3128.com/ Title: 3128 Thu Oct 19 14:01:31 2006 http://host-3129.com/ Title: 3129 Thu Oct 19 14:01:55 2006 http://www.host-3130.com/ Title: 3130 Thu Oct 19 15:58:17 2006 http://www.host-3131.com/ Title: 3131 Thu Oct 19 15:58:21 2006 http://www.host-3132.com/ Title: 3132 Thu Oct 19 15:58:53 2006 http://www.host-3133.com/ Title: 3133 Thu Oct 19 15:58:57 2006 http://www.host-3134.com/ Title: 3134 Thu Oct 19 15:59:01 2006 http://www.host-3135.com/ Title: 3135 Thu Oct 19 15:59:04 2006 http://host-3136.com/ Title: 3136 Thu Oct 19 15:59:08 2006 http://www.host-3137.com/ Title: 3137 Thu Oct 19 15:59:14 2006 http://www.host-3138.com/ Title: 3138 Thu Oct 19 15:59:19 2006 http://host-3139.com/ Title: 3139 Thu Oct 19 15:59:22 2006 http://www.host-3140.com/ Title: 3140 Thu Oct 19 15:59:26 2006 http://host-3141.com/ Title: 3141 Thu Oct 19 15:59:29 2006 http://host-3142.com/ Title: 3142 Thu Oct 19 15:59:33 2006 http://host-3143.com/ Title: 3143 Thu Oct 19 15:59:37 2006 http://host-3144.com/ Title: 3144 Thu Oct 19 15:59:41 2006 http://www.host-3145.com/ Title: 3145 Thu Oct 19 15:59:44 2006 http://www.host-3146.com/ Title: 3146 Thu Oct 19 15:59:48 2006 http://host-3147.com/ Title: 3147 Thu Oct 19 15:59:51 2006 http://host-3148.com/ Title: 3148 Thu Oct 19 15:59:54 2006 http://www.host-3149.com/ Title: 3149 Thu Oct 19 15:59:57 2006 http://www.host-3150.com/ Title: 3150 Thu Oct 19 16:00:00 2006 http://host-3151.com/ Title: 3151 Thu Oct 19 16:00:05 2006 http://www.host-3152.com/ Title: 3152 Thu Oct 19 16:00:09 2006 http://www.host-3153.com/ Title: 3153 Thu Oct 19 16:00:12 2006 http://host-3154.com/ Title: 3154 Thu Oct 19 16:00:15 2006 http://host-3155.com/ Title: 3155 Thu Oct 19 16:00:18 2006 http://host-3156.com/ Title: 3156 Thu Oct 19 16:00:22 2006 http://www.host-3157.com/ Title: 3157 Thu Oct 19 16:00:24 2006 http://host-3158.com/ Title: 3158 Thu Oct 19 16:00:28 2006 http://host-3159.com/ Title: 3159 Thu Oct 19 16:00:31 2006 http://host-3160.com/ Title: 3160 Thu Oct 19 16:00:34 2006 http://host-3161.com/ Title: 3161 Thu Oct 19 16:00:37 2006 http://host-3162.com/ Title: 3162 Thu Oct 19 16:00:40 2006 http://host-3163.com/ Title: 3163 Thu Oct 19 16:00:40 2006 http://www.host-3164.com/ Title: 3164 Thu Oct 19 16:02:18 2006 http://host-3165.com/ Title: 3165 Thu Oct 19 16:02:26 2006 http://www.host-3166.com/ Title: 3166 Thu Oct 19 16:02:34 2006 http://www.host-3167.com/ Title: 3167 Thu Oct 19 16:04:36 2006 http://www.host-3168.com/ Title: 3168 Thu Oct 19 16:05:38 2006 http://www.host-3169.com/ Title: 3169 Thu Oct 19 16:05:39 2006 http://www.host-3170.com/ Title: 3170 Thu Oct 19 17:07:03 2006 http://host-3171.com/ Title: 3171 Thu Oct 19 17:13:55 2006 http://host-3172.com/ Title: 3172 Thu Oct 19 17:13:59 2006 http://www.host-3173.com/ Title: 3173 Thu Oct 19 17:14:06 2006 http://host-3174.com/ Title: 3174 Thu Oct 19 17:14:36 2006 http://www.host-3175.com/ Title: 3175 Thu Oct 19 17:14:38 2006 http://host-3176.com/ Title: 3176 Thu Oct 19 17:23:05 2006 http://host-3177.com/ Title: 3177 Thu Oct 19 17:24:18 2006 http://host-3178.com/ Title: 3178 Thu Oct 19 17:31:50 2006 http://www.host-3179.com/ Title: 3179 Fri Oct 20 11:39:40 2006 http://www.host-3180.com/ Title: 3180 Fri Oct 20 11:44:36 2006 http://www.host-3181.com/ Title: 3181 Fri Oct 20 11:45:36 2006 http://www.host-3182.com/ Title: 3182 Fri Oct 20 13:21:22 2006 http://host-3183.com/ Title: 3183 Fri Oct 20 13:21:25 2006 http://host-3184.com/ Title: 3184 Fri Oct 20 13:21:38 2006 http://host-3185.com/ Title: 3185 Fri Oct 20 13:21:50 2006 http://www.host-3186.com/ Title: 3186 Fri Oct 20 13:22:09 2006 http://host-3187.com/ Title: 3187 Fri Oct 20 13:22:14 2006 http://www.host-3188.com/ Title: 3188 Fri Oct 20 13:22:16 2006 http://www.host-3189.com/ Title: 3189 Fri Oct 20 13:22:28 2006 http://www.host-3190.com/ Title: 3190 Fri Oct 20 13:22:30 2006 http://www.host-3191.com/ Title: 3191 Fri Oct 20 13:22:31 2006 http://www.host-3192.com/ Title: 3192 Fri Oct 20 13:22:36 2006 http://www.host-3193.com/ Title: 3193 Fri Oct 20 13:22:40 2006 http://host-3194.com/ Title: 3194 Fri Oct 20 13:24:52 2006 http://www.host-3195.com/ Title: 3195 Fri Oct 20 13:24:57 2006 http://www.host-3196.com/ Title: 3196 Fri Oct 20 13:26:30 2006 http://host-3197.com/ Title: 3197 Fri Oct 20 13:26:32 2006 http://host-3198.com/ Title: 3198 Fri Oct 20 13:32:16 2006 http://www.host-3199.com/ Title: 3199 Fri Oct 20 13:32:18 2006 http://host-3200.com/ Title: 3200 Fri Oct 20 13:32:22 2006 http://www.host-3201.com/ Title: 3201 Fri Oct 20 13:32:29 2006 http://www.host-3202.com/ Title: 3202 Fri Oct 20 13:48:06 2006 http://host-3203.com/ Title: 3203 Fri Oct 20 13:48:10 2006 http://host-3204.com/ Title: 3204 Fri Oct 20 13:48:15 2006 http://www.host-3205.com/ Title: 3205 Fri Oct 20 13:48:24 2006 http://www.host-3206.com/ Title: 3206 Fri Oct 20 13:59:02 2006 http://host-3207.com/ Title: 3207 Fri Oct 20 14:20:23 2006 http://www.host-3208.com/ Title: 3208 Fri Oct 20 14:20:27 2006 http://www.host-3209.com/ Title: 3209 Fri Oct 20 14:20:35 2006 http://www.host-3210.com/ Title: 3210 Fri Oct 20 14:20:53 2006 http://www.host-3211.com/ Title: 3211 Fri Oct 20 14:20:55 2006 http://host-3212.com/ Title: 3212 Fri Oct 20 14:52:57 2006 http://host-3213.com/ Title: 3213 Fri Oct 20 16:17:48 2006 http://www.host-3214.com/ Title: 3214 Fri Oct 20 16:18:01 2006 http://www.host-3215.com/ Title: 3215 Fri Oct 20 16:18:02 2006 http://www.host-3216.com/ Title: 3216 Fri Oct 20 16:18:38 2006 http://host-3217.com/ Title: 3217 Fri Oct 20 16:18:43 2006 http://host-3218.com/ Title: 3218 Fri Oct 20 16:20:04 2006 http://www.host-3219.com/ Title: 3219 Fri Oct 20 16:20:12 2006 http://host-3220.com/ Title: 3220 Fri Oct 20 16:20:17 2006 http://host-3221.com/ Title: 3221 Fri Oct 20 16:20:23 2006 http://www.host-3222.com/ Title: 3222 Fri Oct 20 16:21:06 2006 http://host-3223.com/ Title: 3223 Fri Oct 20 16:21:08 2006 http://www.host-3224.com/ Title: 3224 Fri Oct 20 16:21:09 2006 http://www.host-3225.com/ Title: 3225 Fri Oct 20 16:21:12 2006 http://www.host-3226.com/ Title: 3226 Fri Oct 20 16:23:32 2006 http://host-3227.com/ Title: 3227 Fri Oct 20 16:23:40 2006 http://www.host-3228.com/ Title: 3228 Fri Oct 20 16:38:26 2006 http://host-3229.com/ Title: 3229 Fri Oct 20 16:38:52 2006 http://www.host-3230.com/ Title: 3230 Fri Oct 20 16:39:01 2006 http://host-3231.com/ Title: 3231 Fri Oct 20 18:51:34 2006 http://www.host-3232.com/ Title: 3232 Fri Oct 20 18:51:50 2006 http://www.host-3233.com/ Title: 3233 Fri Oct 20 18:52:37 2006 http://host-3234.com/ Title: 3234 Fri Oct 20 18:52:57 2006 http://www.host-3235.com/ Title: 3235 Sat Oct 21 21:02:26 2006 http://host-3236.com/ Title: 3236 Mon Oct 23 11:13:31 2006 http://host-3237.com/ Title: 3237 Mon Oct 23 11:13:31 2006 http://www.host-3238.com/ Title: 3238 Mon Oct 23 11:22:26 2006 http://www.host-3239.com/ Title: 3239 Mon Oct 23 12:03:43 2006 http://www.host-3240.com/ Title: 3240 Mon Oct 23 12:19:51 2006 http://host-3241.com/ Title: 3241 Mon Oct 23 13:27:59 2006 http://www.host-3242.com/ Title: 3242 Mon Oct 23 13:28:10 2006 http://host-3243.com/ Title: 3243 Mon Oct 23 13:28:14 2006 http://www.host-3244.com/ Title: 3244 Mon Oct 23 13:33:44 2006 http://www.host-3245.com/ Title: 3245 Mon Oct 23 13:39:39 2006 http://host-3246.com/ Title: 3246 Mon Oct 23 13:39:46 2006 http://www.host-3247.com/ Title: 3247 Mon Oct 23 13:39:51 2006 http://www.host-3248.com/ Title: 3248 Mon Oct 23 13:39:58 2006 http://host-3249.com/ Title: 3249 Mon Oct 23 13:50:58 2006 http://host-3250.com/ Title: 3250 Mon Oct 23 13:51:02 2006 http://host-3251.com/ Title: 3251 Mon Oct 23 13:51:53 2006 http://host-3252.com/ Title: 3252 Mon Oct 23 13:52:48 2006 http://host-3253.com/ Title: 3253 Mon Oct 23 15:43:43 2006 http://www.host-3254.com/ Title: 3254 Mon Oct 23 15:44:03 2006 http://host-3255.com/ Title: 3255 Mon Oct 23 15:44:25 2006 http://host-3256.com/ Title: 3256 Mon Oct 23 15:44:31 2006 http://www.host-3257.com/ Title: 3257 Mon Oct 23 15:44:35 2006 http://host-3258.com/ Title: 3258 Mon Oct 23 15:44:39 2006 http://host-3259.com/ Title: 3259 Mon Oct 23 15:44:42 2006 http://www.host-3260.com/ Title: 3260 Mon Oct 23 15:44:51 2006 http://host-3261.com/ Title: 3261 Mon Oct 23 15:44:56 2006 http://host-3262.com/ Title: 3262 Mon Oct 23 15:45:00 2006 http://www.host-3263.com/ Title: 3263 Mon Oct 23 15:57:51 2006 http://www.host-3264.com/ Title: 3264 Mon Oct 23 16:56:13 2006 http://host-3265.com/ Title: 3265 Mon Oct 23 18:08:43 2006 http://www.host-3266.com/ Title: 3266 Mon Oct 23 18:09:07 2006 http://www.host-3267.com/ Title: 3267 Mon Oct 23 18:09:10 2006 http://host-3268.com/ Title: 3268 Mon Oct 23 18:09:16 2006 http://host-3269.com/ Title: 3269 Mon Oct 23 18:09:22 2006 http://www.host-3270.com/ Title: 3270 Tue Oct 24 11:14:54 2006 http://host-3271.com/ Title: 3271 Tue Oct 24 12:36:40 2006 http://www.host-3272.com/ Title: 3272 Tue Oct 24 12:36:43 2006 http://www.host-3273.com/ Title: 3273 Tue Oct 24 13:24:54 2006 http://www.host-3274.com/ Title: 3274 Tue Oct 24 15:11:15 2006 http://host-3275.com/ Title: 3275 Tue Oct 24 15:11:23 2006 http://www.host-3276.com/ Title: 3276 Tue Oct 24 16:51:04 2006 http://host-3277.com/ Title: 3277 Tue Oct 24 16:55:35 2006 http://www.host-3278.com/ Title: 3278 Tue Oct 24 16:56:26 2006 http://host-3279.com/ Title: 3279 Tue Oct 24 16:56:27 2006 http://www.host-3280.com/ Title: 3280 Tue Oct 24 16:56:28 2006 http://www.host-3281.com/ Title: 3281 Tue Oct 24 16:56:32 2006 http://host-3282.com/ Title: 3282 Tue Oct 24 16:56:48 2006 http://www.host-3283.com/ Title: 3283 Tue Oct 24 16:56:53 2006 http://host-3284.com/ Title: 3284 Tue Oct 24 16:56:55 2006 http://www.host-3285.com/ Title: 3285 Tue Oct 24 16:57:41 2006 http://host-3286.com/ Title: 3286 Tue Oct 24 16:58:01 2006 http://host-3287.com/ Title: 3287 Tue Oct 24 16:58:26 2006 http://www.host-3288.com/ Title: 3288 Tue Oct 24 16:58:32 2006 http://host-3289.com/ Title: 3289 Tue Oct 24 16:58:38 2006 http://host-3290.com/ Title: 3290 Tue Oct 24 16:58:42 2006 http://host-3291.com/ Title: 3291 Tue Oct 24 16:58:49 2006 http://www.host-3292.com/ Title: 3292 Tue Oct 24 17:01:19 2006 http://host-3293.com/ Title: 3293 Tue Oct 24 17:01:37 2006 http://host-3294.com/ Title: 3294 Tue Oct 24 17:01:40 2006 http://host-3295.com/ Title: 3295 Tue Oct 24 17:01:51 2006 http://www.host-3296.com/ Title: 3296 Tue Oct 24 17:02:12 2006 http://www.host-3297.com/ Title: 3297 Tue Oct 24 17:03:08 2006 http://host-3298.com/ Title: 3298 Tue Oct 24 17:03:18 2006 http://www.host-3299.com/ Title: 3299 Tue Oct 24 17:12:44 2006 http://host-3300.com/ Title: 3300 Tue Oct 24 17:12:45 2006 http://www.host-3301.com/ Title: 3301 Tue Oct 24 17:12:50 2006 http://host-3302.com/ Title: 3302 Tue Oct 24 17:15:53 2006 http://host-3303.com/ Title: 3303 Tue Oct 24 17:24:52 2006 http://www.host-3304.com/ Title: 3304 Tue Oct 24 17:57:15 2006 http://host-3305.com/ Title: 3305 Wed Oct 25 06:56:43 2006 http://host-3306.com/ Title: 3306 Wed Oct 25 06:56:53 2006 http://host-3307.com/ Title: 3307 Wed Oct 25 06:57:43 2006 http://www.host-3308.com/ Title: 3308 Wed Oct 25 06:57:49 2006 http://www.host-3309.com/ Title: 3309 Wed Oct 25 06:59:18 2006 http://www.host-3310.com/ Title: 3310 Wed Oct 25 06:59:25 2006 http://www.host-3311.com/ Title: 3311 Wed Oct 25 06:59:30 2006 http://host-3312.com/ Title: 3312 Wed Oct 25 07:30:07 2006 http://host-3313.com/ Title: 3313 Wed Oct 25 07:30:13 2006 http://host-3314.com/ Title: 3314 Wed Oct 25 07:30:14 2006 http://host-3315.com/ Title: 3315 Wed Oct 25 07:30:17 2006 http://host-3316.com/ Title: 3316 Wed Oct 25 07:30:27 2006 http://host-3317.com/ Title: 3317 Wed Oct 25 07:30:29 2006 http://host-3318.com/ Title: 3318 Wed Oct 25 07:30:30 2006 http://www.host-3319.com/ Title: 3319 Wed Oct 25 07:30:32 2006 http://www.host-3320.com/ Title: 3320 Wed Oct 25 07:34:47 2006 http://www.host-3321.com/ Title: 3321 Wed Oct 25 07:34:47 2006 http://www.host-3322.com/ Title: 3322 Wed Oct 25 09:14:09 2006 http://host-3323.com/ Title: 3323 Wed Oct 25 10:24:41 2006 http://host-3324.com/ Title: 3324 Wed Oct 25 10:25:21 2006 http://host-3325.com/ Title: 3325 Wed Oct 25 10:25:25 2006 http://www.host-3326.com/ Title: 3326 Wed Oct 25 10:27:12 2006 http://host-3327.com/ Title: 3327 Wed Oct 25 10:27:17 2006 http://host-3328.com/ Title: 3328 Wed Oct 25 10:27:17 2006 http://host-3329.com/ Title: 3329 Wed Oct 25 10:27:21 2006 http://host-3330.com/ Title: 3330 Wed Oct 25 10:40:32 2006 http://www.host-3331.com/ Title: 3331 Wed Oct 25 10:40:41 2006 http://www.host-3332.com/ Title: 3332 Wed Oct 25 10:40:43 2006 http://host-3333.com/ Title: 3333 Wed Oct 25 10:40:57 2006 http://host-3334.com/ Title: 3334 Wed Oct 25 10:40:58 2006 http://host-3335.com/ Title: 3335 Wed Oct 25 10:41:54 2006 http://www.host-3336.com/ Title: 3336 Wed Oct 25 11:34:33 2006 http://host-3337.com/ Title: 3337 Wed Oct 25 11:34:34 2006 http://host-3338.com/ Title: 3338 Wed Oct 25 11:34:40 2006 http://www.host-3339.com/ Title: 3339 Wed Oct 25 11:34:56 2006 http://www.host-3340.com/ Title: 3340 Wed Oct 25 11:34:57 2006 http://www.host-3341.com/ Title: 3341 Wed Oct 25 11:35:02 2006 http://www.host-3342.com/ Title: 3342 Wed Oct 25 11:35:05 2006 http://host-3343.com/ Title: 3343 Wed Oct 25 11:35:07 2006 http://host-3344.com/ Title: 3344 Wed Oct 25 11:35:12 2006 http://host-3345.com/ Title: 3345 Wed Oct 25 11:35:29 2006 http://host-3346.com/ Title: 3346 Wed Oct 25 11:35:34 2006 http://host-3347.com/ Title: 3347 Wed Oct 25 11:35:37 2006 http://host-3348.com/ Title: 3348 Wed Oct 25 11:35:40 2006 http://www.host-3349.com/ Title: 3349 Wed Oct 25 11:35:45 2006 http://www.host-3350.com/ Title: 3350 Wed Oct 25 11:35:48 2006 http://www.host-3351.com/ Title: 3351 Wed Oct 25 11:36:44 2006 http://www.host-3352.com/ Title: 3352 Wed Oct 25 11:38:11 2006 http://host-3353.com/ Title: 3353 Wed Oct 25 12:22:33 2006 http://host-3354.com/ Title: 3354 Wed Oct 25 12:22:43 2006 http://host-3355.com/ Title: 3355 Wed Oct 25 12:22:46 2006 http://www.host-3356.com/ Title: 3356 Wed Oct 25 12:22:49 2006 http://host-3357.com/ Title: 3357 Wed Oct 25 12:22:51 2006 http://host-3358.com/ Title: 3358 Wed Oct 25 12:22:53 2006 http://www.host-3359.com/ Title: 3359 Wed Oct 25 12:22:55 2006 http://www.host-3360.com/ Title: 3360 Wed Oct 25 12:22:58 2006 http://www.host-3361.com/ Title: 3361 Wed Oct 25 12:23:00 2006 http://www.host-3362.com/ Title: 3362 Wed Oct 25 12:23:04 2006 http://host-3363.com/ Title: 3363 Wed Oct 25 12:23:08 2006 http://host-3364.com/ Title: 3364 Wed Oct 25 12:23:29 2006 http://host-3365.com/ Title: 3365 Wed Oct 25 12:23:31 2006 http://www.host-3366.com/ Title: 3366 Wed Oct 25 12:23:46 2006 http://host-3367.com/ Title: 3367 Wed Oct 25 12:23:49 2006 http://host-3368.com/ Title: 3368 Wed Oct 25 12:23:55 2006 http://www.host-3369.com/ Title: 3369 Wed Oct 25 12:24:01 2006 http://www.host-3370.com/ Title: 3370 Wed Oct 25 12:24:05 2006 http://www.host-3371.com/ Title: 3371 Wed Oct 25 12:24:08 2006 http://host-3372.com/ Title: 3372 Wed Oct 25 12:24:10 2006 http://host-3373.com/ Title: 3373 Wed Oct 25 12:24:15 2006 http://www.host-3374.com/ Title: 3374 Wed Oct 25 12:24:19 2006 http://www.host-3375.com/ Title: 3375 Wed Oct 25 12:24:20 2006 http://www.host-3376.com/ Title: 3376 Wed Oct 25 12:24:22 2006 http://www.host-3377.com/ Title: 3377 Wed Oct 25 12:29:33 2006 http://www.host-3378.com/ Title: 3378 Wed Oct 25 12:29:38 2006 http://www.host-3379.com/ Title: 3379 Wed Oct 25 12:29:49 2006 http://host-3380.com/ Title: 3380 Wed Oct 25 12:30:09 2006 http://host-3381.com/ Title: 3381 Wed Oct 25 12:31:58 2006 http://host-3382.com/ Title: 3382 Wed Oct 25 12:31:59 2006 http://www.host-3383.com/ Title: 3383 Wed Oct 25 12:31:59 2006 http://www.host-3384.com/ Title: 3384 Wed Oct 25 12:32:18 2006 http://www.host-3385.com/ Title: 3385 Wed Oct 25 12:32:22 2006 http://www.host-3386.com/ Title: 3386 Wed Oct 25 12:32:26 2006 http://www.host-3387.com/ Title: 3387 Wed Oct 25 12:35:10 2006 http://host-3388.com/ Title: 3388 Wed Oct 25 12:35:26 2006 http://www.host-3389.com/ Title: 3389 Wed Oct 25 13:12:58 2006 http://host-3390.com/ Title: 3390 Wed Oct 25 13:14:12 2006 http://host-3391.com/ Title: 3391 Wed Oct 25 13:41:12 2006 http://host-3392.com/ Title: 3392 Wed Oct 25 13:41:29 2006 http://host-3393.com/ Title: 3393 Wed Oct 25 13:41:30 2006 http://host-3394.com/ Title: 3394 Wed Oct 25 13:41:35 2006 http://host-3395.com/ Title: 3395 Wed Oct 25 13:47:18 2006 http://host-3396.com/ Title: 3396 Wed Oct 25 13:47:24 2006 http://host-3397.com/ Title: 3397 Wed Oct 25 13:49:28 2006 http://host-3398.com/ Title: 3398 Wed Oct 25 13:49:47 2006 http://host-3399.com/ Title: 3399 Wed Oct 25 13:50:00 2006 http://host-3400.com/ Title: 3400 Wed Oct 25 13:51:38 2006 http://www.host-3401.com/ Title: 3401 Wed Oct 25 14:02:40 2006 http://host-3402.com/ Title: 3402 Wed Oct 25 14:03:36 2006 http://host-3403.com/ Title: 3403 Wed Oct 25 14:04:23 2006 http://www.host-3404.com/ Title: 3404 Wed Oct 25 14:21:26 2006 http://host-3405.com/ Title: 3405 Wed Oct 25 14:21:44 2006 http://host-3406.com/ Title: 3406 Wed Oct 25 14:21:48 2006 http://host-3407.com/ Title: 3407 Wed Oct 25 14:22:05 2006 http://www.host-3408.com/ Title: 3408 Wed Oct 25 14:22:06 2006 http://www.host-3409.com/ Title: 3409 Wed Oct 25 14:24:15 2006 http://www.host-3410.com/ Title: 3410 Wed Oct 25 14:33:53 2006 http://www.host-3411.com/ Title: 3411 Wed Oct 25 14:34:01 2006 http://www.host-3412.com/ Title: 3412 Wed Oct 25 14:36:50 2006 http://host-3413.com/ Title: 3413 Wed Oct 25 14:36:57 2006 http://www.host-3414.com/ Title: 3414 Wed Oct 25 14:38:03 2006 http://host-3415.com/ Title: 3415 Thu Oct 26 10:12:34 2006 http://host-3416.com/ Title: 3416 Thu Oct 26 10:14:28 2006 http://host-3417.com/ Title: 3417 Thu Oct 26 10:14:37 2006 http://host-3418.com/ Title: 3418 Thu Oct 26 10:27:57 2006 http://www.host-3419.com/ Title: 3419 Thu Oct 26 10:57:13 2006 http://host-3420.com/ Title: 3420 Thu Oct 26 10:57:19 2006 http://host-3421.com/ Title: 3421 Thu Oct 26 10:58:13 2006 http://host-3422.com/ Title: 3422 Thu Oct 26 10:58:21 2006 http://host-3423.com/ Title: 3423 Thu Oct 26 10:58:26 2006 http://host-3424.com/ Title: 3424 Thu Oct 26 10:58:39 2006 http://www.host-3425.com/ Title: 3425 Thu Oct 26 10:59:00 2006 http://www.host-3426.com/ Title: 3426 Thu Oct 26 10:59:06 2006 http://www.host-3427.com/ Title: 3427 Thu Oct 26 10:59:13 2006 http://host-3428.com/ Title: 3428 Thu Oct 26 10:59:18 2006 http://host-3429.com/ Title: 3429 Thu Oct 26 10:59:21 2006 http://host-3430.com/ Title: 3430 Thu Oct 26 10:59:24 2006 http://www.host-3431.com/ Title: 3431 Thu Oct 26 10:59:27 2006 http://host-3432.com/ Title: 3432 Thu Oct 26 10:59:30 2006 http://host-3433.com/ Title: 3433 Thu Oct 26 10:59:34 2006 http://host-3434.com/ Title: 3434 Thu Oct 26 10:59:39 2006 http://host-3435.com/ Title: 3435 Thu Oct 26 10:59:41 2006 http://www.host-3436.com/ Title: 3436 Thu Oct 26 10:59:44 2006 http://www.host-3437.com/ Title: 3437 Thu Oct 26 10:59:47 2006 http://host-3438.com/ Title: 3438 Thu Oct 26 10:59:52 2006 http://www.host-3439.com/ Title: 3439 Thu Oct 26 11:00:01 2006 http://www.host-3440.com/ Title: 3440 Thu Oct 26 11:00:14 2006 http://host-3441.com/ Title: 3441 Thu Oct 26 11:00:18 2006 http://host-3442.com/ Title: 3442 Thu Oct 26 11:00:34 2006 http://www.host-3443.com/ Title: 3443 Thu Oct 26 11:02:52 2006 http://host-3444.com/ Title: 3444 Thu Oct 26 11:03:07 2006 http://www.host-3445.com/ Title: 3445 Thu Oct 26 11:03:14 2006 http://www.host-3446.com/ Title: 3446 Thu Oct 26 11:04:05 2006 http://host-3447.com/ Title: 3447 Thu Oct 26 11:04:14 2006 http://host-3448.com/ Title: 3448 Thu Oct 26 11:04:25 2006 http://www.host-3449.com/ Title: 3449 Thu Oct 26 11:04:57 2006 http://host-3450.com/ Title: 3450 Thu Oct 26 11:05:18 2006 http://host-3451.com/ Title: 3451 Thu Oct 26 11:05:21 2006 http://host-3452.com/ Title: 3452 Thu Oct 26 11:05:24 2006 http://host-3453.com/ Title: 3453 Thu Oct 26 11:06:11 2006 http://host-3454.com/ Title: 3454 Thu Oct 26 11:06:17 2006 http://www.host-3455.com/ Title: 3455 Thu Oct 26 11:06:32 2006 http://www.host-3456.com/ Title: 3456 Thu Oct 26 11:06:42 2006 http://www.host-3457.com/ Title: 3457 Thu Oct 26 11:06:51 2006 http://www.host-3458.com/ Title: 3458 Thu Oct 26 11:07:02 2006 http://www.host-3459.com/ Title: 3459 Thu Oct 26 11:07:06 2006 http://www.host-3460.com/ Title: 3460 Thu Oct 26 11:07:18 2006 http://host-3461.com/ Title: 3461 Thu Oct 26 11:07:27 2006 http://host-3462.com/ Title: 3462 Thu Oct 26 11:07:49 2006 http://host-3463.com/ Title: 3463 Thu Oct 26 11:08:41 2006 http://www.host-3464.com/ Title: 3464 Thu Oct 26 11:08:49 2006 http://host-3465.com/ Title: 3465 Thu Oct 26 11:08:55 2006 http://www.host-3466.com/ Title: 3466 Thu Oct 26 11:10:15 2006 http://host-3467.com/ Title: 3467 Thu Oct 26 11:10:24 2006 http://host-3468.com/ Title: 3468 Thu Oct 26 11:10:36 2006 http://host-3469.com/ Title: 3469 Thu Oct 26 11:10:43 2006 http://www.host-3470.com/ Title: 3470 Thu Oct 26 11:10:52 2006 http://host-3471.com/ Title: 3471 Thu Oct 26 11:11:03 2006 http://host-3472.com/ Title: 3472 Thu Oct 26 11:11:29 2006 http://www.host-3473.com/ Title: 3473 Thu Oct 26 11:11:36 2006 http://host-3474.com/ Title: 3474 Thu Oct 26 11:11:42 2006 http://www.host-3475.com/ Title: 3475 Thu Oct 26 11:11:49 2006 http://www.host-3476.com/ Title: 3476 Thu Oct 26 11:12:22 2006 http://host-3477.com/ Title: 3477 Thu Oct 26 11:13:01 2006 http://www.host-3478.com/ Title: 3478 Thu Oct 26 11:13:04 2006 http://www.host-3479.com/ Title: 3479 Thu Oct 26 11:13:10 2006 http://host-3480.com/ Title: 3480 Thu Oct 26 11:13:25 2006 http://www.host-3481.com/ Title: 3481 Thu Oct 26 11:13:39 2006 http://www.host-3482.com/ Title: 3482 Thu Oct 26 11:13:48 2006 http://www.host-3483.com/ Title: 3483 Thu Oct 26 11:14:06 2006 http://host-3484.com/ Title: 3484 Thu Oct 26 11:14:18 2006 http://host-3485.com/ Title: 3485 Thu Oct 26 11:15:27 2006 http://www.host-3486.com/ Title: 3486 Thu Oct 26 11:15:57 2006 http://host-3487.com/ Title: 3487 Thu Oct 26 11:16:47 2006 http://host-3488.com/ Title: 3488 Thu Oct 26 11:17:18 2006 http://www.host-3489.com/ Title: 3489 Thu Oct 26 11:17:28 2006 http://host-3490.com/ Title: 3490 Thu Oct 26 11:17:31 2006 http://host-3491.com/ Title: 3491 Thu Oct 26 11:17:37 2006 http://host-3492.com/ Title: 3492 Thu Oct 26 12:00:22 2006 http://www.host-3493.com/ Title: 3493 Thu Oct 26 12:01:17 2006 http://www.host-3494.com/ Title: 3494 Thu Oct 26 12:01:32 2006 http://host-3495.com/ Title: 3495 Thu Oct 26 12:03:17 2006 http://www.host-3496.com/ Title: 3496 Thu Oct 26 12:28:04 2006 http://www.host-3497.com/ Title: 3497 Thu Oct 26 13:08:59 2006 http://host-3498.com/ Title: 3498 Thu Oct 26 13:09:18 2006 http://host-3499.com/ Title: 3499 Thu Oct 26 14:11:06 2006 http://host-3500.com/ Title: 3500 Thu Oct 26 14:13:11 2006 http://host-3501.com/ Title: 3501 Thu Oct 26 14:13:35 2006 http://host-3502.com/ Title: 3502 Thu Oct 26 14:13:39 2006 http://host-3503.com/ Title: 3503 Thu Oct 26 14:13:47 2006 http://www.host-3504.com/ Title: 3504 Thu Oct 26 14:13:56 2006 http://host-3505.com/ Title: 3505 Thu Oct 26 14:44:16 2006 http://host-3506.com/ Title: 3506 Thu Oct 26 14:44:22 2006 http://host-3507.com/ Title: 3507 Thu Oct 26 14:44:23 2006 http://host-3508.com/ Title: 3508 Thu Oct 26 14:44:24 2006 http://www.host-3509.com/ Title: 3509 Thu Oct 26 14:55:11 2006 http://www.host-3510.com/ Title: 3510 Thu Oct 26 16:03:09 2006 http://www.host-3511.com/ Title: 3511 Thu Oct 26 16:03:27 2006 http://www.host-3512.com/ Title: 3512 Thu Oct 26 16:30:03 2006 http://www.host-3513.com/ Title: 3513 Thu Oct 26 16:49:58 2006 http://www.host-3514.com/ Title: 3514 Thu Oct 26 16:51:00 2006 http://www.host-3515.com/ Title: 3515 Thu Oct 26 16:51:14 2006 http://www.host-3516.com/ Title: 3516 Thu Oct 26 17:39:31 2006 http://www.host-3517.com/ Title: 3517 Thu Oct 26 17:51:00 2006 http://www.host-3518.com/ Title: 3518 Thu Oct 26 18:01:12 2006 http://www.host-3519.com/ Title: 3519 Thu Oct 26 18:02:47 2006 http://www.host-3520.com/ Title: 3520 Thu Oct 26 18:05:44 2006 http://www.host-3521.com/ Title: 3521 Thu Oct 26 18:05:48 2006 http://host-3522.com/ Title: 3522 Thu Oct 26 18:19:23 2006 http://www.host-3523.com/ Title: 3523 Thu Oct 26 18:19:33 2006 http://host-3524.com/ Title: 3524 Thu Oct 26 18:19:51 2006 http://host-3525.com/ Title: 3525 Fri Oct 27 12:24:28 2006 http://www.host-3526.com/ Title: 3526 Fri Oct 27 15:47:46 2006 http://host-3527.com/ Title: 3527 Fri Oct 27 15:48:02 2006 http://www.host-3528.com/ Title: 3528 Sun Oct 29 19:17:59 2006 http://host-3529.com/ Title: 3529 Sun Oct 29 19:18:26 2006 http://host-3530.com/ Title: 3530 Sun Oct 29 19:18:40 2006 http://www.host-3531.com/ Title: 3531 Sun Oct 29 19:19:05 2006 http://www.host-3532.com/ Title: 3532 Sun Oct 29 19:19:30 2006 http://www.host-3533.com/ Title: 3533 Sun Oct 29 19:20:32 2006 http://host-3534.com/ Title: 3534 Sun Oct 29 19:20:38 2006 http://www.host-3535.com/ Title: 3535 Sun Oct 29 19:20:47 2006 http://host-3536.com/ Title: 3536 Sun Oct 29 19:20:49 2006 http://host-3537.com/ Title: 3537 Sun Oct 29 19:22:28 2006 http://host-3538.com/ Title: 3538 Mon Oct 30 11:03:26 2006 http://www.host-3539.com/ Title: 3539 Mon Oct 30 11:04:01 2006 http://www.host-3540.com/ Title: 3540 Mon Oct 30 11:23:02 2006 http://www.host-3541.com/ Title: 3541 Mon Oct 30 11:23:23 2006 http://www.host-3542.com/ Title: 3542 Mon Oct 30 11:23:36 2006 http://www.host-3543.com/ Title: 3543 Mon Oct 30 11:23:42 2006 http://www.host-3544.com/ Title: 3544 Mon Oct 30 11:23:46 2006 http://host-3545.com/ Title: 3545 Mon Oct 30 11:32:57 2006 http://www.host-3546.com/ Title: 3546 Mon Oct 30 11:33:14 2006 http://host-3547.com/ Title: 3547 Mon Oct 30 11:33:26 2006 http://www.host-3548.com/ Title: 3548 Mon Oct 30 12:33:47 2006 http://www.host-3549.com/ Title: 3549 Mon Oct 30 12:47:10 2006 http://www.host-3550.com/ Title: 3550 Mon Oct 30 12:53:04 2006 http://www.host-3551.com/ Title: 3551 Mon Oct 30 12:53:07 2006 http://host-3552.com/ Title: 3552 Mon Oct 30 12:53:12 2006 http://www.host-3553.com/ Title: 3553 Mon Oct 30 12:56:44 2006 http://host-3554.com/ Title: 3554 Mon Oct 30 15:13:41 2006 http://host-3555.com/ Title: 3555 Mon Oct 30 15:14:53 2006 http://host-3556.com/ Title: 3556 Mon Oct 30 16:13:13 2006 http://host-3557.com/ Title: 3557 Mon Oct 30 16:43:44 2006 http://host-3558.com/ Title: 3558 Mon Oct 30 16:44:42 2006 http://www.host-3559.com/ Title: 3559 Mon Oct 30 16:44:49 2006 http://www.host-3560.com/ Title: 3560 Mon Oct 30 16:44:55 2006 http://www.host-3561.com/ Title: 3561 Mon Oct 30 16:45:00 2006 http://www.host-3562.com/ Title: 3562 Mon Oct 30 16:45:05 2006 http://host-3563.com/ Title: 3563 Mon Oct 30 16:45:14 2006 http://host-3564.com/ Title: 3564 Mon Oct 30 18:26:41 2006 http://host-3565.com/ Title: 3565 Mon Oct 30 18:34:58 2006 http://www.host-3566.com/ Title: 3566 Mon Oct 30 18:35:17 2006 http://host-3567.com/ Title: 3567 Mon Oct 30 18:35:31 2006 http://www.host-3568.com/ Title: 3568 Mon Oct 30 18:35:43 2006 http://host-3569.com/ Title: 3569 Mon Oct 30 18:35:46 2006 http://host-3570.com/ Title: 3570 Mon Oct 30 18:35:59 2006 http://www.host-3571.com/ Title: 3571 Mon Oct 30 18:36:07 2006 http://www.host-3572.com/ Title: 3572 Mon Oct 30 18:36:26 2006 http://www.host-3573.com/ Title: 3573 Mon Oct 30 18:36:35 2006 http://host-3574.com/ Title: 3574 Mon Oct 30 18:36:38 2006 http://host-3575.com/ Title: 3575 Mon Oct 30 18:37:05 2006 http://host-3576.com/ Title: 3576 Mon Oct 30 18:37:11 2006 http://host-3577.com/ Title: 3577 Mon Oct 30 18:37:36 2006 http://www.host-3578.com/ Title: 3578 Mon Oct 30 18:37:40 2006 http://www.host-3579.com/ Title: 3579 Mon Oct 30 18:37:48 2006 http://host-3580.com/ Title: 3580 Mon Oct 30 18:38:01 2006 http://www.host-3581.com/ Title: 3581 Mon Oct 30 18:38:19 2006 http://host-3582.com/ Title: 3582 Mon Oct 30 18:38:25 2006 http://www.host-3583.com/ Title: 3583 Mon Oct 30 18:38:28 2006 http://www.host-3584.com/ Title: 3584 Mon Oct 30 18:38:34 2006 http://host-3585.com/ Title: 3585 Mon Oct 30 18:38:46 2006 http://www.host-3586.com/ Title: 3586 Mon Oct 30 18:38:48 2006 http://www.host-3587.com/ Title: 3587 Mon Oct 30 18:38:53 2006 http://host-3588.com/ Title: 3588 Mon Oct 30 18:38:56 2006 http://host-3589.com/ Title: 3589 Mon Oct 30 18:38:59 2006 http://host-3590.com/ Title: 3590 Mon Oct 30 18:39:02 2006 http://www.host-3591.com/ Title: 3591 Mon Oct 30 18:39:06 2006 http://www.host-3592.com/ Title: 3592 Mon Oct 30 18:39:14 2006 http://www.host-3593.com/ Title: 3593 Mon Oct 30 18:39:21 2006 http://host-3594.com/ Title: 3594 Mon Oct 30 18:39:25 2006 http://www.host-3595.com/ Title: 3595 Mon Oct 30 18:39:30 2006 http://www.host-3596.com/ Title: 3596 Mon Oct 30 18:39:33 2006 http://www.host-3597.com/ Title: 3597 Mon Oct 30 18:39:33 2006 http://www.host-3598.com/ Title: 3598 Tue Oct 31 09:44:44 2006 http://www.host-3599.com/ Title: 3599 Tue Oct 31 09:44:48 2006 http://www.host-3600.com/ Title: 3600 Tue Oct 31 09:58:18 2006 http://host-3601.com/ Title: 3601 Tue Oct 31 09:58:31 2006 http://host-3602.com/ Title: 3602 Tue Oct 31 09:59:00 2006 http://www.host-3603.com/ Title: 3603 Tue Oct 31 09:59:33 2006 http://www.host-3604.com/ Title: 3604 Tue Oct 31 09:59:45 2006 http://host-3605.com/ Title: 3605 Tue Oct 31 09:59:49 2006 http://host-3606.com/ Title: 3606 Tue Oct 31 09:59:54 2006 http://www.host-3607.com/ Title: 3607 Tue Oct 31 10:00:00 2006 http://host-3608.com/ Title: 3608 Tue Oct 31 10:00:10 2006 http://host-3609.com/ Title: 3609 Tue Oct 31 10:00:21 2006 http://host-3610.com/ Title: 3610 Tue Oct 31 10:00:39 2006 http://host-3611.com/ Title: 3611 Tue Oct 31 10:00:54 2006 http://www.host-3612.com/ Title: 3612 Tue Oct 31 10:00:59 2006 http://www.host-3613.com/ Title: 3613 Tue Oct 31 10:03:34 2006 http://host-3614.com/ Title: 3614 Tue Oct 31 10:03:44 2006 http://www.host-3615.com/ Title: 3615 Tue Oct 31 10:03:57 2006 http://www.host-3616.com/ Title: 3616 Tue Oct 31 10:19:58 2006 http://host-3617.com/ Title: 3617 Tue Oct 31 11:57:37 2006 http://www.host-3618.com/ Title: 3618 Tue Oct 31 11:58:32 2006 http://host-3619.com/ Title: 3619 Tue Oct 31 11:59:50 2006 http://host-3620.com/ Title: 3620 Tue Oct 31 11:59:58 2006 http://www.host-3621.com/ Title: 3621 Tue Oct 31 12:01:41 2006 http://host-3622.com/ Title: 3622 Tue Oct 31 12:11:16 2006 http://www.host-3623.com/ Title: 3623 Tue Oct 31 12:11:17 2006 http://www.host-3624.com/ Title: 3624 Tue Oct 31 12:11:42 2006 http://www.host-3625.com/ Title: 3625 Tue Oct 31 13:02:54 2006 http://www.host-3626.com/ Title: 3626 Tue Oct 31 13:02:55 2006 http://www.host-3627.com/ Title: 3627 Tue Oct 31 13:02:57 2006 http://www.host-3628.com/ Title: 3628 Tue Oct 31 13:02:59 2006 http://host-3629.com/ Title: 3629 Tue Oct 31 13:03:02 2006 http://www.host-3630.com/ Title: 3630 Tue Oct 31 13:03:25 2006 http://www.host-3631.com/ Title: 3631 Tue Oct 31 13:03:27 2006 http://host-3632.com/ Title: 3632 Tue Oct 31 13:12:44 2006 http://www.host-3633.com/ Title: 3633 Tue Oct 31 13:13:24 2006 http://www.host-3634.com/ Title: 3634 Tue Oct 31 13:15:49 2006 http://host-3635.com/ Title: 3635 Tue Oct 31 13:16:39 2006 http://www.host-3636.com/ Title: 3636 Tue Oct 31 13:16:43 2006 http://www.host-3637.com/ Title: 3637 Tue Oct 31 13:16:49 2006 http://www.host-3638.com/ Title: 3638 Tue Oct 31 13:16:58 2006 http://host-3639.com/ Title: 3639 Tue Oct 31 13:17:09 2006 http://www.host-3640.com/ Title: 3640 Tue Oct 31 13:17:16 2006 http://host-3641.com/ Title: 3641 Tue Oct 31 13:23:21 2006 http://host-3642.com/ Title: 3642 Tue Oct 31 13:23:44 2006 http://host-3643.com/ Title: 3643 Tue Oct 31 13:31:41 2006 http://host-3644.com/ Title: 3644 Tue Oct 31 13:32:17 2006 http://host-3645.com/ Title: 3645 Tue Oct 31 13:32:49 2006 http://www.host-3646.com/ Title: 3646 Tue Oct 31 13:33:03 2006 http://www.host-3647.com/ Title: 3647 Tue Oct 31 13:33:14 2006 http://host-3648.com/ Title: 3648 Tue Oct 31 13:44:33 2006 http://host-3649.com/ Title: 3649 Tue Oct 31 13:44:37 2006 http://host-3650.com/ Title: 3650 Tue Oct 31 13:48:06 2006 http://www.host-3651.com/ Title: 3651 Tue Oct 31 13:49:06 2006 http://host-3652.com/ Title: 3652 Tue Oct 31 13:49:30 2006 http://www.host-3653.com/ Title: 3653 Tue Oct 31 13:49:38 2006 http://www.host-3654.com/ Title: 3654 Tue Oct 31 13:49:52 2006 http://www.host-3655.com/ Title: 3655 Tue Oct 31 13:50:02 2006 http://www.host-3656.com/ Title: 3656 Tue Oct 31 13:50:22 2006 http://www.host-3657.com/ Title: 3657 Tue Oct 31 14:07:35 2006 http://www.host-3658.com/ Title: 3658 Tue Oct 31 14:08:33 2006 http://host-3659.com/ Title: 3659 Tue Oct 31 14:08:53 2006 http://www.host-3660.com/ Title: 3660 Tue Oct 31 14:13:20 2006 http://www.host-3661.com/ Title: 3661 Tue Oct 31 15:17:58 2006 http://www.host-3662.com/ Title: 3662 Tue Oct 31 15:18:05 2006 http://host-3663.com/ Title: 3663 Tue Oct 31 15:22:08 2006 http://host-3664.com/ Title: 3664 Tue Oct 31 15:45:03 2006 http://www.host-3665.com/ Title: 3665 Tue Oct 31 15:45:10 2006 http://www.host-3666.com/ Title: 3666 Tue Oct 31 15:45:17 2006 http://host-3667.com/ Title: 3667 Tue Oct 31 17:03:56 2006 http://www.host-3668.com/ Title: 3668 Tue Oct 31 17:04:02 2006 http://host-3669.com/ Title: 3669 Tue Oct 31 17:04:05 2006 http://www.host-3670.com/ Title: 3670 Tue Oct 31 17:05:30 2006 http://www.host-3671.com/ Title: 3671 Tue Oct 31 17:06:09 2006 http://www.host-3672.com/ Title: 3672 Tue Oct 31 17:06:54 2006 http://host-3673.com/ Title: 3673 Tue Oct 31 17:07:11 2006 http://www.host-3674.com/ Title: 3674 Tue Oct 31 17:08:06 2006 http://www.host-3675.com/ Title: 3675 Tue Oct 31 17:08:11 2006 http://www.host-3676.com/ Title: 3676 Tue Oct 31 17:13:10 2006 http://host-3677.com/ Title: 3677 Tue Oct 31 17:13:48 2006 http://host-3678.com/ Title: 3678 Tue Oct 31 17:14:50 2006 http://host-3679.com/ Title: 3679 Tue Oct 31 17:15:06 2006 http://host-3680.com/ Title: 3680 Wed Nov 1 10:27:47 2006 http://host-3681.com/ Title: 3681 Wed Nov 1 10:31:05 2006 http://www.host-3682.com/ Title: 3682 Wed Nov 1 10:31:13 2006 http://host-3683.com/ Title: 3683 Wed Nov 1 10:42:15 2006 http://host-3684.com/ Title: 3684 Wed Nov 1 10:42:49 2006 http://host-3685.com/ Title: 3685 Wed Nov 1 10:43:11 2006 http://host-3686.com/ Title: 3686 Wed Nov 1 11:05:54 2006 http://www.host-3687.com/ Title: 3687 Wed Nov 1 11:06:04 2006 http://host-3688.com/ Title: 3688 Wed Nov 1 11:06:10 2006 http://www.host-3689.com/ Title: 3689 Wed Nov 1 11:06:26 2006 http://www.host-3690.com/ Title: 3690 Wed Nov 1 11:06:34 2006 http://www.host-3691.com/ Title: 3691 Wed Nov 1 11:06:40 2006 http://host-3692.com/ Title: 3692 Wed Nov 1 11:07:06 2006 http://www.host-3693.com/ Title: 3693 Wed Nov 1 11:07:13 2006 http://www.host-3694.com/ Title: 3694 Wed Nov 1 11:07:17 2006 http://www.host-3695.com/ Title: 3695 Wed Nov 1 13:51:58 2006 http://www.host-3696.com/ Title: 3696 Wed Nov 1 13:52:04 2006 http://www.host-3697.com/ Title: 3697 Wed Nov 1 15:48:23 2006 http://www.host-3698.com/ Title: 3698 Wed Nov 1 16:49:08 2006 http://host-3699.com/ Title: 3699 Wed Nov 1 20:09:21 2006 http://host-3700.com/ Title: 3700 Wed Nov 1 20:09:28 2006 http://www.host-3701.com/ Title: 3701 Thu Nov 2 10:48:37 2006 http://host-3702.com/ Title: 3702 Thu Nov 2 15:27:02 2006 http://www.host-3703.com/ Title: 3703 Thu Nov 2 15:27:20 2006 http://host-3704.com/ Title: 3704 Thu Nov 2 15:27:24 2006 http://www.host-3705.com/ Title: 3705 Thu Nov 2 15:27:57 2006 http://www.host-3706.com/ Title: 3706 Thu Nov 2 15:28:06 2006 http://www.host-3707.com/ Title: 3707 Thu Nov 2 15:28:16 2006 http://www.host-3708.com/ Title: 3708 Thu Nov 2 15:28:19 2006 http://host-3709.com/ Title: 3709 Thu Nov 2 15:28:20 2006 http://www.host-3710.com/ Title: 3710 Thu Nov 2 15:28:30 2006 http://www.host-3711.com/ Title: 3711 Thu Nov 2 17:53:15 2006 http://host-3712.com/ Title: 3712 Thu Nov 2 17:53:28 2006 http://host-3713.com/ Title: 3713 Thu Nov 2 17:53:57 2006 http://www.host-3714.com/ Title: 3714 Thu Nov 2 17:54:11 2006 http://host-3715.com/ Title: 3715 Thu Nov 2 17:54:20 2006 http://www.host-3716.com/ Title: 3716 Thu Nov 2 17:54:40 2006 http://host-3717.com/ Title: 3717 Thu Nov 2 17:54:45 2006 http://host-3718.com/ Title: 3718 Thu Nov 2 17:54:48 2006 http://www.host-3719.com/ Title: 3719 Thu Nov 2 17:55:03 2006 http://www.host-3720.com/ Title: 3720 Thu Nov 2 17:55:16 2006 http://www.host-3721.com/ Title: 3721 Thu Nov 2 17:55:27 2006 http://host-3722.com/ Title: 3722 Thu Nov 2 17:55:35 2006 http://host-3723.com/ Title: 3723 Thu Nov 2 17:59:00 2006 http://host-3724.com/ Title: 3724 Thu Nov 2 17:59:24 2006 http://www.host-3725.com/ Title: 3725 Thu Nov 2 18:01:40 2006 http://www.host-3726.com/ Title: 3726 Thu Nov 2 18:02:15 2006 http://www.host-3727.com/ Title: 3727 Thu Nov 2 18:02:39 2006 http://host-3728.com/ Title: 3728 Thu Nov 2 18:03:38 2006 http://www.host-3729.com/ Title: 3729 Thu Nov 2 18:03:55 2006 http://host-3730.com/ Title: 3730 Fri Nov 3 11:01:21 2006 http://host-3731.com/ Title: 3731 Fri Nov 3 13:34:26 2006 http://host-3732.com/ Title: 3732 Fri Nov 3 13:40:46 2006 http://host-3733.com/ Title: 3733 Fri Nov 3 13:40:54 2006 http://host-3734.com/ Title: 3734 Fri Nov 3 14:14:57 2006 http://host-3735.com/ Title: 3735 Fri Nov 3 14:15:12 2006 http://host-3736.com/ Title: 3736 Fri Nov 3 14:15:14 2006 http://www.host-3737.com/ Title: 3737 Fri Nov 3 14:15:24 2006 http://host-3738.com/ Title: 3738 Fri Nov 3 14:15:30 2006 http://www.host-3739.com/ Title: 3739 Fri Nov 3 14:15:32 2006 http://host-3740.com/ Title: 3740 Fri Nov 3 14:16:00 2006 http://host-3741.com/ Title: 3741 Fri Nov 3 14:16:07 2006 http://www.host-3742.com/ Title: 3742 Fri Nov 3 14:16:10 2006 http://host-3743.com/ Title: 3743 Fri Nov 3 14:46:00 2006 http://www.host-3744.com/ Title: 3744 Fri Nov 3 14:46:04 2006 http://www.host-3745.com/ Title: 3745 Fri Nov 3 14:46:05 2006 http://host-3746.com/ Title: 3746 Fri Nov 3 14:51:35 2006 http://host-3747.com/ Title: 3747 Fri Nov 3 14:51:39 2006 http://www.host-3748.com/ Title: 3748 Fri Nov 3 14:51:54 2006 http://host-3749.com/ Title: 3749 Fri Nov 3 14:52:03 2006 http://host-3750.com/ Title: 3750 Fri Nov 3 14:52:04 2006 http://www.host-3751.com/ Title: 3751 Fri Nov 3 14:53:10 2006 http://host-3752.com/ Title: 3752 Fri Nov 3 14:56:20 2006 http://host-3753.com/ Title: 3753 Fri Nov 3 14:56:30 2006 http://host-3754.com/ Title: 3754 Fri Nov 3 14:56:33 2006 http://www.host-3755.com/ Title: 3755 Fri Nov 3 15:07:06 2006 http://host-3756.com/ Title: 3756 Fri Nov 3 15:08:04 2006 http://www.host-3757.com/ Title: 3757 Fri Nov 3 15:19:01 2006 http://www.host-3758.com/ Title: 3758 Fri Nov 3 15:19:02 2006 http://host-3759.com/ Title: 3759 Fri Nov 3 15:19:16 2006 http://www.host-3760.com/ Title: 3760 Fri Nov 3 15:19:41 2006 http://host-3761.com/ Title: 3761 Fri Nov 3 15:19:43 2006 http://www.host-3762.com/ Title: 3762 Fri Nov 3 15:19:53 2006 http://host-3763.com/ Title: 3763 Fri Nov 3 15:20:08 2006 http://host-3764.com/ Title: 3764 Fri Nov 3 15:20:13 2006 http://host-3765.com/ Title: 3765 Fri Nov 3 15:21:54 2006 http://www.host-3766.com/ Title: 3766 Fri Nov 3 15:22:13 2006 http://www.host-3767.com/ Title: 3767 Fri Nov 3 15:22:15 2006 http://www.host-3768.com/ Title: 3768 Fri Nov 3 15:22:46 2006 http://www.host-3769.com/ Title: 3769 Fri Nov 3 15:24:24 2006 http://www.host-3770.com/ Title: 3770 Fri Nov 3 15:29:11 2006 http://www.host-3771.com/ Title: 3771 Fri Nov 3 15:31:20 2006 http://host-3772.com/ Title: 3772 Fri Nov 3 15:31:21 2006 http://host-3773.com/ Title: 3773 Fri Nov 3 15:31:25 2006 http://www.host-3774.com/ Title: 3774 Fri Nov 3 15:31:35 2006 http://www.host-3775.com/ Title: 3775 Fri Nov 3 15:35:26 2006 http://host-3776.com/ Title: 3776 Fri Nov 3 15:58:03 2006 http://www.host-3777.com/ Title: 3777 Fri Nov 3 15:58:15 2006 http://host-3778.com/ Title: 3778 Fri Nov 3 15:59:24 2006 http://www.host-3779.com/ Title: 3779 Fri Nov 3 16:01:31 2006 http://www.host-3780.com/ Title: 3780 Fri Nov 3 16:04:06 2006 http://www.host-3781.com/ Title: 3781 Fri Nov 3 16:05:39 2006 http://www.host-3782.com/ Title: 3782 Fri Nov 3 16:06:01 2006 http://www.host-3783.com/ Title: 3783 Fri Nov 3 16:06:16 2006 http://www.host-3784.com/ Title: 3784 Fri Nov 3 16:07:55 2006 http://www.host-3785.com/ Title: 3785 Fri Nov 3 16:08:15 2006 http://www.host-3786.com/ Title: 3786 Fri Nov 3 16:08:24 2006 http://host-3787.com/ Title: 3787 Fri Nov 3 16:08:24 2006 http://host-3788.com/ Title: 3788 Fri Nov 3 16:12:10 2006 http://host-3789.com/ Title: 3789 Fri Nov 3 16:12:20 2006 http://host-3790.com/ Title: 3790 Fri Nov 3 16:12:23 2006 http://host-3791.com/ Title: 3791 Fri Nov 3 16:14:31 2006 http://www.host-3792.com/ Title: 3792 Fri Nov 3 16:14:54 2006 http://www.host-3793.com/ Title: 3793 Fri Nov 3 16:15:31 2006 http://www.host-3794.com/ Title: 3794 Fri Nov 3 16:15:32 2006 http://www.host-3795.com/ Title: 3795 Fri Nov 3 16:15:34 2006 http://www.host-3796.com/ Title: 3796 Fri Nov 3 16:17:08 2006 http://host-3797.com/ Title: 3797 Fri Nov 3 16:17:15 2006 http://www.host-3798.com/ Title: 3798 Fri Nov 3 16:17:22 2006 http://www.host-3799.com/ Title: 3799 Fri Nov 3 16:17:48 2006 http://www.host-3800.com/ Title: 3800 Fri Nov 3 16:18:13 2006 http://www.host-3801.com/ Title: 3801 Fri Nov 3 16:19:38 2006 http://host-3802.com/ Title: 3802 Fri Nov 3 16:25:00 2006 http://www.host-3803.com/ Title: 3803 Fri Nov 3 16:33:41 2006 http://www.host-3804.com/ Title: 3804 Fri Nov 3 16:37:53 2006 http://www.host-3805.com/ Title: 3805 Fri Nov 3 16:39:24 2006 http://www.host-3806.com/ Title: 3806 Fri Nov 3 16:58:58 2006 http://www.host-3807.com/ Title: 3807 Fri Nov 3 17:04:02 2006 http://www.host-3808.com/ Title: 3808 Fri Nov 3 17:43:49 2006 http://host-3809.com/ Title: 3809 Mon Nov 6 09:51:33 2006 http://www.host-3810.com/ Title: 3810 Mon Nov 6 09:58:50 2006 http://www.host-3811.com/ Title: 3811 Mon Nov 6 09:58:55 2006 http://www.host-3812.com/ Title: 3812 Mon Nov 6 09:59:00 2006 http://www.host-3813.com/ Title: 3813 Mon Nov 6 09:59:16 2006 http://www.host-3814.com/ Title: 3814 Mon Nov 6 10:25:07 2006 http://host-3815.com/ Title: 3815 Mon Nov 6 10:25:17 2006 http://host-3816.com/ Title: 3816 Mon Nov 6 10:25:18 2006 http://host-3817.com/ Title: 3817 Mon Nov 6 10:25:20 2006 http://www.host-3818.com/ Title: 3818 Mon Nov 6 10:25:27 2006 http://www.host-3819.com/ Title: 3819 Mon Nov 6 10:25:29 2006 http://www.host-3820.com/ Title: 3820 Mon Nov 6 10:25:37 2006 http://host-3821.com/ Title: 3821 Mon Nov 6 10:27:30 2006 http://host-3822.com/ Title: 3822 Mon Nov 6 10:27:35 2006 http://host-3823.com/ Title: 3823 Mon Nov 6 10:27:38 2006 http://www.host-3824.com/ Title: 3824 Mon Nov 6 10:30:04 2006 http://host-3825.com/ Title: 3825 Mon Nov 6 10:30:48 2006 http://www.host-3826.com/ Title: 3826 Mon Nov 6 10:30:53 2006 http://www.host-3827.com/ Title: 3827 Mon Nov 6 10:33:29 2006 http://host-3828.com/ Title: 3828 Mon Nov 6 10:33:50 2006 http://host-3829.com/ Title: 3829 Mon Nov 6 10:34:02 2006 http://host-3830.com/ Title: 3830 Mon Nov 6 10:34:05 2006 http://host-3831.com/ Title: 3831 Mon Nov 6 10:34:09 2006 http://host-3832.com/ Title: 3832 Mon Nov 6 10:35:25 2006 http://www.host-3833.com/ Title: 3833 Mon Nov 6 10:36:04 2006 http://host-3834.com/ Title: 3834 Mon Nov 6 10:36:10 2006 http://www.host-3835.com/ Title: 3835 Mon Nov 6 10:36:14 2006 http://host-3836.com/ Title: 3836 Mon Nov 6 10:37:03 2006 http://www.host-3837.com/ Title: 3837 Mon Nov 6 10:37:07 2006 http://host-3838.com/ Title: 3838 Mon Nov 6 10:37:53 2006 http://www.host-3839.com/ Title: 3839 Mon Nov 6 10:38:17 2006 http://www.host-3840.com/ Title: 3840 Mon Nov 6 10:38:27 2006 http://www.host-3841.com/ Title: 3841 Mon Nov 6 10:38:54 2006 http://www.host-3842.com/ Title: 3842 Mon Nov 6 10:44:38 2006 http://host-3843.com/ Title: 3843 Mon Nov 6 10:44:44 2006 http://host-3844.com/ Title: 3844 Mon Nov 6 10:44:57 2006 http://www.host-3845.com/ Title: 3845 Mon Nov 6 10:51:57 2006 http://www.host-3846.com/ Title: 3846 Mon Nov 6 10:51:58 2006 http://www.host-3847.com/ Title: 3847 Mon Nov 6 10:52:05 2006 http://host-3848.com/ Title: 3848 Mon Nov 6 10:52:23 2006 http://host-3849.com/ Title: 3849 Mon Nov 6 10:52:33 2006 http://www.host-3850.com/ Title: 3850 Mon Nov 6 10:52:36 2006 http://host-3851.com/ Title: 3851 Mon Nov 6 10:52:42 2006 http://www.host-3852.com/ Title: 3852 Mon Nov 6 10:52:49 2006 http://host-3853.com/ Title: 3853 Mon Nov 6 10:53:00 2006 http://www.host-3854.com/ Title: 3854 Mon Nov 6 10:53:02 2006 http://host-3855.com/ Title: 3855 Mon Nov 6 10:58:17 2006 http://host-3856.com/ Title: 3856 Mon Nov 6 10:58:34 2006 http://host-3857.com/ Title: 3857 Mon Nov 6 10:58:36 2006 http://host-3858.com/ Title: 3858 Mon Nov 6 10:58:46 2006 http://host-3859.com/ Title: 3859 Mon Nov 6 10:59:05 2006 http://www.host-3860.com/ Title: 3860 Mon Nov 6 10:59:14 2006 http://www.host-3861.com/ Title: 3861 Mon Nov 6 10:59:25 2006 http://www.host-3862.com/ Title: 3862 Mon Nov 6 10:59:28 2006 http://www.host-3863.com/ Title: 3863 Mon Nov 6 10:59:51 2006 http://www.host-3864.com/ Title: 3864 Mon Nov 6 11:00:01 2006 http://host-3865.com/ Title: 3865 Mon Nov 6 11:00:12 2006 http://host-3866.com/ Title: 3866 Mon Nov 6 11:00:14 2006 http://www.host-3867.com/ Title: 3867 Mon Nov 6 11:00:37 2006 http://www.host-3868.com/ Title: 3868 Mon Nov 6 11:00:39 2006 http://host-3869.com/ Title: 3869 Mon Nov 6 11:00:56 2006 http://www.host-3870.com/ Title: 3870 Mon Nov 6 11:01:26 2006 http://www.host-3871.com/ Title: 3871 Mon Nov 6 11:01:38 2006 http://host-3872.com/ Title: 3872 Mon Nov 6 11:02:26 2006 http://www.host-3873.com/ Title: 3873 Mon Nov 6 11:02:31 2006 http://www.host-3874.com/ Title: 3874 Mon Nov 6 11:03:15 2006 http://host-3875.com/ Title: 3875 Mon Nov 6 11:03:46 2006 http://host-3876.com/ Title: 3876 Mon Nov 6 11:03:49 2006 http://www.host-3877.com/ Title: 3877 Mon Nov 6 11:03:52 2006 http://www.host-3878.com/ Title: 3878 Mon Nov 6 11:03:56 2006 http://host-3879.com/ Title: 3879 Mon Nov 6 11:03:58 2006 http://host-3880.com/ Title: 3880 Mon Nov 6 11:04:00 2006 http://www.host-3881.com/ Title: 3881 Mon Nov 6 11:04:54 2006 http://host-3882.com/ Title: 3882 Mon Nov 6 11:05:02 2006 http://host-3883.com/ Title: 3883 Mon Nov 6 11:05:22 2006 http://www.host-3884.com/ Title: 3884 Mon Nov 6 11:05:28 2006 http://host-3885.com/ Title: 3885 Mon Nov 6 11:05:56 2006 http://www.host-3886.com/ Title: 3886 Mon Nov 6 11:06:19 2006 http://host-3887.com/ Title: 3887 Mon Nov 6 11:06:21 2006 http://host-3888.com/ Title: 3888 Mon Nov 6 11:06:43 2006 http://www.host-3889.com/ Title: 3889 Mon Nov 6 11:06:47 2006 http://www.host-3890.com/ Title: 3890 Mon Nov 6 11:06:57 2006 http://host-3891.com/ Title: 3891 Mon Nov 6 11:07:02 2006 http://host-3892.com/ Title: 3892 Mon Nov 6 11:07:04 2006 http://host-3893.com/ Title: 3893 Mon Nov 6 11:07:11 2006 http://host-3894.com/ Title: 3894 Mon Nov 6 11:07:24 2006 http://host-3895.com/ Title: 3895 Mon Nov 6 11:07:42 2006 http://host-3896.com/ Title: 3896 Mon Nov 6 11:07:44 2006 http://www.host-3897.com/ Title: 3897 Mon Nov 6 11:08:48 2006 http://www.host-3898.com/ Title: 3898 Mon Nov 6 11:08:56 2006 http://www.host-3899.com/ Title: 3899 Mon Nov 6 11:09:02 2006 http://host-3900.com/ Title: 3900 Mon Nov 6 11:09:44 2006 http://host-3901.com/ Title: 3901 Mon Nov 6 11:11:56 2006 http://www.host-3902.com/ Title: 3902 Mon Nov 6 11:12:01 2006 http://host-3903.com/ Title: 3903 Mon Nov 6 11:12:10 2006 http://host-3904.com/ Title: 3904 Mon Nov 6 11:12:25 2006 http://www.host-3905.com/ Title: 3905 Mon Nov 6 11:12:29 2006 http://host-3906.com/ Title: 3906 Mon Nov 6 11:17:31 2006 http://host-3907.com/ Title: 3907 Mon Nov 6 11:17:39 2006 http://host-3908.com/ Title: 3908 Mon Nov 6 11:17:44 2006 http://host-3909.com/ Title: 3909 Mon Nov 6 11:17:54 2006 http://host-3910.com/ Title: 3910 Mon Nov 6 11:18:01 2006 http://www.host-3911.com/ Title: 3911 Mon Nov 6 11:18:45 2006 http://www.host-3912.com/ Title: 3912 Mon Nov 6 11:20:20 2006 http://host-3913.com/ Title: 3913 Mon Nov 6 11:20:28 2006 http://host-3914.com/ Title: 3914 Mon Nov 6 11:21:44 2006 http://www.host-3915.com/ Title: 3915 Mon Nov 6 11:21:46 2006 http://www.host-3916.com/ Title: 3916 Mon Nov 6 11:21:49 2006 http://www.host-3917.com/ Title: 3917 Mon Nov 6 11:21:53 2006 http://www.host-3918.com/ Title: 3918 Mon Nov 6 11:21:59 2006 http://www.host-3919.com/ Title: 3919 Mon Nov 6 11:31:42 2006 http://www.host-3920.com/ Title: 3920 Mon Nov 6 12:28:17 2006 http://host-3921.com/ Title: 3921 Mon Nov 6 12:29:21 2006 http://host-3922.com/ Title: 3922 Mon Nov 6 12:29:29 2006 http://host-3923.com/ Title: 3923 Mon Nov 6 13:16:50 2006 http://host-3924.com/ Title: 3924 Mon Nov 6 13:36:48 2006 http://host-3925.com/ Title: 3925 Mon Nov 6 13:37:07 2006 http://host-3926.com/ Title: 3926 Mon Nov 6 13:37:12 2006 http://www.host-3927.com/ Title: 3927 Mon Nov 6 13:37:20 2006 http://www.host-3928.com/ Title: 3928 Mon Nov 6 13:37:32 2006 http://www.host-3929.com/ Title: 3929 Mon Nov 6 13:39:39 2006 http://host-3930.com/ Title: 3930 Mon Nov 6 13:41:19 2006 http://www.host-3931.com/ Title: 3931 Mon Nov 6 14:04:59 2006 http://www.host-3932.com/ Title: 3932 Mon Nov 6 15:12:26 2006 http://www.host-3933.com/ Title: 3933 Mon Nov 6 15:45:52 2006 http://www.host-3934.com/ Title: 3934 Mon Nov 6 15:46:03 2006 http://www.host-3935.com/ Title: 3935 Mon Nov 6 16:41:28 2006 http://host-3936.com/ Title: 3936 Mon Nov 6 16:41:32 2006 http://host-3937.com/ Title: 3937 Mon Nov 6 16:41:56 2006 http://www.host-3938.com/ Title: 3938 Mon Nov 6 17:01:24 2006 http://www.host-3939.com/ Title: 3939 Mon Nov 6 17:01:32 2006 http://host-3940.com/ Title: 3940 Mon Nov 6 17:01:40 2006 http://host-3941.com/ Title: 3941 Tue Nov 7 10:44:41 2006 http://host-3942.com/ Title: 3942 Tue Nov 7 10:50:13 2006 http://www.host-3943.com/ Title: 3943 Tue Nov 7 10:50:14 2006 http://www.host-3944.com/ Title: 3944 Tue Nov 7 10:50:30 2006 http://www.host-3945.com/ Title: 3945 Tue Nov 7 11:36:01 2006 http://www.host-3946.com/ Title: 3946 Tue Nov 7 11:36:03 2006 http://host-3947.com/ Title: 3947 Tue Nov 7 11:36:12 2006 http://www.host-3948.com/ Title: 3948 Tue Nov 7 11:36:15 2006 http://www.host-3949.com/ Title: 3949 Tue Nov 7 11:36:21 2006 http://www.host-3950.com/ Title: 3950 Tue Nov 7 11:36:23 2006 http://www.host-3951.com/ Title: 3951 Tue Nov 7 11:36:43 2006 http://host-3952.com/ Title: 3952 Tue Nov 7 11:36:54 2006 http://host-3953.com/ Title: 3953 Tue Nov 7 11:38:21 2006 http://www.host-3954.com/ Title: 3954 Tue Nov 7 11:38:27 2006 http://www.host-3955.com/ Title: 3955 Tue Nov 7 11:46:56 2006 http://host-3956.com/ Title: 3956 Tue Nov 7 11:47:00 2006 http://www.host-3957.com/ Title: 3957 Tue Nov 7 11:47:09 2006 http://www.host-3958.com/ Title: 3958 Tue Nov 7 11:47:15 2006 http://host-3959.com/ Title: 3959 Tue Nov 7 11:49:19 2006 http://host-3960.com/ Title: 3960 Tue Nov 7 11:49:22 2006 http://host-3961.com/ Title: 3961 Tue Nov 7 11:56:24 2006 http://host-3962.com/ Title: 3962 Tue Nov 7 11:56:41 2006 http://host-3963.com/ Title: 3963 Tue Nov 7 13:13:33 2006 http://www.host-3964.com/ Title: 3964 Tue Nov 7 13:13:36 2006 http://host-3965.com/ Title: 3965 Tue Nov 7 13:13:48 2006 http://host-3966.com/ Title: 3966 Tue Nov 7 13:13:50 2006 http://host-3967.com/ Title: 3967 Tue Nov 7 13:14:03 2006 http://host-3968.com/ Title: 3968 Tue Nov 7 13:26:09 2006 http://host-3969.com/ Title: 3969 Tue Nov 7 13:27:28 2006 http://host-3970.com/ Title: 3970 Tue Nov 7 13:28:04 2006 http://www.host-3971.com/ Title: 3971 Tue Nov 7 13:28:07 2006 http://www.host-3972.com/ Title: 3972 Tue Nov 7 13:28:42 2006 http://host-3973.com/ Title: 3973 Tue Nov 7 13:28:43 2006 http://www.host-3974.com/ Title: 3974 Tue Nov 7 13:28:48 2006 http://www.host-3975.com/ Title: 3975 Tue Nov 7 13:29:31 2006 http://host-3976.com/ Title: 3976 Tue Nov 7 13:29:32 2006 http://www.host-3977.com/ Title: 3977 Tue Nov 7 13:29:37 2006 http://www.host-3978.com/ Title: 3978 Tue Nov 7 13:29:42 2006 http://host-3979.com/ Title: 3979 Tue Nov 7 13:31:28 2006 http://www.host-3980.com/ Title: 3980 Tue Nov 7 13:32:32 2006 http://host-3981.com/ Title: 3981 Tue Nov 7 13:32:33 2006 http://host-3982.com/ Title: 3982 Tue Nov 7 13:32:39 2006 http://www.host-3983.com/ Title: 3983 Tue Nov 7 13:32:39 2006 http://www.host-3984.com/ Title: 3984 Tue Nov 7 13:32:40 2006 http://host-3985.com/ Title: 3985 Tue Nov 7 13:32:40 2006 http://host-3986.com/ Title: 3986 Tue Nov 7 13:32:42 2006 http://www.host-3987.com/ Title: 3987 Tue Nov 7 14:57:49 2006 http://host-3988.com/ Title: 3988 Tue Nov 7 14:58:40 2006 http://www.host-3989.com/ Title: 3989 Tue Nov 7 14:58:42 2006 http://host-3990.com/ Title: 3990 Tue Nov 7 14:58:45 2006 http://www.host-3991.com/ Title: 3991 Tue Nov 7 14:58:52 2006 http://host-3992.com/ Title: 3992 Tue Nov 7 14:58:57 2006 http://www.host-3993.com/ Title: 3993 Tue Nov 7 15:06:15 2006 http://host-3994.com/ Title: 3994 Tue Nov 7 15:06:26 2006 http://host-3995.com/ Title: 3995 Tue Nov 7 15:06:41 2006 http://www.host-3996.com/ Title: 3996 Tue Nov 7 15:06:51 2006 http://host-3997.com/ Title: 3997 Tue Nov 7 15:06:55 2006 http://host-3998.com/ Title: 3998 Tue Nov 7 15:07:14 2006 http://www.host-3999.com/ Title: 3999 Tue Nov 7 15:07:56 2006 http://host-4000.com/ Title: 4000 Tue Nov 7 15:08:13 2006 http://www.host-4001.com/ Title: 4001 Tue Nov 7 15:08:16 2006 http://host-4002.com/ Title: 4002 Tue Nov 7 15:08:25 2006 http://www.host-4003.com/ Title: 4003 Tue Nov 7 15:15:15 2006 http://host-4004.com/ Title: 4004 Tue Nov 7 15:15:30 2006 http://host-4005.com/ Title: 4005 Tue Nov 7 15:21:38 2006 http://host-4006.com/ Title: 4006 Tue Nov 7 15:21:41 2006 http://host-4007.com/ Title: 4007 Tue Nov 7 15:23:47 2006 http://www.host-4008.com/ Title: 4008 Tue Nov 7 15:23:49 2006 http://host-4009.com/ Title: 4009 Tue Nov 7 15:24:03 2006 http://host-4010.com/ Title: 4010 Tue Nov 7 15:51:30 2006 http://host-4011.com/ Title: 4011 Tue Nov 7 15:51:44 2006 http://www.host-4012.com/ Title: 4012 Tue Nov 7 15:54:49 2006 http://host-4013.com/ Title: 4013 Tue Nov 7 16:01:13 2006 http://www.host-4014.com/ Title: 4014 Tue Nov 7 16:01:19 2006 http://www.host-4015.com/ Title: 4015 Tue Nov 7 16:01:30 2006 http://host-4016.com/ Title: 4016 Tue Nov 7 16:02:16 2006 http://host-4017.com/ Title: 4017 Tue Nov 7 16:02:59 2006 http://host-4018.com/ Title: 4018 Tue Nov 7 16:02:59 2006 http://host-4019.com/ Title: 4019 Tue Nov 7 16:03:07 2006 http://host-4020.com/ Title: 4020 Tue Nov 7 16:03:10 2006 http://www.host-4021.com/ Title: 4021 Tue Nov 7 16:03:18 2006 http://host-4022.com/ Title: 4022 Tue Nov 7 16:03:44 2006 http://www.host-4023.com/ Title: 4023 Tue Nov 7 16:05:26 2006 http://www.host-4024.com/ Title: 4024 Tue Nov 7 16:05:34 2006 http://www.host-4025.com/ Title: 4025 Tue Nov 7 16:10:23 2006 http://www.host-4026.com/ Title: 4026 Tue Nov 7 16:10:27 2006 http://www.host-4027.com/ Title: 4027 Tue Nov 7 16:10:30 2006 http://www.host-4028.com/ Title: 4028 Tue Nov 7 16:10:33 2006 http://host-4029.com/ Title: 4029 Tue Nov 7 16:10:40 2006 http://host-4030.com/ Title: 4030 Tue Nov 7 16:17:01 2006 http://www.host-4031.com/ Title: 4031 Tue Nov 7 16:17:12 2006 http://www.host-4032.com/ Title: 4032 Tue Nov 7 16:17:31 2006 http://host-4033.com/ Title: 4033 Tue Nov 7 16:17:43 2006 http://host-4034.com/ Title: 4034 Tue Nov 7 16:18:40 2006 http://www.host-4035.com/ Title: 4035 Tue Nov 7 16:18:49 2006 http://www.host-4036.com/ Title: 4036 Tue Nov 7 16:18:52 2006 http://www.host-4037.com/ Title: 4037 Tue Nov 7 16:18:56 2006 http://www.host-4038.com/ Title: 4038 Tue Nov 7 16:19:01 2006 http://host-4039.com/ Title: 4039 Tue Nov 7 16:19:04 2006 http://host-4040.com/ Title: 4040 Tue Nov 7 16:19:09 2006 http://host-4041.com/ Title: 4041 Tue Nov 7 16:19:19 2006 http://www.host-4042.com/ Title: 4042 Tue Nov 7 16:19:44 2006 http://host-4043.com/ Title: 4043 Tue Nov 7 16:19:56 2006 http://www.host-4044.com/ Title: 4044 Tue Nov 7 16:20:33 2006 http://host-4045.com/ Title: 4045 Tue Nov 7 16:20:42 2006 http://host-4046.com/ Title: 4046 Tue Nov 7 16:20:52 2006 http://www.host-4047.com/ Title: 4047 Tue Nov 7 16:20:56 2006 http://www.host-4048.com/ Title: 4048 Tue Nov 7 16:20:59 2006 http://www.host-4049.com/ Title: 4049 Tue Nov 7 16:21:05 2006 http://www.host-4050.com/ Title: 4050 Tue Nov 7 16:21:59 2006 http://www.host-4051.com/ Title: 4051 Tue Nov 7 16:22:09 2006 http://host-4052.com/ Title: 4052 Tue Nov 7 16:22:15 2006 http://host-4053.com/ Title: 4053 Tue Nov 7 16:22:23 2006 http://www.host-4054.com/ Title: 4054 Tue Nov 7 16:22:27 2006 http://host-4055.com/ Title: 4055 Tue Nov 7 16:30:51 2006 http://www.host-4056.com/ Title: 4056 Tue Nov 7 16:31:00 2006 http://www.host-4057.com/ Title: 4057 Tue Nov 7 16:31:03 2006 http://host-4058.com/ Title: 4058 Tue Nov 7 16:31:07 2006 http://www.host-4059.com/ Title: 4059 Tue Nov 7 16:37:22 2006 http://www.host-4060.com/ Title: 4060 Tue Nov 7 16:37:29 2006 http://host-4061.com/ Title: 4061 Tue Nov 7 16:37:38 2006 http://host-4062.com/ Title: 4062 Tue Nov 7 16:37:43 2006 http://www.host-4063.com/ Title: 4063 Tue Nov 7 17:10:19 2006 http://www.host-4064.com/ Title: 4064 Tue Nov 7 17:17:14 2006 http://host-4065.com/ Title: 4065 Tue Nov 7 17:22:04 2006 http://host-4066.com/ Title: 4066 Tue Nov 7 17:22:56 2006 http://www.host-4067.com/ Title: 4067 Tue Nov 7 17:24:27 2006 http://www.host-4068.com/ Title: 4068 Tue Nov 7 17:29:44 2006 http://www.host-4069.com/ Title: 4069 Tue Nov 7 17:29:51 2006 http://host-4070.com/ Title: 4070 Tue Nov 7 17:30:03 2006 http://host-4071.com/ Title: 4071 Tue Nov 7 17:30:13 2006 http://host-4072.com/ Title: 4072 Tue Nov 7 17:30:17 2006 http://host-4073.com/ Title: 4073 Tue Nov 7 17:31:04 2006 http://www.host-4074.com/ Title: 4074 Tue Nov 7 17:31:06 2006 http://host-4075.com/ Title: 4075 Tue Nov 7 17:31:23 2006 http://www.host-4076.com/ Title: 4076 Tue Nov 7 17:31:46 2006 http://host-4077.com/ Title: 4077 Tue Nov 7 17:31:53 2006 http://www.host-4078.com/ Title: 4078 Tue Nov 7 17:35:42 2006 http://www.host-4079.com/ Title: 4079 Tue Nov 7 17:39:06 2006 http://host-4080.com/ Title: 4080 Tue Nov 7 17:39:17 2006 http://www.host-4081.com/ Title: 4081 Tue Nov 7 17:39:29 2006 http://host-4082.com/ Title: 4082 Tue Nov 7 17:43:57 2006 http://www.host-4083.com/ Title: 4083 Tue Nov 7 17:46:22 2006 http://host-4084.com/ Title: 4084 Tue Nov 7 17:47:07 2006 http://host-4085.com/ Title: 4085 Tue Nov 7 17:48:00 2006 http://www.host-4086.com/ Title: 4086 Tue Nov 7 17:49:06 2006 http://www.host-4087.com/ Title: 4087 Tue Nov 7 17:50:58 2006 http://host-4088.com/ Title: 4088 Wed Nov 8 10:39:38 2006 http://host-4089.com/ Title: 4089 Wed Nov 8 10:39:47 2006 http://www.host-4090.com/ Title: 4090 Wed Nov 8 10:41:03 2006 http://host-4091.com/ Title: 4091 Wed Nov 8 10:51:02 2006 http://www.host-4092.com/ Title: 4092 Wed Nov 8 10:51:06 2006 http://host-4093.com/ Title: 4093 Wed Nov 8 10:51:26 2006 http://host-4094.com/ Title: 4094 Wed Nov 8 10:51:42 2006 http://www.host-4095.com/ Title: 4095 Wed Nov 8 10:54:12 2006 http://www.host-4096.com/ Title: 4096 Wed Nov 8 10:54:18 2006 http://www.host-4097.com/ Title: 4097 Wed Nov 8 10:55:36 2006 http://www.host-4098.com/ Title: 4098 Wed Nov 8 10:56:30 2006 http://www.host-4099.com/ Title: 4099 Wed Nov 8 10:58:10 2006 http://www.host-4100.com/ Title: 4100 Wed Nov 8 10:58:15 2006 http://www.host-4101.com/ Title: 4101 Wed Nov 8 10:58:35 2006 http://www.host-4102.com/ Title: 4102 Wed Nov 8 10:58:43 2006 http://host-4103.com/ Title: 4103 Wed Nov 8 11:00:10 2006 http://host-4104.com/ Title: 4104 Wed Nov 8 11:00:34 2006 http://www.host-4105.com/ Title: 4105 Wed Nov 8 11:00:36 2006 http://host-4106.com/ Title: 4106 Wed Nov 8 11:00:39 2006 http://host-4107.com/ Title: 4107 Wed Nov 8 11:00:46 2006 http://www.host-4108.com/ Title: 4108 Wed Nov 8 11:01:07 2006 http://www.host-4109.com/ Title: 4109 Wed Nov 8 11:01:16 2006 http://www.host-4110.com/ Title: 4110 Wed Nov 8 11:01:47 2006 http://host-4111.com/ Title: 4111 Wed Nov 8 11:01:49 2006 http://www.host-4112.com/ Title: 4112 Wed Nov 8 11:02:56 2006 http://host-4113.com/ Title: 4113 Wed Nov 8 11:02:58 2006 http://www.host-4114.com/ Title: 4114 Wed Nov 8 11:03:06 2006 http://host-4115.com/ Title: 4115 Wed Nov 8 12:16:36 2006 http://www.host-4116.com/ Title: 4116 Wed Nov 8 12:17:41 2006 http://www.host-4117.com/ Title: 4117 Wed Nov 8 12:18:59 2006 http://host-4118.com/ Title: 4118 Wed Nov 8 12:20:27 2006 http://www.host-4119.com/ Title: 4119 Wed Nov 8 12:23:57 2006 http://host-4120.com/ Title: 4120 Wed Nov 8 12:24:06 2006 http://www.host-4121.com/ Title: 4121 Wed Nov 8 12:25:07 2006 http://www.host-4122.com/ Title: 4122 Wed Nov 8 12:26:58 2006 http://www.host-4123.com/ Title: 4123 Wed Nov 8 12:27:08 2006 http://host-4124.com/ Title: 4124 Wed Nov 8 12:54:03 2006 http://www.host-4125.com/ Title: 4125 Wed Nov 8 12:56:50 2006 http://www.host-4126.com/ Title: 4126 Wed Nov 8 13:00:22 2006 http://www.host-4127.com/ Title: 4127 Wed Nov 8 13:07:14 2006 http://host-4128.com/ Title: 4128 Wed Nov 8 13:15:21 2006 http://www.host-4129.com/ Title: 4129 Wed Nov 8 13:15:52 2006 http://host-4130.com/ Title: 4130 Wed Nov 8 13:34:51 2006 http://host-4131.com/ Title: 4131 Wed Nov 8 13:35:05 2006 http://www.host-4132.com/ Title: 4132 Wed Nov 8 13:35:14 2006 http://www.host-4133.com/ Title: 4133 Wed Nov 8 14:49:22 2006 http://host-4134.com/ Title: 4134 Wed Nov 8 14:50:00 2006 http://host-4135.com/ Title: 4135 Wed Nov 8 14:54:08 2006 http://host-4136.com/ Title: 4136 Wed Nov 8 16:46:07 2006 http://www.host-4137.com/ Title: 4137 Wed Nov 8 16:46:11 2006 http://host-4138.com/ Title: 4138 Wed Nov 8 16:46:21 2006 http://www.host-4139.com/ Title: 4139 Wed Nov 8 16:46:24 2006 http://host-4140.com/ Title: 4140 Wed Nov 8 18:09:27 2006 http://host-4141.com/ Title: 4141 Wed Nov 8 18:10:15 2006 http://host-4142.com/ Title: 4142 Wed Nov 8 18:10:19 2006 http://host-4143.com/ Title: 4143 Wed Nov 8 18:10:58 2006 http://www.host-4144.com/ Title: 4144 Wed Nov 8 18:11:02 2006 http://host-4145.com/ Title: 4145 Thu Nov 9 10:42:52 2006 http://www.host-4146.com/ Title: 4146 Thu Nov 9 10:50:38 2006 http://www.host-4147.com/ Title: 4147 Thu Nov 9 12:13:38 2006 http://www.host-4148.com/ Title: 4148 Thu Nov 9 12:13:44 2006 http://host-4149.com/ Title: 4149 Thu Nov 9 13:19:47 2006 http://host-4150.com/ Title: 4150 Thu Nov 9 13:20:33 2006 http://www.host-4151.com/ Title: 4151 Thu Nov 9 13:20:40 2006 http://host-4152.com/ Title: 4152 Thu Nov 9 13:20:44 2006 http://host-4153.com/ Title: 4153 Thu Nov 9 13:20:49 2006 http://www.host-4154.com/ Title: 4154 Thu Nov 9 13:20:56 2006 http://www.host-4155.com/ Title: 4155 Thu Nov 9 13:21:26 2006 http://www.host-4156.com/ Title: 4156 Thu Nov 9 14:32:56 2006 http://www.host-4157.com/ Title: 4157 Thu Nov 9 15:00:06 2006 http://www.host-4158.com/ Title: 4158 Thu Nov 9 15:00:06 2006 http://host-4159.com/ Title: 4159 Thu Nov 9 15:00:18 2006 http://host-4160.com/ Title: 4160 Thu Nov 9 15:00:24 2006 http://host-4161.com/ Title: 4161 Thu Nov 9 15:00:49 2006 http://www.host-4162.com/ Title: 4162 Thu Nov 9 15:00:56 2006 http://www.host-4163.com/ Title: 4163 Thu Nov 9 15:00:59 2006 http://www.host-4164.com/ Title: 4164 Thu Nov 9 15:17:22 2006 http://www.host-4165.com/ Title: 4165 Thu Nov 9 15:17:23 2006 http://www.host-4166.com/ Title: 4166 Fri Nov 10 11:03:28 2006 http://www.host-4167.com/ Title: 4167 Fri Nov 10 11:03:32 2006 http://host-4168.com/ Title: 4168 Fri Nov 10 11:04:02 2006 http://host-4169.com/ Title: 4169 Fri Nov 10 11:04:35 2006 http://host-4170.com/ Title: 4170 Fri Nov 10 11:04:52 2006 http://www.host-4171.com/ Title: 4171 Fri Nov 10 11:06:38 2006 http://host-4172.com/ Title: 4172 Fri Nov 10 11:06:41 2006 http://host-4173.com/ Title: 4173 Fri Nov 10 11:06:45 2006 http://www.host-4174.com/ Title: 4174 Fri Nov 10 11:06:48 2006 http://host-4175.com/ Title: 4175 Fri Nov 10 11:06:55 2006 http://www.host-4176.com/ Title: 4176 Fri Nov 10 11:08:11 2006 http://www.host-4177.com/ Title: 4177 Fri Nov 10 11:14:37 2006 http://host-4178.com/ Title: 4178 Fri Nov 10 11:16:47 2006 http://host-4179.com/ Title: 4179 Fri Nov 10 11:22:35 2006 http://host-4180.com/ Title: 4180 Fri Nov 10 11:22:40 2006 http://www.host-4181.com/ Title: 4181 Fri Nov 10 11:22:47 2006 http://www.host-4182.com/ Title: 4182 Fri Nov 10 11:24:25 2006 http://www.host-4183.com/ Title: 4183 Fri Nov 10 11:25:24 2006 http://www.host-4184.com/ Title: 4184 Fri Nov 10 11:25:33 2006 http://www.host-4185.com/ Title: 4185 Fri Nov 10 11:31:46 2006 http://www.host-4186.com/ Title: 4186 Fri Nov 10 11:31:56 2006 http://www.host-4187.com/ Title: 4187 Fri Nov 10 13:07:30 2006 http://host-4188.com/ Title: 4188 Fri Nov 10 13:07:32 2006 http://host-4189.com/ Title: 4189 Fri Nov 10 13:07:35 2006 http://www.host-4190.com/ Title: 4190 Fri Nov 10 13:07:39 2006 http://www.host-4191.com/ Title: 4191 Fri Nov 10 13:07:43 2006 http://www.host-4192.com/ Title: 4192 Fri Nov 10 13:07:48 2006 http://www.host-4193.com/ Title: 4193 Fri Nov 10 13:12:01 2006 http://host-4194.com/ Title: 4194 Fri Nov 10 13:30:02 2006 http://www.host-4195.com/ Title: 4195 Fri Nov 10 13:45:29 2006 http://www.host-4196.com/ Title: 4196 Fri Nov 10 13:45:34 2006 http://host-4197.com/ Title: 4197 Fri Nov 10 14:06:58 2006 http://www.host-4198.com/ Title: 4198 Fri Nov 10 14:07:02 2006 http://www.host-4199.com/ Title: 4199 Fri Nov 10 14:13:26 2006 http://host-4200.com/ Title: 4200 Fri Nov 10 14:13:39 2006 http://www.host-4201.com/ Title: 4201 Fri Nov 10 14:13:40 2006 http://host-4202.com/ Title: 4202 Fri Nov 10 14:13:41 2006 http://www.host-4203.com/ Title: 4203 Fri Nov 10 14:13:42 2006 http://www.host-4204.com/ Title: 4204 Fri Nov 10 14:27:26 2006 http://host-4205.com/ Title: 4205 Fri Nov 10 14:27:29 2006 http://www.host-4206.com/ Title: 4206 Fri Nov 10 14:31:56 2006 http://www.host-4207.com/ Title: 4207 Fri Nov 10 14:32:01 2006 http://host-4208.com/ Title: 4208 Fri Nov 10 14:32:05 2006 http://host-4209.com/ Title: 4209 Fri Nov 10 15:09:48 2006 http://www.host-4210.com/ Title: 4210 Fri Nov 10 15:09:52 2006 http://www.host-4211.com/ Title: 4211 Fri Nov 10 15:10:00 2006 http://host-4212.com/ Title: 4212 Fri Nov 10 15:10:02 2006 http://host-4213.com/ Title: 4213 Fri Nov 10 15:49:03 2006 http://host-4214.com/ Title: 4214 Fri Nov 10 15:49:14 2006 http://host-4215.com/ Title: 4215 Fri Nov 10 17:34:18 2006 http://host-4216.com/ Title: 4216 Fri Nov 10 17:34:54 2006 http://www.host-4217.com/ Title: 4217 Fri Nov 10 17:35:27 2006 http://host-4218.com/ Title: 4218 Fri Nov 10 17:35:30 2006 http://host-4219.com/ Title: 4219 Fri Nov 10 17:35:32 2006 http://host-4220.com/ Title: 4220 Fri Nov 10 17:53:16 2006 http://www.host-4221.com/ Title: 4221 Fri Nov 10 17:53:24 2006 http://www.host-4222.com/ Title: 4222 Fri Nov 10 17:56:12 2006 http://host-4223.com/ Title: 4223 Fri Nov 10 17:56:30 2006 http://host-4224.com/ Title: 4224 Fri Nov 10 17:56:59 2006 http://host-4225.com/ Title: 4225 Fri Nov 10 17:57:26 2006 http://www.host-4226.com/ Title: 4226 Fri Nov 10 17:57:33 2006 http://host-4227.com/ Title: 4227 Fri Nov 10 17:59:25 2006 http://www.host-4228.com/ Title: 4228 Fri Nov 10 17:59:31 2006 http://host-4229.com/ Title: 4229 Fri Nov 10 17:59:48 2006 http://host-4230.com/ Title: 4230 Fri Nov 10 17:59:52 2006 http://host-4231.com/ Title: 4231 Fri Nov 10 17:59:56 2006 http://host-4232.com/ Title: 4232 Fri Nov 10 18:00:04 2006 http://host-4233.com/ Title: 4233 Fri Nov 10 18:00:29 2006 http://www.host-4234.com/ Title: 4234 Fri Nov 10 18:00:32 2006 http://host-4235.com/ Title: 4235 Fri Nov 10 18:00:36 2006 http://www.host-4236.com/ Title: 4236 Fri Nov 10 18:00:39 2006 http://www.host-4237.com/ Title: 4237 Fri Nov 10 18:00:42 2006 http://www.host-4238.com/ Title: 4238 Fri Nov 10 18:00:45 2006 http://host-4239.com/ Title: 4239 Fri Nov 10 18:00:45 2006 http://host-4240.com/ Title: 4240 Fri Nov 10 18:00:53 2006 http://host-4241.com/ Title: 4241 Fri Nov 10 18:00:57 2006 http://www.host-4242.com/ Title: 4242 Fri Nov 10 18:01:00 2006 http://www.host-4243.com/ Title: 4243 Fri Nov 10 18:01:06 2006 http://host-4244.com/ Title: 4244 Fri Nov 10 18:01:10 2006 http://host-4245.com/ Title: 4245 Fri Nov 10 18:01:24 2006 http://www.host-4246.com/ Title: 4246 Fri Nov 10 18:01:46 2006 http://host-4247.com/ Title: 4247 Fri Nov 10 18:02:28 2006 http://www.host-4248.com/ Title: 4248 Fri Nov 10 18:02:34 2006 http://host-4249.com/ Title: 4249 Fri Nov 10 18:02:38 2006 http://www.host-4250.com/ Title: 4250 Fri Nov 10 18:02:41 2006 http://host-4251.com/ Title: 4251 Fri Nov 10 18:02:43 2006 http://www.host-4252.com/ Title: 4252 Fri Nov 10 18:02:47 2006 http://www.host-4253.com/ Title: 4253 Fri Nov 10 18:02:52 2006 http://host-4254.com/ Title: 4254 Fri Nov 10 18:02:55 2006 http://www.host-4255.com/ Title: 4255 Fri Nov 10 18:02:58 2006 http://www.host-4256.com/ Title: 4256 Fri Nov 10 18:03:02 2006 http://www.host-4257.com/ Title: 4257 Fri Nov 10 18:03:05 2006 http://host-4258.com/ Title: 4258 Fri Nov 10 18:03:11 2006 http://www.host-4259.com/ Title: 4259 Fri Nov 10 18:03:14 2006 http://host-4260.com/ Title: 4260 Fri Nov 10 18:03:17 2006 http://www.host-4261.com/ Title: 4261 Fri Nov 10 18:03:22 2006 http://www.host-4262.com/ Title: 4262 Fri Nov 10 18:03:25 2006 http://www.host-4263.com/ Title: 4263 Fri Nov 10 18:03:29 2006 http://www.host-4264.com/ Title: 4264 Fri Nov 10 18:03:32 2006 http://www.host-4265.com/ Title: 4265 Fri Nov 10 18:03:38 2006 http://host-4266.com/ Title: 4266 Fri Nov 10 18:03:51 2006 http://host-4267.com/ Title: 4267 Fri Nov 10 18:04:02 2006 http://www.host-4268.com/ Title: 4268 Fri Nov 10 18:04:06 2006 http://www.host-4269.com/ Title: 4269 Fri Nov 10 18:04:10 2006 http://host-4270.com/ Title: 4270 Fri Nov 10 18:04:12 2006 http://www.host-4271.com/ Title: 4271 Fri Nov 10 18:04:41 2006 http://www.host-4272.com/ Title: 4272 Fri Nov 10 18:30:32 2006 http://www.host-4273.com/ Title: 4273 Fri Nov 10 19:37:03 2006 http://host-4274.com/ Title: 4274 Sat Nov 11 22:02:38 2006 http://host-4275.com/ Title: 4275 Sat Nov 11 22:02:41 2006 http://host-4276.com/ Title: 4276 Sat Nov 11 22:04:44 2006 http://host-4277.com/ Title: 4277 Mon Nov 13 11:00:01 2006 http://host-4278.com/ Title: 4278 Mon Nov 13 11:00:53 2006 http://www.host-4279.com/ Title: 4279 Mon Nov 13 11:00:57 2006 http://www.host-4280.com/ Title: 4280 Mon Nov 13 11:01:20 2006 http://www.host-4281.com/ Title: 4281 Mon Nov 13 11:01:28 2006 http://host-4282.com/ Title: 4282 Mon Nov 13 11:01:31 2006 http://host-4283.com/ Title: 4283 Mon Nov 13 11:01:39 2006 http://www.host-4284.com/ Title: 4284 Mon Nov 13 11:15:13 2006 http://host-4285.com/ Title: 4285 Mon Nov 13 11:18:56 2006 http://host-4286.com/ Title: 4286 Mon Nov 13 12:07:18 2006 http://www.host-4287.com/ Title: 4287 Mon Nov 13 12:08:16 2006 http://www.host-4288.com/ Title: 4288 Mon Nov 13 12:08:19 2006 http://host-4289.com/ Title: 4289 Mon Nov 13 12:12:01 2006 http://host-4290.com/ Title: 4290 Mon Nov 13 12:12:05 2006 http://host-4291.com/ Title: 4291 Mon Nov 13 12:12:15 2006 http://host-4292.com/ Title: 4292 Mon Nov 13 12:12:20 2006 http://www.host-4293.com/ Title: 4293 Mon Nov 13 12:12:21 2006 http://host-4294.com/ Title: 4294 Mon Nov 13 12:12:23 2006 http://www.host-4295.com/ Title: 4295 Mon Nov 13 12:12:26 2006 http://www.host-4296.com/ Title: 4296 Mon Nov 13 12:12:37 2006 http://host-4297.com/ Title: 4297 Mon Nov 13 12:12:48 2006 http://www.host-4298.com/ Title: 4298 Mon Nov 13 12:12:57 2006 http://www.host-4299.com/ Title: 4299 Mon Nov 13 12:13:11 2006 http://host-4300.com/ Title: 4300 Mon Nov 13 12:13:12 2006 http://www.host-4301.com/ Title: 4301 Mon Nov 13 12:13:14 2006 http://www.host-4302.com/ Title: 4302 Mon Nov 13 12:13:30 2006 http://host-4303.com/ Title: 4303 Mon Nov 13 12:23:38 2006 http://www.host-4304.com/ Title: 4304 Mon Nov 13 12:23:53 2006 http://www.host-4305.com/ Title: 4305 Mon Nov 13 12:24:20 2006 http://www.host-4306.com/ Title: 4306 Mon Nov 13 12:24:51 2006 http://www.host-4307.com/ Title: 4307 Mon Nov 13 12:25:09 2006 http://www.host-4308.com/ Title: 4308 Mon Nov 13 12:25:36 2006 http://host-4309.com/ Title: 4309 Mon Nov 13 12:25:47 2006 http://host-4310.com/ Title: 4310 Mon Nov 13 12:26:06 2006 http://host-4311.com/ Title: 4311 Mon Nov 13 12:28:31 2006 http://www.host-4312.com/ Title: 4312 Mon Nov 13 12:28:43 2006 http://host-4313.com/ Title: 4313 Mon Nov 13 12:28:56 2006 http://host-4314.com/ Title: 4314 Mon Nov 13 14:14:25 2006 http://www.host-4315.com/ Title: 4315 Mon Nov 13 14:49:35 2006 http://www.host-4316.com/ Title: 4316 Mon Nov 13 15:22:39 2006 http://host-4317.com/ Title: 4317 Mon Nov 13 15:22:44 2006 http://www.host-4318.com/ Title: 4318 Mon Nov 13 15:22:50 2006 http://host-4319.com/ Title: 4319 Mon Nov 13 15:33:26 2006 http://www.host-4320.com/ Title: 4320 Mon Nov 13 15:33:28 2006 http://host-4321.com/ Title: 4321 Mon Nov 13 15:35:41 2006 http://www.host-4322.com/ Title: 4322 Mon Nov 13 15:37:37 2006 http://host-4323.com/ Title: 4323 Mon Nov 13 16:10:49 2006 http://host-4324.com/ Title: 4324 Mon Nov 13 16:10:52 2006 http://www.host-4325.com/ Title: 4325 Mon Nov 13 16:10:59 2006 http://host-4326.com/ Title: 4326 Mon Nov 13 16:11:16 2006 http://www.host-4327.com/ Title: 4327 Mon Nov 13 16:11:36 2006 http://www.host-4328.com/ Title: 4328 Mon Nov 13 16:11:37 2006 http://www.host-4329.com/ Title: 4329 Mon Nov 13 16:44:24 2006 http://host-4330.com/ Title: 4330 Mon Nov 13 16:44:33 2006 http://www.host-4331.com/ Title: 4331 Mon Nov 13 16:44:34 2006 http://www.host-4332.com/ Title: 4332 Mon Nov 13 16:44:39 2006 http://host-4333.com/ Title: 4333 Mon Nov 13 16:48:11 2006 http://host-4334.com/ Title: 4334 Mon Nov 13 16:55:47 2006 http://host-4335.com/ Title: 4335 Mon Nov 13 16:55:47 2006 http://host-4336.com/ Title: 4336 Mon Nov 13 17:32:46 2006 http://www.host-4337.com/ Title: 4337 Mon Nov 13 17:33:00 2006 http://www.host-4338.com/ Title: 4338 Mon Nov 13 17:34:47 2006 http://host-4339.com/ Title: 4339 Mon Nov 13 17:47:39 2006 http://host-4340.com/ Title: 4340 Mon Nov 13 17:50:24 2006 http://www.host-4341.com/ Title: 4341 Mon Nov 13 17:51:39 2006 http://host-4342.com/ Title: 4342 Mon Nov 13 17:52:36 2006 http://host-4343.com/ Title: 4343 Mon Nov 13 17:52:38 2006 http://www.host-4344.com/ Title: 4344 Mon Nov 13 17:54:01 2006 http://www.host-4345.com/ Title: 4345 Mon Nov 13 17:54:52 2006 http://www.host-4346.com/ Title: 4346 Mon Nov 13 17:55:15 2006 http://www.host-4347.com/ Title: 4347 Mon Nov 13 18:08:18 2006 http://www.host-4348.com/ Title: 4348 Mon Nov 13 18:08:29 2006 http://www.host-4349.com/ Title: 4349 Mon Nov 13 18:08:58 2006 http://host-4350.com/ Title: 4350 Mon Nov 13 18:09:02 2006 http://www.host-4351.com/ Title: 4351 Mon Nov 13 18:09:54 2006 http://host-4352.com/ Title: 4352 Mon Nov 13 18:10:02 2006 http://www.host-4353.com/ Title: 4353 Mon Nov 13 18:12:06 2006 http://host-4354.com/ Title: 4354 Mon Nov 13 18:12:08 2006 http://www.host-4355.com/ Title: 4355 Mon Nov 13 18:12:34 2006 http://www.host-4356.com/ Title: 4356 Tue Nov 14 11:12:27 2006 http://host-4357.com/ Title: 4357 Tue Nov 14 11:20:54 2006 http://host-4358.com/ Title: 4358 Tue Nov 14 11:24:34 2006 http://www.host-4359.com/ Title: 4359 Tue Nov 14 11:25:05 2006 http://www.host-4360.com/ Title: 4360 Tue Nov 14 11:33:28 2006 http://host-4361.com/ Title: 4361 Tue Nov 14 11:33:43 2006 http://host-4362.com/ Title: 4362 Tue Nov 14 11:33:59 2006 http://www.host-4363.com/ Title: 4363 Tue Nov 14 11:39:01 2006 http://www.host-4364.com/ Title: 4364 Tue Nov 14 11:40:07 2006 http://host-4365.com/ Title: 4365 Tue Nov 14 11:44:35 2006 http://www.host-4366.com/ Title: 4366 Tue Nov 14 11:44:37 2006 http://host-4367.com/ Title: 4367 Tue Nov 14 11:44:38 2006 http://host-4368.com/ Title: 4368 Tue Nov 14 11:45:11 2006 http://host-4369.com/ Title: 4369 Tue Nov 14 11:45:13 2006 http://host-4370.com/ Title: 4370 Tue Nov 14 11:45:34 2006 http://www.host-4371.com/ Title: 4371 Tue Nov 14 11:47:10 2006 http://www.host-4372.com/ Title: 4372 Tue Nov 14 11:48:21 2006 http://host-4373.com/ Title: 4373 Tue Nov 14 11:50:10 2006 http://www.host-4374.com/ Title: 4374 Tue Nov 14 11:50:13 2006 http://host-4375.com/ Title: 4375 Tue Nov 14 12:01:13 2006 http://www.host-4376.com/ Title: 4376 Tue Nov 14 15:32:16 2006 http://www.host-4377.com/ Title: 4377 Tue Nov 14 15:33:14 2006 http://www.host-4378.com/ Title: 4378 Tue Nov 14 17:03:37 2006 http://www.host-4379.com/ Title: 4379 Tue Nov 14 17:03:40 2006 http://www.host-4380.com/ Title: 4380 Tue Nov 14 17:03:43 2006 http://www.host-4381.com/ Title: 4381 Tue Nov 14 17:03:44 2006 http://www.host-4382.com/ Title: 4382 Tue Nov 14 17:03:51 2006 http://www.host-4383.com/ Title: 4383 Tue Nov 14 17:04:05 2006 http://www.host-4384.com/ Title: 4384 Tue Nov 14 17:04:24 2006 http://www.host-4385.com/ Title: 4385 Tue Nov 14 17:04:26 2006 http://www.host-4386.com/ Title: 4386 Tue Nov 14 17:05:08 2006 http://host-4387.com/ Title: 4387 Tue Nov 14 17:05:48 2006 http://www.host-4388.com/ Title: 4388 Tue Nov 14 17:05:51 2006 http://host-4389.com/ Title: 4389 Tue Nov 14 17:06:07 2006 http://www.host-4390.com/ Title: 4390 Tue Nov 14 17:06:17 2006 http://www.host-4391.com/ Title: 4391 Tue Nov 14 17:06:23 2006 http://www.host-4392.com/ Title: 4392 Tue Nov 14 17:06:48 2006 http://www.host-4393.com/ Title: 4393 Tue Nov 14 17:07:02 2006 http://host-4394.com/ Title: 4394 Tue Nov 14 17:07:05 2006 http://www.host-4395.com/ Title: 4395 Tue Nov 14 17:07:07 2006 http://host-4396.com/ Title: 4396 Tue Nov 14 17:38:10 2006 http://www.host-4397.com/ Title: 4397 Wed Nov 15 12:01:32 2006 http://www.host-4398.com/ Title: 4398 Wed Nov 15 12:02:10 2006 http://www.host-4399.com/ Title: 4399 Wed Nov 15 12:03:07 2006 http://host-4400.com/ Title: 4400 Wed Nov 15 12:03:09 2006 http://host-4401.com/ Title: 4401 Wed Nov 15 12:03:10 2006 http://host-4402.com/ Title: 4402 Wed Nov 15 12:03:56 2006 http://www.host-4403.com/ Title: 4403 Wed Nov 15 12:04:12 2006 http://host-4404.com/ Title: 4404 Wed Nov 15 12:08:21 2006 http://www.host-4405.com/ Title: 4405 Wed Nov 15 12:10:30 2006 http://host-4406.com/ Title: 4406 Wed Nov 15 12:13:30 2006 http://host-4407.com/ Title: 4407 Wed Nov 15 12:24:12 2006 http://host-4408.com/ Title: 4408 Wed Nov 15 15:09:27 2006 http://host-4409.com/ Title: 4409 Wed Nov 15 16:38:04 2006 http://www.host-4410.com/ Title: 4410 Wed Nov 15 16:38:08 2006 http://www.host-4411.com/ Title: 4411 Wed Nov 15 18:36:55 2006 http://host-4412.com/ Title: 4412 Wed Nov 15 18:39:39 2006 http://host-4413.com/ Title: 4413 Thu Nov 16 11:09:34 2006 http://host-4414.com/ Title: 4414 Thu Nov 16 11:15:33 2006 http://www.host-4415.com/ Title: 4415 Thu Nov 16 11:16:05 2006 http://host-4416.com/ Title: 4416 Thu Nov 16 11:16:07 2006 http://www.host-4417.com/ Title: 4417 Thu Nov 16 11:16:15 2006 http://www.host-4418.com/ Title: 4418 Thu Nov 16 11:16:20 2006 http://host-4419.com/ Title: 4419 Thu Nov 16 11:21:11 2006 http://www.host-4420.com/ Title: 4420 Thu Nov 16 11:21:15 2006 http://www.host-4421.com/ Title: 4421 Thu Nov 16 11:23:55 2006 http://www.host-4422.com/ Title: 4422 Thu Nov 16 11:35:01 2006 http://host-4423.com/ Title: 4423 Thu Nov 16 11:37:28 2006 http://www.host-4424.com/ Title: 4424 Thu Nov 16 11:37:37 2006 http://host-4425.com/ Title: 4425 Thu Nov 16 11:37:38 2006 http://host-4426.com/ Title: 4426 Thu Nov 16 11:38:03 2006 http://host-4427.com/ Title: 4427 Thu Nov 16 11:38:05 2006 http://host-4428.com/ Title: 4428 Thu Nov 16 11:38:07 2006 http://www.host-4429.com/ Title: 4429 Thu Nov 16 11:38:15 2006 http://www.host-4430.com/ Title: 4430 Thu Nov 16 11:38:18 2006 http://host-4431.com/ Title: 4431 Thu Nov 16 11:38:19 2006 http://host-4432.com/ Title: 4432 Thu Nov 16 11:38:21 2006 http://www.host-4433.com/ Title: 4433 Thu Nov 16 11:40:12 2006 http://www.host-4434.com/ Title: 4434 Thu Nov 16 11:45:42 2006 http://host-4435.com/ Title: 4435 Thu Nov 16 11:46:20 2006 http://host-4436.com/ Title: 4436 Thu Nov 16 11:46:24 2006 http://www.host-4437.com/ Title: 4437 Thu Nov 16 11:51:05 2006 http://host-4438.com/ Title: 4438 Thu Nov 16 11:51:23 2006 http://host-4439.com/ Title: 4439 Thu Nov 16 11:52:16 2006 http://host-4440.com/ Title: 4440 Thu Nov 16 11:52:46 2006 http://host-4441.com/ Title: 4441 Thu Nov 16 11:52:47 2006 http://www.host-4442.com/ Title: 4442 Thu Nov 16 11:52:47 2006 http://host-4443.com/ Title: 4443 Thu Nov 16 11:53:32 2006 http://www.host-4444.com/ Title: 4444 Thu Nov 16 11:53:47 2006 http://host-4445.com/ Title: 4445 Thu Nov 16 11:53:50 2006 http://host-4446.com/ Title: 4446 Thu Nov 16 11:53:55 2006 http://host-4447.com/ Title: 4447 Thu Nov 16 11:53:57 2006 http://host-4448.com/ Title: 4448 Thu Nov 16 11:54:04 2006 http://host-4449.com/ Title: 4449 Thu Nov 16 11:54:51 2006 http://host-4450.com/ Title: 4450 Thu Nov 16 11:55:10 2006 http://www.host-4451.com/ Title: 4451 Thu Nov 16 11:55:33 2006 http://www.host-4452.com/ Title: 4452 Thu Nov 16 11:55:37 2006 http://host-4453.com/ Title: 4453 Thu Nov 16 11:56:35 2006 http://www.host-4454.com/ Title: 4454 Thu Nov 16 11:56:58 2006 http://host-4455.com/ Title: 4455 Thu Nov 16 11:57:12 2006 http://www.host-4456.com/ Title: 4456 Thu Nov 16 11:57:47 2006 http://www.host-4457.com/ Title: 4457 Thu Nov 16 11:57:51 2006 http://host-4458.com/ Title: 4458 Thu Nov 16 11:57:57 2006 http://www.host-4459.com/ Title: 4459 Thu Nov 16 11:58:26 2006 http://host-4460.com/ Title: 4460 Thu Nov 16 11:58:39 2006 http://www.host-4461.com/ Title: 4461 Thu Nov 16 12:00:22 2006 http://www.host-4462.com/ Title: 4462 Thu Nov 16 12:00:44 2006 http://host-4463.com/ Title: 4463 Thu Nov 16 12:03:06 2006 http://www.host-4464.com/ Title: 4464 Thu Nov 16 12:03:12 2006 http://host-4465.com/ Title: 4465 Thu Nov 16 12:03:20 2006 http://www.host-4466.com/ Title: 4466 Thu Nov 16 12:05:12 2006 http://host-4467.com/ Title: 4467 Thu Nov 16 12:05:36 2006 http://www.host-4468.com/ Title: 4468 Thu Nov 16 12:05:53 2006 http://www.host-4469.com/ Title: 4469 Thu Nov 16 12:06:16 2006 http://host-4470.com/ Title: 4470 Thu Nov 16 12:06:26 2006 http://host-4471.com/ Title: 4471 Thu Nov 16 12:06:30 2006 http://www.host-4472.com/ Title: 4472 Thu Nov 16 12:09:26 2006 http://host-4473.com/ Title: 4473 Thu Nov 16 12:09:28 2006 http://host-4474.com/ Title: 4474 Thu Nov 16 12:34:04 2006 http://www.host-4475.com/ Title: 4475 Thu Nov 16 12:34:32 2006 http://www.host-4476.com/ Title: 4476 Thu Nov 16 12:34:35 2006 http://host-4477.com/ Title: 4477 Thu Nov 16 12:34:49 2006 http://www.host-4478.com/ Title: 4478 Thu Nov 16 12:35:16 2006 http://www.host-4479.com/ Title: 4479 Thu Nov 16 12:35:56 2006 http://host-4480.com/ Title: 4480 Thu Nov 16 12:35:59 2006 http://host-4481.com/ Title: 4481 Thu Nov 16 13:35:39 2006 http://www.host-4482.com/ Title: 4482 Thu Nov 16 13:36:46 2006 http://www.host-4483.com/ Title: 4483 Thu Nov 16 13:43:16 2006 http://www.host-4484.com/ Title: 4484 Thu Nov 16 13:43:23 2006 http://host-4485.com/ Title: 4485 Thu Nov 16 13:46:56 2006 http://www.host-4486.com/ Title: 4486 Thu Nov 16 13:48:07 2006 http://www.host-4487.com/ Title: 4487 Thu Nov 16 14:00:34 2006 http://www.host-4488.com/ Title: 4488 Thu Nov 16 14:00:50 2006 http://www.host-4489.com/ Title: 4489 Thu Nov 16 14:03:07 2006 http://www.host-4490.com/ Title: 4490 Thu Nov 16 14:05:42 2006 http://www.host-4491.com/ Title: 4491 Thu Nov 16 14:05:48 2006 http://host-4492.com/ Title: 4492 Thu Nov 16 14:19:21 2006 http://www.host-4493.com/ Title: 4493 Thu Nov 16 14:29:44 2006 http://www.host-4494.com/ Title: 4494 Thu Nov 16 14:38:26 2006 http://www.host-4495.com/ Title: 4495 Thu Nov 16 14:38:48 2006 http://host-4496.com/ Title: 4496 Thu Nov 16 14:38:52 2006 http://host-4497.com/ Title: 4497 Thu Nov 16 14:39:02 2006 http://host-4498.com/ Title: 4498 Thu Nov 16 14:39:27 2006 http://www.host-4499.com/ Title: 4499 Thu Nov 16 14:42:24 2006 http://host-4500.com/ Title: 4500 Thu Nov 16 14:43:53 2006 http://host-4501.com/ Title: 4501 Thu Nov 16 14:44:08 2006 http://host-4502.com/ Title: 4502 Thu Nov 16 14:44:09 2006 http://www.host-4503.com/ Title: 4503 Thu Nov 16 14:44:45 2006 http://www.host-4504.com/ Title: 4504 Thu Nov 16 14:45:39 2006 http://www.host-4505.com/ Title: 4505 Thu Nov 16 14:46:01 2006 http://www.host-4506.com/ Title: 4506 Thu Nov 16 14:46:05 2006 http://www.host-4507.com/ Title: 4507 Thu Nov 16 14:49:09 2006 http://host-4508.com/ Title: 4508 Thu Nov 16 14:54:35 2006 http://host-4509.com/ Title: 4509 Thu Nov 16 14:54:53 2006 http://host-4510.com/ Title: 4510 Thu Nov 16 14:54:58 2006 http://www.host-4511.com/ Title: 4511 Thu Nov 16 14:55:36 2006 http://host-4512.com/ Title: 4512 Thu Nov 16 14:55:42 2006 http://host-4513.com/ Title: 4513 Thu Nov 16 14:56:29 2006 http://www.host-4514.com/ Title: 4514 Thu Nov 16 14:56:38 2006 http://www.host-4515.com/ Title: 4515 Thu Nov 16 14:58:18 2006 http://host-4516.com/ Title: 4516 Thu Nov 16 15:00:12 2006 http://host-4517.com/ Title: 4517 Thu Nov 16 15:16:40 2006 http://host-4518.com/ Title: 4518 Thu Nov 16 15:46:49 2006 http://host-4519.com/ Title: 4519 Thu Nov 16 15:52:15 2006 http://host-4520.com/ Title: 4520 Thu Nov 16 16:48:00 2006 http://host-4521.com/ Title: 4521 Thu Nov 16 16:48:07 2006 http://host-4522.com/ Title: 4522 Thu Nov 16 17:12:43 2006 http://host-4523.com/ Title: 4523 Thu Nov 16 17:12:55 2006 http://www.host-4524.com/ Title: 4524 Thu Nov 16 17:13:05 2006 http://www.host-4525.com/ Title: 4525 Thu Nov 16 17:38:30 2006 http://www.host-4526.com/ Title: 4526 Thu Nov 16 17:53:58 2006 http://host-4527.com/ Title: 4527 Thu Nov 16 17:54:08 2006 http://www.host-4528.com/ Title: 4528 Thu Nov 16 18:07:07 2006 http://host-4529.com/ Title: 4529 Thu Nov 16 18:07:47 2006 http://www.host-4530.com/ Title: 4530 Thu Nov 16 18:07:55 2006 http://www.host-4531.com/ Title: 4531 Thu Nov 16 18:08:13 2006 http://www.host-4532.com/ Title: 4532 Thu Nov 16 18:08:16 2006 http://www.host-4533.com/ Title: 4533 Thu Nov 16 18:31:18 2006 http://www.host-4534.com/ Title: 4534 Thu Nov 16 18:31:38 2006 http://www.host-4535.com/ Title: 4535 Thu Nov 16 18:31:44 2006 http://www.host-4536.com/ Title: 4536 Thu Nov 16 18:31:55 2006 http://www.host-4537.com/ Title: 4537 Thu Nov 16 18:41:35 2006 http://www.host-4538.com/ Title: 4538 Thu Nov 16 18:41:50 2006 http://www.host-4539.com/ Title: 4539 Fri Nov 17 10:29:52 2006 http://www.host-4540.com/ Title: 4540 Fri Nov 17 10:48:10 2006 http://host-4541.com/ Title: 4541 Fri Nov 17 10:48:20 2006 http://host-4542.com/ Title: 4542 Fri Nov 17 10:50:48 2006 http://www.host-4543.com/ Title: 4543 Fri Nov 17 10:50:59 2006 http://www.host-4544.com/ Title: 4544 Fri Nov 17 10:51:57 2006 http://www.host-4545.com/ Title: 4545 Fri Nov 17 12:07:52 2006 http://host-4546.com/ Title: 4546 Fri Nov 17 12:08:41 2006 http://host-4547.com/ Title: 4547 Fri Nov 17 12:40:40 2006 http://www.host-4548.com/ Title: 4548 Fri Nov 17 12:40:45 2006 http://www.host-4549.com/ Title: 4549 Fri Nov 17 12:40:54 2006 http://host-4550.com/ Title: 4550 Fri Nov 17 12:41:04 2006 http://www.host-4551.com/ Title: 4551 Fri Nov 17 12:42:57 2006 http://www.host-4552.com/ Title: 4552 Fri Nov 17 12:43:05 2006 http://www.host-4553.com/ Title: 4553 Fri Nov 17 12:43:55 2006 http://www.host-4554.com/ Title: 4554 Fri Nov 17 12:47:38 2006 http://host-4555.com/ Title: 4555 Fri Nov 17 12:47:39 2006 http://www.host-4556.com/ Title: 4556 Fri Nov 17 12:48:05 2006 http://host-4557.com/ Title: 4557 Fri Nov 17 12:48:08 2006 http://host-4558.com/ Title: 4558 Fri Nov 17 12:48:15 2006 http://www.host-4559.com/ Title: 4559 Fri Nov 17 12:59:05 2006 http://host-4560.com/ Title: 4560 Fri Nov 17 12:59:56 2006 http://host-4561.com/ Title: 4561 Fri Nov 17 12:59:57 2006 http://host-4562.com/ Title: 4562 Fri Nov 17 13:00:04 2006 http://www.host-4563.com/ Title: 4563 Fri Nov 17 13:01:56 2006 http://host-4564.com/ Title: 4564 Fri Nov 17 13:02:02 2006 http://www.host-4565.com/ Title: 4565 Fri Nov 17 13:13:56 2006 http://www.host-4566.com/ Title: 4566 Fri Nov 17 13:14:05 2006 http://www.host-4567.com/ Title: 4567 Fri Nov 17 13:19:00 2006 http://host-4568.com/ Title: 4568 Fri Nov 17 13:19:09 2006 http://host-4569.com/ Title: 4569 Fri Nov 17 13:19:19 2006 http://host-4570.com/ Title: 4570 Fri Nov 17 13:19:23 2006 http://host-4571.com/ Title: 4571 Fri Nov 17 13:19:31 2006 http://host-4572.com/ Title: 4572 Fri Nov 17 13:19:42 2006 http://host-4573.com/ Title: 4573 Fri Nov 17 13:19:50 2006 http://host-4574.com/ Title: 4574 Fri Nov 17 13:21:39 2006 http://host-4575.com/ Title: 4575 Fri Nov 17 13:28:44 2006 http://host-4576.com/ Title: 4576 Fri Nov 17 13:28:59 2006 http://host-4577.com/ Title: 4577 Fri Nov 17 13:29:37 2006 http://www.host-4578.com/ Title: 4578 Fri Nov 17 13:30:07 2006 http://host-4579.com/ Title: 4579 Fri Nov 17 13:30:14 2006 http://host-4580.com/ Title: 4580 Fri Nov 17 13:30:30 2006 http://host-4581.com/ Title: 4581 Fri Nov 17 13:30:37 2006 http://host-4582.com/ Title: 4582 Fri Nov 17 13:30:47 2006 http://host-4583.com/ Title: 4583 Fri Nov 17 13:31:05 2006 http://www.host-4584.com/ Title: 4584 Fri Nov 17 13:31:12 2006 http://www.host-4585.com/ Title: 4585 Fri Nov 17 13:33:10 2006 http://host-4586.com/ Title: 4586 Fri Nov 17 14:10:09 2006 http://www.host-4587.com/ Title: 4587 Fri Nov 17 14:10:12 2006 http://www.host-4588.com/ Title: 4588 Fri Nov 17 14:25:53 2006 http://www.host-4589.com/ Title: 4589 Fri Nov 17 14:51:00 2006 http://host-4590.com/ Title: 4590 Fri Nov 17 15:03:12 2006 http://host-4591.com/ Title: 4591 Fri Nov 17 15:03:17 2006 http://host-4592.com/ Title: 4592 Fri Nov 17 15:07:14 2006 http://www.host-4593.com/ Title: 4593 Fri Nov 17 15:07:31 2006 http://host-4594.com/ Title: 4594 Fri Nov 17 15:07:43 2006 http://www.host-4595.com/ Title: 4595 Fri Nov 17 15:08:04 2006 http://host-4596.com/ Title: 4596 Fri Nov 17 15:08:31 2006 http://host-4597.com/ Title: 4597 Fri Nov 17 15:09:02 2006 http://host-4598.com/ Title: 4598 Fri Nov 17 15:09:06 2006 http://www.host-4599.com/ Title: 4599 Fri Nov 17 15:09:32 2006 http://host-4600.com/ Title: 4600 Fri Nov 17 15:09:54 2006 http://host-4601.com/ Title: 4601 Fri Nov 17 15:10:27 2006 http://www.host-4602.com/ Title: 4602 Fri Nov 17 15:18:10 2006 http://www.host-4603.com/ Title: 4603 Fri Nov 17 15:21:51 2006 http://www.host-4604.com/ Title: 4604 Fri Nov 17 15:34:42 2006 http://www.host-4605.com/ Title: 4605 Fri Nov 17 15:54:09 2006 http://host-4606.com/ Title: 4606 Fri Nov 17 16:01:20 2006 http://host-4607.com/ Title: 4607 Fri Nov 17 16:03:38 2006 http://host-4608.com/ Title: 4608 Fri Nov 17 16:04:49 2006 http://host-4609.com/ Title: 4609 Fri Nov 17 16:25:33 2006 http://www.host-4610.com/ Title: 4610 Fri Nov 17 16:25:36 2006 http://host-4611.com/ Title: 4611 Fri Nov 17 16:25:42 2006 http://www.host-4612.com/ Title: 4612 Fri Nov 17 16:56:36 2006 http://host-4613.com/ Title: 4613 Fri Nov 17 17:05:56 2006 http://host-4614.com/ Title: 4614 Fri Nov 17 17:05:59 2006 http://www.host-4615.com/ Title: 4615 Fri Nov 17 17:06:05 2006 http://host-4616.com/ Title: 4616 Sun Nov 19 21:42:13 2006 http://host-4617.com/ Title: 4617 Sun Nov 19 21:42:19 2006 http://host-4618.com/ Title: 4618 Sun Nov 19 21:42:19 2006 http://www.host-4619.com/ Title: 4619 Sun Nov 19 21:42:21 2006 http://host-4620.com/ Title: 4620 Sun Nov 19 21:45:28 2006 http://host-4621.com/ Title: 4621 Sun Nov 19 21:57:02 2006 http://host-4622.com/ Title: 4622 Sun Nov 19 21:57:08 2006 http://www.host-4623.com/ Title: 4623 Mon Nov 20 08:43:56 2006 http://www.host-4624.com/ Title: 4624 Mon Nov 20 08:44:01 2006 http://www.host-4625.com/ Title: 4625 Mon Nov 20 08:48:03 2006 http://www.host-4626.com/ Title: 4626 Mon Nov 20 08:48:15 2006 http://www.host-4627.com/ Title: 4627 Mon Nov 20 08:50:04 2006 http://www.host-4628.com/ Title: 4628 Mon Nov 20 08:50:31 2006 http://www.host-4629.com/ Title: 4629 Mon Nov 20 08:55:36 2006 http://www.host-4630.com/ Title: 4630 Mon Nov 20 08:56:47 2006 http://www.host-4631.com/ Title: 4631 Mon Nov 20 08:56:55 2006 http://www.host-4632.com/ Title: 4632 Mon Nov 20 08:57:35 2006 http://www.host-4633.com/ Title: 4633 Mon Nov 20 08:57:38 2006 http://host-4634.com/ Title: 4634 Mon Nov 20 08:57:43 2006 http://www.host-4635.com/ Title: 4635 Mon Nov 20 08:57:47 2006 http://host-4636.com/ Title: 4636 Mon Nov 20 09:05:33 2006 http://host-4637.com/ Title: 4637 Mon Nov 20 09:24:37 2006 http://www.host-4638.com/ Title: 4638 Mon Nov 20 09:24:42 2006 http://www.host-4639.com/ Title: 4639 Mon Nov 20 09:24:46 2006 http://host-4640.com/ Title: 4640 Mon Nov 20 10:10:26 2006 http://www.host-4641.com/ Title: 4641 Mon Nov 20 10:32:49 2006 http://www.host-4642.com/ Title: 4642 Mon Nov 20 10:33:04 2006 http://www.host-4643.com/ Title: 4643 Mon Nov 20 12:47:11 2006 http://www.host-4644.com/ Title: 4644 Mon Nov 20 12:47:17 2006 http://www.host-4645.com/ Title: 4645 Mon Nov 20 12:47:26 2006 http://host-4646.com/ Title: 4646 Mon Nov 20 12:47:34 2006 http://www.host-4647.com/ Title: 4647 Mon Nov 20 13:20:35 2006 http://host-4648.com/ Title: 4648 Mon Nov 20 13:20:48 2006 http://host-4649.com/ Title: 4649 Mon Nov 20 13:32:30 2006 http://www.host-4650.com/ Title: 4650 Mon Nov 20 13:32:31 2006 http://www.host-4651.com/ Title: 4651 Mon Nov 20 13:32:35 2006 http://host-4652.com/ Title: 4652 Mon Nov 20 13:32:43 2006 http://www.host-4653.com/ Title: 4653 Mon Nov 20 13:33:18 2006 http://www.host-4654.com/ Title: 4654 Mon Nov 20 13:33:21 2006 http://www.host-4655.com/ Title: 4655 Mon Nov 20 13:33:23 2006 http://host-4656.com/ Title: 4656 Mon Nov 20 14:26:07 2006 http://www.host-4657.com/ Title: 4657 Mon Nov 20 16:17:04 2006 http://host-4658.com/ Title: 4658 Tue Nov 21 08:09:37 2006 http://host-4659.com/ Title: 4659 Tue Nov 21 08:10:02 2006 http://www.host-4660.com/ Title: 4660 Tue Nov 21 08:10:20 2006 http://host-4661.com/ Title: 4661 Tue Nov 21 08:10:26 2006 http://host-4662.com/ Title: 4662 Tue Nov 21 08:10:28 2006 http://www.host-4663.com/ Title: 4663 Tue Nov 21 08:10:31 2006 http://www.host-4664.com/ Title: 4664 Tue Nov 21 08:10:47 2006 http://host-4665.com/ Title: 4665 Tue Nov 21 08:11:52 2006 http://www.host-4666.com/ Title: 4666 Tue Nov 21 08:13:11 2006 http://www.host-4667.com/ Title: 4667 Tue Nov 21 08:14:01 2006 http://www.host-4668.com/ Title: 4668 Tue Nov 21 08:38:50 2006 http://host-4669.com/ Title: 4669 Tue Nov 21 08:45:03 2006 http://www.host-4670.com/ Title: 4670 Tue Nov 21 08:47:10 2006 http://host-4671.com/ Title: 4671 Tue Nov 21 08:47:17 2006 http://host-4672.com/ Title: 4672 Tue Nov 21 09:58:30 2006 http://www.host-4673.com/ Title: 4673 Tue Nov 21 09:58:32 2006 http://host-4674.com/ Title: 4674 Tue Nov 21 09:59:22 2006 http://www.host-4675.com/ Title: 4675 Tue Nov 21 10:13:42 2006 http://www.host-4676.com/ Title: 4676 Tue Nov 21 10:33:01 2006 http://www.host-4677.com/ Title: 4677 Tue Nov 21 10:33:03 2006 http://www.host-4678.com/ Title: 4678 Tue Nov 21 10:33:07 2006 http://host-4679.com/ Title: 4679 Tue Nov 21 10:35:56 2006 http://www.host-4680.com/ Title: 4680 Tue Nov 21 10:51:22 2006 http://www.host-4681.com/ Title: 4681 Tue Nov 21 11:07:35 2006 http://host-4682.com/ Title: 4682 Tue Nov 21 11:23:51 2006 http://www.host-4683.com/ Title: 4683 Tue Nov 21 12:05:23 2006 http://www.host-4684.com/ Title: 4684 Tue Nov 21 12:05:59 2006 http://www.host-4685.com/ Title: 4685 Tue Nov 21 12:11:13 2006 http://host-4686.com/ Title: 4686 Tue Nov 21 12:14:16 2006 http://www.host-4687.com/ Title: 4687 Tue Nov 21 13:14:42 2006 http://www.host-4688.com/ Title: 4688 Tue Nov 21 13:14:49 2006 http://host-4689.com/ Title: 4689 Tue Nov 21 13:15:02 2006 http://host-4690.com/ Title: 4690 Tue Nov 21 13:15:04 2006 http://host-4691.com/ Title: 4691 Tue Nov 21 13:17:20 2006 http://www.host-4692.com/ Title: 4692 Tue Nov 21 13:17:28 2006 http://www.host-4693.com/ Title: 4693 Tue Nov 21 13:35:02 2006 http://host-4694.com/ Title: 4694 Tue Nov 21 13:35:13 2006 http://host-4695.com/ Title: 4695 Tue Nov 21 13:35:28 2006 http://host-4696.com/ Title: 4696 Tue Nov 21 13:37:36 2006 http://host-4697.com/ Title: 4697 Tue Nov 21 14:29:53 2006 http://host-4698.com/ Title: 4698 Tue Nov 21 15:15:02 2006 http://www.host-4699.com/ Title: 4699 Tue Nov 21 15:15:12 2006 http://www.host-4700.com/ Title: 4700 Tue Nov 21 15:16:57 2006 http://host-4701.com/ Title: 4701 Tue Nov 21 15:17:05 2006 http://www.host-4702.com/ Title: 4702 Tue Nov 21 15:17:19 2006 http://host-4703.com/ Title: 4703 Tue Nov 21 15:43:17 2006 http://host-4704.com/ Title: 4704 Tue Nov 21 15:43:21 2006 http://www.host-4705.com/ Title: 4705 Wed Nov 22 09:03:41 2006 http://host-4706.com/ Title: 4706 Wed Nov 22 09:03:42 2006 http://host-4707.com/ Title: 4707 Wed Nov 22 09:03:43 2006 http://www.host-4708.com/ Title: 4708 Wed Nov 22 09:11:39 2006 http://host-4709.com/ Title: 4709 Wed Nov 22 09:12:50 2006 http://host-4710.com/ Title: 4710 Wed Nov 22 09:13:05 2006 http://www.host-4711.com/ Title: 4711 Wed Nov 22 09:17:37 2006 http://host-4712.com/ Title: 4712 Wed Nov 22 09:17:38 2006 http://www.host-4713.com/ Title: 4713 Wed Nov 22 09:17:43 2006 http://host-4714.com/ Title: 4714 Wed Nov 22 09:18:47 2006 http://host-4715.com/ Title: 4715 Wed Nov 22 09:18:49 2006 http://host-4716.com/ Title: 4716 Wed Nov 22 09:18:54 2006 http://host-4717.com/ Title: 4717 Wed Nov 22 09:18:57 2006 http://host-4718.com/ Title: 4718 Wed Nov 22 09:19:10 2006 http://host-4719.com/ Title: 4719 Wed Nov 22 09:19:46 2006 http://host-4720.com/ Title: 4720 Wed Nov 22 09:19:52 2006 http://www.host-4721.com/ Title: 4721 Wed Nov 22 09:20:19 2006 http://www.host-4722.com/ Title: 4722 Wed Nov 22 09:20:24 2006 http://host-4723.com/ Title: 4723 Wed Nov 22 09:20:31 2006 http://host-4724.com/ Title: 4724 Wed Nov 22 09:20:56 2006 http://www.host-4725.com/ Title: 4725 Wed Nov 22 09:21:46 2006 http://host-4726.com/ Title: 4726 Wed Nov 22 09:23:59 2006 http://host-4727.com/ Title: 4727 Wed Nov 22 09:24:10 2006 http://host-4728.com/ Title: 4728 Wed Nov 22 09:24:17 2006 http://host-4729.com/ Title: 4729 Wed Nov 22 09:25:07 2006 http://www.host-4730.com/ Title: 4730 Wed Nov 22 09:30:51 2006 http://host-4731.com/ Title: 4731 Wed Nov 22 09:37:24 2006 http://www.host-4732.com/ Title: 4732 Wed Nov 22 09:37:57 2006 http://www.host-4733.com/ Title: 4733 Wed Nov 22 09:38:36 2006 http://host-4734.com/ Title: 4734 Wed Nov 22 09:38:44 2006 http://www.host-4735.com/ Title: 4735 Wed Nov 22 09:38:45 2006 http://host-4736.com/ Title: 4736 Wed Nov 22 09:38:46 2006 http://host-4737.com/ Title: 4737 Wed Nov 22 10:01:43 2006 http://host-4738.com/ Title: 4738 Wed Nov 22 10:04:42 2006 http://www.host-4739.com/ Title: 4739 Wed Nov 22 10:04:46 2006 http://www.host-4740.com/ Title: 4740 Wed Nov 22 10:04:52 2006 http://www.host-4741.com/ Title: 4741 Wed Nov 22 10:18:27 2006 http://www.host-4742.com/ Title: 4742 Wed Nov 22 10:33:06 2006 http://host-4743.com/ Title: 4743 Wed Nov 22 10:33:47 2006 http://host-4744.com/ Title: 4744 Wed Nov 22 10:39:46 2006 http://host-4745.com/ Title: 4745 Wed Nov 22 10:39:51 2006 http://host-4746.com/ Title: 4746 Wed Nov 22 10:40:05 2006 http://www.host-4747.com/ Title: 4747 Wed Nov 22 10:40:08 2006 http://host-4748.com/ Title: 4748 Wed Nov 22 10:40:16 2006 http://host-4749.com/ Title: 4749 Wed Nov 22 10:40:45 2006 http://www.host-4750.com/ Title: 4750 Wed Nov 22 10:40:55 2006 http://www.host-4751.com/ Title: 4751 Wed Nov 22 10:57:47 2006 http://www.host-4752.com/ Title: 4752 Wed Nov 22 10:58:42 2006 http://host-4753.com/ Title: 4753 Wed Nov 22 11:28:44 2006 http://host-4754.com/ Title: 4754 Wed Nov 22 11:28:49 2006 http://host-4755.com/ Title: 4755 Wed Nov 22 11:28:52 2006 http://host-4756.com/ Title: 4756 Wed Nov 22 12:43:13 2006 http://host-4757.com/ Title: 4757 Wed Nov 22 12:44:06 2006 http://host-4758.com/ Title: 4758 Wed Nov 22 13:46:20 2006 http://host-4759.com/ Title: 4759 Wed Nov 22 13:46:57 2006 http://www.host-4760.com/ Title: 4760 Wed Nov 22 13:47:04 2006 http://host-4761.com/ Title: 4761 Wed Nov 22 14:48:33 2006 http://www.host-4762.com/ Title: 4762 Wed Nov 22 14:48:49 2006 http://host-4763.com/ Title: 4763 Wed Nov 22 14:48:58 2006 http://www.host-4764.com/ Title: 4764 Wed Nov 22 14:49:01 2006 http://host-4765.com/ Title: 4765 Wed Nov 22 14:49:08 2006 http://host-4766.com/ Title: 4766 Wed Nov 22 14:49:12 2006 http://www.host-4767.com/ Title: 4767 Wed Nov 22 14:49:42 2006 http://host-4768.com/ Title: 4768 Wed Nov 22 14:49:56 2006 http://www.host-4769.com/ Title: 4769 Wed Nov 22 14:50:44 2006 http://host-4770.com/ Title: 4770 Wed Nov 22 14:53:39 2006 http://www.host-4771.com/ Title: 4771 Wed Nov 22 14:53:52 2006 http://host-4772.com/ Title: 4772 Wed Nov 22 14:54:04 2006 http://host-4773.com/ Title: 4773 Wed Nov 22 14:54:08 2006 http://www.host-4774.com/ Title: 4774 Wed Nov 22 15:04:07 2006 http://www.host-4775.com/ Title: 4775 Wed Nov 22 16:56:07 2006 http://host-4776.com/ Title: 4776 Wed Nov 22 16:56:15 2006 http://host-4777.com/ Title: 4777 Wed Nov 22 16:56:30 2006 http://www.host-4778.com/ Title: 4778 Wed Nov 22 16:56:36 2006 http://host-4779.com/ Title: 4779 Wed Nov 22 16:56:43 2006 http://www.host-4780.com/ Title: 4780 Wed Nov 22 16:56:49 2006 http://www.host-4781.com/ Title: 4781 Wed Nov 22 16:56:50 2006 http://host-4782.com/ Title: 4782 Wed Nov 22 16:56:55 2006 http://www.host-4783.com/ Title: 4783 Wed Nov 22 16:57:29 2006 http://host-4784.com/ Title: 4784 Wed Nov 22 16:57:36 2006 http://www.host-4785.com/ Title: 4785 Wed Nov 22 16:57:40 2006 http://www.host-4786.com/ Title: 4786 Wed Nov 22 16:57:45 2006 http://host-4787.com/ Title: 4787 Wed Nov 22 16:58:20 2006 http://www.host-4788.com/ Title: 4788 Wed Nov 22 17:08:29 2006 http://www.host-4789.com/ Title: 4789 Wed Nov 22 17:08:46 2006 http://www.host-4790.com/ Title: 4790 Wed Nov 22 18:26:55 2006 http://host-4791.com/ Title: 4791 Thu Nov 23 11:09:47 2006 http://www.host-4792.com/ Title: 4792 Thu Nov 23 11:09:48 2006 http://host-4793.com/ Title: 4793 Thu Nov 23 11:10:12 2006 http://host-4794.com/ Title: 4794 Thu Nov 23 11:11:07 2006 http://host-4795.com/ Title: 4795 Thu Nov 23 11:30:21 2006 http://www.host-4796.com/ Title: 4796 Thu Nov 23 11:31:50 2006 http://www.host-4797.com/ Title: 4797 Thu Nov 23 11:31:52 2006 http://host-4798.com/ Title: 4798 Thu Nov 23 11:32:13 2006 http://www.host-4799.com/ Title: 4799 Thu Nov 23 11:34:14 2006 http://www.host-4800.com/ Title: 4800 Thu Nov 23 11:46:27 2006 http://www.host-4801.com/ Title: 4801 Thu Nov 23 12:58:10 2006 http://host-4802.com/ Title: 4802 Thu Nov 23 15:14:39 2006 http://www.host-4803.com/ Title: 4803 Thu Nov 23 15:37:22 2006 http://www.host-4804.com/ Title: 4804 Thu Nov 23 16:52:38 2006 http://www.host-4805.com/ Title: 4805 Thu Nov 23 16:52:49 2006 http://host-4806.com/ Title: 4806 Thu Nov 23 16:53:02 2006 http://host-4807.com/ Title: 4807 Thu Nov 23 16:53:45 2006 http://host-4808.com/ Title: 4808 Thu Nov 23 16:53:50 2006 http://host-4809.com/ Title: 4809 Thu Nov 23 16:53:57 2006 http://www.host-4810.com/ Title: 4810 Thu Nov 23 16:54:08 2006 http://host-4811.com/ Title: 4811 Thu Nov 23 16:54:18 2006 http://www.host-4812.com/ Title: 4812 Thu Nov 23 16:54:30 2006 http://www.host-4813.com/ Title: 4813 Thu Nov 23 16:54:35 2006 http://www.host-4814.com/ Title: 4814 Thu Nov 23 16:55:04 2006 http://www.host-4815.com/ Title: 4815 Thu Nov 23 16:55:11 2006 http://www.host-4816.com/ Title: 4816 Thu Nov 23 16:55:11 2006 http://host-4817.com/ Title: 4817 Thu Nov 23 16:55:36 2006 http://host-4818.com/ Title: 4818 Thu Nov 23 16:55:41 2006 http://www.host-4819.com/ Title: 4819 Thu Nov 23 16:55:42 2006 http://host-4820.com/ Title: 4820 Thu Nov 23 16:55:48 2006 http://host-4821.com/ Title: 4821 Thu Nov 23 17:42:19 2006 http://host-4822.com/ Title: 4822 Thu Nov 23 17:42:31 2006 http://www.host-4823.com/ Title: 4823 Thu Nov 23 17:42:32 2006 http://host-4824.com/ Title: 4824 Thu Nov 23 17:42:51 2006 http://www.host-4825.com/ Title: 4825 Thu Nov 23 17:42:53 2006 http://www.host-4826.com/ Title: 4826 Thu Nov 23 20:14:28 2006 http://www.host-4827.com/ Title: 4827 Thu Nov 23 20:14:32 2006 http://www.host-4828.com/ Title: 4828 Thu Nov 23 20:14:34 2006 http://host-4829.com/ Title: 4829 Thu Nov 23 20:14:35 2006 http://www.host-4830.com/ Title: 4830 Thu Nov 23 20:14:47 2006 http://www.host-4831.com/ Title: 4831 Thu Nov 23 20:15:00 2006 http://www.host-4832.com/ Title: 4832 Thu Nov 23 20:16:58 2006 http://www.host-4833.com/ Title: 4833 Thu Nov 23 20:17:02 2006 http://host-4834.com/ Title: 4834 Thu Nov 23 20:18:24 2006 http://www.host-4835.com/ Title: 4835 Thu Nov 23 20:18:25 2006 http://host-4836.com/ Title: 4836 Thu Nov 23 20:21:07 2006 http://host-4837.com/ Title: 4837 Thu Nov 23 20:21:14 2006 http://www.host-4838.com/ Title: 4838 Thu Nov 23 20:21:16 2006 http://host-4839.com/ Title: 4839 Thu Nov 23 20:22:08 2006 http://host-4840.com/ Title: 4840 Thu Nov 23 20:22:13 2006 http://www.host-4841.com/ Title: 4841 Thu Nov 23 20:22:14 2006 http://host-4842.com/ Title: 4842 Thu Nov 23 20:22:25 2006 http://www.host-4843.com/ Title: 4843 Thu Nov 23 20:22:39 2006 http://www.host-4844.com/ Title: 4844 Thu Nov 23 20:22:43 2006 http://host-4845.com/ Title: 4845 Thu Nov 23 20:23:03 2006 http://host-4846.com/ Title: 4846 Thu Nov 23 20:23:06 2006 http://host-4847.com/ Title: 4847 Thu Nov 23 20:23:28 2006 http://host-4848.com/ Title: 4848 Thu Nov 23 20:23:46 2006 http://www.host-4849.com/ Title: 4849 Thu Nov 23 20:24:54 2006 http://www.host-4850.com/ Title: 4850 Thu Nov 23 20:25:33 2006 http://www.host-4851.com/ Title: 4851 Thu Nov 23 20:25:46 2006 http://www.host-4852.com/ Title: 4852 Thu Nov 23 20:25:50 2006 http://www.host-4853.com/ Title: 4853 Thu Nov 23 20:26:00 2006 http://host-4854.com/ Title: 4854 Thu Nov 23 20:26:06 2006 http://host-4855.com/ Title: 4855 Thu Nov 23 20:26:09 2006 http://host-4856.com/ Title: 4856 Thu Nov 23 20:26:14 2006 http://host-4857.com/ Title: 4857 Thu Nov 23 20:29:00 2006 http://www.host-4858.com/ Title: 4858 Thu Nov 23 20:29:17 2006 http://www.host-4859.com/ Title: 4859 Thu Nov 23 20:29:26 2006 http://www.host-4860.com/ Title: 4860 Thu Nov 23 20:30:02 2006 http://www.host-4861.com/ Title: 4861 Thu Nov 23 20:30:12 2006 http://host-4862.com/ Title: 4862 Thu Nov 23 20:31:29 2006 http://host-4863.com/ Title: 4863 Thu Nov 23 20:31:58 2006 http://www.host-4864.com/ Title: 4864 Thu Nov 23 20:32:54 2006 http://www.host-4865.com/ Title: 4865 Thu Nov 23 20:33:02 2006 http://host-4866.com/ Title: 4866 Thu Nov 23 20:33:17 2006 http://www.host-4867.com/ Title: 4867 Thu Nov 23 20:33:26 2006 http://www.host-4868.com/ Title: 4868 Thu Nov 23 20:33:27 2006 http://www.host-4869.com/ Title: 4869 Thu Nov 23 20:33:45 2006 http://host-4870.com/ Title: 4870 Thu Nov 23 20:34:41 2006 http://host-4871.com/ Title: 4871 Thu Nov 23 20:51:32 2006 http://www.host-4872.com/ Title: 4872 Thu Nov 23 20:51:39 2006 http://www.host-4873.com/ Title: 4873 Thu Nov 23 20:52:17 2006 http://www.host-4874.com/ Title: 4874 Thu Nov 23 20:52:24 2006 http://www.host-4875.com/ Title: 4875 Thu Nov 23 20:53:37 2006 http://www.host-4876.com/ Title: 4876 Thu Nov 23 20:53:44 2006 http://www.host-4877.com/ Title: 4877 Thu Nov 23 20:53:45 2006 http://www.host-4878.com/ Title: 4878 Thu Nov 23 21:42:15 2006 http://www.host-4879.com/ Title: 4879 Thu Nov 23 21:42:21 2006 http://host-4880.com/ Title: 4880 Thu Nov 23 22:40:20 2006 http://www.host-4881.com/ Title: 4881 Thu Nov 23 22:40:34 2006 http://www.host-4882.com/ Title: 4882 Thu Nov 23 22:42:21 2006 http://www.host-4883.com/ Title: 4883 Thu Nov 23 22:42:54 2006 http://host-4884.com/ Title: 4884 Thu Nov 23 22:42:56 2006 http://www.host-4885.com/ Title: 4885 Thu Nov 23 22:43:48 2006 http://host-4886.com/ Title: 4886 Thu Nov 23 22:43:56 2006 http://host-4887.com/ Title: 4887 Fri Nov 24 11:03:22 2006 http://www.host-4888.com/ Title: 4888 Fri Nov 24 11:12:50 2006 http://www.host-4889.com/ Title: 4889 Fri Nov 24 11:13:20 2006 http://www.host-4890.com/ Title: 4890 Fri Nov 24 11:19:25 2006 http://www.host-4891.com/ Title: 4891 Fri Nov 24 11:23:45 2006 http://host-4892.com/ Title: 4892 Fri Nov 24 11:31:47 2006 http://host-4893.com/ Title: 4893 Fri Nov 24 11:31:52 2006 http://host-4894.com/ Title: 4894 Fri Nov 24 11:32:07 2006 http://host-4895.com/ Title: 4895 Fri Nov 24 11:32:42 2006 http://www.host-4896.com/ Title: 4896 Fri Nov 24 11:32:58 2006 http://www.host-4897.com/ Title: 4897 Fri Nov 24 11:33:01 2006 http://host-4898.com/ Title: 4898 Fri Nov 24 11:34:22 2006 http://www.host-4899.com/ Title: 4899 Fri Nov 24 11:36:35 2006 http://www.host-4900.com/ Title: 4900 Fri Nov 24 11:37:02 2006 http://host-4901.com/ Title: 4901 Fri Nov 24 11:37:19 2006 http://host-4902.com/ Title: 4902 Fri Nov 24 11:37:32 2006 http://host-4903.com/ Title: 4903 Fri Nov 24 11:37:36 2006 http://host-4904.com/ Title: 4904 Fri Nov 24 11:37:41 2006 http://host-4905.com/ Title: 4905 Fri Nov 24 11:37:43 2006 http://host-4906.com/ Title: 4906 Fri Nov 24 11:37:50 2006 http://www.host-4907.com/ Title: 4907 Fri Nov 24 11:37:59 2006 http://www.host-4908.com/ Title: 4908 Fri Nov 24 11:38:16 2006 http://host-4909.com/ Title: 4909 Fri Nov 24 11:38:22 2006 http://www.host-4910.com/ Title: 4910 Fri Nov 24 11:38:43 2006 http://host-4911.com/ Title: 4911 Fri Nov 24 11:38:57 2006 http://host-4912.com/ Title: 4912 Fri Nov 24 11:39:13 2006 http://host-4913.com/ Title: 4913 Fri Nov 24 11:39:19 2006 http://www.host-4914.com/ Title: 4914 Fri Nov 24 11:39:27 2006 http://www.host-4915.com/ Title: 4915 Fri Nov 24 11:39:32 2006 http://www.host-4916.com/ Title: 4916 Fri Nov 24 11:41:14 2006 http://www.host-4917.com/ Title: 4917 Fri Nov 24 11:41:20 2006 http://www.host-4918.com/ Title: 4918 Fri Nov 24 11:41:23 2006 http://www.host-4919.com/ Title: 4919 Fri Nov 24 11:41:32 2006 http://host-4920.com/ Title: 4920 Fri Nov 24 11:41:38 2006 http://host-4921.com/ Title: 4921 Fri Nov 24 11:41:50 2006 http://host-4922.com/ Title: 4922 Fri Nov 24 11:42:25 2006 http://www.host-4923.com/ Title: 4923 Fri Nov 24 11:42:35 2006 http://www.host-4924.com/ Title: 4924 Fri Nov 24 11:42:44 2006 http://host-4925.com/ Title: 4925 Fri Nov 24 11:46:53 2006 http://host-4926.com/ Title: 4926 Fri Nov 24 11:47:02 2006 http://www.host-4927.com/ Title: 4927 Fri Nov 24 11:47:34 2006 http://www.host-4928.com/ Title: 4928 Fri Nov 24 11:47:59 2006 http://www.host-4929.com/ Title: 4929 Fri Nov 24 11:48:17 2006 http://www.host-4930.com/ Title: 4930 Fri Nov 24 11:48:28 2006 http://host-4931.com/ Title: 4931 Fri Nov 24 11:48:32 2006 http://host-4932.com/ Title: 4932 Fri Nov 24 11:48:40 2006 http://www.host-4933.com/ Title: 4933 Fri Nov 24 12:59:29 2006 http://www.host-4934.com/ Title: 4934 Fri Nov 24 12:59:35 2006 http://www.host-4935.com/ Title: 4935 Fri Nov 24 12:59:42 2006 http://host-4936.com/ Title: 4936 Fri Nov 24 12:59:46 2006 http://www.host-4937.com/ Title: 4937 Fri Nov 24 12:59:51 2006 http://www.host-4938.com/ Title: 4938 Fri Nov 24 13:00:05 2006 http://host-4939.com/ Title: 4939 Fri Nov 24 13:00:10 2006 http://www.host-4940.com/ Title: 4940 Fri Nov 24 13:00:20 2006 http://www.host-4941.com/ Title: 4941 Fri Nov 24 13:01:51 2006 http://host-4942.com/ Title: 4942 Fri Nov 24 13:05:52 2006 http://www.host-4943.com/ Title: 4943 Fri Nov 24 13:05:57 2006 http://www.host-4944.com/ Title: 4944 Fri Nov 24 13:06:04 2006 http://host-4945.com/ Title: 4945 Fri Nov 24 13:06:11 2006 http://host-4946.com/ Title: 4946 Fri Nov 24 13:06:16 2006 http://host-4947.com/ Title: 4947 Fri Nov 24 13:06:18 2006 http://www.host-4948.com/ Title: 4948 Fri Nov 24 13:06:18 2006 http://host-4949.com/ Title: 4949 Fri Nov 24 13:06:22 2006 http://www.host-4950.com/ Title: 4950 Fri Nov 24 13:07:47 2006 http://host-4951.com/ Title: 4951 Fri Nov 24 13:08:06 2006 http://www.host-4952.com/ Title: 4952 Fri Nov 24 13:08:07 2006 http://www.host-4953.com/ Title: 4953 Fri Nov 24 13:08:09 2006 http://www.host-4954.com/ Title: 4954 Fri Nov 24 13:08:10 2006 http://host-4955.com/ Title: 4955 Fri Nov 24 13:08:11 2006 http://host-4956.com/ Title: 4956 Fri Nov 24 13:08:13 2006 http://www.host-4957.com/ Title: 4957 Fri Nov 24 13:08:14 2006 http://www.host-4958.com/ Title: 4958 Fri Nov 24 13:08:15 2006 http://www.host-4959.com/ Title: 4959 Fri Nov 24 13:08:24 2006 http://host-4960.com/ Title: 4960 Fri Nov 24 13:08:24 2006 http://host-4961.com/ Title: 4961 Fri Nov 24 13:11:12 2006 http://host-4962.com/ Title: 4962 Fri Nov 24 13:11:13 2006 http://host-4963.com/ Title: 4963 Fri Nov 24 13:11:17 2006 http://host-4964.com/ Title: 4964 Fri Nov 24 13:14:45 2006 http://host-4965.com/ Title: 4965 Fri Nov 24 13:16:08 2006 http://host-4966.com/ Title: 4966 Fri Nov 24 14:08:45 2006 http://host-4967.com/ Title: 4967 Fri Nov 24 14:14:31 2006 http://host-4968.com/ Title: 4968 Fri Nov 24 14:20:42 2006 http://www.host-4969.com/ Title: 4969 Fri Nov 24 14:35:00 2006 http://host-4970.com/ Title: 4970 Fri Nov 24 14:35:20 2006 http://www.host-4971.com/ Title: 4971 Fri Nov 24 14:36:10 2006 http://host-4972.com/ Title: 4972 Fri Nov 24 14:43:48 2006 http://www.host-4973.com/ Title: 4973 Fri Nov 24 14:43:51 2006 http://www.host-4974.com/ Title: 4974 Fri Nov 24 14:43:56 2006 http://host-4975.com/ Title: 4975 Fri Nov 24 14:44:03 2006 http://host-4976.com/ Title: 4976 Fri Nov 24 14:44:07 2006 http://www.host-4977.com/ Title: 4977 Fri Nov 24 14:44:19 2006 http://host-4978.com/ Title: 4978 Fri Nov 24 14:45:25 2006 http://www.host-4979.com/ Title: 4979 Fri Nov 24 14:53:32 2006 http://host-4980.com/ Title: 4980 Fri Nov 24 14:54:07 2006 http://host-4981.com/ Title: 4981 Fri Nov 24 14:54:33 2006 http://host-4982.com/ Title: 4982 Fri Nov 24 14:54:42 2006 http://host-4983.com/ Title: 4983 Fri Nov 24 15:00:29 2006 http://www.host-4984.com/ Title: 4984 Fri Nov 24 15:19:10 2006 http://host-4985.com/ Title: 4985 Fri Nov 24 15:19:23 2006 http://host-4986.com/ Title: 4986 Fri Nov 24 15:19:25 2006 http://www.host-4987.com/ Title: 4987 Fri Nov 24 15:25:29 2006 http://www.host-4988.com/ Title: 4988 Fri Nov 24 15:25:45 2006 http://host-4989.com/ Title: 4989 Fri Nov 24 15:25:53 2006 http://www.host-4990.com/ Title: 4990 Fri Nov 24 15:25:54 2006 http://host-4991.com/ Title: 4991 Fri Nov 24 15:29:24 2006 http://www.host-4992.com/ Title: 4992 Fri Nov 24 15:30:52 2006 http://www.host-4993.com/ Title: 4993 Fri Nov 24 16:00:01 2006 http://www.host-4994.com/ Title: 4994 Fri Nov 24 16:03:20 2006 http://www.host-4995.com/ Title: 4995 Fri Nov 24 16:05:23 2006 http://www.host-4996.com/ Title: 4996 Fri Nov 24 16:06:38 2006 http://host-4997.com/ Title: 4997 Fri Nov 24 16:07:17 2006 http://www.host-4998.com/ Title: 4998 Fri Nov 24 16:08:29 2006 http://www.host-4999.com/ Title: 4999 Fri Nov 24 16:08:30 2006 http://www.host-5000.com/ Title: 5000 Fri Nov 24 16:08:50 2006 http://host-5001.com/ Title: 5001 Fri Nov 24 16:08:50 2006 http://host-5002.com/ Title: 5002 Fri Nov 24 16:08:50 2006 http://www.host-5003.com/ Title: 5003 Fri Nov 24 16:08:51 2006 http://www.host-5004.com/ Title: 5004 Fri Nov 24 16:08:51 2006 http://www.host-5005.com/ Title: 5005 Fri Nov 24 16:08:56 2006 http://www.host-5006.com/ Title: 5006 Fri Nov 24 16:09:11 2006 http://host-5007.com/ Title: 5007 Fri Nov 24 16:09:39 2006 http://host-5008.com/ Title: 5008 Fri Nov 24 16:09:44 2006 http://host-5009.com/ Title: 5009 Fri Nov 24 16:09:47 2006 http://www.host-5010.com/ Title: 5010 Fri Nov 24 16:10:50 2006 http://www.host-5011.com/ Title: 5011 Fri Nov 24 16:10:53 2006 http://www.host-5012.com/ Title: 5012 Fri Nov 24 16:11:22 2006 http://host-5013.com/ Title: 5013 Fri Nov 24 16:11:27 2006 http://www.host-5014.com/ Title: 5014 Fri Nov 24 16:11:44 2006 http://host-5015.com/ Title: 5015 Fri Nov 24 16:11:53 2006 http://host-5016.com/ Title: 5016 Fri Nov 24 16:12:01 2006 http://www.host-5017.com/ Title: 5017 Fri Nov 24 16:12:11 2006 http://host-5018.com/ Title: 5018 Fri Nov 24 16:12:29 2006 http://host-5019.com/ Title: 5019 Fri Nov 24 16:12:35 2006 http://host-5020.com/ Title: 5020 Fri Nov 24 16:13:07 2006 http://www.host-5021.com/ Title: 5021 Fri Nov 24 16:14:28 2006 http://host-5022.com/ Title: 5022 Fri Nov 24 16:14:34 2006 http://host-5023.com/ Title: 5023 Fri Nov 24 16:14:34 2006 http://host-5024.com/ Title: 5024 Fri Nov 24 16:14:39 2006 http://www.host-5025.com/ Title: 5025 Fri Nov 24 16:14:42 2006 http://host-5026.com/ Title: 5026 Fri Nov 24 16:24:17 2006 http://host-5027.com/ Title: 5027 Fri Nov 24 16:27:14 2006 http://www.host-5028.com/ Title: 5028 Fri Nov 24 16:27:15 2006 http://www.host-5029.com/ Title: 5029 Fri Nov 24 16:27:22 2006 http://www.host-5030.com/ Title: 5030 Fri Nov 24 16:27:47 2006 http://www.host-5031.com/ Title: 5031 Fri Nov 24 17:02:23 2006 http://www.host-5032.com/ Title: 5032 Fri Nov 24 17:02:59 2006 http://host-5033.com/ Title: 5033 Fri Nov 24 17:03:01 2006 http://www.host-5034.com/ Title: 5034 Fri Nov 24 17:03:02 2006 http://www.host-5035.com/ Title: 5035 Fri Nov 24 17:03:05 2006 http://www.host-5036.com/ Title: 5036 Fri Nov 24 17:03:09 2006 http://host-5037.com/ Title: 5037 Fri Nov 24 17:03:11 2006 http://host-5038.com/ Title: 5038 Fri Nov 24 17:51:41 2006 http://host-5039.com/ Title: 5039 Fri Nov 24 20:05:13 2006 http://www.host-5040.com/ Title: 5040 Fri Nov 24 20:18:50 2006 http://www.host-5041.com/ Title: 5041 Fri Nov 24 20:18:54 2006 http://www.host-5042.com/ Title: 5042 Fri Nov 24 20:19:02 2006 http://www.host-5043.com/ Title: 5043 Fri Nov 24 20:19:08 2006 http://host-5044.com/ Title: 5044 Fri Nov 24 21:39:46 2006 http://www.host-5045.com/ Title: 5045 Fri Nov 24 21:39:53 2006 http://host-5046.com/ Title: 5046 Fri Nov 24 21:41:07 2006 http://www.host-5047.com/ Title: 5047 Fri Nov 24 21:42:53 2006 http://host-5048.com/ Title: 5048 Fri Nov 24 21:42:58 2006 http://www.host-5049.com/ Title: 5049 Fri Nov 24 22:33:10 2006 http://www.host-5050.com/ Title: 5050 Fri Nov 24 22:33:23 2006 http://www.host-5051.com/ Title: 5051 Fri Nov 24 23:06:33 2006 http://www.host-5052.com/ Title: 5052 Sat Nov 25 17:34:17 2006 http://host-5053.com/ Title: 5053 Sat Nov 25 17:36:59 2006 http://host-5054.com/ Title: 5054 Sat Nov 25 17:40:06 2006 http://host-5055.com/ Title: 5055 Sat Nov 25 17:40:11 2006 http://www.host-5056.com/ Title: 5056 Sat Nov 25 17:40:27 2006 http://www.host-5057.com/ Title: 5057 Sat Nov 25 17:41:10 2006 http://host-5058.com/ Title: 5058 Sat Nov 25 17:41:38 2006 http://www.host-5059.com/ Title: 5059 Sat Nov 25 17:41:48 2006 http://www.host-5060.com/ Title: 5060 Sat Nov 25 17:42:24 2006 http://host-5061.com/ Title: 5061 Sat Nov 25 17:42:35 2006 http://host-5062.com/ Title: 5062 Sat Nov 25 17:42:42 2006 http://www.host-5063.com/ Title: 5063 Sat Nov 25 17:42:43 2006 http://www.host-5064.com/ Title: 5064 Sat Nov 25 18:16:09 2006 http://www.host-5065.com/ Title: 5065 Sat Nov 25 20:05:57 2006 http://host-5066.com/ Title: 5066 Sat Nov 25 20:45:26 2006 http://www.host-5067.com/ Title: 5067 Sat Nov 25 20:45:29 2006 http://www.host-5068.com/ Title: 5068 Sat Nov 25 20:56:41 2006 http://www.host-5069.com/ Title: 5069 Sat Nov 25 20:58:47 2006 http://host-5070.com/ Title: 5070 Sat Nov 25 20:58:51 2006 http://www.host-5071.com/ Title: 5071 Sat Nov 25 21:04:03 2006 http://host-5072.com/ Title: 5072 Sat Nov 25 21:39:51 2006 http://www.host-5073.com/ Title: 5073 Sat Nov 25 21:51:45 2006 http://host-5074.com/ Title: 5074 Sat Nov 25 21:52:12 2006 http://host-5075.com/ Title: 5075 Sat Nov 25 21:52:47 2006 http://host-5076.com/ Title: 5076 Sat Nov 25 21:53:27 2006 http://www.host-5077.com/ Title: 5077 Sat Nov 25 21:54:00 2006 http://host-5078.com/ Title: 5078 Sat Nov 25 21:54:24 2006 http://host-5079.com/ Title: 5079 Sat Nov 25 21:55:01 2006 http://www.host-5080.com/ Title: 5080 Sat Nov 25 21:55:39 2006 http://host-5081.com/ Title: 5081 Sat Nov 25 21:56:23 2006 http://www.host-5082.com/ Title: 5082 Sat Nov 25 21:57:14 2006 http://www.host-5083.com/ Title: 5083 Sat Nov 25 21:58:08 2006 http://www.host-5084.com/ Title: 5084 Sat Nov 25 21:58:32 2006 http://www.host-5085.com/ Title: 5085 Sat Nov 25 21:59:04 2006 http://host-5086.com/ Title: 5086 Sat Nov 25 21:59:28 2006 http://www.host-5087.com/ Title: 5087 Sat Nov 25 22:00:10 2006 http://www.host-5088.com/ Title: 5088 Sat Nov 25 22:00:45 2006 http://www.host-5089.com/ Title: 5089 Sat Nov 25 22:01:19 2006 http://host-5090.com/ Title: 5090 Sat Nov 25 22:01:59 2006 http://host-5091.com/ Title: 5091 Sat Nov 25 22:03:11 2006 http://www.host-5092.com/ Title: 5092 Sat Nov 25 22:03:43 2006 http://www.host-5093.com/ Title: 5093 Sat Nov 25 22:04:32 2006 http://host-5094.com/ Title: 5094 Sat Nov 25 22:04:39 2006 http://www.host-5095.com/ Title: 5095 Sat Nov 25 22:05:13 2006 http://www.host-5096.com/ Title: 5096 Sat Nov 25 22:05:22 2006 http://www.host-5097.com/ Title: 5097 Sat Nov 25 22:05:30 2006 http://host-5098.com/ Title: 5098 Sat Nov 25 22:05:34 2006 http://host-5099.com/ Title: 5099 Sat Nov 25 22:05:47 2006 http://www.host-5100.com/ Title: 5100 Sat Nov 25 22:05:50 2006 http://host-5101.com/ Title: 5101 Sat Nov 25 22:07:38 2006 http://host-5102.com/ Title: 5102 Mon Nov 27 12:04:20 2006 http://www.host-5103.com/ Title: 5103 Mon Nov 27 12:04:22 2006 http://www.host-5104.com/ Title: 5104 Mon Nov 27 12:04:52 2006 http://www.host-5105.com/ Title: 5105 Mon Nov 27 12:04:54 2006 http://host-5106.com/ Title: 5106 Mon Nov 27 12:04:56 2006 http://host-5107.com/ Title: 5107 Mon Nov 27 12:05:36 2006 http://host-5108.com/ Title: 5108 Mon Nov 27 12:17:36 2006 http://www.host-5109.com/ Title: 5109 Mon Nov 27 12:17:36 2006 http://www.host-5110.com/ Title: 5110 Mon Nov 27 12:33:49 2006 http://host-5111.com/ Title: 5111 Mon Nov 27 12:33:49 2006 http://www.host-5112.com/ Title: 5112 Mon Nov 27 12:35:06 2006 http://host-5113.com/ Title: 5113 Mon Nov 27 12:38:16 2006 http://host-5114.com/ Title: 5114 Mon Nov 27 12:38:23 2006 http://host-5115.com/ Title: 5115 Mon Nov 27 12:47:59 2006 http://www.host-5116.com/ Title: 5116 Mon Nov 27 12:48:01 2006 http://host-5117.com/ Title: 5117 Mon Nov 27 12:48:03 2006 http://www.host-5118.com/ Title: 5118 Mon Nov 27 12:50:22 2006 http://host-5119.com/ Title: 5119 Mon Nov 27 12:50:34 2006 http://host-5120.com/ Title: 5120 Mon Nov 27 12:50:36 2006 http://www.host-5121.com/ Title: 5121 Mon Nov 27 12:50:56 2006 http://host-5122.com/ Title: 5122 Mon Nov 27 12:51:03 2006 http://www.host-5123.com/ Title: 5123 Mon Nov 27 12:52:30 2006 http://www.host-5124.com/ Title: 5124 Mon Nov 27 12:53:19 2006 http://www.host-5125.com/ Title: 5125 Mon Nov 27 12:53:23 2006 http://www.host-5126.com/ Title: 5126 Mon Nov 27 12:53:24 2006 http://www.host-5127.com/ Title: 5127 Mon Nov 27 12:54:14 2006 http://www.host-5128.com/ Title: 5128 Mon Nov 27 12:54:16 2006 http://host-5129.com/ Title: 5129 Mon Nov 27 12:54:30 2006 http://www.host-5130.com/ Title: 5130 Mon Nov 27 13:54:13 2006 http://www.host-5131.com/ Title: 5131 Mon Nov 27 13:54:24 2006 http://www.host-5132.com/ Title: 5132 Mon Nov 27 13:54:28 2006 http://host-5133.com/ Title: 5133 Mon Nov 27 13:54:35 2006 http://www.host-5134.com/ Title: 5134 Mon Nov 27 13:54:53 2006 http://www.host-5135.com/ Title: 5135 Mon Nov 27 13:54:56 2006 http://host-5136.com/ Title: 5136 Mon Nov 27 13:55:00 2006 http://host-5137.com/ Title: 5137 Mon Nov 27 13:55:04 2006 http://www.host-5138.com/ Title: 5138 Mon Nov 27 13:55:08 2006 http://host-5139.com/ Title: 5139 Mon Nov 27 13:55:11 2006 http://host-5140.com/ Title: 5140 Mon Nov 27 14:25:04 2006 http://host-5141.com/ Title: 5141 Mon Nov 27 14:25:08 2006 http://www.host-5142.com/ Title: 5142 Mon Nov 27 14:25:08 2006 http://host-5143.com/ Title: 5143 Mon Nov 27 14:25:11 2006 http://www.host-5144.com/ Title: 5144 Mon Nov 27 14:25:12 2006 http://www.host-5145.com/ Title: 5145 Mon Nov 27 14:25:13 2006 http://www.host-5146.com/ Title: 5146 Mon Nov 27 14:25:13 2006 http://host-5147.com/ Title: 5147 Mon Nov 27 14:25:13 2006 http://www.host-5148.com/ Title: 5148 Mon Nov 27 14:41:39 2006 http://host-5149.com/ Title: 5149 Mon Nov 27 14:41:48 2006 http://host-5150.com/ Title: 5150 Mon Nov 27 14:41:54 2006 http://www.host-5151.com/ Title: 5151 Mon Nov 27 14:41:58 2006 http://www.host-5152.com/ Title: 5152 Mon Nov 27 14:42:02 2006 http://www.host-5153.com/ Title: 5153 Mon Nov 27 14:42:06 2006 http://host-5154.com/ Title: 5154 Mon Nov 27 14:42:09 2006 http://host-5155.com/ Title: 5155 Mon Nov 27 14:42:13 2006 http://www.host-5156.com/ Title: 5156 Mon Nov 27 14:42:16 2006 http://host-5157.com/ Title: 5157 Mon Nov 27 14:42:24 2006 http://host-5158.com/ Title: 5158 Mon Nov 27 14:54:34 2006 http://www.host-5159.com/ Title: 5159 Mon Nov 27 15:20:01 2006 http://www.host-5160.com/ Title: 5160 Mon Nov 27 15:20:11 2006 http://www.host-5161.com/ Title: 5161 Mon Nov 27 15:20:18 2006 http://host-5162.com/ Title: 5162 Mon Nov 27 15:20:48 2006 http://www.host-5163.com/ Title: 5163 Mon Nov 27 15:21:07 2006 http://host-5164.com/ Title: 5164 Mon Nov 27 15:21:09 2006 http://www.host-5165.com/ Title: 5165 Mon Nov 27 15:21:14 2006 http://www.host-5166.com/ Title: 5166 Mon Nov 27 16:04:49 2006 http://host-5167.com/ Title: 5167 Mon Nov 27 16:57:41 2006 http://host-5168.com/ Title: 5168 Mon Nov 27 17:30:18 2006 http://host-5169.com/ Title: 5169 Mon Nov 27 17:30:25 2006 http://host-5170.com/ Title: 5170 Mon Nov 27 17:30:35 2006 http://host-5171.com/ Title: 5171 Mon Nov 27 17:30:39 2006 http://host-5172.com/ Title: 5172 Mon Nov 27 17:41:07 2006 http://host-5173.com/ Title: 5173 Mon Nov 27 17:41:10 2006 http://www.host-5174.com/ Title: 5174 Mon Nov 27 17:41:34 2006 http://www.host-5175.com/ Title: 5175 Mon Nov 27 17:41:36 2006 http://host-5176.com/ Title: 5176 Mon Nov 27 17:41:49 2006 http://host-5177.com/ Title: 5177 Mon Nov 27 17:41:54 2006 http://www.host-5178.com/ Title: 5178 Mon Nov 27 17:42:12 2006 http://host-5179.com/ Title: 5179 Mon Nov 27 17:47:28 2006 http://host-5180.com/ Title: 5180 Mon Nov 27 17:47:30 2006 http://www.host-5181.com/ Title: 5181 Mon Nov 27 17:47:50 2006 http://host-5182.com/ Title: 5182 Mon Nov 27 17:48:31 2006 http://host-5183.com/ Title: 5183 Mon Nov 27 17:48:32 2006 http://www.host-5184.com/ Title: 5184 Mon Nov 27 17:48:33 2006 http://host-5185.com/ Title: 5185 Mon Nov 27 17:48:59 2006 http://www.host-5186.com/ Title: 5186 Mon Nov 27 17:49:12 2006 http://host-5187.com/ Title: 5187 Mon Nov 27 17:52:54 2006 http://www.host-5188.com/ Title: 5188 Mon Nov 27 17:52:56 2006 http://host-5189.com/ Title: 5189 Mon Nov 27 17:52:57 2006 http://www.host-5190.com/ Title: 5190 Mon Nov 27 17:54:27 2006 http://host-5191.com/ Title: 5191 Mon Nov 27 17:54:40 2006 http://host-5192.com/ Title: 5192 Mon Nov 27 17:54:47 2006 http://host-5193.com/ Title: 5193 Mon Nov 27 17:54:55 2006 http://host-5194.com/ Title: 5194 Mon Nov 27 17:54:59 2006 http://host-5195.com/ Title: 5195 Mon Nov 27 17:55:01 2006 http://host-5196.com/ Title: 5196 Mon Nov 27 17:55:06 2006 http://www.host-5197.com/ Title: 5197 Mon Nov 27 18:33:24 2006 http://host-5198.com/ Title: 5198 Mon Nov 27 18:34:06 2006 http://www.host-5199.com/ Title: 5199 Mon Nov 27 18:37:06 2006 http://www.host-5200.com/ Title: 5200 Mon Nov 27 18:37:11 2006 http://host-5201.com/ Title: 5201 Mon Nov 27 18:37:23 2006 http://www.host-5202.com/ Title: 5202 Mon Nov 27 18:37:26 2006 http://www.host-5203.com/ Title: 5203 Mon Nov 27 18:37:31 2006 http://www.host-5204.com/ Title: 5204 Mon Nov 27 18:38:25 2006 http://www.host-5205.com/ Title: 5205 Mon Nov 27 18:38:39 2006 http://host-5206.com/ Title: 5206 Mon Nov 27 18:38:48 2006 http://www.host-5207.com/ Title: 5207 Mon Nov 27 18:39:51 2006 http://host-5208.com/ Title: 5208 Mon Nov 27 18:40:26 2006 http://host-5209.com/ Title: 5209 Mon Nov 27 18:42:38 2006 http://host-5210.com/ Title: 5210 Mon Nov 27 18:43:45 2006 http://www.host-5211.com/ Title: 5211 Mon Nov 27 18:45:31 2006 http://host-5212.com/ Title: 5212 Tue Nov 28 08:07:33 2006 http://www.host-5213.com/ Title: 5213 Tue Nov 28 08:08:35 2006 http://www.host-5214.com/ Title: 5214 Tue Nov 28 08:08:36 2006 http://host-5215.com/ Title: 5215 Tue Nov 28 08:09:45 2006 http://www.host-5216.com/ Title: 5216 Tue Nov 28 08:09:54 2006 http://host-5217.com/ Title: 5217 Tue Nov 28 08:10:29 2006 http://www.host-5218.com/ Title: 5218 Tue Nov 28 08:10:56 2006 http://host-5219.com/ Title: 5219 Tue Nov 28 08:11:04 2006 http://www.host-5220.com/ Title: 5220 Tue Nov 28 08:11:09 2006 http://host-5221.com/ Title: 5221 Tue Nov 28 08:11:12 2006 http://host-5222.com/ Title: 5222 Tue Nov 28 08:11:14 2006 http://www.host-5223.com/ Title: 5223 Tue Nov 28 08:11:17 2006 http://host-5224.com/ Title: 5224 Tue Nov 28 08:11:26 2006 http://host-5225.com/ Title: 5225 Tue Nov 28 08:11:27 2006 http://host-5226.com/ Title: 5226 Tue Nov 28 08:12:00 2006 http://host-5227.com/ Title: 5227 Tue Nov 28 08:12:24 2006 http://www.host-5228.com/ Title: 5228 Tue Nov 28 08:17:42 2006 http://host-5229.com/ Title: 5229 Tue Nov 28 08:48:28 2006 http://www.host-5230.com/ Title: 5230 Tue Nov 28 08:58:50 2006 http://www.host-5231.com/ Title: 5231 Tue Nov 28 08:58:54 2006 http://host-5232.com/ Title: 5232 Tue Nov 28 09:01:26 2006 http://www.host-5233.com/ Title: 5233 Tue Nov 28 09:05:58 2006 http://host-5234.com/ Title: 5234 Tue Nov 28 09:15:18 2006 http://www.host-5235.com/ Title: 5235 Tue Nov 28 09:18:19 2006 http://host-5236.com/ Title: 5236 Tue Nov 28 09:19:55 2006 http://www.host-5237.com/ Title: 5237 Tue Nov 28 09:58:20 2006 http://host-5238.com/ Title: 5238 Tue Nov 28 09:58:35 2006 http://www.host-5239.com/ Title: 5239 Tue Nov 28 11:08:58 2006 http://www.host-5240.com/ Title: 5240 Tue Nov 28 11:09:30 2006 http://host-5241.com/ Title: 5241 Tue Nov 28 11:15:57 2006 http://www.host-5242.com/ Title: 5242 Tue Nov 28 11:16:29 2006 http://www.host-5243.com/ Title: 5243 Tue Nov 28 11:18:15 2006 http://host-5244.com/ Title: 5244 Tue Nov 28 11:54:52 2006 http://www.host-5245.com/ Title: 5245 Tue Nov 28 11:56:24 2006 http://www.host-5246.com/ Title: 5246 Tue Nov 28 12:30:38 2006 http://www.host-5247.com/ Title: 5247 Tue Nov 28 13:13:57 2006 http://host-5248.com/ Title: 5248 Tue Nov 28 13:14:23 2006 http://host-5249.com/ Title: 5249 Tue Nov 28 13:14:52 2006 http://host-5250.com/ Title: 5250 Tue Nov 28 13:15:46 2006 http://www.host-5251.com/ Title: 5251 Tue Nov 28 13:15:52 2006 http://www.host-5252.com/ Title: 5252 Tue Nov 28 13:16:10 2006 http://host-5253.com/ Title: 5253 Tue Nov 28 15:11:13 2006 http://host-5254.com/ Title: 5254 Tue Nov 28 15:11:25 2006 http://www.host-5255.com/ Title: 5255 Tue Nov 28 15:19:11 2006 http://host-5256.com/ Title: 5256 Tue Nov 28 15:19:25 2006 http://host-5257.com/ Title: 5257 Tue Nov 28 15:20:05 2006 http://host-5258.com/ Title: 5258 Tue Nov 28 15:20:20 2006 http://host-5259.com/ Title: 5259 Tue Nov 28 15:20:30 2006 http://www.host-5260.com/ Title: 5260 Tue Nov 28 15:21:17 2006 http://www.host-5261.com/ Title: 5261 Tue Nov 28 15:32:46 2006 http://www.host-5262.com/ Title: 5262 Tue Nov 28 15:38:20 2006 http://host-5263.com/ Title: 5263 Tue Nov 28 17:07:14 2006 http://host-5264.com/ Title: 5264 Wed Nov 29 11:25:48 2006 http://www.host-5265.com/ Title: 5265 Wed Nov 29 12:03:07 2006 http://host-5266.com/ Title: 5266 Wed Nov 29 12:03:08 2006 http://www.host-5267.com/ Title: 5267 Wed Nov 29 12:17:47 2006 http://www.host-5268.com/ Title: 5268 Wed Nov 29 12:17:52 2006 http://www.host-5269.com/ Title: 5269 Wed Nov 29 12:18:47 2006 http://host-5270.com/ Title: 5270 Wed Nov 29 12:35:00 2006 http://www.host-5271.com/ Title: 5271 Wed Nov 29 12:35:09 2006 http://www.host-5272.com/ Title: 5272 Wed Nov 29 12:35:10 2006 http://host-5273.com/ Title: 5273 Wed Nov 29 12:35:20 2006 http://host-5274.com/ Title: 5274 Wed Nov 29 12:35:22 2006 http://host-5275.com/ Title: 5275 Wed Nov 29 12:35:33 2006 http://www.host-5276.com/ Title: 5276 Wed Nov 29 12:38:26 2006 http://host-5277.com/ Title: 5277 Wed Nov 29 12:50:05 2006 http://www.host-5278.com/ Title: 5278 Wed Nov 29 14:32:26 2006 http://www.host-5279.com/ Title: 5279 Wed Nov 29 15:48:55 2006 http://host-5280.com/ Title: 5280 Wed Nov 29 15:49:19 2006 http://www.host-5281.com/ Title: 5281 Wed Nov 29 15:51:56 2006 http://www.host-5282.com/ Title: 5282 Wed Nov 29 15:52:19 2006 http://www.host-5283.com/ Title: 5283 Wed Nov 29 15:52:19 2006 http://www.host-5284.com/ Title: 5284 Wed Nov 29 15:52:38 2006 http://host-5285.com/ Title: 5285 Wed Nov 29 16:44:01 2006 http://host-5286.com/ Title: 5286 Wed Nov 29 16:46:35 2006 http://host-5287.com/ Title: 5287 Wed Nov 29 17:11:37 2006 http://host-5288.com/ Title: 5288 Wed Nov 29 17:11:39 2006 http://www.host-5289.com/ Title: 5289 Wed Nov 29 17:11:46 2006 http://host-5290.com/ Title: 5290 Wed Nov 29 17:18:24 2006 http://host-5291.com/ Title: 5291 Wed Nov 29 17:18:27 2006 http://host-5292.com/ Title: 5292 Wed Nov 29 17:21:35 2006 http://www.host-5293.com/ Title: 5293 Wed Nov 29 17:21:37 2006 http://host-5294.com/ Title: 5294 Wed Nov 29 17:22:41 2006 http://www.host-5295.com/ Title: 5295 Wed Nov 29 17:22:59 2006 http://www.host-5296.com/ Title: 5296 Wed Nov 29 17:23:04 2006 http://host-5297.com/ Title: 5297 Wed Nov 29 17:23:23 2006 http://host-5298.com/ Title: 5298 Wed Nov 29 17:26:33 2006 http://www.host-5299.com/ Title: 5299 Wed Nov 29 17:27:20 2006 http://www.host-5300.com/ Title: 5300 Wed Nov 29 17:28:50 2006 http://host-5301.com/ Title: 5301 Wed Nov 29 17:28:54 2006 http://host-5302.com/ Title: 5302 Wed Nov 29 17:28:55 2006 http://www.host-5303.com/ Title: 5303 Wed Nov 29 17:31:50 2006 http://www.host-5304.com/ Title: 5304 Wed Nov 29 17:37:41 2006 http://www.host-5305.com/ Title: 5305 Wed Nov 29 17:41:24 2006 http://www.host-5306.com/ Title: 5306 Wed Nov 29 18:00:23 2006 http://www.host-5307.com/ Title: 5307 Wed Nov 29 18:01:30 2006 http://host-5308.com/ Title: 5308 Wed Nov 29 18:01:37 2006 http://host-5309.com/ Title: 5309 Wed Nov 29 18:01:47 2006 http://host-5310.com/ Title: 5310 Wed Nov 29 18:11:05 2006 http://host-5311.com/ Title: 5311 Wed Nov 29 18:13:35 2006 http://www.host-5312.com/ Title: 5312 Wed Nov 29 18:13:57 2006 http://www.host-5313.com/ Title: 5313 Thu Nov 30 11:00:43 2006 http://www.host-5314.com/ Title: 5314 Thu Nov 30 11:02:16 2006 http://www.host-5315.com/ Title: 5315 Thu Nov 30 11:06:06 2006 http://www.host-5316.com/ Title: 5316 Thu Nov 30 11:06:16 2006 http://www.host-5317.com/ Title: 5317 Thu Nov 30 11:09:03 2006 http://host-5318.com/ Title: 5318 Thu Nov 30 11:14:19 2006 http://host-5319.com/ Title: 5319 Thu Nov 30 11:14:53 2006 http://www.host-5320.com/ Title: 5320 Thu Nov 30 11:16:59 2006 http://host-5321.com/ Title: 5321 Thu Nov 30 11:17:07 2006 http://www.host-5322.com/ Title: 5322 Thu Nov 30 11:17:12 2006 http://www.host-5323.com/ Title: 5323 Thu Nov 30 11:17:16 2006 http://host-5324.com/ Title: 5324 Thu Nov 30 11:17:54 2006 http://host-5325.com/ Title: 5325 Thu Nov 30 11:18:10 2006 http://host-5326.com/ Title: 5326 Thu Nov 30 11:18:13 2006 http://host-5327.com/ Title: 5327 Thu Nov 30 11:18:36 2006 http://host-5328.com/ Title: 5328 Thu Nov 30 11:19:38 2006 http://www.host-5329.com/ Title: 5329 Thu Nov 30 11:19:43 2006 http://www.host-5330.com/ Title: 5330 Thu Nov 30 11:26:04 2006 http://host-5331.com/ Title: 5331 Thu Nov 30 12:18:16 2006 http://www.host-5332.com/ Title: 5332 Thu Nov 30 12:18:26 2006 http://www.host-5333.com/ Title: 5333 Thu Nov 30 12:28:43 2006 http://host-5334.com/ Title: 5334 Thu Nov 30 12:28:51 2006 http://host-5335.com/ Title: 5335 Thu Nov 30 12:29:09 2006 http://host-5336.com/ Title: 5336 Thu Nov 30 12:29:18 2006 http://host-5337.com/ Title: 5337 Thu Nov 30 12:29:24 2006 http://host-5338.com/ Title: 5338 Thu Nov 30 12:30:35 2006 http://www.host-5339.com/ Title: 5339 Thu Nov 30 12:30:45 2006 http://www.host-5340.com/ Title: 5340 Thu Nov 30 12:30:56 2006 http://host-5341.com/ Title: 5341 Thu Nov 30 12:32:13 2006 http://host-5342.com/ Title: 5342 Thu Nov 30 12:32:22 2006 http://www.host-5343.com/ Title: 5343 Thu Nov 30 12:32:26 2006 http://host-5344.com/ Title: 5344 Thu Nov 30 12:58:13 2006 http://host-5345.com/ Title: 5345 Thu Nov 30 12:58:27 2006 http://host-5346.com/ Title: 5346 Thu Nov 30 13:12:11 2006 http://host-5347.com/ Title: 5347 Thu Nov 30 13:12:27 2006 http://www.host-5348.com/ Title: 5348 Thu Nov 30 13:13:08 2006 http://host-5349.com/ Title: 5349 Thu Nov 30 13:14:52 2006 http://host-5350.com/ Title: 5350 Thu Nov 30 13:15:57 2006 http://www.host-5351.com/ Title: 5351 Thu Nov 30 13:16:00 2006 http://host-5352.com/ Title: 5352 Thu Nov 30 13:29:24 2006 http://www.host-5353.com/ Title: 5353 Thu Nov 30 13:33:25 2006 http://host-5354.com/ Title: 5354 Thu Nov 30 13:34:32 2006 http://www.host-5355.com/ Title: 5355 Thu Nov 30 13:41:39 2006 http://host-5356.com/ Title: 5356 Thu Nov 30 14:03:04 2006 http://host-5357.com/ Title: 5357 Thu Nov 30 14:03:32 2006 http://host-5358.com/ Title: 5358 Thu Nov 30 14:03:45 2006 http://host-5359.com/ Title: 5359 Thu Nov 30 14:10:07 2006 http://host-5360.com/ Title: 5360 Thu Nov 30 14:11:36 2006 http://host-5361.com/ Title: 5361 Thu Nov 30 14:37:58 2006 http://host-5362.com/ Title: 5362 Thu Nov 30 14:47:06 2006 http://www.host-5363.com/ Title: 5363 Thu Nov 30 14:47:16 2006 http://www.host-5364.com/ Title: 5364 Thu Nov 30 14:47:30 2006 http://host-5365.com/ Title: 5365 Thu Nov 30 16:03:59 2006 http://host-5366.com/ Title: 5366 Thu Nov 30 16:04:02 2006 http://www.host-5367.com/ Title: 5367 Thu Nov 30 16:04:04 2006 http://host-5368.com/ Title: 5368 Thu Nov 30 16:04:09 2006 http://host-5369.com/ Title: 5369 Thu Nov 30 16:09:14 2006 http://www.host-5370.com/ Title: 5370 Thu Nov 30 16:09:33 2006 http://host-5371.com/ Title: 5371 Thu Nov 30 16:10:48 2006 http://host-5372.com/ Title: 5372 Thu Nov 30 16:10:53 2006 http://www.host-5373.com/ Title: 5373 Thu Nov 30 16:11:00 2006 http://host-5374.com/ Title: 5374 Thu Nov 30 16:24:10 2006 http://host-5375.com/ Title: 5375 Thu Nov 30 16:32:00 2006 http://host-5376.com/ Title: 5376 Thu Nov 30 16:32:29 2006 http://www.host-5377.com/ Title: 5377 Thu Nov 30 16:33:55 2006 http://www.host-5378.com/ Title: 5378 Thu Nov 30 16:33:59 2006 http://host-5379.com/ Title: 5379 Thu Nov 30 16:40:52 2006 http://www.host-5380.com/ Title: 5380 Thu Nov 30 16:44:14 2006 http://host-5381.com/ Title: 5381 Thu Nov 30 16:44:23 2006 http://host-5382.com/ Title: 5382 Thu Nov 30 16:44:31 2006 http://www.host-5383.com/ Title: 5383 Thu Nov 30 16:44:34 2006 http://www.host-5384.com/ Title: 5384 Thu Nov 30 16:44:40 2006 http://www.host-5385.com/ Title: 5385 Thu Nov 30 16:45:09 2006 http://host-5386.com/ Title: 5386 Thu Nov 30 16:47:34 2006 http://host-5387.com/ Title: 5387 Thu Nov 30 16:47:37 2006 http://host-5388.com/ Title: 5388 Thu Nov 30 17:05:57 2006 http://www.host-5389.com/ Title: 5389 Thu Nov 30 17:09:44 2006 http://host-5390.com/ Title: 5390 Thu Nov 30 17:12:50 2006 http://host-5391.com/ Title: 5391 Thu Nov 30 17:12:51 2006 http://host-5392.com/ Title: 5392 Thu Nov 30 17:13:00 2006 http://www.host-5393.com/ Title: 5393 Thu Nov 30 17:13:10 2006 http://www.host-5394.com/ Title: 5394 Thu Nov 30 17:25:49 2006 http://www.host-5395.com/ Title: 5395 Thu Nov 30 17:26:24 2006 http://www.host-5396.com/ Title: 5396 Thu Nov 30 17:40:51 2006 http://www.host-5397.com/ Title: 5397 Thu Nov 30 18:21:19 2006 http://host-5398.com/ Title: 5398 Thu Nov 30 19:41:48 2006 http://host-5399.com/ Title: 5399 Thu Nov 30 19:41:52 2006 http://host-5400.com/ Title: 5400 Thu Nov 30 19:41:58 2006 http://host-5401.com/ Title: 5401 Thu Nov 30 19:42:07 2006 http://www.host-5402.com/ Title: 5402 Thu Nov 30 19:42:10 2006 http://www.host-5403.com/ Title: 5403 Thu Nov 30 19:45:04 2006 http://www.host-5404.com/ Title: 5404 Thu Nov 30 19:48:10 2006 http://host-5405.com/ Title: 5405 Thu Nov 30 19:50:38 2006 http://www.host-5406.com/ Title: 5406 Thu Nov 30 19:50:40 2006 http://www.host-5407.com/ Title: 5407 Thu Nov 30 19:50:43 2006 http://www.host-5408.com/ Title: 5408 Thu Nov 30 20:00:18 2006 http://host-5409.com/ Title: 5409 Thu Nov 30 20:00:23 2006 http://host-5410.com/ Title: 5410 Thu Nov 30 20:02:21 2006 http://host-5411.com/ Title: 5411 Thu Nov 30 20:02:57 2006 http://www.host-5412.com/ Title: 5412 Thu Nov 30 20:03:00 2006 http://www.host-5413.com/ Title: 5413 Thu Nov 30 21:28:12 2006 http://www.host-5414.com/ Title: 5414 Thu Nov 30 21:28:15 2006 http://www.host-5415.com/ Title: 5415 Thu Nov 30 21:28:21 2006 http://www.host-5416.com/ Title: 5416 Thu Nov 30 21:28:24 2006 http://host-5417.com/ Title: 5417 Thu Nov 30 21:28:28 2006 http://host-5418.com/ Title: 5418 Thu Nov 30 21:30:41 2006 http://host-5419.com/ Title: 5419 Thu Nov 30 21:30:47 2006 http://host-5420.com/ Title: 5420 Thu Nov 30 21:30:47 2006 http://host-5421.com/ Title: 5421 Thu Nov 30 21:30:51 2006 http://host-5422.com/ Title: 5422 Thu Nov 30 21:30:53 2006 http://www.host-5423.com/ Title: 5423 Thu Nov 30 21:30:55 2006 http://host-5424.com/ Title: 5424 Thu Nov 30 21:30:59 2006 http://www.host-5425.com/ Title: 5425 Thu Nov 30 21:31:00 2006 http://host-5426.com/ Title: 5426 Thu Nov 30 21:31:03 2006 http://host-5427.com/ Title: 5427 Thu Nov 30 21:31:04 2006 http://www.host-5428.com/ Title: 5428 Thu Nov 30 21:31:10 2006 http://www.host-5429.com/ Title: 5429 Thu Nov 30 21:31:13 2006 http://www.host-5430.com/ Title: 5430 Thu Nov 30 21:31:14 2006 http://host-5431.com/ Title: 5431 Thu Nov 30 21:31:35 2006 http://host-5432.com/ Title: 5432 Thu Nov 30 21:43:59 2006 http://host-5433.com/ Title: 5433 Fri Dec 1 11:24:58 2006 http://host-5434.com/ Title: 5434 Fri Dec 1 12:17:44 2006 http://host-5435.com/ Title: 5435 Fri Dec 1 12:17:46 2006 http://host-5436.com/ Title: 5436 Fri Dec 1 12:18:46 2006 http://www.host-5437.com/ Title: 5437 Fri Dec 1 12:18:51 2006 http://host-5438.com/ Title: 5438 Fri Dec 1 12:19:02 2006 http://host-5439.com/ Title: 5439 Fri Dec 1 12:19:09 2006 http://www.host-5440.com/ Title: 5440 Fri Dec 1 12:26:14 2006 http://www.host-5441.com/ Title: 5441 Fri Dec 1 12:26:17 2006 http://www.host-5442.com/ Title: 5442 Fri Dec 1 12:28:36 2006 http://www.host-5443.com/ Title: 5443 Fri Dec 1 12:29:04 2006 http://host-5444.com/ Title: 5444 Fri Dec 1 12:29:16 2006 http://www.host-5445.com/ Title: 5445 Fri Dec 1 12:30:15 2006 http://www.host-5446.com/ Title: 5446 Fri Dec 1 12:35:38 2006 http://www.host-5447.com/ Title: 5447 Fri Dec 1 12:37:09 2006 http://host-5448.com/ Title: 5448 Fri Dec 1 12:43:11 2006 http://host-5449.com/ Title: 5449 Fri Dec 1 12:43:22 2006 http://host-5450.com/ Title: 5450 Fri Dec 1 12:43:29 2006 http://host-5451.com/ Title: 5451 Fri Dec 1 12:43:32 2006 http://www.host-5452.com/ Title: 5452 Fri Dec 1 12:43:55 2006 http://host-5453.com/ Title: 5453 Fri Dec 1 12:44:00 2006 http://host-5454.com/ Title: 5454 Fri Dec 1 12:44:01 2006 http://host-5455.com/ Title: 5455 Fri Dec 1 12:53:46 2006 http://www.host-5456.com/ Title: 5456 Fri Dec 1 12:55:30 2006 http://www.host-5457.com/ Title: 5457 Fri Dec 1 12:55:33 2006 http://www.host-5458.com/ Title: 5458 Fri Dec 1 12:55:39 2006 http://www.host-5459.com/ Title: 5459 Fri Dec 1 12:55:45 2006 http://www.host-5460.com/ Title: 5460 Fri Dec 1 12:55:48 2006 http://host-5461.com/ Title: 5461 Fri Dec 1 12:55:55 2006 http://www.host-5462.com/ Title: 5462 Fri Dec 1 12:55:57 2006 http://www.host-5463.com/ Title: 5463 Fri Dec 1 12:56:04 2006 http://www.host-5464.com/ Title: 5464 Fri Dec 1 13:06:33 2006 http://www.host-5465.com/ Title: 5465 Fri Dec 1 13:06:41 2006 http://www.host-5466.com/ Title: 5466 Fri Dec 1 13:07:00 2006 http://www.host-5467.com/ Title: 5467 Fri Dec 1 13:15:00 2006 http://www.host-5468.com/ Title: 5468 Fri Dec 1 13:15:12 2006 http://www.host-5469.com/ Title: 5469 Fri Dec 1 13:15:46 2006 http://host-5470.com/ Title: 5470 Fri Dec 1 13:16:02 2006 http://www.host-5471.com/ Title: 5471 Fri Dec 1 13:17:45 2006 http://host-5472.com/ Title: 5472 Fri Dec 1 13:17:47 2006 http://www.host-5473.com/ Title: 5473 Fri Dec 1 13:17:50 2006 http://www.host-5474.com/ Title: 5474 Fri Dec 1 13:21:07 2006 http://host-5475.com/ Title: 5475 Fri Dec 1 13:21:15 2006 http://www.host-5476.com/ Title: 5476 Fri Dec 1 13:21:25 2006 http://www.host-5477.com/ Title: 5477 Fri Dec 1 13:21:29 2006 http://host-5478.com/ Title: 5478 Fri Dec 1 13:23:38 2006 http://www.host-5479.com/ Title: 5479 Fri Dec 1 13:24:13 2006 http://host-5480.com/ Title: 5480 Fri Dec 1 13:24:49 2006 http://www.host-5481.com/ Title: 5481 Fri Dec 1 13:24:57 2006 http://www.host-5482.com/ Title: 5482 Fri Dec 1 13:26:57 2006 http://www.host-5483.com/ Title: 5483 Fri Dec 1 13:26:59 2006 http://www.host-5484.com/ Title: 5484 Fri Dec 1 13:27:16 2006 http://www.host-5485.com/ Title: 5485 Fri Dec 1 13:28:29 2006 http://www.host-5486.com/ Title: 5486 Fri Dec 1 13:29:43 2006 http://host-5487.com/ Title: 5487 Fri Dec 1 13:31:23 2006 http://host-5488.com/ Title: 5488 Fri Dec 1 13:31:37 2006 http://www.host-5489.com/ Title: 5489 Fri Dec 1 13:31:55 2006 http://host-5490.com/ Title: 5490 Fri Dec 1 13:32:00 2006 http://www.host-5491.com/ Title: 5491 Fri Dec 1 13:32:00 2006 http://www.host-5492.com/ Title: 5492 Fri Dec 1 13:33:05 2006 http://www.host-5493.com/ Title: 5493 Fri Dec 1 13:33:16 2006 http://www.host-5494.com/ Title: 5494 Fri Dec 1 13:33:22 2006 http://host-5495.com/ Title: 5495 Fri Dec 1 13:34:43 2006 http://www.host-5496.com/ Title: 5496 Fri Dec 1 13:34:53 2006 http://www.host-5497.com/ Title: 5497 Fri Dec 1 13:41:45 2006 http://host-5498.com/ Title: 5498 Fri Dec 1 13:42:04 2006 http://host-5499.com/ Title: 5499 Fri Dec 1 13:42:11 2006 http://host-5500.com/ Title: 5500 Fri Dec 1 13:42:29 2006 http://www.host-5501.com/ Title: 5501 Fri Dec 1 13:42:31 2006 http://www.host-5502.com/ Title: 5502 Fri Dec 1 13:42:45 2006 http://www.host-5503.com/ Title: 5503 Fri Dec 1 13:57:43 2006 http://www.host-5504.com/ Title: 5504 Fri Dec 1 13:58:09 2006 http://host-5505.com/ Title: 5505 Fri Dec 1 14:00:52 2006 http://www.host-5506.com/ Title: 5506 Fri Dec 1 14:00:54 2006 http://host-5507.com/ Title: 5507 Fri Dec 1 14:14:56 2006 http://www.host-5508.com/ Title: 5508 Fri Dec 1 14:21:13 2006 http://www.host-5509.com/ Title: 5509 Fri Dec 1 14:21:23 2006 http://host-5510.com/ Title: 5510 Fri Dec 1 14:21:26 2006 http://host-5511.com/ Title: 5511 Fri Dec 1 14:21:43 2006 http://host-5512.com/ Title: 5512 Fri Dec 1 14:21:45 2006 http://www.host-5513.com/ Title: 5513 Fri Dec 1 14:21:46 2006 http://www.host-5514.com/ Title: 5514 Fri Dec 1 14:21:52 2006 http://www.host-5515.com/ Title: 5515 Fri Dec 1 14:21:54 2006 http://host-5516.com/ Title: 5516 Fri Dec 1 14:22:01 2006 http://host-5517.com/ Title: 5517 Fri Dec 1 15:52:40 2006 http://host-5518.com/ Title: 5518 Fri Dec 1 15:52:44 2006 http://www.host-5519.com/ Title: 5519 Fri Dec 1 16:35:45 2006 http://www.host-5520.com/ Title: 5520 Fri Dec 1 16:36:07 2006 http://www.host-5521.com/ Title: 5521 Fri Dec 1 16:36:38 2006 http://host-5522.com/ Title: 5522 Fri Dec 1 16:36:48 2006 http://www.host-5523.com/ Title: 5523 Fri Dec 1 16:41:00 2006 http://www.host-5524.com/ Title: 5524 Fri Dec 1 16:41:01 2006 http://host-5525.com/ Title: 5525 Fri Dec 1 17:26:13 2006 http://host-5526.com/ Title: 5526 Fri Dec 1 17:28:32 2006 http://www.host-5527.com/ Title: 5527 Fri Dec 1 17:28:39 2006 http://www.host-5528.com/ Title: 5528 Fri Dec 1 17:28:42 2006 http://host-5529.com/ Title: 5529 Fri Dec 1 17:28:46 2006 http://host-5530.com/ Title: 5530 Fri Dec 1 17:28:58 2006 http://host-5531.com/ Title: 5531 Fri Dec 1 17:29:06 2006 http://www.host-5532.com/ Title: 5532 Fri Dec 1 17:29:07 2006 http://www.host-5533.com/ Title: 5533 Fri Dec 1 17:29:09 2006 http://www.host-5534.com/ Title: 5534 Fri Dec 1 17:29:12 2006 http://www.host-5535.com/ Title: 5535 Fri Dec 1 17:29:32 2006 http://host-5536.com/ Title: 5536 Fri Dec 1 17:34:20 2006 http://www.host-5537.com/ Title: 5537 Fri Dec 1 17:36:25 2006 http://www.host-5538.com/ Title: 5538 Fri Dec 1 17:36:34 2006 http://www.host-5539.com/ Title: 5539 Fri Dec 1 17:43:54 2006 http://www.host-5540.com/ Title: 5540 Fri Dec 1 17:44:15 2006 http://www.host-5541.com/ Title: 5541 Fri Dec 1 17:44:24 2006 http://www.host-5542.com/ Title: 5542 Fri Dec 1 17:46:10 2006 http://host-5543.com/ Title: 5543 Fri Dec 1 17:52:51 2006 http://host-5544.com/ Title: 5544 Fri Dec 1 17:52:57 2006 http://www.host-5545.com/ Title: 5545 Fri Dec 1 17:54:28 2006 http://host-5546.com/ Title: 5546 Fri Dec 1 17:54:40 2006 http://host-5547.com/ Title: 5547 Fri Dec 1 17:55:00 2006 http://host-5548.com/ Title: 5548 Fri Dec 1 17:55:06 2006 http://host-5549.com/ Title: 5549 Fri Dec 1 17:55:54 2006 http://host-5550.com/ Title: 5550 Fri Dec 1 17:56:37 2006 http://www.host-5551.com/ Title: 5551 Fri Dec 1 17:58:16 2006 http://www.host-5552.com/ Title: 5552 Fri Dec 1 17:58:20 2006 http://host-5553.com/ Title: 5553 Fri Dec 1 18:00:07 2006 http://www.host-5554.com/ Title: 5554 Fri Dec 1 18:00:11 2006 http://host-5555.com/ Title: 5555 Fri Dec 1 18:05:34 2006 http://www.host-5556.com/ Title: 5556 Fri Dec 1 18:09:17 2006 http://host-5557.com/ Title: 5557 Fri Dec 1 18:12:50 2006 http://host-5558.com/ Title: 5558 Fri Dec 1 18:14:11 2006 http://www.host-5559.com/ Title: 5559 Fri Dec 1 18:14:43 2006 http://www.host-5560.com/ Title: 5560 Fri Dec 1 18:30:34 2006 http://www.host-5561.com/ Title: 5561 Fri Dec 1 18:30:45 2006 http://host-5562.com/ Title: 5562 Fri Dec 1 18:57:45 2006 http://host-5563.com/ Title: 5563 Fri Dec 1 18:58:18 2006 http://host-5564.com/ Title: 5564 Fri Dec 1 19:00:04 2006 http://host-5565.com/ Title: 5565 Fri Dec 1 19:12:45 2006 http://host-5566.com/ Title: 5566 Fri Dec 1 19:12:48 2006 http://host-5567.com/ Title: 5567 Fri Dec 1 19:14:21 2006 http://host-5568.com/ Title: 5568 Fri Dec 1 19:14:25 2006 http://www.host-5569.com/ Title: 5569 Fri Dec 1 19:14:29 2006 http://www.host-5570.com/ Title: 5570 Fri Dec 1 19:14:36 2006 http://host-5571.com/ Title: 5571 Fri Dec 1 19:14:37 2006 http://www.host-5572.com/ Title: 5572 Fri Dec 1 19:15:28 2006 http://www.host-5573.com/ Title: 5573 Fri Dec 1 19:15:30 2006 http://www.host-5574.com/ Title: 5574 Fri Dec 1 19:15:37 2006 http://host-5575.com/ Title: 5575 Fri Dec 1 19:15:42 2006 http://host-5576.com/ Title: 5576 Fri Dec 1 19:15:47 2006 http://host-5577.com/ Title: 5577 Fri Dec 1 19:15:50 2006 http://host-5578.com/ Title: 5578 Fri Dec 1 19:15:52 2006 http://www.host-5579.com/ Title: 5579 Fri Dec 1 19:15:55 2006 http://host-5580.com/ Title: 5580 Sun Dec 3 21:07:45 2006 http://host-5581.com/ Title: 5581 Sun Dec 3 21:07:54 2006 http://host-5582.com/ Title: 5582 Sun Dec 3 21:08:56 2006 http://www.host-5583.com/ Title: 5583 Sun Dec 3 21:15:16 2006 http://www.host-5584.com/ Title: 5584 Sun Dec 3 21:16:07 2006 http://host-5585.com/ Title: 5585 Sun Dec 3 21:16:10 2006 http://host-5586.com/ Title: 5586 Sun Dec 3 21:16:22 2006 http://host-5587.com/ Title: 5587 Sun Dec 3 21:20:29 2006 http://host-5588.com/ Title: 5588 Sun Dec 3 21:20:31 2006 http://host-5589.com/ Title: 5589 Sun Dec 3 21:20:36 2006 http://host-5590.com/ Title: 5590 Sun Dec 3 21:20:51 2006 http://www.host-5591.com/ Title: 5591 Sun Dec 3 21:21:00 2006 http://www.host-5592.com/ Title: 5592 Sun Dec 3 21:28:10 2006 http://www.host-5593.com/ Title: 5593 Sun Dec 3 21:30:00 2006 http://www.host-5594.com/ Title: 5594 Sun Dec 3 21:30:16 2006 http://host-5595.com/ Title: 5595 Sun Dec 3 21:34:20 2006 http://www.host-5596.com/ Title: 5596 Sun Dec 3 21:34:31 2006 http://www.host-5597.com/ Title: 5597 Sun Dec 3 21:34:36 2006 http://host-5598.com/ Title: 5598 Sun Dec 3 21:34:37 2006 http://host-5599.com/ Title: 5599 Sun Dec 3 21:34:38 2006 http://www.host-5600.com/ Title: 5600 Sun Dec 3 21:34:38 2006 http://www.host-5601.com/ Title: 5601 Sun Dec 3 21:34:41 2006 http://host-5602.com/ Title: 5602 Sun Dec 3 21:34:45 2006 http://www.host-5603.com/ Title: 5603 Sun Dec 3 21:34:46 2006 http://host-5604.com/ Title: 5604 Sun Dec 3 21:34:57 2006 http://host-5605.com/ Title: 5605 Sun Dec 3 21:35:05 2006 http://host-5606.com/ Title: 5606 Sun Dec 3 21:35:18 2006 http://www.host-5607.com/ Title: 5607 Sun Dec 3 21:35:27 2006 http://www.host-5608.com/ Title: 5608 Sun Dec 3 21:36:44 2006 http://host-5609.com/ Title: 5609 Sun Dec 3 21:39:52 2006 http://host-5610.com/ Title: 5610 Sun Dec 3 21:39:53 2006 http://www.host-5611.com/ Title: 5611 Sun Dec 3 21:39:54 2006 http://www.host-5612.com/ Title: 5612 Sun Dec 3 22:08:13 2006 http://host-5613.com/ Title: 5613 Sun Dec 3 22:08:19 2006 http://host-5614.com/ Title: 5614 Sun Dec 3 22:12:04 2006 http://host-5615.com/ Title: 5615 Sun Dec 3 22:12:13 2006 http://host-5616.com/ Title: 5616 Sun Dec 3 22:12:16 2006 http://www.host-5617.com/ Title: 5617 Sun Dec 3 22:13:01 2006 http://www.host-5618.com/ Title: 5618 Sun Dec 3 22:13:19 2006 http://host-5619.com/ Title: 5619 Sun Dec 3 22:36:00 2006 http://host-5620.com/ Title: 5620 Sun Dec 3 22:36:02 2006 http://host-5621.com/ Title: 5621 Sun Dec 3 22:39:02 2006 http://host-5622.com/ Title: 5622 Sun Dec 3 22:39:04 2006 http://www.host-5623.com/ Title: 5623 Sun Dec 3 22:41:01 2006 http://host-5624.com/ Title: 5624 Sun Dec 3 22:41:20 2006 http://www.host-5625.com/ Title: 5625 Sun Dec 3 22:41:32 2006 http://www.host-5626.com/ Title: 5626 Sun Dec 3 22:41:46 2006 http://host-5627.com/ Title: 5627 Sun Dec 3 22:41:47 2006 http://host-5628.com/ Title: 5628 Sun Dec 3 22:42:32 2006 http://host-5629.com/ Title: 5629 Sun Dec 3 22:42:36 2006 http://host-5630.com/ Title: 5630 Sun Dec 3 22:59:54 2006 http://www.host-5631.com/ Title: 5631 Sun Dec 3 23:00:08 2006 http://www.host-5632.com/ Title: 5632 Sun Dec 3 23:00:10 2006 http://www.host-5633.com/ Title: 5633 Sun Dec 3 23:00:13 2006 http://www.host-5634.com/ Title: 5634 Sun Dec 3 23:00:17 2006 http://host-5635.com/ Title: 5635 Sun Dec 3 23:05:04 2006 http://www.host-5636.com/ Title: 5636 Sun Dec 3 23:05:14 2006 http://host-5637.com/ Title: 5637 Sun Dec 3 23:05:32 2006 http://www.host-5638.com/ Title: 5638 Sun Dec 3 23:06:01 2006 http://host-5639.com/ Title: 5639 Sun Dec 3 23:42:25 2006 http://www.host-5640.com/ Title: 5640 Sun Dec 3 23:58:39 2006 http://www.host-5641.com/ Title: 5641 Sun Dec 3 23:58:40 2006 http://www.host-5642.com/ Title: 5642 Sun Dec 3 23:59:20 2006 http://www.host-5643.com/ Title: 5643 Mon Dec 4 01:11:57 2006 http://www.host-5644.com/ Title: 5644 Mon Dec 4 01:12:03 2006 http://www.host-5645.com/ Title: 5645 Mon Dec 4 01:12:45 2006 http://www.host-5646.com/ Title: 5646 Mon Dec 4 01:12:51 2006 http://www.host-5647.com/ Title: 5647 Mon Dec 4 01:13:04 2006 http://www.host-5648.com/ Title: 5648 Mon Dec 4 01:21:37 2006 http://www.host-5649.com/ Title: 5649 Mon Dec 4 01:21:47 2006 http://www.host-5650.com/ Title: 5650 Mon Dec 4 01:22:24 2006 http://www.host-5651.com/ Title: 5651 Mon Dec 4 01:22:26 2006 http://www.host-5652.com/ Title: 5652 Mon Dec 4 01:22:39 2006 http://host-5653.com/ Title: 5653 Mon Dec 4 01:23:15 2006 http://host-5654.com/ Title: 5654 Mon Dec 4 01:23:22 2006 http://www.host-5655.com/ Title: 5655 Mon Dec 4 01:28:24 2006 http://host-5656.com/ Title: 5656 Mon Dec 4 12:26:05 2006 http://host-5657.com/ Title: 5657 Mon Dec 4 12:26:13 2006 http://host-5658.com/ Title: 5658 Mon Dec 4 12:26:15 2006 http://www.host-5659.com/ Title: 5659 Mon Dec 4 12:31:57 2006 http://www.host-5660.com/ Title: 5660 Mon Dec 4 13:59:15 2006 http://www.host-5661.com/ Title: 5661 Mon Dec 4 14:19:26 2006 http://host-5662.com/ Title: 5662 Mon Dec 4 14:52:37 2006 http://www.host-5663.com/ Title: 5663 Mon Dec 4 14:52:41 2006 http://host-5664.com/ Title: 5664 Mon Dec 4 14:52:43 2006 http://host-5665.com/ Title: 5665 Mon Dec 4 16:50:01 2006 http://host-5666.com/ Title: 5666 Mon Dec 4 16:51:45 2006 http://host-5667.com/ Title: 5667 Mon Dec 4 16:51:50 2006 http://host-5668.com/ Title: 5668 Mon Dec 4 17:29:00 2006 http://host-5669.com/ Title: 5669 Mon Dec 4 17:33:33 2006 http://www.host-5670.com/ Title: 5670 Mon Dec 4 17:33:40 2006 http://www.host-5671.com/ Title: 5671 Mon Dec 4 17:56:51 2006 http://host-5672.com/ Title: 5672 Mon Dec 4 17:56:56 2006 http://www.host-5673.com/ Title: 5673 Mon Dec 4 17:56:57 2006 http://www.host-5674.com/ Title: 5674 Mon Dec 4 17:57:04 2006 http://www.host-5675.com/ Title: 5675 Mon Dec 4 17:57:07 2006 http://host-5676.com/ Title: 5676 Mon Dec 4 17:57:13 2006 http://host-5677.com/ Title: 5677 Mon Dec 4 17:57:17 2006 http://host-5678.com/ Title: 5678 Mon Dec 4 17:57:21 2006 http://host-5679.com/ Title: 5679 Mon Dec 4 18:01:05 2006 http://host-5680.com/ Title: 5680 Mon Dec 4 18:01:08 2006 http://www.host-5681.com/ Title: 5681 Mon Dec 4 18:01:21 2006 http://host-5682.com/ Title: 5682 Mon Dec 4 18:01:29 2006 http://host-5683.com/ Title: 5683 Mon Dec 4 18:01:32 2006 http://host-5684.com/ Title: 5684 Mon Dec 4 18:01:34 2006 http://host-5685.com/ Title: 5685 Mon Dec 4 18:01:39 2006 http://www.host-5686.com/ Title: 5686 Mon Dec 4 18:01:41 2006 http://www.host-5687.com/ Title: 5687 Mon Dec 4 18:03:34 2006 http://www.host-5688.com/ Title: 5688 Mon Dec 4 18:24:43 2006 http://www.host-5689.com/ Title: 5689 Mon Dec 4 18:24:45 2006 http://host-5690.com/ Title: 5690 Mon Dec 4 18:24:54 2006 http://www.host-5691.com/ Title: 5691 Mon Dec 4 18:24:56 2006 http://host-5692.com/ Title: 5692 Mon Dec 4 18:30:09 2006 http://host-5693.com/ Title: 5693 Mon Dec 4 18:30:13 2006 http://www.host-5694.com/ Title: 5694 Mon Dec 4 18:30:23 2006 http://www.host-5695.com/ Title: 5695 Mon Dec 4 18:30:31 2006 http://www.host-5696.com/ Title: 5696 Mon Dec 4 18:30:39 2006 http://www.host-5697.com/ Title: 5697 Mon Dec 4 18:30:44 2006 http://host-5698.com/ Title: 5698 Mon Dec 4 19:02:19 2006 http://www.host-5699.com/ Title: 5699 Tue Dec 5 11:09:21 2006 http://www.host-5700.com/ Title: 5700 Tue Dec 5 11:09:26 2006 http://host-5701.com/ Title: 5701 Tue Dec 5 11:27:05 2006 http://www.host-5702.com/ Title: 5702 Tue Dec 5 11:38:16 2006 http://host-5703.com/ Title: 5703 Tue Dec 5 11:38:18 2006 http://www.host-5704.com/ Title: 5704 Tue Dec 5 11:38:22 2006 http://host-5705.com/ Title: 5705 Tue Dec 5 11:38:24 2006 http://www.host-5706.com/ Title: 5706 Tue Dec 5 11:38:26 2006 http://www.host-5707.com/ Title: 5707 Tue Dec 5 11:38:40 2006 http://host-5708.com/ Title: 5708 Tue Dec 5 11:38:40 2006 http://host-5709.com/ Title: 5709 Tue Dec 5 11:40:27 2006 http://host-5710.com/ Title: 5710 Tue Dec 5 12:19:39 2006 http://www.host-5711.com/ Title: 5711 Tue Dec 5 12:19:45 2006 http://www.host-5712.com/ Title: 5712 Tue Dec 5 12:21:31 2006 http://host-5713.com/ Title: 5713 Tue Dec 5 12:22:11 2006 http://www.host-5714.com/ Title: 5714 Tue Dec 5 12:29:45 2006 http://host-5715.com/ Title: 5715 Tue Dec 5 12:30:52 2006 http://host-5716.com/ Title: 5716 Tue Dec 5 12:35:23 2006 http://host-5717.com/ Title: 5717 Tue Dec 5 12:35:31 2006 http://www.host-5718.com/ Title: 5718 Tue Dec 5 12:35:38 2006 http://www.host-5719.com/ Title: 5719 Tue Dec 5 12:35:38 2006 http://www.host-5720.com/ Title: 5720 Tue Dec 5 12:35:38 2006 http://host-5721.com/ Title: 5721 Tue Dec 5 12:35:52 2006 http://host-5722.com/ Title: 5722 Tue Dec 5 12:36:49 2006 http://host-5723.com/ Title: 5723 Tue Dec 5 12:59:44 2006 http://host-5724.com/ Title: 5724 Tue Dec 5 13:17:55 2006 http://www.host-5725.com/ Title: 5725 Tue Dec 5 13:20:03 2006 http://host-5726.com/ Title: 5726 Tue Dec 5 13:25:38 2006 http://host-5727.com/ Title: 5727 Tue Dec 5 13:25:59 2006 http://www.host-5728.com/ Title: 5728 Tue Dec 5 13:26:52 2006 http://www.host-5729.com/ Title: 5729 Tue Dec 5 13:36:22 2006 http://host-5730.com/ Title: 5730 Tue Dec 5 13:54:29 2006 http://www.host-5731.com/ Title: 5731 Tue Dec 5 13:54:40 2006 http://host-5732.com/ Title: 5732 Tue Dec 5 13:54:53 2006 http://www.host-5733.com/ Title: 5733 Tue Dec 5 13:54:58 2006 http://host-5734.com/ Title: 5734 Tue Dec 5 13:57:48 2006 http://host-5735.com/ Title: 5735 Tue Dec 5 13:58:40 2006 http://host-5736.com/ Title: 5736 Tue Dec 5 13:59:07 2006 http://www.host-5737.com/ Title: 5737 Tue Dec 5 13:59:50 2006 http://www.host-5738.com/ Title: 5738 Tue Dec 5 13:59:55 2006 http://host-5739.com/ Title: 5739 Tue Dec 5 14:00:00 2006 http://host-5740.com/ Title: 5740 Tue Dec 5 14:00:06 2006 http://host-5741.com/ Title: 5741 Tue Dec 5 14:00:19 2006 http://host-5742.com/ Title: 5742 Tue Dec 5 14:00:21 2006 http://www.host-5743.com/ Title: 5743 Tue Dec 5 14:00:54 2006 http://www.host-5744.com/ Title: 5744 Tue Dec 5 14:01:44 2006 http://www.host-5745.com/ Title: 5745 Tue Dec 5 14:01:56 2006 http://host-5746.com/ Title: 5746 Tue Dec 5 14:02:03 2006 http://www.host-5747.com/ Title: 5747 Tue Dec 5 14:02:15 2006 http://host-5748.com/ Title: 5748 Tue Dec 5 14:02:19 2006 http://host-5749.com/ Title: 5749 Tue Dec 5 14:02:26 2006 http://host-5750.com/ Title: 5750 Tue Dec 5 14:08:18 2006 http://host-5751.com/ Title: 5751 Tue Dec 5 14:10:44 2006 http://www.host-5752.com/ Title: 5752 Tue Dec 5 14:38:26 2006 http://host-5753.com/ Title: 5753 Tue Dec 5 14:38:34 2006 http://host-5754.com/ Title: 5754 Tue Dec 5 14:56:11 2006 http://www.host-5755.com/ Title: 5755 Tue Dec 5 14:56:13 2006 http://www.host-5756.com/ Title: 5756 Tue Dec 5 14:56:25 2006 http://host-5757.com/ Title: 5757 Tue Dec 5 14:56:47 2006 http://www.host-5758.com/ Title: 5758 Tue Dec 5 14:56:52 2006 http://www.host-5759.com/ Title: 5759 Tue Dec 5 14:56:59 2006 http://www.host-5760.com/ Title: 5760 Tue Dec 5 14:57:01 2006 http://www.host-5761.com/ Title: 5761 Tue Dec 5 14:57:07 2006 http://www.host-5762.com/ Title: 5762 Tue Dec 5 15:39:44 2006 http://www.host-5763.com/ Title: 5763 Tue Dec 5 15:39:46 2006 http://www.host-5764.com/ Title: 5764 Tue Dec 5 15:43:10 2006 http://www.host-5765.com/ Title: 5765 Tue Dec 5 15:45:04 2006 http://host-5766.com/ Title: 5766 Tue Dec 5 15:52:37 2006 http://host-5767.com/ Title: 5767 Tue Dec 5 15:52:43 2006 http://www.host-5768.com/ Title: 5768 Tue Dec 5 15:52:48 2006 http://www.host-5769.com/ Title: 5769 Tue Dec 5 15:52:53 2006 http://host-5770.com/ Title: 5770 Tue Dec 5 15:52:57 2006 http://www.host-5771.com/ Title: 5771 Tue Dec 5 15:53:02 2006 http://www.host-5772.com/ Title: 5772 Tue Dec 5 15:53:49 2006 http://host-5773.com/ Title: 5773 Tue Dec 5 15:53:51 2006 http://www.host-5774.com/ Title: 5774 Tue Dec 5 16:03:07 2006 http://www.host-5775.com/ Title: 5775 Tue Dec 5 16:04:22 2006 http://www.host-5776.com/ Title: 5776 Tue Dec 5 16:04:32 2006 http://www.host-5777.com/ Title: 5777 Tue Dec 5 17:23:21 2006 http://host-5778.com/ Title: 5778 Tue Dec 5 18:40:57 2006 http://host-5779.com/ Title: 5779 Tue Dec 5 18:41:03 2006 http://host-5780.com/ Title: 5780 Tue Dec 5 18:41:05 2006 http://www.host-5781.com/ Title: 5781 Tue Dec 5 18:43:17 2006 http://host-5782.com/ Title: 5782 Tue Dec 5 18:50:04 2006 http://www.host-5783.com/ Title: 5783 Tue Dec 5 19:22:11 2006 http://www.host-5784.com/ Title: 5784 Tue Dec 5 19:22:12 2006 http://host-5785.com/ Title: 5785 Tue Dec 5 19:22:16 2006 http://host-5786.com/ Title: 5786 Tue Dec 5 19:22:16 2006 http://host-5787.com/ Title: 5787 Tue Dec 5 19:22:19 2006 http://www.host-5788.com/ Title: 5788 Tue Dec 5 19:22:32 2006 http://www.host-5789.com/ Title: 5789 Tue Dec 5 19:22:35 2006 http://www.host-5790.com/ Title: 5790 Tue Dec 5 19:22:52 2006 http://www.host-5791.com/ Title: 5791 Tue Dec 5 20:19:58 2006 http://www.host-5792.com/ Title: 5792 Tue Dec 5 20:20:27 2006 http://host-5793.com/ Title: 5793 Tue Dec 5 20:21:39 2006 http://host-5794.com/ Title: 5794 Tue Dec 5 21:25:07 2006 http://host-5795.com/ Title: 5795 Tue Dec 5 21:25:09 2006 http://www.host-5796.com/ Title: 5796 Wed Dec 6 11:14:59 2006 http://host-5797.com/ Title: 5797 Wed Dec 6 11:15:00 2006 http://www.host-5798.com/ Title: 5798 Wed Dec 6 11:15:49 2006 http://www.host-5799.com/ Title: 5799 Wed Dec 6 11:27:10 2006 http://host-5800.com/ Title: 5800 Wed Dec 6 11:27:14 2006 http://www.host-5801.com/ Title: 5801 Wed Dec 6 11:27:43 2006 http://host-5802.com/ Title: 5802 Wed Dec 6 11:39:48 2006 http://host-5803.com/ Title: 5803 Wed Dec 6 11:49:21 2006 http://www.host-5804.com/ Title: 5804 Wed Dec 6 11:50:12 2006 http://host-5805.com/ Title: 5805 Wed Dec 6 11:50:18 2006 http://www.host-5806.com/ Title: 5806 Wed Dec 6 11:51:03 2006 http://host-5807.com/ Title: 5807 Wed Dec 6 11:51:09 2006 http://host-5808.com/ Title: 5808 Wed Dec 6 12:24:24 2006 http://host-5809.com/ Title: 5809 Wed Dec 6 12:24:28 2006 http://www.host-5810.com/ Title: 5810 Wed Dec 6 13:06:28 2006 http://www.host-5811.com/ Title: 5811 Wed Dec 6 13:06:32 2006 http://host-5812.com/ Title: 5812 Wed Dec 6 13:06:41 2006 http://www.host-5813.com/ Title: 5813 Wed Dec 6 13:21:03 2006 http://host-5814.com/ Title: 5814 Wed Dec 6 13:21:10 2006 http://www.host-5815.com/ Title: 5815 Wed Dec 6 13:21:16 2006 http://www.host-5816.com/ Title: 5816 Wed Dec 6 13:22:13 2006 http://www.host-5817.com/ Title: 5817 Wed Dec 6 13:22:46 2006 http://host-5818.com/ Title: 5818 Wed Dec 6 13:22:55 2006 http://host-5819.com/ Title: 5819 Wed Dec 6 13:39:26 2006 http://host-5820.com/ Title: 5820 Wed Dec 6 13:39:31 2006 http://host-5821.com/ Title: 5821 Wed Dec 6 13:39:53 2006 http://host-5822.com/ Title: 5822 Wed Dec 6 13:39:53 2006 http://host-5823.com/ Title: 5823 Wed Dec 6 13:40:05 2006 http://www.host-5824.com/ Title: 5824 Wed Dec 6 13:45:12 2006 http://host-5825.com/ Title: 5825 Wed Dec 6 13:45:16 2006 http://host-5826.com/ Title: 5826 Wed Dec 6 13:45:18 2006 http://host-5827.com/ Title: 5827 Wed Dec 6 15:10:32 2006 http://www.host-5828.com/ Title: 5828 Wed Dec 6 15:54:03 2006 http://host-5829.com/ Title: 5829 Wed Dec 6 17:37:11 2006 http://host-5830.com/ Title: 5830 Wed Dec 6 17:59:38 2006 http://www.host-5831.com/ Title: 5831 Wed Dec 6 17:59:47 2006 http://host-5832.com/ Title: 5832 Wed Dec 6 18:00:10 2006 http://host-5833.com/ Title: 5833 Wed Dec 6 18:11:58 2006 http://host-5834.com/ Title: 5834 Wed Dec 6 18:12:02 2006 http://www.host-5835.com/ Title: 5835 Wed Dec 6 18:12:06 2006 http://www.host-5836.com/ Title: 5836 Wed Dec 6 18:12:11 2006 http://www.host-5837.com/ Title: 5837 Wed Dec 6 18:12:14 2006 http://host-5838.com/ Title: 5838 Wed Dec 6 18:12:24 2006 http://host-5839.com/ Title: 5839 Wed Dec 6 18:12:28 2006 http://host-5840.com/ Title: 5840 Wed Dec 6 18:12:41 2006 http://www.host-5841.com/ Title: 5841 Wed Dec 6 18:13:13 2006 http://host-5842.com/ Title: 5842 Wed Dec 6 18:13:17 2006 http://host-5843.com/ Title: 5843 Wed Dec 6 18:13:21 2006 http://host-5844.com/ Title: 5844 Wed Dec 6 18:13:45 2006 http://host-5845.com/ Title: 5845 Wed Dec 6 18:14:49 2006 http://www.host-5846.com/ Title: 5846 Wed Dec 6 18:14:53 2006 http://www.host-5847.com/ Title: 5847 Wed Dec 6 18:14:56 2006 http://www.host-5848.com/ Title: 5848 Wed Dec 6 18:15:16 2006 http://host-5849.com/ Title: 5849 Wed Dec 6 18:15:26 2006 http://host-5850.com/ Title: 5850 Wed Dec 6 18:15:33 2006 http://host-5851.com/ Title: 5851 Wed Dec 6 18:15:41 2006 http://host-5852.com/ Title: 5852 Wed Dec 6 18:15:48 2006 http://www.host-5853.com/ Title: 5853 Thu Dec 7 11:04:07 2006 http://www.host-5854.com/ Title: 5854 Thu Dec 7 11:06:09 2006 http://host-5855.com/ Title: 5855 Thu Dec 7 11:06:21 2006 http://host-5856.com/ Title: 5856 Thu Dec 7 11:21:13 2006 http://host-5857.com/ Title: 5857 Thu Dec 7 11:21:17 2006 http://www.host-5858.com/ Title: 5858 Thu Dec 7 11:21:21 2006 http://www.host-5859.com/ Title: 5859 Thu Dec 7 12:02:26 2006 http://host-5860.com/ Title: 5860 Thu Dec 7 12:06:03 2006 http://host-5861.com/ Title: 5861 Thu Dec 7 12:09:00 2006 http://www.host-5862.com/ Title: 5862 Thu Dec 7 12:09:33 2006 http://www.host-5863.com/ Title: 5863 Thu Dec 7 12:10:09 2006 http://www.host-5864.com/ Title: 5864 Thu Dec 7 12:10:11 2006 http://host-5865.com/ Title: 5865 Thu Dec 7 12:10:16 2006 http://www.host-5866.com/ Title: 5866 Thu Dec 7 12:10:23 2006 http://host-5867.com/ Title: 5867 Thu Dec 7 12:10:32 2006 http://host-5868.com/ Title: 5868 Thu Dec 7 12:10:47 2006 http://host-5869.com/ Title: 5869 Thu Dec 7 12:11:00 2006 http://host-5870.com/ Title: 5870 Thu Dec 7 12:11:09 2006 http://www.host-5871.com/ Title: 5871 Thu Dec 7 12:11:16 2006 http://host-5872.com/ Title: 5872 Thu Dec 7 12:11:22 2006 http://www.host-5873.com/ Title: 5873 Thu Dec 7 12:11:29 2006 http://www.host-5874.com/ Title: 5874 Thu Dec 7 12:11:52 2006 http://www.host-5875.com/ Title: 5875 Thu Dec 7 12:12:15 2006 http://host-5876.com/ Title: 5876 Thu Dec 7 12:12:18 2006 http://www.host-5877.com/ Title: 5877 Thu Dec 7 12:12:26 2006 http://host-5878.com/ Title: 5878 Thu Dec 7 12:12:45 2006 http://www.host-5879.com/ Title: 5879 Thu Dec 7 12:12:52 2006 http://www.host-5880.com/ Title: 5880 Thu Dec 7 12:13:13 2006 http://www.host-5881.com/ Title: 5881 Thu Dec 7 12:14:55 2006 http://host-5882.com/ Title: 5882 Thu Dec 7 12:15:06 2006 http://www.host-5883.com/ Title: 5883 Thu Dec 7 12:15:07 2006 http://www.host-5884.com/ Title: 5884 Thu Dec 7 12:34:46 2006 http://www.host-5885.com/ Title: 5885 Thu Dec 7 13:38:54 2006 http://www.host-5886.com/ Title: 5886 Thu Dec 7 14:05:00 2006 http://host-5887.com/ Title: 5887 Thu Dec 7 16:50:39 2006 http://host-5888.com/ Title: 5888 Thu Dec 7 16:50:40 2006 http://www.host-5889.com/ Title: 5889 Thu Dec 7 16:50:51 2006 http://host-5890.com/ Title: 5890 Thu Dec 7 16:50:52 2006 http://host-5891.com/ Title: 5891 Thu Dec 7 16:50:56 2006 http://www.host-5892.com/ Title: 5892 Thu Dec 7 16:51:30 2006 http://host-5893.com/ Title: 5893 Thu Dec 7 16:51:41 2006 http://host-5894.com/ Title: 5894 Thu Dec 7 16:51:47 2006 http://www.host-5895.com/ Title: 5895 Thu Dec 7 16:51:47 2006 http://host-5896.com/ Title: 5896 Fri Dec 8 11:12:36 2006 http://www.host-5897.com/ Title: 5897 Fri Dec 8 12:35:19 2006 http://host-5898.com/ Title: 5898 Fri Dec 8 12:35:53 2006 http://host-5899.com/ Title: 5899 Fri Dec 8 12:56:17 2006 http://www.host-5900.com/ Title: 5900 Fri Dec 8 12:56:35 2006 http://host-5901.com/ Title: 5901 Fri Dec 8 13:01:27 2006 http://host-5902.com/ Title: 5902 Fri Dec 8 13:04:05 2006 http://host-5903.com/ Title: 5903 Fri Dec 8 13:05:25 2006 http://host-5904.com/ Title: 5904 Fri Dec 8 13:28:12 2006 http://host-5905.com/ Title: 5905 Fri Dec 8 13:28:52 2006 http://host-5906.com/ Title: 5906 Fri Dec 8 13:28:55 2006 http://host-5907.com/ Title: 5907 Fri Dec 8 13:29:00 2006 http://host-5908.com/ Title: 5908 Fri Dec 8 14:28:52 2006 http://www.host-5909.com/ Title: 5909 Fri Dec 8 14:28:55 2006 http://host-5910.com/ Title: 5910 Fri Dec 8 14:30:18 2006 http://host-5911.com/ Title: 5911 Fri Dec 8 14:30:22 2006 http://host-5912.com/ Title: 5912 Fri Dec 8 14:30:35 2006 http://host-5913.com/ Title: 5913 Fri Dec 8 14:31:53 2006 http://host-5914.com/ Title: 5914 Fri Dec 8 14:32:03 2006 http://host-5915.com/ Title: 5915 Fri Dec 8 14:32:14 2006 http://host-5916.com/ Title: 5916 Fri Dec 8 14:32:22 2006 http://host-5917.com/ Title: 5917 Fri Dec 8 14:32:37 2006 http://host-5918.com/ Title: 5918 Fri Dec 8 14:33:31 2006 http://www.host-5919.com/ Title: 5919 Fri Dec 8 14:33:42 2006 http://www.host-5920.com/ Title: 5920 Fri Dec 8 14:50:15 2006 http://host-5921.com/ Title: 5921 Fri Dec 8 14:50:17 2006 http://host-5922.com/ Title: 5922 Fri Dec 8 14:50:23 2006 http://host-5923.com/ Title: 5923 Fri Dec 8 14:50:51 2006 http://www.host-5924.com/ Title: 5924 Fri Dec 8 14:50:55 2006 http://www.host-5925.com/ Title: 5925 Fri Dec 8 14:50:56 2006 http://host-5926.com/ Title: 5926 Fri Dec 8 16:24:42 2006 http://www.host-5927.com/ Title: 5927 Sun Dec 10 23:24:05 2006 http://www.host-5928.com/ Title: 5928 Sun Dec 10 23:29:32 2006 http://www.host-5929.com/ Title: 5929 Sun Dec 10 23:34:35 2006 http://www.host-5930.com/ Title: 5930 Mon Dec 11 00:09:10 2006 http://www.host-5931.com/ Title: 5931 Mon Dec 11 00:09:19 2006 http://www.host-5932.com/ Title: 5932 Mon Dec 11 00:18:17 2006 http://www.host-5933.com/ Title: 5933 Mon Dec 11 00:40:24 2006 http://www.host-5934.com/ Title: 5934 Mon Dec 11 01:01:25 2006 http://host-5935.com/ Title: 5935 Mon Dec 11 01:09:44 2006 http://host-5936.com/ Title: 5936 Mon Dec 11 01:10:18 2006 http://host-5937.com/ Title: 5937 Mon Dec 11 01:11:44 2006 http://www.host-5938.com/ Title: 5938 Mon Dec 11 01:23:08 2006 http://www.host-5939.com/ Title: 5939 Mon Dec 11 01:26:04 2006 http://www.host-5940.com/ Title: 5940 Mon Dec 11 01:26:05 2006 http://host-5941.com/ Title: 5941 Mon Dec 11 01:46:09 2006 http://host-5942.com/ Title: 5942 Mon Dec 11 01:46:18 2006 http://www.host-5943.com/ Title: 5943 Mon Dec 11 01:51:55 2006 http://www.host-5944.com/ Title: 5944 Mon Dec 11 01:52:14 2006 http://www.host-5945.com/ Title: 5945 Mon Dec 11 01:52:46 2006 http://www.host-5946.com/ Title: 5946 Mon Dec 11 01:56:26 2006 http://host-5947.com/ Title: 5947 Mon Dec 11 01:56:53 2006 http://host-5948.com/ Title: 5948 Mon Dec 11 02:01:24 2006 http://host-5949.com/ Title: 5949 Mon Dec 11 02:01:31 2006 http://www.host-5950.com/ Title: 5950 Mon Dec 11 02:07:26 2006 http://www.host-5951.com/ Title: 5951 Mon Dec 11 02:07:57 2006 http://www.host-5952.com/ Title: 5952 Mon Dec 11 02:08:14 2006 http://www.host-5953.com/ Title: 5953 Mon Dec 11 02:08:26 2006 http://www.host-5954.com/ Title: 5954 Mon Dec 11 02:12:28 2006 http://host-5955.com/ Title: 5955 Mon Dec 11 02:17:08 2006 http://www.host-5956.com/ Title: 5956 Mon Dec 11 02:17:32 2006 http://host-5957.com/ Title: 5957 Mon Dec 11 02:17:33 2006 http://host-5958.com/ Title: 5958 Mon Dec 11 02:17:34 2006 http://www.host-5959.com/ Title: 5959 Mon Dec 11 02:17:34 2006 http://host-5960.com/ Title: 5960 Mon Dec 11 02:21:22 2006 http://host-5961.com/ Title: 5961 Mon Dec 11 02:21:22 2006 http://www.host-5962.com/ Title: 5962 Mon Dec 11 03:03:01 2006 http://host-5963.com/ Title: 5963 Mon Dec 11 03:03:08 2006 http://host-5964.com/ Title: 5964 Mon Dec 11 03:10:13 2006 http://host-5965.com/ Title: 5965 Mon Dec 11 03:18:35 2006 http://www.host-5966.com/ Title: 5966 Mon Dec 11 03:18:38 2006 http://www.host-5967.com/ Title: 5967 Mon Dec 11 03:21:38 2006 http://www.host-5968.com/ Title: 5968 Mon Dec 11 03:21:45 2006 http://host-5969.com/ Title: 5969 Mon Dec 11 03:21:57 2006 http://www.host-5970.com/ Title: 5970 Mon Dec 11 03:22:05 2006 http://www.host-5971.com/ Title: 5971 Mon Dec 11 03:22:12 2006 http://www.host-5972.com/ Title: 5972 Mon Dec 11 03:22:42 2006 http://host-5973.com/ Title: 5973 Mon Dec 11 03:23:01 2006 http://host-5974.com/ Title: 5974 Mon Dec 11 03:24:04 2006 http://www.host-5975.com/ Title: 5975 Mon Dec 11 03:24:14 2006 http://host-5976.com/ Title: 5976 Mon Dec 11 03:25:15 2006 http://www.host-5977.com/ Title: 5977 Mon Dec 11 03:25:27 2006 http://www.host-5978.com/ Title: 5978 Mon Dec 11 03:25:59 2006 http://host-5979.com/ Title: 5979 Mon Dec 11 09:12:02 2006 http://host-5980.com/ Title: 5980 Mon Dec 11 09:12:12 2006 http://host-5981.com/ Title: 5981 Mon Dec 11 09:12:31 2006 http://host-5982.com/ Title: 5982 Mon Dec 11 09:13:06 2006 http://host-5983.com/ Title: 5983 Mon Dec 11 09:13:21 2006 http://www.host-5984.com/ Title: 5984 Mon Dec 11 09:15:09 2006 http://host-5985.com/ Title: 5985 Mon Dec 11 09:15:11 2006 http://www.host-5986.com/ Title: 5986 Mon Dec 11 09:15:29 2006 http://www.host-5987.com/ Title: 5987 Mon Dec 11 09:15:44 2006 http://www.host-5988.com/ Title: 5988 Mon Dec 11 09:15:51 2006 http://www.host-5989.com/ Title: 5989 Mon Dec 11 09:41:37 2006 http://www.host-5990.com/ Title: 5990 Mon Dec 11 09:41:40 2006 http://www.host-5991.com/ Title: 5991 Mon Dec 11 09:46:47 2006 http://host-5992.com/ Title: 5992 Mon Dec 11 09:47:46 2006 http://host-5993.com/ Title: 5993 Mon Dec 11 09:47:47 2006 http://host-5994.com/ Title: 5994 Mon Dec 11 09:54:36 2006 http://www.host-5995.com/ Title: 5995 Mon Dec 11 09:54:39 2006 http://www.host-5996.com/ Title: 5996 Mon Dec 11 09:56:08 2006 http://www.host-5997.com/ Title: 5997 Mon Dec 11 09:56:16 2006 http://host-5998.com/ Title: 5998 Mon Dec 11 10:00:32 2006 http://host-5999.com/ Title: 5999 Mon Dec 11 10:00:32 2006 http://host-6000.com/ Title: 6000 Mon Dec 11 10:00:37 2006 http://www.host-6001.com/ Title: 6001 Mon Dec 11 10:01:19 2006 http://www.host-6002.com/ Title: 6002 Mon Dec 11 10:01:33 2006 http://www.host-6003.com/ Title: 6003 Mon Dec 11 10:01:59 2006 http://www.host-6004.com/ Title: 6004 Mon Dec 11 10:02:10 2006 http://host-6005.com/ Title: 6005 Mon Dec 11 10:02:53 2006 http://host-6006.com/ Title: 6006 Mon Dec 11 10:03:20 2006 http://host-6007.com/ Title: 6007 Mon Dec 11 10:04:47 2006 http://www.host-6008.com/ Title: 6008 Mon Dec 11 10:05:15 2006 http://www.host-6009.com/ Title: 6009 Mon Dec 11 10:05:30 2006 http://www.host-6010.com/ Title: 6010 Mon Dec 11 10:05:46 2006 http://www.host-6011.com/ Title: 6011 Mon Dec 11 10:05:55 2006 http://www.host-6012.com/ Title: 6012 Mon Dec 11 10:06:11 2006 http://www.host-6013.com/ Title: 6013 Mon Dec 11 10:06:23 2006 http://host-6014.com/ Title: 6014 Mon Dec 11 10:06:32 2006 http://www.host-6015.com/ Title: 6015 Mon Dec 11 10:09:23 2006 http://www.host-6016.com/ Title: 6016 Mon Dec 11 10:10:43 2006 http://host-6017.com/ Title: 6017 Mon Dec 11 10:10:46 2006 http://host-6018.com/ Title: 6018 Mon Dec 11 10:12:53 2006 http://host-6019.com/ Title: 6019 Mon Dec 11 10:12:58 2006 http://www.host-6020.com/ Title: 6020 Mon Dec 11 10:13:22 2006 http://host-6021.com/ Title: 6021 Mon Dec 11 10:13:29 2006 http://www.host-6022.com/ Title: 6022 Mon Dec 11 10:13:47 2006 http://host-6023.com/ Title: 6023 Mon Dec 11 10:14:10 2006 http://www.host-6024.com/ Title: 6024 Mon Dec 11 10:14:43 2006 http://www.host-6025.com/ Title: 6025 Mon Dec 11 10:16:04 2006 http://host-6026.com/ Title: 6026 Mon Dec 11 10:16:27 2006 http://host-6027.com/ Title: 6027 Mon Dec 11 10:17:11 2006 http://host-6028.com/ Title: 6028 Mon Dec 11 10:19:56 2006 http://host-6029.com/ Title: 6029 Mon Dec 11 10:29:08 2006 http://host-6030.com/ Title: 6030 Mon Dec 11 10:30:47 2006 http://www.host-6031.com/ Title: 6031 Mon Dec 11 10:50:38 2006 http://host-6032.com/ Title: 6032 Mon Dec 11 11:04:39 2006 http://host-6033.com/ Title: 6033 Mon Dec 11 11:04:40 2006 http://www.host-6034.com/ Title: 6034 Mon Dec 11 11:09:09 2006 http://www.host-6035.com/ Title: 6035 Mon Dec 11 13:53:12 2006 http://www.host-6036.com/ Title: 6036 Mon Dec 11 13:53:17 2006 http://host-6037.com/ Title: 6037 Mon Dec 11 13:53:22 2006 http://www.host-6038.com/ Title: 6038 Mon Dec 11 13:56:44 2006 http://www.host-6039.com/ Title: 6039 Mon Dec 11 13:56:47 2006 http://host-6040.com/ Title: 6040 Mon Dec 11 13:56:51 2006 http://host-6041.com/ Title: 6041 Mon Dec 11 13:56:53 2006 http://www.host-6042.com/ Title: 6042 Mon Dec 11 13:56:56 2006 http://www.host-6043.com/ Title: 6043 Mon Dec 11 13:57:05 2006 http://www.host-6044.com/ Title: 6044 Mon Dec 11 13:57:14 2006 http://host-6045.com/ Title: 6045 Mon Dec 11 13:57:22 2006 http://www.host-6046.com/ Title: 6046 Mon Dec 11 14:01:11 2006 http://host-6047.com/ Title: 6047 Mon Dec 11 14:01:19 2006 http://host-6048.com/ Title: 6048 Mon Dec 11 14:01:27 2006 http://host-6049.com/ Title: 6049 Mon Dec 11 14:01:32 2006 http://host-6050.com/ Title: 6050 Mon Dec 11 14:01:35 2006 http://www.host-6051.com/ Title: 6051 Mon Dec 11 14:01:39 2006 http://www.host-6052.com/ Title: 6052 Mon Dec 11 14:01:46 2006 http://host-6053.com/ Title: 6053 Mon Dec 11 14:01:53 2006 http://host-6054.com/ Title: 6054 Mon Dec 11 14:01:53 2006 http://host-6055.com/ Title: 6055 Mon Dec 11 14:01:56 2006 http://www.host-6056.com/ Title: 6056 Mon Dec 11 14:02:11 2006 http://host-6057.com/ Title: 6057 Mon Dec 11 14:02:12 2006 http://host-6058.com/ Title: 6058 Mon Dec 11 14:02:26 2006 http://host-6059.com/ Title: 6059 Mon Dec 11 14:13:52 2006 http://www.host-6060.com/ Title: 6060 Mon Dec 11 14:14:03 2006 http://www.host-6061.com/ Title: 6061 Mon Dec 11 14:14:20 2006 http://host-6062.com/ Title: 6062 Mon Dec 11 14:14:33 2006 http://www.host-6063.com/ Title: 6063 Mon Dec 11 14:14:46 2006 http://host-6064.com/ Title: 6064 Mon Dec 11 14:14:54 2006 http://www.host-6065.com/ Title: 6065 Mon Dec 11 14:15:12 2006 http://www.host-6066.com/ Title: 6066 Mon Dec 11 14:15:32 2006 http://www.host-6067.com/ Title: 6067 Mon Dec 11 14:58:59 2006 http://www.host-6068.com/ Title: 6068 Mon Dec 11 15:33:50 2006 http://host-6069.com/ Title: 6069 Mon Dec 11 15:40:40 2006 http://www.host-6070.com/ Title: 6070 Mon Dec 11 15:40:47 2006 http://www.host-6071.com/ Title: 6071 Mon Dec 11 15:41:00 2006 http://www.host-6072.com/ Title: 6072 Mon Dec 11 15:41:01 2006 http://www.host-6073.com/ Title: 6073 Mon Dec 11 15:41:57 2006 http://host-6074.com/ Title: 6074 Mon Dec 11 15:42:01 2006 http://www.host-6075.com/ Title: 6075 Mon Dec 11 15:42:04 2006 http://www.host-6076.com/ Title: 6076 Mon Dec 11 15:42:40 2006 http://www.host-6077.com/ Title: 6077 Mon Dec 11 15:42:50 2006 http://www.host-6078.com/ Title: 6078 Mon Dec 11 15:43:01 2006 http://host-6079.com/ Title: 6079 Mon Dec 11 15:43:02 2006 http://www.host-6080.com/ Title: 6080 Mon Dec 11 15:43:05 2006 http://host-6081.com/ Title: 6081 Mon Dec 11 15:47:50 2006 http://host-6082.com/ Title: 6082 Mon Dec 11 15:48:16 2006 http://host-6083.com/ Title: 6083 Mon Dec 11 15:48:39 2006 http://host-6084.com/ Title: 6084 Mon Dec 11 15:48:54 2006 http://host-6085.com/ Title: 6085 Mon Dec 11 15:49:10 2006 http://host-6086.com/ Title: 6086 Mon Dec 11 15:49:27 2006 http://host-6087.com/ Title: 6087 Mon Dec 11 15:50:41 2006 http://www.host-6088.com/ Title: 6088 Mon Dec 11 15:52:30 2006 http://host-6089.com/ Title: 6089 Mon Dec 11 15:52:59 2006 http://www.host-6090.com/ Title: 6090 Mon Dec 11 15:53:07 2006 http://www.host-6091.com/ Title: 6091 Mon Dec 11 15:53:11 2006 http://host-6092.com/ Title: 6092 Mon Dec 11 15:53:18 2006 http://www.host-6093.com/ Title: 6093 Mon Dec 11 15:53:27 2006 http://host-6094.com/ Title: 6094 Mon Dec 11 15:53:52 2006 http://www.host-6095.com/ Title: 6095 Mon Dec 11 15:54:00 2006 http://host-6096.com/ Title: 6096 Mon Dec 11 15:54:04 2006 http://host-6097.com/ Title: 6097 Mon Dec 11 15:54:11 2006 http://www.host-6098.com/ Title: 6098 Mon Dec 11 15:55:41 2006 http://www.host-6099.com/ Title: 6099 Mon Dec 11 15:55:53 2006 http://host-6100.com/ Title: 6100 Mon Dec 11 15:56:15 2006 http://host-6101.com/ Title: 6101 Mon Dec 11 15:58:19 2006 http://www.host-6102.com/ Title: 6102 Mon Dec 11 15:58:26 2006 http://www.host-6103.com/ Title: 6103 Mon Dec 11 15:58:32 2006 http://host-6104.com/ Title: 6104 Mon Dec 11 15:59:25 2006 http://host-6105.com/ Title: 6105 Mon Dec 11 16:00:55 2006 http://www.host-6106.com/ Title: 6106 Mon Dec 11 16:01:00 2006 http://host-6107.com/ Title: 6107 Mon Dec 11 16:01:06 2006 http://host-6108.com/ Title: 6108 Mon Dec 11 16:01:39 2006 http://host-6109.com/ Title: 6109 Mon Dec 11 16:01:46 2006 http://host-6110.com/ Title: 6110 Mon Dec 11 16:02:45 2006 http://www.host-6111.com/ Title: 6111 Mon Dec 11 16:51:10 2006 http://www.host-6112.com/ Title: 6112 Mon Dec 11 16:51:27 2006 http://host-6113.com/ Title: 6113 Mon Dec 11 16:55:20 2006 http://host-6114.com/ Title: 6114 Mon Dec 11 16:55:28 2006 http://www.host-6115.com/ Title: 6115 Mon Dec 11 16:55:37 2006 http://host-6116.com/ Title: 6116 Mon Dec 11 16:55:59 2006 http://www.host-6117.com/ Title: 6117 Mon Dec 11 16:56:01 2006 http://www.host-6118.com/ Title: 6118 Mon Dec 11 16:56:25 2006 http://www.host-6119.com/ Title: 6119 Mon Dec 11 16:56:45 2006 http://www.host-6120.com/ Title: 6120 Mon Dec 11 16:56:57 2006 http://host-6121.com/ Title: 6121 Mon Dec 11 17:14:02 2006 http://host-6122.com/ Title: 6122 Mon Dec 11 17:14:06 2006 http://www.host-6123.com/ Title: 6123 Mon Dec 11 17:26:34 2006 http://www.host-6124.com/ Title: 6124 Mon Dec 11 17:28:31 2006 http://host-6125.com/ Title: 6125 Mon Dec 11 17:30:44 2006 http://www.host-6126.com/ Title: 6126 Mon Dec 11 17:32:22 2006 http://www.host-6127.com/ Title: 6127 Mon Dec 11 17:32:35 2006 http://host-6128.com/ Title: 6128 Mon Dec 11 17:34:14 2006 http://host-6129.com/ Title: 6129 Mon Dec 11 17:50:47 2006 http://host-6130.com/ Title: 6130 Mon Dec 11 17:51:22 2006 http://host-6131.com/ Title: 6131 Mon Dec 11 17:52:49 2006 http://www.host-6132.com/ Title: 6132 Mon Dec 11 17:53:26 2006 http://host-6133.com/ Title: 6133 Mon Dec 11 17:55:51 2006 http://www.host-6134.com/ Title: 6134 Tue Dec 12 11:34:53 2006 http://www.host-6135.com/ Title: 6135 Tue Dec 12 11:34:59 2006 http://host-6136.com/ Title: 6136 Tue Dec 12 11:34:59 2006 http://host-6137.com/ Title: 6137 Tue Dec 12 11:35:08 2006 http://www.host-6138.com/ Title: 6138 Tue Dec 12 11:38:56 2006 http://host-6139.com/ Title: 6139 Tue Dec 12 11:38:58 2006 http://host-6140.com/ Title: 6140 Tue Dec 12 11:40:47 2006 http://host-6141.com/ Title: 6141 Tue Dec 12 11:40:51 2006 http://host-6142.com/ Title: 6142 Tue Dec 12 11:40:57 2006 http://www.host-6143.com/ Title: 6143 Tue Dec 12 11:41:02 2006 http://www.host-6144.com/ Title: 6144 Tue Dec 12 11:41:06 2006 http://www.host-6145.com/ Title: 6145 Tue Dec 12 11:41:12 2006 http://host-6146.com/ Title: 6146 Tue Dec 12 11:41:15 2006 http://www.host-6147.com/ Title: 6147 Tue Dec 12 11:41:19 2006 http://www.host-6148.com/ Title: 6148 Tue Dec 12 11:41:21 2006 http://host-6149.com/ Title: 6149 Tue Dec 12 11:41:24 2006 http://host-6150.com/ Title: 6150 Tue Dec 12 11:41:27 2006 http://host-6151.com/ Title: 6151 Tue Dec 12 11:41:29 2006 http://host-6152.com/ Title: 6152 Tue Dec 12 11:41:32 2006 http://host-6153.com/ Title: 6153 Tue Dec 12 11:41:35 2006 http://www.host-6154.com/ Title: 6154 Tue Dec 12 11:41:38 2006 http://host-6155.com/ Title: 6155 Tue Dec 12 11:41:42 2006 http://www.host-6156.com/ Title: 6156 Tue Dec 12 11:41:46 2006 http://www.host-6157.com/ Title: 6157 Tue Dec 12 11:41:49 2006 http://www.host-6158.com/ Title: 6158 Tue Dec 12 11:41:53 2006 http://host-6159.com/ Title: 6159 Tue Dec 12 11:41:56 2006 http://www.host-6160.com/ Title: 6160 Tue Dec 12 11:42:13 2006 http://www.host-6161.com/ Title: 6161 Tue Dec 12 12:24:25 2006 http://host-6162.com/ Title: 6162 Tue Dec 12 12:29:13 2006 http://www.host-6163.com/ Title: 6163 Tue Dec 12 12:33:07 2006 http://www.host-6164.com/ Title: 6164 Tue Dec 12 12:35:44 2006 http://host-6165.com/ Title: 6165 Tue Dec 12 13:15:31 2006 http://host-6166.com/ Title: 6166 Tue Dec 12 13:16:51 2006 http://host-6167.com/ Title: 6167 Tue Dec 12 13:17:01 2006 http://www.host-6168.com/ Title: 6168 Tue Dec 12 13:17:57 2006 http://www.host-6169.com/ Title: 6169 Tue Dec 12 13:32:03 2006 http://host-6170.com/ Title: 6170 Tue Dec 12 13:32:20 2006 http://host-6171.com/ Title: 6171 Tue Dec 12 13:32:24 2006 http://host-6172.com/ Title: 6172 Tue Dec 12 13:32:33 2006 http://host-6173.com/ Title: 6173 Tue Dec 12 13:34:21 2006 http://www.host-6174.com/ Title: 6174 Tue Dec 12 14:05:20 2006 http://www.host-6175.com/ Title: 6175 Tue Dec 12 14:05:20 2006 http://host-6176.com/ Title: 6176 Tue Dec 12 14:06:05 2006 http://host-6177.com/ Title: 6177 Tue Dec 12 14:06:07 2006 http://www.host-6178.com/ Title: 6178 Tue Dec 12 14:06:14 2006 http://www.host-6179.com/ Title: 6179 Tue Dec 12 14:06:15 2006 http://www.host-6180.com/ Title: 6180 Tue Dec 12 14:06:28 2006 http://www.host-6181.com/ Title: 6181 Tue Dec 12 14:06:38 2006 http://www.host-6182.com/ Title: 6182 Tue Dec 12 14:06:40 2006 http://host-6183.com/ Title: 6183 Tue Dec 12 14:06:53 2006 http://host-6184.com/ Title: 6184 Tue Dec 12 14:06:54 2006 http://www.host-6185.com/ Title: 6185 Tue Dec 12 14:06:57 2006 http://host-6186.com/ Title: 6186 Tue Dec 12 14:06:59 2006 http://host-6187.com/ Title: 6187 Tue Dec 12 14:07:00 2006 http://www.host-6188.com/ Title: 6188 Tue Dec 12 14:07:02 2006 http://host-6189.com/ Title: 6189 Tue Dec 12 14:07:06 2006 http://www.host-6190.com/ Title: 6190 Tue Dec 12 14:07:12 2006 http://www.host-6191.com/ Title: 6191 Tue Dec 12 14:07:13 2006 http://host-6192.com/ Title: 6192 Tue Dec 12 14:07:18 2006 http://www.host-6193.com/ Title: 6193 Tue Dec 12 14:07:39 2006 http://host-6194.com/ Title: 6194 Tue Dec 12 14:08:07 2006 http://host-6195.com/ Title: 6195 Tue Dec 12 14:19:07 2006 http://www.host-6196.com/ Title: 6196 Tue Dec 12 14:27:29 2006 http://www.host-6197.com/ Title: 6197 Tue Dec 12 14:27:35 2006 http://www.host-6198.com/ Title: 6198 Tue Dec 12 14:27:56 2006 http://host-6199.com/ Title: 6199 Tue Dec 12 14:27:58 2006 http://www.host-6200.com/ Title: 6200 Tue Dec 12 14:28:07 2006 http://www.host-6201.com/ Title: 6201 Tue Dec 12 14:28:10 2006 http://host-6202.com/ Title: 6202 Tue Dec 12 14:51:17 2006 http://www.host-6203.com/ Title: 6203 Tue Dec 12 16:28:01 2006 http://www.host-6204.com/ Title: 6204 Tue Dec 12 19:11:41 2006 http://www.host-6205.com/ Title: 6205 Tue Dec 12 19:12:13 2006 http://host-6206.com/ Title: 6206 Tue Dec 12 19:12:25 2006 http://host-6207.com/ Title: 6207 Tue Dec 12 19:32:03 2006 http://www.host-6208.com/ Title: 6208 Tue Dec 12 21:33:35 2006 http://www.host-6209.com/ Title: 6209 Tue Dec 12 21:33:40 2006 http://host-6210.com/ Title: 6210 Tue Dec 12 21:35:38 2006 http://www.host-6211.com/ Title: 6211 Tue Dec 12 21:35:49 2006 http://host-6212.com/ Title: 6212 Tue Dec 12 21:40:35 2006 http://host-6213.com/ Title: 6213 Tue Dec 12 21:41:24 2006 http://www.host-6214.com/ Title: 6214 Tue Dec 12 21:41:46 2006 http://www.host-6215.com/ Title: 6215 Wed Dec 13 11:15:36 2006 http://www.host-6216.com/ Title: 6216 Wed Dec 13 11:26:42 2006 http://www.host-6217.com/ Title: 6217 Wed Dec 13 11:26:49 2006 http://www.host-6218.com/ Title: 6218 Wed Dec 13 11:26:51 2006 http://www.host-6219.com/ Title: 6219 Wed Dec 13 11:26:55 2006 http://host-6220.com/ Title: 6220 Wed Dec 13 11:27:07 2006 http://host-6221.com/ Title: 6221 Wed Dec 13 11:27:09 2006 http://www.host-6222.com/ Title: 6222 Wed Dec 13 11:27:20 2006 http://www.host-6223.com/ Title: 6223 Wed Dec 13 11:27:24 2006 http://host-6224.com/ Title: 6224 Wed Dec 13 11:27:35 2006 http://host-6225.com/ Title: 6225 Wed Dec 13 11:27:46 2006 http://host-6226.com/ Title: 6226 Wed Dec 13 11:27:56 2006 http://www.host-6227.com/ Title: 6227 Wed Dec 13 11:28:12 2006 http://host-6228.com/ Title: 6228 Wed Dec 13 11:28:19 2006 http://host-6229.com/ Title: 6229 Wed Dec 13 11:28:29 2006 http://www.host-6230.com/ Title: 6230 Wed Dec 13 11:28:54 2006 http://www.host-6231.com/ Title: 6231 Wed Dec 13 11:29:09 2006 http://host-6232.com/ Title: 6232 Wed Dec 13 11:29:16 2006 http://www.host-6233.com/ Title: 6233 Wed Dec 13 11:36:22 2006 http://host-6234.com/ Title: 6234 Wed Dec 13 11:39:22 2006 http://www.host-6235.com/ Title: 6235 Wed Dec 13 11:43:19 2006 http://host-6236.com/ Title: 6236 Wed Dec 13 12:18:34 2006 http://www.host-6237.com/ Title: 6237 Wed Dec 13 15:24:26 2006 http://www.host-6238.com/ Title: 6238 Thu Dec 14 11:10:34 2006 http://host-6239.com/ Title: 6239 Thu Dec 14 11:11:37 2006 http://www.host-6240.com/ Title: 6240 Thu Dec 14 11:16:19 2006 http://www.host-6241.com/ Title: 6241 Thu Dec 14 11:16:41 2006 http://www.host-6242.com/ Title: 6242 Thu Dec 14 11:26:48 2006 http://www.host-6243.com/ Title: 6243 Thu Dec 14 11:27:43 2006 http://www.host-6244.com/ Title: 6244 Thu Dec 14 11:28:35 2006 http://www.host-6245.com/ Title: 6245 Thu Dec 14 12:14:45 2006 http://host-6246.com/ Title: 6246 Thu Dec 14 12:15:03 2006 http://host-6247.com/ Title: 6247 Thu Dec 14 12:15:18 2006 http://www.host-6248.com/ Title: 6248 Thu Dec 14 12:15:40 2006 http://host-6249.com/ Title: 6249 Thu Dec 14 12:16:35 2006 http://www.host-6250.com/ Title: 6250 Thu Dec 14 12:16:44 2006 http://host-6251.com/ Title: 6251 Thu Dec 14 12:46:03 2006 http://host-6252.com/ Title: 6252 Thu Dec 14 12:46:25 2006 http://host-6253.com/ Title: 6253 Thu Dec 14 12:49:21 2006 http://www.host-6254.com/ Title: 6254 Thu Dec 14 12:49:21 2006 http://host-6255.com/ Title: 6255 Thu Dec 14 12:57:11 2006 http://www.host-6256.com/ Title: 6256 Thu Dec 14 12:57:16 2006 http://host-6257.com/ Title: 6257 Thu Dec 14 12:57:35 2006 http://www.host-6258.com/ Title: 6258 Thu Dec 14 12:57:41 2006 http://www.host-6259.com/ Title: 6259 Thu Dec 14 12:58:03 2006 http://www.host-6260.com/ Title: 6260 Thu Dec 14 12:58:20 2006 http://www.host-6261.com/ Title: 6261 Thu Dec 14 13:38:10 2006 http://host-6262.com/ Title: 6262 Thu Dec 14 13:48:07 2006 http://www.host-6263.com/ Title: 6263 Thu Dec 14 14:43:32 2006 http://host-6264.com/ Title: 6264 Thu Dec 14 15:06:55 2006 http://www.host-6265.com/ Title: 6265 Thu Dec 14 15:07:04 2006 http://host-6266.com/ Title: 6266 Thu Dec 14 15:07:28 2006 http://www.host-6267.com/ Title: 6267 Thu Dec 14 15:14:30 2006 http://www.host-6268.com/ Title: 6268 Thu Dec 14 15:29:50 2006 http://www.host-6269.com/ Title: 6269 Thu Dec 14 15:29:53 2006 http://www.host-6270.com/ Title: 6270 Thu Dec 14 15:43:47 2006 http://host-6271.com/ Title: 6271 Thu Dec 14 15:51:18 2006 http://host-6272.com/ Title: 6272 Thu Dec 14 16:53:18 2006 http://host-6273.com/ Title: 6273 Thu Dec 14 16:53:24 2006 http://www.host-6274.com/ Title: 6274 Thu Dec 14 16:53:28 2006 http://host-6275.com/ Title: 6275 Thu Dec 14 16:53:32 2006 http://host-6276.com/ Title: 6276 Thu Dec 14 16:53:37 2006 http://www.host-6277.com/ Title: 6277 Thu Dec 14 16:53:47 2006 http://host-6278.com/ Title: 6278 Thu Dec 14 16:54:02 2006 http://host-6279.com/ Title: 6279 Thu Dec 14 16:54:05 2006 http://host-6280.com/ Title: 6280 Thu Dec 14 16:59:39 2006 http://www.host-6281.com/ Title: 6281 Thu Dec 14 16:59:51 2006 http://host-6282.com/ Title: 6282 Thu Dec 14 17:01:22 2006 http://host-6283.com/ Title: 6283 Thu Dec 14 17:01:24 2006 http://www.host-6284.com/ Title: 6284 Thu Dec 14 17:01:25 2006 http://host-6285.com/ Title: 6285 Thu Dec 14 17:02:56 2006 http://www.host-6286.com/ Title: 6286 Thu Dec 14 17:25:56 2006 http://host-6287.com/ Title: 6287 Thu Dec 14 17:35:11 2006 http://www.host-6288.com/ Title: 6288 Thu Dec 14 17:35:24 2006 http://host-6289.com/ Title: 6289 Thu Dec 14 17:35:31 2006 http://host-6290.com/ Title: 6290 Thu Dec 14 17:35:38 2006 http://host-6291.com/ Title: 6291 Thu Dec 14 17:36:32 2006 http://www.host-6292.com/ Title: 6292 Thu Dec 14 17:37:36 2006 http://host-6293.com/ Title: 6293 Thu Dec 14 17:37:43 2006 http://host-6294.com/ Title: 6294 Thu Dec 14 17:37:48 2006 http://host-6295.com/ Title: 6295 Thu Dec 14 17:37:54 2006 http://www.host-6296.com/ Title: 6296 Thu Dec 14 17:38:44 2006 http://www.host-6297.com/ Title: 6297 Thu Dec 14 17:38:53 2006 http://www.host-6298.com/ Title: 6298 Thu Dec 14 17:39:00 2006 http://www.host-6299.com/ Title: 6299 Thu Dec 14 17:41:44 2006 http://host-6300.com/ Title: 6300 Thu Dec 14 17:41:47 2006 http://www.host-6301.com/ Title: 6301 Thu Dec 14 17:41:52 2006 http://host-6302.com/ Title: 6302 Thu Dec 14 17:42:01 2006 http://www.host-6303.com/ Title: 6303 Thu Dec 14 17:42:05 2006 http://host-6304.com/ Title: 6304 Thu Dec 14 17:42:12 2006 http://www.host-6305.com/ Title: 6305 Thu Dec 14 17:42:18 2006 http://www.host-6306.com/ Title: 6306 Thu Dec 14 17:43:03 2006 http://www.host-6307.com/ Title: 6307 Thu Dec 14 17:43:13 2006 http://host-6308.com/ Title: 6308 Thu Dec 14 17:43:38 2006 http://www.host-6309.com/ Title: 6309 Thu Dec 14 17:43:44 2006 http://host-6310.com/ Title: 6310 Thu Dec 14 17:43:49 2006 http://host-6311.com/ Title: 6311 Thu Dec 14 17:43:53 2006 http://www.host-6312.com/ Title: 6312 Thu Dec 14 17:43:58 2006 http://host-6313.com/ Title: 6313 Thu Dec 14 17:44:00 2006 http://www.host-6314.com/ Title: 6314 Thu Dec 14 17:44:11 2006 http://host-6315.com/ Title: 6315 Thu Dec 14 17:49:02 2006 http://host-6316.com/ Title: 6316 Thu Dec 14 19:18:50 2006 http://host-6317.com/ Title: 6317 Thu Dec 14 19:18:58 2006 http://www.host-6318.com/ Title: 6318 Thu Dec 14 19:19:05 2006 http://host-6319.com/ Title: 6319 Thu Dec 14 19:19:06 2006 http://host-6320.com/ Title: 6320 Thu Dec 14 19:19:07 2006 http://www.host-6321.com/ Title: 6321 Thu Dec 14 19:19:57 2006 http://host-6322.com/ Title: 6322 Thu Dec 14 19:20:00 2006 http://www.host-6323.com/ Title: 6323 Thu Dec 14 19:56:29 2006 http://host-6324.com/ Title: 6324 Thu Dec 14 19:56:44 2006 http://host-6325.com/ Title: 6325 Thu Dec 14 19:56:49 2006 http://www.host-6326.com/ Title: 6326 Thu Dec 14 19:57:03 2006 http://www.host-6327.com/ Title: 6327 Thu Dec 14 19:57:04 2006 http://host-6328.com/ Title: 6328 Thu Dec 14 19:57:12 2006 http://www.host-6329.com/ Title: 6329 Thu Dec 14 19:57:17 2006 http://host-6330.com/ Title: 6330 Thu Dec 14 19:58:48 2006 http://www.host-6331.com/ Title: 6331 Thu Dec 14 19:58:56 2006 http://www.host-6332.com/ Title: 6332 Thu Dec 14 19:58:58 2006 http://www.host-6333.com/ Title: 6333 Thu Dec 14 19:59:12 2006 http://www.host-6334.com/ Title: 6334 Thu Dec 14 19:59:26 2006 http://www.host-6335.com/ Title: 6335 Thu Dec 14 19:59:32 2006 http://www.host-6336.com/ Title: 6336 Thu Dec 14 20:49:17 2006 http://host-6337.com/ Title: 6337 Thu Dec 14 20:49:24 2006 http://host-6338.com/ Title: 6338 Thu Dec 14 20:50:14 2006 http://host-6339.com/ Title: 6339 Thu Dec 14 20:50:41 2006 http://host-6340.com/ Title: 6340 Thu Dec 14 20:50:48 2006 http://host-6341.com/ Title: 6341 Thu Dec 14 20:51:01 2006 http://www.host-6342.com/ Title: 6342 Thu Dec 14 22:27:06 2006 http://host-6343.com/ Title: 6343 Thu Dec 14 22:27:07 2006 http://host-6344.com/ Title: 6344 Thu Dec 14 22:27:39 2006 http://www.host-6345.com/ Title: 6345 Thu Dec 14 22:28:14 2006 http://www.host-6346.com/ Title: 6346 Thu Dec 14 22:28:36 2006 http://host-6347.com/ Title: 6347 Thu Dec 14 22:28:40 2006 http://www.host-6348.com/ Title: 6348 Thu Dec 14 22:28:44 2006 http://www.host-6349.com/ Title: 6349 Thu Dec 14 22:28:47 2006 http://host-6350.com/ Title: 6350 Thu Dec 14 22:28:53 2006 http://www.host-6351.com/ Title: 6351 Thu Dec 14 22:29:07 2006 http://www.host-6352.com/ Title: 6352 Thu Dec 14 22:29:10 2006 http://host-6353.com/ Title: 6353 Thu Dec 14 22:29:58 2006 http://host-6354.com/ Title: 6354 Thu Dec 14 22:54:43 2006 http://host-6355.com/ Title: 6355 Thu Dec 14 22:54:49 2006 http://www.host-6356.com/ Title: 6356 Thu Dec 14 22:54:51 2006 http://www.host-6357.com/ Title: 6357 Thu Dec 14 22:55:25 2006 http://host-6358.com/ Title: 6358 Thu Dec 14 22:56:23 2006 http://www.host-6359.com/ Title: 6359 Thu Dec 14 22:56:37 2006 http://www.host-6360.com/ Title: 6360 Thu Dec 14 22:57:04 2006 http://host-6361.com/ Title: 6361 Thu Dec 14 22:57:12 2006 http://host-6362.com/ Title: 6362 Thu Dec 14 22:57:13 2006 http://host-6363.com/ Title: 6363 Thu Dec 14 22:57:16 2006 http://www.host-6364.com/ Title: 6364 Thu Dec 14 22:58:15 2006 http://www.host-6365.com/ Title: 6365 Thu Dec 14 22:58:32 2006 http://host-6366.com/ Title: 6366 Thu Dec 14 22:59:11 2006 http://www.host-6367.com/ Title: 6367 Fri Dec 15 00:18:10 2006 http://host-6368.com/ Title: 6368 Fri Dec 15 00:24:35 2006 http://www.host-6369.com/ Title: 6369 Fri Dec 15 00:31:26 2006 http://www.host-6370.com/ Title: 6370 Fri Dec 15 00:45:02 2006 http://host-6371.com/ Title: 6371 Fri Dec 15 00:45:06 2006 http://www.host-6372.com/ Title: 6372 Fri Dec 15 00:45:10 2006 http://host-6373.com/ Title: 6373 Fri Dec 15 00:51:25 2006 http://www.host-6374.com/ Title: 6374 Fri Dec 15 00:58:43 2006 http://host-6375.com/ Title: 6375 Fri Dec 15 00:58:44 2006 http://www.host-6376.com/ Title: 6376 Fri Dec 15 11:03:58 2006 http://www.host-6377.com/ Title: 6377 Fri Dec 15 11:04:15 2006 http://www.host-6378.com/ Title: 6378 Fri Dec 15 11:05:24 2006 http://host-6379.com/ Title: 6379 Fri Dec 15 11:05:28 2006 http://host-6380.com/ Title: 6380 Fri Dec 15 11:05:42 2006 http://host-6381.com/ Title: 6381 Fri Dec 15 11:11:14 2006 http://host-6382.com/ Title: 6382 Fri Dec 15 11:11:14 2006 http://host-6383.com/ Title: 6383 Fri Dec 15 11:14:53 2006 http://host-6384.com/ Title: 6384 Fri Dec 15 11:14:55 2006 http://www.host-6385.com/ Title: 6385 Fri Dec 15 11:15:33 2006 http://www.host-6386.com/ Title: 6386 Fri Dec 15 11:30:49 2006 http://www.host-6387.com/ Title: 6387 Fri Dec 15 11:31:01 2006 http://host-6388.com/ Title: 6388 Fri Dec 15 11:31:07 2006 http://www.host-6389.com/ Title: 6389 Fri Dec 15 11:31:11 2006 http://www.host-6390.com/ Title: 6390 Fri Dec 15 11:31:34 2006 http://host-6391.com/ Title: 6391 Fri Dec 15 11:31:53 2006 http://www.host-6392.com/ Title: 6392 Fri Dec 15 11:31:57 2006 http://host-6393.com/ Title: 6393 Fri Dec 15 11:32:07 2006 http://host-6394.com/ Title: 6394 Fri Dec 15 11:32:11 2006 http://www.host-6395.com/ Title: 6395 Fri Dec 15 11:32:14 2006 http://host-6396.com/ Title: 6396 Fri Dec 15 11:32:18 2006 http://host-6397.com/ Title: 6397 Fri Dec 15 11:32:29 2006 http://www.host-6398.com/ Title: 6398 Fri Dec 15 11:32:39 2006 http://www.host-6399.com/ Title: 6399 Fri Dec 15 11:32:44 2006 http://host-6400.com/ Title: 6400 Fri Dec 15 11:32:48 2006 http://www.host-6401.com/ Title: 6401 Fri Dec 15 11:32:55 2006 http://host-6402.com/ Title: 6402 Fri Dec 15 11:33:01 2006 http://www.host-6403.com/ Title: 6403 Fri Dec 15 11:33:06 2006 http://host-6404.com/ Title: 6404 Fri Dec 15 11:33:09 2006 http://host-6405.com/ Title: 6405 Fri Dec 15 11:33:12 2006 http://host-6406.com/ Title: 6406 Fri Dec 15 11:33:15 2006 http://www.host-6407.com/ Title: 6407 Fri Dec 15 11:33:18 2006 http://host-6408.com/ Title: 6408 Fri Dec 15 11:33:25 2006 http://host-6409.com/ Title: 6409 Fri Dec 15 11:33:31 2006 http://www.host-6410.com/ Title: 6410 Fri Dec 15 14:15:45 2006 http://www.host-6411.com/ Title: 6411 Fri Dec 15 14:15:49 2006 http://www.host-6412.com/ Title: 6412 Fri Dec 15 14:24:04 2006 http://host-6413.com/ Title: 6413 Fri Dec 15 14:25:16 2006 http://www.host-6414.com/ Title: 6414 Fri Dec 15 14:30:04 2006 http://host-6415.com/ Title: 6415 Fri Dec 15 14:30:07 2006 http://www.host-6416.com/ Title: 6416 Fri Dec 15 14:32:52 2006 http://host-6417.com/ Title: 6417 Fri Dec 15 14:32:58 2006 http://www.host-6418.com/ Title: 6418 Fri Dec 15 14:33:03 2006 http://www.host-6419.com/ Title: 6419 Fri Dec 15 14:33:34 2006 http://www.host-6420.com/ Title: 6420 Fri Dec 15 14:33:39 2006 http://host-6421.com/ Title: 6421 Fri Dec 15 14:34:16 2006 http://host-6422.com/ Title: 6422 Fri Dec 15 14:36:46 2006 http://www.host-6423.com/ Title: 6423 Fri Dec 15 14:41:06 2006 http://www.host-6424.com/ Title: 6424 Fri Dec 15 14:41:10 2006 http://host-6425.com/ Title: 6425 Fri Dec 15 15:26:55 2006 http://host-6426.com/ Title: 6426 Fri Dec 15 15:27:31 2006 http://www.host-6427.com/ Title: 6427 Fri Dec 15 15:50:49 2006 http://host-6428.com/ Title: 6428 Fri Dec 15 16:47:40 2006 http://host-6429.com/ Title: 6429 Fri Dec 15 16:47:46 2006 http://www.host-6430.com/ Title: 6430 Fri Dec 15 16:47:50 2006 http://host-6431.com/ Title: 6431 Fri Dec 15 16:47:53 2006 http://host-6432.com/ Title: 6432 Fri Dec 15 16:47:57 2006 http://host-6433.com/ Title: 6433 Fri Dec 15 16:48:54 2006 http://host-6434.com/ Title: 6434 Fri Dec 15 16:48:58 2006 http://host-6435.com/ Title: 6435 Fri Dec 15 16:49:04 2006 http://host-6436.com/ Title: 6436 Fri Dec 15 16:49:19 2006 http://www.host-6437.com/ Title: 6437 Fri Dec 15 20:01:38 2006 http://www.host-6438.com/ Title: 6438 Fri Dec 15 20:02:04 2006 http://host-6439.com/ Title: 6439 Fri Dec 15 20:02:08 2006 http://www.host-6440.com/ Title: 6440 Fri Dec 15 20:02:20 2006 http://www.host-6441.com/ Title: 6441 Fri Dec 15 20:03:51 2006 http://www.host-6442.com/ Title: 6442 Fri Dec 15 20:09:12 2006 http://host-6443.com/ Title: 6443 Fri Dec 15 20:51:57 2006 http://host-6444.com/ Title: 6444 Wed Jan 10 13:11:46 2007 http://www.host-6445.com/ Title: 6445 Wed Jan 10 13:11:49 2007 http://host-6446.com/ Title: 6446 Wed Jan 10 13:11:55 2007 http://host-6447.com/ Title: 6447 Wed Jan 10 13:11:59 2007 http://www.host-6448.com/ Title: 6448 Wed Jan 10 13:12:22 2007 http://host-6449.com/ Title: 6449 Wed Jan 10 13:12:24 2007 http://www.host-6450.com/ Title: 6450 Wed Jan 10 13:12:27 2007 http://www.host-6451.com/ Title: 6451 Wed Jan 10 13:12:29 2007 http://host-6452.com/ Title: 6452 Wed Jan 10 13:12:57 2007 http://www.host-6453.com/ Title: 6453 Wed Jan 10 13:14:34 2007 http://www.host-6454.com/ Title: 6454 Wed Jan 10 13:17:44 2007 http://host-6455.com/ Title: 6455 Wed Jan 10 13:18:26 2007 http://host-6456.com/ Title: 6456 Wed Jan 10 13:37:25 2007 http://host-6457.com/ Title: 6457 Wed Jan 10 13:37:29 2007 http://www.host-6458.com/ Title: 6458 Wed Jan 10 13:37:33 2007 http://www.host-6459.com/ Title: 6459 Wed Jan 10 13:37:58 2007 http://host-6460.com/ Title: 6460 Wed Jan 10 13:38:41 2007 http://host-6461.com/ Title: 6461 Wed Jan 10 13:38:46 2007 http://host-6462.com/ Title: 6462 Wed Jan 10 13:39:04 2007 http://www.host-6463.com/ Title: 6463 Wed Jan 10 13:39:07 2007 http://www.host-6464.com/ Title: 6464 Wed Jan 10 13:39:09 2007 http://host-6465.com/ Title: 6465 Wed Jan 10 13:39:49 2007 http://host-6466.com/ Title: 6466 Wed Jan 10 13:39:55 2007 http://www.host-6467.com/ Title: 6467 Wed Jan 10 13:40:09 2007 http://host-6468.com/ Title: 6468 Wed Jan 10 13:40:30 2007 http://host-6469.com/ Title: 6469 Wed Jan 10 13:41:51 2007 http://www.host-6470.com/ Title: 6470 Wed Jan 10 13:42:04 2007 http://host-6471.com/ Title: 6471 Wed Jan 10 13:44:33 2007 http://www.host-6472.com/ Title: 6472 Wed Jan 10 13:53:48 2007 http://host-6473.com/ Title: 6473 Wed Jan 10 13:54:59 2007 http://www.host-6474.com/ Title: 6474 Wed Jan 10 13:55:01 2007 http://host-6475.com/ Title: 6475 Wed Jan 10 13:55:04 2007 http://host-6476.com/ Title: 6476 Wed Jan 10 13:58:19 2007 http://www.host-6477.com/ Title: 6477 Wed Jan 10 14:00:21 2007 http://www.host-6478.com/ Title: 6478 Wed Jan 10 14:00:23 2007 http://host-6479.com/ Title: 6479 Wed Jan 10 14:00:31 2007 http://host-6480.com/ Title: 6480 Wed Jan 10 14:07:22 2007 http://www.host-6481.com/ Title: 6481 Wed Jan 10 14:17:37 2007 http://host-6482.com/ Title: 6482 Wed Jan 10 14:23:06 2007 http://host-6483.com/ Title: 6483 Wed Jan 10 14:23:12 2007 http://host-6484.com/ Title: 6484 Wed Jan 10 14:34:51 2007 http://host-6485.com/ Title: 6485 Wed Jan 10 14:35:02 2007 http://host-6486.com/ Title: 6486 Wed Jan 10 14:35:15 2007 http://host-6487.com/ Title: 6487 Wed Jan 10 14:39:03 2007 http://host-6488.com/ Title: 6488 Wed Jan 10 14:39:09 2007 http://www.host-6489.com/ Title: 6489 Wed Jan 10 14:46:09 2007 http://www.host-6490.com/ Title: 6490 Wed Jan 10 15:03:36 2007 http://www.host-6491.com/ Title: 6491 Wed Jan 10 15:09:34 2007 http://www.host-6492.com/ Title: 6492 Wed Jan 10 15:21:27 2007 http://www.host-6493.com/ Title: 6493 Wed Jan 10 15:22:07 2007 http://host-6494.com/ Title: 6494 Wed Jan 10 15:35:35 2007 http://host-6495.com/ Title: 6495 Wed Jan 10 15:36:12 2007 http://host-6496.com/ Title: 6496 Wed Jan 10 15:36:19 2007 http://www.host-6497.com/ Title: 6497 Wed Jan 10 16:07:11 2007 http://www.host-6498.com/ Title: 6498 Wed Jan 10 16:07:11 2007 http://www.host-6499.com/ Title: 6499 Wed Jan 10 16:58:35 2007 http://www.host-6500.com/ Title: 6500 Wed Jan 10 16:58:38 2007 http://host-6501.com/ Title: 6501 Wed Jan 10 16:59:23 2007 http://host-6502.com/ Title: 6502 Wed Jan 10 16:59:29 2007 http://www.host-6503.com/ Title: 6503 Wed Jan 10 16:59:55 2007 http://www.host-6504.com/ Title: 6504 Wed Jan 10 17:00:42 2007 http://host-6505.com/ Title: 6505 Wed Jan 10 17:00:44 2007 http://www.host-6506.com/ Title: 6506 Wed Jan 10 17:01:03 2007 http://www.host-6507.com/ Title: 6507 Wed Jan 10 17:02:22 2007 http://host-6508.com/ Title: 6508 Wed Jan 10 17:02:24 2007 http://www.host-6509.com/ Title: 6509 Wed Jan 10 17:02:31 2007 http://www.host-6510.com/ Title: 6510 Wed Jan 10 17:02:41 2007 http://www.host-6511.com/ Title: 6511 Wed Jan 10 17:03:51 2007 http://www.host-6512.com/ Title: 6512 Thu Jan 11 07:24:55 2007 http://www.host-6513.com/ Title: 6513 Thu Jan 11 07:25:53 2007 http://www.host-6514.com/ Title: 6514 Thu Jan 11 07:25:59 2007 http://host-6515.com/ Title: 6515 Thu Jan 11 07:26:10 2007 http://host-6516.com/ Title: 6516 Thu Jan 11 07:30:55 2007 http://host-6517.com/ Title: 6517 Thu Jan 11 07:31:39 2007 http://host-6518.com/ Title: 6518 Thu Jan 11 07:31:41 2007 http://www.host-6519.com/ Title: 6519 Thu Jan 11 07:32:57 2007 http://host-6520.com/ Title: 6520 Thu Jan 11 07:42:25 2007 http://www.host-6521.com/ Title: 6521 Thu Jan 11 07:42:39 2007 http://host-6522.com/ Title: 6522 Thu Jan 11 07:49:29 2007 http://www.host-6523.com/ Title: 6523 Thu Jan 11 08:09:02 2007 http://www.host-6524.com/ Title: 6524 Thu Jan 11 08:09:12 2007 http://www.host-6525.com/ Title: 6525 Thu Jan 11 08:09:35 2007 http://www.host-6526.com/ Title: 6526 Thu Jan 11 08:09:36 2007 http://www.host-6527.com/ Title: 6527 Thu Jan 11 08:09:38 2007 http://host-6528.com/ Title: 6528 Thu Jan 11 08:13:06 2007 http://host-6529.com/ Title: 6529 Thu Jan 11 08:54:06 2007 http://www.host-6530.com/ Title: 6530 Thu Jan 11 08:54:17 2007 http://host-6531.com/ Title: 6531 Thu Jan 11 09:45:40 2007 http://host-6532.com/ Title: 6532 Thu Jan 11 09:45:46 2007 http://www.host-6533.com/ Title: 6533 Thu Jan 11 10:03:36 2007 http://host-6534.com/ Title: 6534 Thu Jan 11 10:07:52 2007 http://host-6535.com/ Title: 6535 Thu Jan 11 10:07:54 2007 http://www.host-6536.com/ Title: 6536 Thu Jan 11 10:25:08 2007 http://www.host-6537.com/ Title: 6537 Thu Jan 11 11:09:01 2007 http://www.host-6538.com/ Title: 6538 Thu Jan 11 11:09:21 2007 http://www.host-6539.com/ Title: 6539 Thu Jan 11 11:09:35 2007 http://www.host-6540.com/ Title: 6540 Thu Jan 11 11:09:56 2007 http://www.host-6541.com/ Title: 6541 Thu Jan 11 11:10:36 2007 http://www.host-6542.com/ Title: 6542 Thu Jan 11 11:12:41 2007 http://host-6543.com/ Title: 6543 Thu Jan 11 12:05:32 2007 http://host-6544.com/ Title: 6544 Thu Jan 11 12:05:44 2007 http://host-6545.com/ Title: 6545 Thu Jan 11 12:46:02 2007 http://host-6546.com/ Title: 6546 Thu Jan 11 12:46:48 2007 http://host-6547.com/ Title: 6547 Thu Jan 11 13:32:18 2007 http://host-6548.com/ Title: 6548 Thu Jan 11 13:33:08 2007 http://www.host-6549.com/ Title: 6549 Thu Jan 11 13:33:26 2007 http://host-6550.com/ Title: 6550 Thu Jan 11 13:33:49 2007 http://www.host-6551.com/ Title: 6551 Thu Jan 11 13:34:25 2007 http://www.host-6552.com/ Title: 6552 Thu Jan 11 13:34:34 2007 http://www.host-6553.com/ Title: 6553 Thu Jan 11 13:34:35 2007 http://www.host-6554.com/ Title: 6554 Thu Jan 11 13:48:24 2007 http://host-6555.com/ Title: 6555 Thu Jan 11 13:48:28 2007 http://www.host-6556.com/ Title: 6556 Thu Jan 11 13:49:04 2007 http://host-6557.com/ Title: 6557 Thu Jan 11 13:52:49 2007 http://host-6558.com/ Title: 6558 Thu Jan 11 13:52:51 2007 http://host-6559.com/ Title: 6559 Thu Jan 11 13:58:23 2007 http://host-6560.com/ Title: 6560 Thu Jan 11 14:01:52 2007 http://host-6561.com/ Title: 6561 Thu Jan 11 14:04:47 2007 http://www.host-6562.com/ Title: 6562 Thu Jan 11 14:04:51 2007 http://host-6563.com/ Title: 6563 Thu Jan 11 14:05:18 2007 http://www.host-6564.com/ Title: 6564 Thu Jan 11 14:24:02 2007 http://www.host-6565.com/ Title: 6565 Thu Jan 11 14:26:41 2007 http://host-6566.com/ Title: 6566 Thu Jan 11 14:26:47 2007 http://www.host-6567.com/ Title: 6567 Thu Jan 11 14:26:53 2007 http://www.host-6568.com/ Title: 6568 Thu Jan 11 14:27:21 2007 http://host-6569.com/ Title: 6569 Thu Jan 11 14:30:25 2007 http://host-6570.com/ Title: 6570 Thu Jan 11 14:30:52 2007 http://host-6571.com/ Title: 6571 Thu Jan 11 14:40:45 2007 http://www.host-6572.com/ Title: 6572 Thu Jan 11 14:41:11 2007 http://host-6573.com/ Title: 6573 Thu Jan 11 14:41:27 2007 http://www.host-6574.com/ Title: 6574 Thu Jan 11 14:41:39 2007 http://host-6575.com/ Title: 6575 Thu Jan 11 14:41:53 2007 http://www.host-6576.com/ Title: 6576 Thu Jan 11 14:42:06 2007 http://www.host-6577.com/ Title: 6577 Thu Jan 11 14:42:54 2007 http://host-6578.com/ Title: 6578 Thu Jan 11 14:43:01 2007 http://www.host-6579.com/ Title: 6579 Thu Jan 11 14:43:14 2007 http://www.host-6580.com/ Title: 6580 Fri Jan 12 08:24:34 2007 http://host-6581.com/ Title: 6581 Fri Jan 12 08:25:31 2007 http://www.host-6582.com/ Title: 6582 Fri Jan 12 08:32:43 2007 http://www.host-6583.com/ Title: 6583 Fri Jan 12 08:41:52 2007 http://host-6584.com/ Title: 6584 Fri Jan 12 08:42:15 2007 http://www.host-6585.com/ Title: 6585 Fri Jan 12 08:42:28 2007 http://www.host-6586.com/ Title: 6586 Fri Jan 12 08:42:52 2007 http://www.host-6587.com/ Title: 6587 Fri Jan 12 08:43:02 2007 http://host-6588.com/ Title: 6588 Fri Jan 12 08:43:15 2007 http://host-6589.com/ Title: 6589 Fri Jan 12 08:43:27 2007 http://host-6590.com/ Title: 6590 Fri Jan 12 08:43:43 2007 http://host-6591.com/ Title: 6591 Fri Jan 12 08:43:59 2007 http://host-6592.com/ Title: 6592 Fri Jan 12 08:44:23 2007 http://www.host-6593.com/ Title: 6593 Fri Jan 12 08:45:10 2007 http://www.host-6594.com/ Title: 6594 Fri Jan 12 08:45:30 2007 http://www.host-6595.com/ Title: 6595 Fri Jan 12 08:46:34 2007 http://www.host-6596.com/ Title: 6596 Fri Jan 12 08:46:56 2007 http://www.host-6597.com/ Title: 6597 Fri Jan 12 08:47:23 2007 http://www.host-6598.com/ Title: 6598 Fri Jan 12 08:47:40 2007 http://www.host-6599.com/ Title: 6599 Fri Jan 12 09:06:45 2007 http://www.host-6600.com/ Title: 6600 Fri Jan 12 09:18:31 2007 http://www.host-6601.com/ Title: 6601 Fri Jan 12 09:51:09 2007 http://www.host-6602.com/ Title: 6602 Fri Jan 12 09:56:14 2007 http://host-6603.com/ Title: 6603 Fri Jan 12 09:56:59 2007 http://www.host-6604.com/ Title: 6604 Fri Jan 12 09:57:10 2007 http://host-6605.com/ Title: 6605 Fri Jan 12 09:57:19 2007 http://host-6606.com/ Title: 6606 Fri Jan 12 09:57:33 2007 http://host-6607.com/ Title: 6607 Fri Jan 12 09:58:24 2007 http://host-6608.com/ Title: 6608 Fri Jan 12 09:58:32 2007 http://www.host-6609.com/ Title: 6609 Fri Jan 12 09:59:16 2007 http://host-6610.com/ Title: 6610 Fri Jan 12 10:01:10 2007 http://host-6611.com/ Title: 6611 Fri Jan 12 10:02:49 2007 http://www.host-6612.com/ Title: 6612 Fri Jan 12 10:03:01 2007 http://www.host-6613.com/ Title: 6613 Fri Jan 12 10:10:48 2007 http://host-6614.com/ Title: 6614 Fri Jan 12 10:10:55 2007 http://host-6615.com/ Title: 6615 Fri Jan 12 10:21:40 2007 http://host-6616.com/ Title: 6616 Fri Jan 12 10:22:39 2007 http://www.host-6617.com/ Title: 6617 Fri Jan 12 10:22:59 2007 http://host-6618.com/ Title: 6618 Fri Jan 12 11:05:59 2007 http://www.host-6619.com/ Title: 6619 Fri Jan 12 11:06:02 2007 http://www.host-6620.com/ Title: 6620 Fri Jan 12 11:06:07 2007 http://host-6621.com/ Title: 6621 Fri Jan 12 12:13:30 2007 http://www.host-6622.com/ Title: 6622 Fri Jan 12 12:18:16 2007 http://www.host-6623.com/ Title: 6623 Fri Jan 12 12:20:47 2007 http://host-6624.com/ Title: 6624 Fri Jan 12 12:22:04 2007 http://www.host-6625.com/ Title: 6625 Fri Jan 12 12:22:06 2007 http://www.host-6626.com/ Title: 6626 Fri Jan 12 12:36:52 2007 http://host-6627.com/ Title: 6627 Fri Jan 12 12:37:31 2007 http://host-6628.com/ Title: 6628 Fri Jan 12 12:37:41 2007 http://www.host-6629.com/ Title: 6629 Fri Jan 12 12:57:31 2007 http://host-6630.com/ Title: 6630 Fri Jan 12 13:00:39 2007 http://www.host-6631.com/ Title: 6631 Fri Jan 12 13:00:56 2007 http://host-6632.com/ Title: 6632 Fri Jan 12 13:01:04 2007 http://host-6633.com/ Title: 6633 Fri Jan 12 13:01:08 2007 http://host-6634.com/ Title: 6634 Fri Jan 12 15:23:35 2007 http://www.host-6635.com/ Title: 6635 Fri Jan 12 16:09:43 2007 http://www.host-6636.com/ Title: 6636 Fri Jan 12 16:10:20 2007 http://host-6637.com/ Title: 6637 Fri Jan 12 16:10:25 2007 http://host-6638.com/ Title: 6638 Fri Jan 12 16:10:27 2007 http://www.host-6639.com/ Title: 6639 Fri Jan 12 16:23:00 2007 http://host-6640.com/ Title: 6640 Fri Jan 12 16:30:19 2007 http://www.host-6641.com/ Title: 6641 Fri Jan 12 16:30:21 2007 http://host-6642.com/ Title: 6642 Fri Jan 12 16:30:37 2007 http://www.host-6643.com/ Title: 6643 Fri Jan 12 16:30:59 2007 http://www.host-6644.com/ Title: 6644 Fri Jan 12 16:31:19 2007 http://host-6645.com/ Title: 6645 Mon Jan 15 08:17:14 2007 http://host-6646.com/ Title: 6646 Mon Jan 15 08:17:27 2007 http://www.host-6647.com/ Title: 6647 Mon Jan 15 08:35:40 2007 http://www.host-6648.com/ Title: 6648 Mon Jan 15 08:35:44 2007 http://host-6649.com/ Title: 6649 Mon Jan 15 08:36:03 2007 http://host-6650.com/ Title: 6650 Mon Jan 15 08:36:07 2007 http://www.host-6651.com/ Title: 6651 Mon Jan 15 10:37:46 2007 http://www.host-6652.com/ Title: 6652 Mon Jan 15 11:40:51 2007 http://host-6653.com/ Title: 6653 Mon Jan 15 11:46:55 2007 http://www.host-6654.com/ Title: 6654 Mon Jan 15 11:47:48 2007 http://www.host-6655.com/ Title: 6655 Mon Jan 15 11:47:58 2007 http://www.host-6656.com/ Title: 6656 Mon Jan 15 11:48:01 2007 http://host-6657.com/ Title: 6657 Mon Jan 15 12:37:35 2007 http://www.host-6658.com/ Title: 6658 Mon Jan 15 13:10:33 2007 http://www.host-6659.com/ Title: 6659 Mon Jan 15 13:10:39 2007 http://www.host-6660.com/ Title: 6660 Mon Jan 15 13:11:01 2007 http://host-6661.com/ Title: 6661 Mon Jan 15 13:11:25 2007 http://host-6662.com/ Title: 6662 Mon Jan 15 13:11:33 2007 http://www.host-6663.com/ Title: 6663 Mon Jan 15 13:31:39 2007 http://www.host-6664.com/ Title: 6664 Mon Jan 15 13:49:21 2007 http://host-6665.com/ Title: 6665 Mon Jan 15 13:49:28 2007 http://host-6666.com/ Title: 6666 Mon Jan 15 13:49:31 2007 http://host-6667.com/ Title: 6667 Mon Jan 15 14:41:19 2007 http://host-6668.com/ Title: 6668 Mon Jan 15 14:41:43 2007 http://www.host-6669.com/ Title: 6669 Mon Jan 15 15:09:11 2007 http://host-6670.com/ Title: 6670 Mon Jan 15 15:38:52 2007 http://host-6671.com/ Title: 6671 Mon Jan 15 15:39:21 2007 http://host-6672.com/ Title: 6672 Mon Jan 15 15:53:35 2007 http://host-6673.com/ Title: 6673 Mon Jan 15 15:53:37 2007 http://www.host-6674.com/ Title: 6674 Mon Jan 15 15:54:02 2007 http://www.host-6675.com/ Title: 6675 Mon Jan 15 15:54:04 2007 http://host-6676.com/ Title: 6676 Mon Jan 15 15:55:19 2007 http://www.host-6677.com/ Title: 6677 Mon Jan 15 15:55:23 2007 http://www.host-6678.com/ Title: 6678 Mon Jan 15 15:55:25 2007 http://host-6679.com/ Title: 6679 Mon Jan 15 15:55:28 2007 http://host-6680.com/ Title: 6680 Mon Jan 15 15:57:46 2007 http://www.host-6681.com/ Title: 6681 Mon Jan 15 15:57:51 2007 http://www.host-6682.com/ Title: 6682 Tue Jan 16 07:45:10 2007 http://host-6683.com/ Title: 6683 Tue Jan 16 07:50:56 2007 http://host-6684.com/ Title: 6684 Tue Jan 16 08:37:51 2007 http://host-6685.com/ Title: 6685 Tue Jan 16 08:37:57 2007 http://www.host-6686.com/ Title: 6686 Tue Jan 16 08:38:08 2007 http://host-6687.com/ Title: 6687 Tue Jan 16 08:38:13 2007 http://www.host-6688.com/ Title: 6688 Tue Jan 16 08:38:19 2007 http://www.host-6689.com/ Title: 6689 Tue Jan 16 08:38:23 2007 http://host-6690.com/ Title: 6690 Tue Jan 16 08:38:30 2007 http://www.host-6691.com/ Title: 6691 Tue Jan 16 08:38:38 2007 http://host-6692.com/ Title: 6692 Tue Jan 16 08:38:48 2007 http://host-6693.com/ Title: 6693 Tue Jan 16 08:38:54 2007 http://www.host-6694.com/ Title: 6694 Tue Jan 16 08:39:00 2007 http://www.host-6695.com/ Title: 6695 Tue Jan 16 08:39:04 2007 http://host-6696.com/ Title: 6696 Tue Jan 16 08:39:09 2007 http://www.host-6697.com/ Title: 6697 Tue Jan 16 08:39:30 2007 http://www.host-6698.com/ Title: 6698 Tue Jan 16 08:39:39 2007 http://www.host-6699.com/ Title: 6699 Tue Jan 16 08:44:02 2007 http://host-6700.com/ Title: 6700 Tue Jan 16 08:44:39 2007 http://www.host-6701.com/ Title: 6701 Tue Jan 16 08:44:41 2007 http://www.host-6702.com/ Title: 6702 Tue Jan 16 08:50:59 2007 http://host-6703.com/ Title: 6703 Tue Jan 16 08:51:09 2007 http://www.host-6704.com/ Title: 6704 Tue Jan 16 08:51:10 2007 http://www.host-6705.com/ Title: 6705 Tue Jan 16 08:51:46 2007 http://host-6706.com/ Title: 6706 Tue Jan 16 10:08:58 2007 http://www.host-6707.com/ Title: 6707 Tue Jan 16 11:04:07 2007 http://www.host-6708.com/ Title: 6708 Tue Jan 16 11:04:57 2007 http://www.host-6709.com/ Title: 6709 Tue Jan 16 11:07:14 2007 http://www.host-6710.com/ Title: 6710 Tue Jan 16 11:08:00 2007 http://www.host-6711.com/ Title: 6711 Tue Jan 16 11:08:02 2007 http://host-6712.com/ Title: 6712 Tue Jan 16 11:08:03 2007 http://www.host-6713.com/ Title: 6713 Tue Jan 16 11:08:06 2007 http://host-6714.com/ Title: 6714 Tue Jan 16 11:08:11 2007 http://host-6715.com/ Title: 6715 Tue Jan 16 11:08:15 2007 http://www.host-6716.com/ Title: 6716 Tue Jan 16 11:08:20 2007 http://host-6717.com/ Title: 6717 Tue Jan 16 11:08:23 2007 http://host-6718.com/ Title: 6718 Tue Jan 16 11:25:19 2007 http://www.host-6719.com/ Title: 6719 Tue Jan 16 11:25:36 2007 http://host-6720.com/ Title: 6720 Tue Jan 16 12:07:40 2007 http://www.host-6721.com/ Title: 6721 Tue Jan 16 12:07:52 2007 http://www.host-6722.com/ Title: 6722 Tue Jan 16 12:07:56 2007 http://www.host-6723.com/ Title: 6723 Tue Jan 16 12:32:26 2007 http://www.host-6724.com/ Title: 6724 Tue Jan 16 15:08:05 2007 http://www.host-6725.com/ Title: 6725 Tue Jan 16 15:08:11 2007 http://www.host-6726.com/ Title: 6726 Tue Jan 16 15:08:13 2007 http://www.host-6727.com/ Title: 6727 Tue Jan 16 15:40:20 2007 http://host-6728.com/ Title: 6728 Tue Jan 16 15:40:25 2007 http://host-6729.com/ Title: 6729 Tue Jan 16 15:42:35 2007 http://host-6730.com/ Title: 6730 Tue Jan 16 15:42:43 2007 http://host-6731.com/ Title: 6731 Tue Jan 16 15:43:50 2007 http://www.host-6732.com/ Title: 6732 Tue Jan 16 15:49:16 2007 http://host-6733.com/ Title: 6733 Tue Jan 16 15:56:19 2007 http://www.host-6734.com/ Title: 6734 Tue Jan 16 15:56:25 2007 http://www.host-6735.com/ Title: 6735 Tue Jan 16 16:01:01 2007 http://www.host-6736.com/ Title: 6736 Tue Jan 16 16:01:04 2007 http://www.host-6737.com/ Title: 6737 Tue Jan 16 16:01:57 2007 http://www.host-6738.com/ Title: 6738 Tue Jan 16 16:02:03 2007 http://www.host-6739.com/ Title: 6739 Tue Jan 16 16:02:07 2007 http://host-6740.com/ Title: 6740 Tue Jan 16 16:02:37 2007 http://host-6741.com/ Title: 6741 Tue Jan 16 16:02:43 2007 http://www.host-6742.com/ Title: 6742 Tue Jan 16 16:02:53 2007 http://host-6743.com/ Title: 6743 Tue Jan 16 16:02:56 2007 http://www.host-6744.com/ Title: 6744 Tue Jan 16 16:03:08 2007 http://host-6745.com/ Title: 6745 Tue Jan 16 16:03:16 2007 http://host-6746.com/ Title: 6746 Tue Jan 16 16:03:27 2007 http://www.host-6747.com/ Title: 6747 Tue Jan 16 16:04:45 2007 http://host-6748.com/ Title: 6748 Tue Jan 16 16:05:05 2007 http://www.host-6749.com/ Title: 6749 Tue Jan 16 16:05:12 2007 http://www.host-6750.com/ Title: 6750 Wed Jan 17 09:49:42 2007 http://www.host-6751.com/ Title: 6751 Wed Jan 17 11:00:26 2007 http://host-6752.com/ Title: 6752 Wed Jan 17 11:00:31 2007 http://host-6753.com/ Title: 6753 Wed Jan 17 11:01:12 2007 http://www.host-6754.com/ Title: 6754 Wed Jan 17 11:01:15 2007 http://host-6755.com/ Title: 6755 Wed Jan 17 12:04:42 2007 http://www.host-6756.com/ Title: 6756 Wed Jan 17 13:42:52 2007 http://www.host-6757.com/ Title: 6757 Wed Jan 17 13:42:56 2007 http://host-6758.com/ Title: 6758 Wed Jan 17 13:49:32 2007 http://host-6759.com/ Title: 6759 Wed Jan 17 13:49:56 2007 http://host-6760.com/ Title: 6760 Wed Jan 17 13:50:10 2007 http://www.host-6761.com/ Title: 6761 Wed Jan 17 13:50:22 2007 http://host-6762.com/ Title: 6762 Wed Jan 17 13:51:06 2007 http://www.host-6763.com/ Title: 6763 Wed Jan 17 13:51:10 2007 http://www.host-6764.com/ Title: 6764 Wed Jan 17 15:10:13 2007 http://www.host-6765.com/ Title: 6765 Wed Jan 17 15:24:15 2007 http://www.host-6766.com/ Title: 6766 Wed Jan 17 15:24:24 2007 http://host-6767.com/ Title: 6767 Wed Jan 17 15:41:55 2007 http://host-6768.com/ Title: 6768 Wed Jan 17 15:41:57 2007 http://host-6769.com/ Title: 6769 Wed Jan 17 15:41:59 2007 http://www.host-6770.com/ Title: 6770 Wed Jan 17 15:42:03 2007 http://www.host-6771.com/ Title: 6771 Wed Jan 17 15:46:17 2007 http://www.host-6772.com/ Title: 6772 Wed Jan 17 15:48:30 2007 http://host-6773.com/ Title: 6773 Wed Jan 17 15:50:17 2007 http://www.host-6774.com/ Title: 6774 Wed Jan 17 15:50:23 2007 http://host-6775.com/ Title: 6775 Wed Jan 17 15:50:27 2007 http://www.host-6776.com/ Title: 6776 Wed Jan 17 16:00:52 2007 http://www.host-6777.com/ Title: 6777 Wed Jan 17 16:02:22 2007 http://host-6778.com/ Title: 6778 Wed Jan 17 16:02:30 2007 http://host-6779.com/ Title: 6779 Wed Jan 17 16:03:27 2007 http://host-6780.com/ Title: 6780 Wed Jan 17 16:03:33 2007 http://host-6781.com/ Title: 6781 Wed Jan 17 16:03:50 2007 http://host-6782.com/ Title: 6782 Wed Jan 17 16:04:03 2007 http://www.host-6783.com/ Title: 6783 Wed Jan 17 16:04:07 2007 http://www.host-6784.com/ Title: 6784 Wed Jan 17 16:17:52 2007 http://www.host-6785.com/ Title: 6785 Wed Jan 17 16:17:54 2007 http://host-6786.com/ Title: 6786 Wed Jan 17 16:18:02 2007 http://www.host-6787.com/ Title: 6787 Thu Jan 18 09:14:12 2007 http://www.host-6788.com/ Title: 6788 Thu Jan 18 09:14:22 2007 http://www.host-6789.com/ Title: 6789 Thu Jan 18 09:14:29 2007 http://host-6790.com/ Title: 6790 Thu Jan 18 09:14:35 2007 http://host-6791.com/ Title: 6791 Thu Jan 18 09:14:46 2007 http://host-6792.com/ Title: 6792 Thu Jan 18 09:14:55 2007 http://host-6793.com/ Title: 6793 Thu Jan 18 09:15:02 2007 http://host-6794.com/ Title: 6794 Thu Jan 18 09:15:07 2007 http://host-6795.com/ Title: 6795 Thu Jan 18 09:15:11 2007 http://host-6796.com/ Title: 6796 Thu Jan 18 09:15:17 2007 http://host-6797.com/ Title: 6797 Thu Jan 18 09:15:27 2007 http://host-6798.com/ Title: 6798 Thu Jan 18 09:17:45 2007 http://host-6799.com/ Title: 6799 Thu Jan 18 09:30:07 2007 http://host-6800.com/ Title: 6800 Thu Jan 18 09:49:21 2007 http://host-6801.com/ Title: 6801 Thu Jan 18 09:53:58 2007 http://www.host-6802.com/ Title: 6802 Thu Jan 18 09:54:20 2007 http://www.host-6803.com/ Title: 6803 Thu Jan 18 09:54:34 2007 http://www.host-6804.com/ Title: 6804 Thu Jan 18 09:54:51 2007 http://host-6805.com/ Title: 6805 Thu Jan 18 09:57:36 2007 http://host-6806.com/ Title: 6806 Thu Jan 18 09:59:25 2007 http://host-6807.com/ Title: 6807 Thu Jan 18 09:59:41 2007 http://www.host-6808.com/ Title: 6808 Thu Jan 18 09:59:44 2007 http://www.host-6809.com/ Title: 6809 Thu Jan 18 10:02:13 2007 http://host-6810.com/ Title: 6810 Thu Jan 18 10:30:29 2007 http://www.host-6811.com/ Title: 6811 Thu Jan 18 11:06:15 2007 http://host-6812.com/ Title: 6812 Thu Jan 18 11:06:19 2007 http://host-6813.com/ Title: 6813 Thu Jan 18 11:06:27 2007 http://www.host-6814.com/ Title: 6814 Thu Jan 18 13:17:22 2007 http://www.host-6815.com/ Title: 6815 Thu Jan 18 13:18:21 2007 http://www.host-6816.com/ Title: 6816 Thu Jan 18 15:01:38 2007 http://host-6817.com/ Title: 6817 Thu Jan 18 15:02:01 2007 http://host-6818.com/ Title: 6818 Thu Jan 18 15:15:03 2007 http://www.host-6819.com/ Title: 6819 Thu Jan 18 15:16:09 2007 http://www.host-6820.com/ Title: 6820 Thu Jan 18 15:16:14 2007 http://host-6821.com/ Title: 6821 Thu Jan 18 15:16:25 2007 http://host-6822.com/ Title: 6822 Thu Jan 18 15:16:27 2007 http://www.host-6823.com/ Title: 6823 Thu Jan 18 15:54:00 2007 http://host-6824.com/ Title: 6824 Fri Jan 19 10:13:50 2007 http://www.host-6825.com/ Title: 6825 Fri Jan 19 10:13:53 2007 http://www.host-6826.com/ Title: 6826 Fri Jan 19 10:15:00 2007 http://host-6827.com/ Title: 6827 Fri Jan 19 10:15:01 2007 http://host-6828.com/ Title: 6828 Fri Jan 19 10:24:52 2007 http://www.host-6829.com/ Title: 6829 Fri Jan 19 10:24:57 2007 http://host-6830.com/ Title: 6830 Fri Jan 19 10:28:55 2007 http://www.host-6831.com/ Title: 6831 Fri Jan 19 10:46:01 2007 http://www.host-6832.com/ Title: 6832 Fri Jan 19 10:50:32 2007 http://host-6833.com/ Title: 6833 Fri Jan 19 11:07:25 2007 http://host-6834.com/ Title: 6834 Fri Jan 19 11:13:38 2007 http://www.host-6835.com/ Title: 6835 Fri Jan 19 11:13:42 2007 http://www.host-6836.com/ Title: 6836 Fri Jan 19 11:13:53 2007 http://host-6837.com/ Title: 6837 Fri Jan 19 11:13:58 2007 http://www.host-6838.com/ Title: 6838 Fri Jan 19 11:23:01 2007 http://www.host-6839.com/ Title: 6839 Fri Jan 19 11:23:24 2007 http://www.host-6840.com/ Title: 6840 Fri Jan 19 11:26:10 2007 http://host-6841.com/ Title: 6841 Fri Jan 19 11:26:15 2007 http://host-6842.com/ Title: 6842 Fri Jan 19 11:28:25 2007 http://host-6843.com/ Title: 6843 Fri Jan 19 11:28:47 2007 http://www.host-6844.com/ Title: 6844 Fri Jan 19 11:28:54 2007 http://host-6845.com/ Title: 6845 Fri Jan 19 11:28:57 2007 http://host-6846.com/ Title: 6846 Fri Jan 19 11:29:01 2007 http://host-6847.com/ Title: 6847 Fri Jan 19 11:29:17 2007 http://host-6848.com/ Title: 6848 Fri Jan 19 11:29:27 2007 http://host-6849.com/ Title: 6849 Fri Jan 19 11:29:29 2007 http://host-6850.com/ Title: 6850 Fri Jan 19 11:29:34 2007 http://www.host-6851.com/ Title: 6851 Fri Jan 19 11:29:46 2007 http://www.host-6852.com/ Title: 6852 Fri Jan 19 12:18:22 2007 http://host-6853.com/ Title: 6853 Fri Jan 19 12:24:21 2007 http://www.host-6854.com/ Title: 6854 Fri Jan 19 12:24:25 2007 http://host-6855.com/ Title: 6855 Fri Jan 19 12:24:54 2007 http://host-6856.com/ Title: 6856 Fri Jan 19 12:50:17 2007 http://www.host-6857.com/ Title: 6857 Fri Jan 19 12:50:21 2007 http://host-6858.com/ Title: 6858 Fri Jan 19 12:50:24 2007 http://www.host-6859.com/ Title: 6859 Fri Jan 19 12:50:42 2007 http://www.host-6860.com/ Title: 6860 Fri Jan 19 13:04:26 2007 http://www.host-6861.com/ Title: 6861 Fri Jan 19 13:04:29 2007 http://host-6862.com/ Title: 6862 Fri Jan 19 13:12:11 2007 http://host-6863.com/ Title: 6863 Fri Jan 19 13:12:20 2007 http://www.host-6864.com/ Title: 6864 Fri Jan 19 13:12:27 2007 http://www.host-6865.com/ Title: 6865 Fri Jan 19 13:12:36 2007 http://host-6866.com/ Title: 6866 Fri Jan 19 13:15:15 2007 http://www.host-6867.com/ Title: 6867 Fri Jan 19 13:15:24 2007 http://www.host-6868.com/ Title: 6868 Fri Jan 19 13:15:27 2007 http://www.host-6869.com/ Title: 6869 Fri Jan 19 13:15:32 2007 http://www.host-6870.com/ Title: 6870 Fri Jan 19 13:15:37 2007 http://host-6871.com/ Title: 6871 Fri Jan 19 13:15:46 2007 http://www.host-6872.com/ Title: 6872 Fri Jan 19 13:15:59 2007 http://host-6873.com/ Title: 6873 Fri Jan 19 13:16:01 2007 http://host-6874.com/ Title: 6874 Fri Jan 19 13:16:09 2007 http://host-6875.com/ Title: 6875 Fri Jan 19 13:16:30 2007 http://host-6876.com/ Title: 6876 Fri Jan 19 13:16:36 2007 http://www.host-6877.com/ Title: 6877 Fri Jan 19 13:21:42 2007 http://www.host-6878.com/ Title: 6878 Fri Jan 19 13:21:47 2007 http://www.host-6879.com/ Title: 6879 Fri Jan 19 13:28:09 2007 http://host-6880.com/ Title: 6880 Fri Jan 19 13:28:12 2007 http://host-6881.com/ Title: 6881 Fri Jan 19 13:31:55 2007 http://www.host-6882.com/ Title: 6882 Fri Jan 19 13:35:09 2007 http://host-6883.com/ Title: 6883 Fri Jan 19 13:36:42 2007 http://www.host-6884.com/ Title: 6884 Fri Jan 19 13:38:18 2007 http://host-6885.com/ Title: 6885 Fri Jan 19 13:39:02 2007 http://www.host-6886.com/ Title: 6886 Fri Jan 19 13:39:26 2007 http://www.host-6887.com/ Title: 6887 Fri Jan 19 13:54:16 2007 http://www.host-6888.com/ Title: 6888 Fri Jan 19 13:54:48 2007 http://www.host-6889.com/ Title: 6889 Fri Jan 19 13:55:08 2007 http://www.host-6890.com/ Title: 6890 Fri Jan 19 13:55:15 2007 http://host-6891.com/ Title: 6891 Fri Jan 19 13:55:28 2007 http://www.host-6892.com/ Title: 6892 Fri Jan 19 13:55:30 2007 http://www.host-6893.com/ Title: 6893 Fri Jan 19 13:55:36 2007 http://host-6894.com/ Title: 6894 Fri Jan 19 13:56:46 2007 http://www.host-6895.com/ Title: 6895 Fri Jan 19 13:57:06 2007 http://www.host-6896.com/ Title: 6896 Fri Jan 19 13:57:09 2007 http://www.host-6897.com/ Title: 6897 Fri Jan 19 13:57:15 2007 http://host-6898.com/ Title: 6898 Fri Jan 19 13:57:18 2007 http://www.host-6899.com/ Title: 6899 Fri Jan 19 13:57:25 2007 http://www.host-6900.com/ Title: 6900 Fri Jan 19 13:59:43 2007 http://www.host-6901.com/ Title: 6901 Fri Jan 19 14:00:01 2007 http://host-6902.com/ Title: 6902 Fri Jan 19 15:46:43 2007 http://host-6903.com/ Title: 6903 Fri Jan 19 15:46:47 2007 http://www.host-6904.com/ Title: 6904 Fri Jan 19 15:46:51 2007 http://www.host-6905.com/ Title: 6905 Fri Jan 19 15:46:53 2007 http://host-6906.com/ Title: 6906 Fri Jan 19 15:52:40 2007 http://host-6907.com/ Title: 6907 Fri Jan 19 15:53:23 2007 http://www.host-6908.com/ Title: 6908 Fri Jan 19 15:53:45 2007 http://host-6909.com/ Title: 6909 Fri Jan 19 15:55:22 2007 http://host-6910.com/ Title: 6910 Fri Jan 19 15:55:24 2007 http://www.host-6911.com/ Title: 6911 Fri Jan 19 15:57:27 2007 http://host-6912.com/ Title: 6912 Fri Jan 19 15:57:34 2007 http://www.host-6913.com/ Title: 6913 Fri Jan 19 15:57:41 2007 http://host-6914.com/ Title: 6914 Fri Jan 19 15:58:42 2007 http://host-6915.com/ Title: 6915 Fri Jan 19 15:59:08 2007 http://www.host-6916.com/ Title: 6916 Fri Jan 19 16:00:30 2007 http://www.host-6917.com/ Title: 6917 Fri Jan 19 16:00:38 2007 http://www.host-6918.com/ Title: 6918 Fri Jan 19 16:01:52 2007 http://host-6919.com/ Title: 6919 Fri Jan 19 16:02:18 2007 http://host-6920.com/ Title: 6920 Fri Jan 19 16:02:47 2007 http://host-6921.com/ Title: 6921 Fri Jan 19 16:03:55 2007 http://www.host-6922.com/ Title: 6922 Fri Jan 19 16:09:58 2007 http://www.host-6923.com/ Title: 6923 Fri Jan 19 16:10:07 2007 http://www.host-6924.com/ Title: 6924 Fri Jan 19 18:33:16 2007 http://host-6925.com/ Title: 6925 Fri Jan 19 18:33:17 2007 http://host-6926.com/ Title: 6926 Mon Jan 22 09:50:19 2007 http://www.host-6927.com/ Title: 6927 Mon Jan 22 12:53:31 2007 http://www.host-6928.com/ Title: 6928 Mon Jan 22 13:55:20 2007 http://www.host-6929.com/ Title: 6929 Mon Jan 22 13:56:08 2007 http://host-6930.com/ Title: 6930 Mon Jan 22 13:56:12 2007 http://host-6931.com/ Title: 6931 Mon Jan 22 13:58:06 2007 http://www.host-6932.com/ Title: 6932 Mon Jan 22 13:58:45 2007 http://www.host-6933.com/ Title: 6933 Mon Jan 22 13:58:48 2007 http://www.host-6934.com/ Title: 6934 Mon Jan 22 13:59:15 2007 http://host-6935.com/ Title: 6935 Mon Jan 22 13:59:38 2007 http://www.host-6936.com/ Title: 6936 Mon Jan 22 13:59:48 2007 http://host-6937.com/ Title: 6937 Mon Jan 22 14:00:32 2007 http://host-6938.com/ Title: 6938 Mon Jan 22 14:00:39 2007 http://host-6939.com/ Title: 6939 Mon Jan 22 14:00:50 2007 http://host-6940.com/ Title: 6940 Mon Jan 22 14:02:25 2007 http://host-6941.com/ Title: 6941 Mon Jan 22 14:03:11 2007 http://host-6942.com/ Title: 6942 Mon Jan 22 14:08:07 2007 http://www.host-6943.com/ Title: 6943 Mon Jan 22 16:04:15 2007 http://www.host-6944.com/ Title: 6944 Mon Jan 22 16:04:18 2007 http://host-6945.com/ Title: 6945 Mon Jan 22 16:31:56 2007 http://www.host-6946.com/ Title: 6946 Mon Jan 22 16:32:02 2007 http://host-6947.com/ Title: 6947 Mon Jan 22 16:32:08 2007 http://host-6948.com/ Title: 6948 Mon Jan 22 17:09:34 2007 http://host-6949.com/ Title: 6949 Mon Jan 22 17:09:37 2007 http://host-6950.com/ Title: 6950 Mon Jan 22 17:09:48 2007 http://www.host-6951.com/ Title: 6951 Mon Jan 22 17:11:50 2007 http://www.host-6952.com/ Title: 6952 Mon Jan 22 17:11:50 2007 http://www.host-6953.com/ Title: 6953 Mon Jan 22 17:11:52 2007 http://host-6954.com/ Title: 6954 Mon Jan 22 17:54:49 2007 http://www.host-6955.com/ Title: 6955 Mon Jan 22 17:54:56 2007 http://www.host-6956.com/ Title: 6956 Mon Jan 22 18:01:24 2007 http://host-6957.com/ Title: 6957 Mon Jan 22 18:01:58 2007 http://www.host-6958.com/ Title: 6958 Tue Jan 23 10:12:33 2007 http://host-6959.com/ Title: 6959 Tue Jan 23 10:12:36 2007 http://www.host-6960.com/ Title: 6960 Tue Jan 23 10:23:52 2007 http://host-6961.com/ Title: 6961 Tue Jan 23 10:30:18 2007 http://www.host-6962.com/ Title: 6962 Tue Jan 23 10:36:49 2007 http://www.host-6963.com/ Title: 6963 Tue Jan 23 10:50:55 2007 http://www.host-6964.com/ Title: 6964 Tue Jan 23 11:14:19 2007 http://host-6965.com/ Title: 6965 Tue Jan 23 11:14:24 2007 http://www.host-6966.com/ Title: 6966 Tue Jan 23 11:14:27 2007 http://host-6967.com/ Title: 6967 Tue Jan 23 11:14:31 2007 http://host-6968.com/ Title: 6968 Tue Jan 23 11:15:07 2007 http://host-6969.com/ Title: 6969 Tue Jan 23 11:20:28 2007 http://host-6970.com/ Title: 6970 Tue Jan 23 12:09:20 2007 http://www.host-6971.com/ Title: 6971 Tue Jan 23 12:09:42 2007 http://www.host-6972.com/ Title: 6972 Tue Jan 23 12:09:44 2007 http://host-6973.com/ Title: 6973 Tue Jan 23 12:09:45 2007 http://www.host-6974.com/ Title: 6974 Tue Jan 23 12:09:57 2007 http://www.host-6975.com/ Title: 6975 Tue Jan 23 14:10:45 2007 http://www.host-6976.com/ Title: 6976 Tue Jan 23 14:45:43 2007 http://host-6977.com/ Title: 6977 Tue Jan 23 14:45:53 2007 http://host-6978.com/ Title: 6978 Tue Jan 23 14:45:55 2007 http://www.host-6979.com/ Title: 6979 Tue Jan 23 14:45:57 2007 http://host-6980.com/ Title: 6980 Tue Jan 23 14:46:03 2007 http://www.host-6981.com/ Title: 6981 Tue Jan 23 14:46:09 2007 http://www.host-6982.com/ Title: 6982 Tue Jan 23 14:46:21 2007 http://www.host-6983.com/ Title: 6983 Tue Jan 23 14:46:26 2007 http://www.host-6984.com/ Title: 6984 Tue Jan 23 14:47:30 2007 http://host-6985.com/ Title: 6985 Tue Jan 23 14:47:33 2007 http://host-6986.com/ Title: 6986 Tue Jan 23 14:47:39 2007 http://host-6987.com/ Title: 6987 Tue Jan 23 14:47:42 2007 http://host-6988.com/ Title: 6988 Tue Jan 23 14:47:45 2007 http://www.host-6989.com/ Title: 6989 Tue Jan 23 14:47:48 2007 http://host-6990.com/ Title: 6990 Tue Jan 23 14:47:51 2007 http://host-6991.com/ Title: 6991 Tue Jan 23 14:47:57 2007 http://www.host-6992.com/ Title: 6992 Tue Jan 23 14:48:12 2007 http://www.host-6993.com/ Title: 6993 Tue Jan 23 14:48:14 2007 http://www.host-6994.com/ Title: 6994 Tue Jan 23 14:48:17 2007 http://www.host-6995.com/ Title: 6995 Tue Jan 23 14:48:24 2007 http://host-6996.com/ Title: 6996 Tue Jan 23 14:48:30 2007 http://host-6997.com/ Title: 6997 Tue Jan 23 14:49:22 2007 http://www.host-6998.com/ Title: 6998 Tue Jan 23 14:49:24 2007 http://www.host-6999.com/ Title: 6999 Tue Jan 23 15:54:39 2007 http://host-7000.com/ Title: 7000 Tue Jan 23 15:55:13 2007 http://host-7001.com/ Title: 7001 Tue Jan 23 15:55:18 2007 http://www.host-7002.com/ Title: 7002 Tue Jan 23 16:05:12 2007 http://host-7003.com/ Title: 7003 Tue Jan 23 16:05:43 2007 http://host-7004.com/ Title: 7004 Tue Jan 23 16:05:55 2007 http://www.host-7005.com/ Title: 7005 Tue Jan 23 16:06:37 2007 http://www.host-7006.com/ Title: 7006 Tue Jan 23 16:07:31 2007 http://www.host-7007.com/ Title: 7007 Tue Jan 23 16:07:35 2007 http://host-7008.com/ Title: 7008 Tue Jan 23 16:07:38 2007 http://host-7009.com/ Title: 7009 Tue Jan 23 16:12:06 2007 http://www.host-7010.com/ Title: 7010 Tue Jan 23 16:14:44 2007 http://www.host-7011.com/ Title: 7011 Tue Jan 23 16:32:08 2007 http://www.host-7012.com/ Title: 7012 Tue Jan 23 16:32:10 2007 http://www.host-7013.com/ Title: 7013 Tue Jan 23 16:36:10 2007 http://www.host-7014.com/ Title: 7014 Tue Jan 23 16:38:12 2007 http://www.host-7015.com/ Title: 7015 Tue Jan 23 16:38:20 2007 http://host-7016.com/ Title: 7016 Tue Jan 23 16:38:26 2007 http://host-7017.com/ Title: 7017 Tue Jan 23 16:38:54 2007 http://host-7018.com/ Title: 7018 Tue Jan 23 16:39:01 2007 http://host-7019.com/ Title: 7019 Tue Jan 23 16:39:04 2007 http://www.host-7020.com/ Title: 7020 Tue Jan 23 16:39:10 2007 http://host-7021.com/ Title: 7021 Tue Jan 23 16:39:13 2007 http://www.host-7022.com/ Title: 7022 Tue Jan 23 16:39:15 2007 http://host-7023.com/ Title: 7023 Tue Jan 23 16:39:19 2007 http://www.host-7024.com/ Title: 7024 Tue Jan 23 16:39:20 2007 http://host-7025.com/ Title: 7025 Tue Jan 23 16:39:28 2007 http://www.host-7026.com/ Title: 7026 Tue Jan 23 16:39:31 2007 http://www.host-7027.com/ Title: 7027 Tue Jan 23 16:39:33 2007 http://host-7028.com/ Title: 7028 Tue Jan 23 16:39:35 2007 http://host-7029.com/ Title: 7029 Tue Jan 23 16:39:53 2007 http://www.host-7030.com/ Title: 7030 Tue Jan 23 16:40:08 2007 http://host-7031.com/ Title: 7031 Tue Jan 23 16:40:11 2007 http://host-7032.com/ Title: 7032 Tue Jan 23 16:40:41 2007 http://www.host-7033.com/ Title: 7033 Tue Jan 23 16:50:44 2007 http://www.host-7034.com/ Title: 7034 Tue Jan 23 16:51:12 2007 http://www.host-7035.com/ Title: 7035 Tue Jan 23 16:51:13 2007 http://www.host-7036.com/ Title: 7036 Tue Jan 23 16:51:14 2007 http://www.host-7037.com/ Title: 7037 Tue Jan 23 16:51:21 2007 http://host-7038.com/ Title: 7038 Tue Jan 23 16:51:42 2007 http://www.host-7039.com/ Title: 7039 Tue Jan 23 16:52:08 2007 http://www.host-7040.com/ Title: 7040 Tue Jan 23 16:52:48 2007 http://www.host-7041.com/ Title: 7041 Tue Jan 23 16:53:15 2007 http://host-7042.com/ Title: 7042 Tue Jan 23 16:53:45 2007 http://www.host-7043.com/ Title: 7043 Tue Jan 23 16:54:10 2007 http://www.host-7044.com/ Title: 7044 Tue Jan 23 16:54:26 2007 http://www.host-7045.com/ Title: 7045 Tue Jan 23 16:57:04 2007 http://www.host-7046.com/ Title: 7046 Tue Jan 23 16:57:08 2007 http://www.host-7047.com/ Title: 7047 Tue Jan 23 16:57:10 2007 http://www.host-7048.com/ Title: 7048 Tue Jan 23 17:15:03 2007 http://www.host-7049.com/ Title: 7049 Tue Jan 23 17:15:29 2007 http://host-7050.com/ Title: 7050 Tue Jan 23 17:15:37 2007 http://www.host-7051.com/ Title: 7051 Tue Jan 23 17:15:39 2007 http://www.host-7052.com/ Title: 7052 Tue Jan 23 17:15:45 2007 http://www.host-7053.com/ Title: 7053 Tue Jan 23 17:15:45 2007 http://www.host-7054.com/ Title: 7054 Tue Jan 23 17:16:06 2007 http://host-7055.com/ Title: 7055 Tue Jan 23 17:16:34 2007 http://host-7056.com/ Title: 7056 Tue Jan 23 17:16:45 2007 http://host-7057.com/ Title: 7057 Tue Jan 23 17:16:52 2007 http://www.host-7058.com/ Title: 7058 Tue Jan 23 17:17:11 2007 http://www.host-7059.com/ Title: 7059 Tue Jan 23 17:17:15 2007 http://host-7060.com/ Title: 7060 Tue Jan 23 17:17:22 2007 http://www.host-7061.com/ Title: 7061 Tue Jan 23 17:17:25 2007 http://host-7062.com/ Title: 7062 Tue Jan 23 17:17:33 2007 http://www.host-7063.com/ Title: 7063 Tue Jan 23 17:17:37 2007 http://host-7064.com/ Title: 7064 Tue Jan 23 17:17:56 2007 http://host-7065.com/ Title: 7065 Tue Jan 23 17:22:32 2007 http://www.host-7066.com/ Title: 7066 Tue Jan 23 17:22:49 2007 http://www.host-7067.com/ Title: 7067 Tue Jan 23 17:22:51 2007 http://host-7068.com/ Title: 7068 Tue Jan 23 17:23:02 2007 http://host-7069.com/ Title: 7069 Tue Jan 23 17:23:53 2007 http://host-7070.com/ Title: 7070 Tue Jan 23 17:24:38 2007 http://www.host-7071.com/ Title: 7071 Tue Jan 23 17:24:43 2007 http://www.host-7072.com/ Title: 7072 Tue Jan 23 17:24:43 2007 http://host-7073.com/ Title: 7073 Tue Jan 23 17:25:00 2007 http://host-7074.com/ Title: 7074 Tue Jan 23 17:25:02 2007 http://host-7075.com/ Title: 7075 Tue Jan 23 17:25:06 2007 http://www.host-7076.com/ Title: 7076 Tue Jan 23 17:25:34 2007 http://www.host-7077.com/ Title: 7077 Tue Jan 23 17:25:41 2007 http://host-7078.com/ Title: 7078 Tue Jan 23 17:26:02 2007 http://host-7079.com/ Title: 7079 Tue Jan 23 17:26:16 2007 http://www.host-7080.com/ Title: 7080 Tue Jan 23 17:26:16 2007 http://www.host-7081.com/ Title: 7081 Tue Jan 23 17:26:26 2007 http://host-7082.com/ Title: 7082 Tue Jan 23 17:26:34 2007 http://www.host-7083.com/ Title: 7083 Tue Jan 23 17:27:04 2007 http://host-7084.com/ Title: 7084 Tue Jan 23 17:27:05 2007 http://host-7085.com/ Title: 7085 Tue Jan 23 17:27:21 2007 http://host-7086.com/ Title: 7086 Tue Jan 23 17:27:32 2007 http://host-7087.com/ Title: 7087 Tue Jan 23 17:27:43 2007 http://www.host-7088.com/ Title: 7088 Tue Jan 23 17:28:32 2007 http://www.host-7089.com/ Title: 7089 Tue Jan 23 17:28:56 2007 http://www.host-7090.com/ Title: 7090 Tue Jan 23 17:29:42 2007 http://www.host-7091.com/ Title: 7091 Tue Jan 23 17:31:00 2007 http://host-7092.com/ Title: 7092 Wed Jan 24 09:52:25 2007 http://www.host-7093.com/ Title: 7093 Wed Jan 24 09:55:41 2007 http://host-7094.com/ Title: 7094 Wed Jan 24 09:56:20 2007 http://www.host-7095.com/ Title: 7095 Wed Jan 24 09:56:23 2007 http://www.host-7096.com/ Title: 7096 Wed Jan 24 09:56:29 2007 http://www.host-7097.com/ Title: 7097 Wed Jan 24 09:56:30 2007 http://www.host-7098.com/ Title: 7098 Wed Jan 24 10:16:24 2007 http://www.host-7099.com/ Title: 7099 Wed Jan 24 10:43:50 2007 http://www.host-7100.com/ Title: 7100 Wed Jan 24 10:44:07 2007 http://host-7101.com/ Title: 7101 Wed Jan 24 10:44:31 2007 http://host-7102.com/ Title: 7102 Wed Jan 24 12:17:45 2007 http://host-7103.com/ Title: 7103 Wed Jan 24 12:23:19 2007 http://www.host-7104.com/ Title: 7104 Wed Jan 24 12:24:01 2007 http://host-7105.com/ Title: 7105 Wed Jan 24 12:24:16 2007 http://host-7106.com/ Title: 7106 Wed Jan 24 12:25:03 2007 http://www.host-7107.com/ Title: 7107 Wed Jan 24 12:25:06 2007 http://www.host-7108.com/ Title: 7108 Wed Jan 24 12:25:06 2007 http://host-7109.com/ Title: 7109 Wed Jan 24 12:25:12 2007 http://host-7110.com/ Title: 7110 Wed Jan 24 12:45:25 2007 http://host-7111.com/ Title: 7111 Wed Jan 24 13:08:17 2007 http://host-7112.com/ Title: 7112 Wed Jan 24 13:08:33 2007 http://host-7113.com/ Title: 7113 Wed Jan 24 13:12:11 2007 http://host-7114.com/ Title: 7114 Wed Jan 24 13:16:24 2007 http://www.host-7115.com/ Title: 7115 Wed Jan 24 13:34:00 2007 http://host-7116.com/ Title: 7116 Wed Jan 24 13:43:20 2007 http://host-7117.com/ Title: 7117 Wed Jan 24 14:08:29 2007 http://host-7118.com/ Title: 7118 Wed Jan 24 14:27:49 2007 http://www.host-7119.com/ Title: 7119 Wed Jan 24 14:40:18 2007 http://host-7120.com/ Title: 7120 Wed Jan 24 14:41:08 2007 http://www.host-7121.com/ Title: 7121 Wed Jan 24 14:55:25 2007 http://host-7122.com/ Title: 7122 Wed Jan 24 15:04:29 2007 http://host-7123.com/ Title: 7123 Wed Jan 24 15:10:08 2007 http://www.host-7124.com/ Title: 7124 Wed Jan 24 15:10:10 2007 http://www.host-7125.com/ Title: 7125 Wed Jan 24 16:08:42 2007 http://host-7126.com/ Title: 7126 Wed Jan 24 16:25:09 2007 http://host-7127.com/ Title: 7127 Wed Jan 24 17:12:40 2007 http://www.host-7128.com/ Title: 7128 Wed Jan 24 17:14:16 2007 http://host-7129.com/ Title: 7129 Wed Jan 24 17:14:22 2007 http://www.host-7130.com/ Title: 7130 Thu Jan 25 10:27:01 2007 http://host-7131.com/ Title: 7131 Thu Jan 25 11:03:26 2007 http://www.host-7132.com/ Title: 7132 Thu Jan 25 11:03:38 2007 http://www.host-7133.com/ Title: 7133 Thu Jan 25 11:03:50 2007 http://www.host-7134.com/ Title: 7134 Thu Jan 25 11:04:55 2007 http://www.host-7135.com/ Title: 7135 Thu Jan 25 11:04:58 2007 http://www.host-7136.com/ Title: 7136 Thu Jan 25 12:26:04 2007 http://host-7137.com/ Title: 7137 Thu Jan 25 12:28:57 2007 http://www.host-7138.com/ Title: 7138 Thu Jan 25 12:29:29 2007 http://www.host-7139.com/ Title: 7139 Thu Jan 25 12:29:35 2007 http://host-7140.com/ Title: 7140 Thu Jan 25 12:29:50 2007 http://host-7141.com/ Title: 7141 Thu Jan 25 12:29:54 2007 http://www.host-7142.com/ Title: 7142 Thu Jan 25 12:44:38 2007 http://host-7143.com/ Title: 7143 Thu Jan 25 12:44:42 2007 http://www.host-7144.com/ Title: 7144 Thu Jan 25 12:44:52 2007 http://www.host-7145.com/ Title: 7145 Thu Jan 25 12:45:00 2007 http://www.host-7146.com/ Title: 7146 Thu Jan 25 12:45:05 2007 http://www.host-7147.com/ Title: 7147 Thu Jan 25 12:45:14 2007 http://www.host-7148.com/ Title: 7148 Thu Jan 25 12:45:23 2007 http://www.host-7149.com/ Title: 7149 Thu Jan 25 12:45:36 2007 http://www.host-7150.com/ Title: 7150 Thu Jan 25 12:45:40 2007 http://host-7151.com/ Title: 7151 Thu Jan 25 12:45:44 2007 http://host-7152.com/ Title: 7152 Thu Jan 25 12:45:52 2007 http://www.host-7153.com/ Title: 7153 Thu Jan 25 12:45:57 2007 http://www.host-7154.com/ Title: 7154 Thu Jan 25 12:46:03 2007 http://www.host-7155.com/ Title: 7155 Thu Jan 25 12:46:12 2007 http://www.host-7156.com/ Title: 7156 Thu Jan 25 12:46:18 2007 http://host-7157.com/ Title: 7157 Thu Jan 25 12:47:49 2007 http://www.host-7158.com/ Title: 7158 Thu Jan 25 12:47:51 2007 http://host-7159.com/ Title: 7159 Thu Jan 25 12:47:52 2007 http://host-7160.com/ Title: 7160 Thu Jan 25 12:51:37 2007 http://host-7161.com/ Title: 7161 Thu Jan 25 12:53:41 2007 http://www.host-7162.com/ Title: 7162 Thu Jan 25 12:53:42 2007 http://www.host-7163.com/ Title: 7163 Thu Jan 25 12:56:12 2007 http://www.host-7164.com/ Title: 7164 Thu Jan 25 13:21:14 2007 http://www.host-7165.com/ Title: 7165 Thu Jan 25 13:21:42 2007 http://host-7166.com/ Title: 7166 Thu Jan 25 13:21:47 2007 http://host-7167.com/ Title: 7167 Thu Jan 25 13:21:50 2007 http://www.host-7168.com/ Title: 7168 Thu Jan 25 13:21:55 2007 http://www.host-7169.com/ Title: 7169 Thu Jan 25 13:21:55 2007 http://www.host-7170.com/ Title: 7170 Thu Jan 25 13:24:18 2007 http://www.host-7171.com/ Title: 7171 Thu Jan 25 13:24:22 2007 http://host-7172.com/ Title: 7172 Thu Jan 25 13:24:28 2007 http://host-7173.com/ Title: 7173 Thu Jan 25 13:24:29 2007 http://www.host-7174.com/ Title: 7174 Thu Jan 25 13:28:36 2007 http://host-7175.com/ Title: 7175 Thu Jan 25 13:29:57 2007 http://www.host-7176.com/ Title: 7176 Thu Jan 25 13:30:10 2007 http://www.host-7177.com/ Title: 7177 Thu Jan 25 13:30:10 2007 http://www.host-7178.com/ Title: 7178 Thu Jan 25 13:30:18 2007 http://host-7179.com/ Title: 7179 Thu Jan 25 14:07:44 2007 http://host-7180.com/ Title: 7180 Thu Jan 25 14:08:12 2007 http://www.host-7181.com/ Title: 7181 Thu Jan 25 14:26:10 2007 http://www.host-7182.com/ Title: 7182 Thu Jan 25 14:26:32 2007 http://host-7183.com/ Title: 7183 Thu Jan 25 14:27:46 2007 http://www.host-7184.com/ Title: 7184 Fri Jan 26 11:25:52 2007 http://host-7185.com/ Title: 7185 Fri Jan 26 11:26:02 2007 http://host-7186.com/ Title: 7186 Fri Jan 26 14:08:59 2007 http://www.host-7187.com/ Title: 7187 Fri Jan 26 14:12:28 2007 http://host-7188.com/ Title: 7188 Fri Jan 26 14:13:20 2007 http://www.host-7189.com/ Title: 7189 Fri Jan 26 14:13:25 2007 http://host-7190.com/ Title: 7190 Fri Jan 26 14:13:54 2007 http://www.host-7191.com/ Title: 7191 Fri Jan 26 14:13:55 2007 http://www.host-7192.com/ Title: 7192 Fri Jan 26 14:56:27 2007 http://host-7193.com/ Title: 7193 Fri Jan 26 15:00:50 2007 http://host-7194.com/ Title: 7194 Fri Jan 26 15:32:49 2007 http://host-7195.com/ Title: 7195 Fri Jan 26 15:33:07 2007 http://host-7196.com/ Title: 7196 Fri Jan 26 16:10:17 2007 http://www.host-7197.com/ Title: 7197 Fri Jan 26 16:10:26 2007 http://www.host-7198.com/ Title: 7198 Mon Jan 29 10:02:26 2007 http://host-7199.com/ Title: 7199 Mon Jan 29 10:02:32 2007 http://host-7200.com/ Title: 7200 Mon Jan 29 10:02:44 2007 http://www.host-7201.com/ Title: 7201 Mon Jan 29 10:02:49 2007 http://www.host-7202.com/ Title: 7202 Mon Jan 29 10:03:34 2007 http://www.host-7203.com/ Title: 7203 Mon Jan 29 10:03:59 2007 http://host-7204.com/ Title: 7204 Mon Jan 29 10:04:16 2007 http://www.host-7205.com/ Title: 7205 Mon Jan 29 10:12:35 2007 http://www.host-7206.com/ Title: 7206 Mon Jan 29 10:19:24 2007 http://host-7207.com/ Title: 7207 Mon Jan 29 10:19:27 2007 http://host-7208.com/ Title: 7208 Mon Jan 29 10:19:58 2007 http://www.host-7209.com/ Title: 7209 Mon Jan 29 10:20:00 2007 http://www.host-7210.com/ Title: 7210 Mon Jan 29 10:31:31 2007 http://host-7211.com/ Title: 7211 Mon Jan 29 10:36:09 2007 http://www.host-7212.com/ Title: 7212 Mon Jan 29 10:36:23 2007 http://host-7213.com/ Title: 7213 Mon Jan 29 10:36:25 2007 http://www.host-7214.com/ Title: 7214 Mon Jan 29 10:36:42 2007 http://host-7215.com/ Title: 7215 Mon Jan 29 10:36:44 2007 http://host-7216.com/ Title: 7216 Mon Jan 29 10:36:45 2007 http://www.host-7217.com/ Title: 7217 Mon Jan 29 10:41:14 2007 http://host-7218.com/ Title: 7218 Mon Jan 29 10:44:46 2007 http://www.host-7219.com/ Title: 7219 Mon Jan 29 10:44:46 2007 http://www.host-7220.com/ Title: 7220 Mon Jan 29 10:44:48 2007 http://host-7221.com/ Title: 7221 Mon Jan 29 10:52:52 2007 http://www.host-7222.com/ Title: 7222 Mon Jan 29 10:53:50 2007 http://www.host-7223.com/ Title: 7223 Mon Jan 29 10:55:00 2007 http://host-7224.com/ Title: 7224 Mon Jan 29 10:55:02 2007 http://www.host-7225.com/ Title: 7225 Mon Jan 29 10:55:31 2007 http://www.host-7226.com/ Title: 7226 Mon Jan 29 10:56:03 2007 http://host-7227.com/ Title: 7227 Mon Jan 29 10:56:04 2007 http://host-7228.com/ Title: 7228 Mon Jan 29 10:56:17 2007 http://www.host-7229.com/ Title: 7229 Mon Jan 29 10:57:14 2007 http://www.host-7230.com/ Title: 7230 Mon Jan 29 10:58:35 2007 http://host-7231.com/ Title: 7231 Mon Jan 29 11:01:28 2007 http://host-7232.com/ Title: 7232 Mon Jan 29 11:01:30 2007 http://host-7233.com/ Title: 7233 Mon Jan 29 11:01:32 2007 http://host-7234.com/ Title: 7234 Mon Jan 29 11:01:37 2007 http://www.host-7235.com/ Title: 7235 Mon Jan 29 11:01:41 2007 http://host-7236.com/ Title: 7236 Mon Jan 29 11:06:22 2007 http://www.host-7237.com/ Title: 7237 Mon Jan 29 11:06:26 2007 http://host-7238.com/ Title: 7238 Mon Jan 29 11:06:26 2007 http://www.host-7239.com/ Title: 7239 Mon Jan 29 11:06:44 2007 http://host-7240.com/ Title: 7240 Mon Jan 29 11:06:55 2007 http://www.host-7241.com/ Title: 7241 Mon Jan 29 11:06:59 2007 http://host-7242.com/ Title: 7242 Mon Jan 29 11:07:14 2007 http://www.host-7243.com/ Title: 7243 Mon Jan 29 11:07:16 2007 http://www.host-7244.com/ Title: 7244 Mon Jan 29 11:07:18 2007 http://www.host-7245.com/ Title: 7245 Mon Jan 29 11:07:24 2007 http://host-7246.com/ Title: 7246 Mon Jan 29 11:07:25 2007 http://www.host-7247.com/ Title: 7247 Mon Jan 29 11:07:31 2007 http://www.host-7248.com/ Title: 7248 Mon Jan 29 11:07:46 2007 http://www.host-7249.com/ Title: 7249 Mon Jan 29 11:23:15 2007 http://www.host-7250.com/ Title: 7250 Mon Jan 29 12:08:04 2007 http://www.host-7251.com/ Title: 7251 Mon Jan 29 12:08:05 2007 http://www.host-7252.com/ Title: 7252 Mon Jan 29 12:08:09 2007 http://host-7253.com/ Title: 7253 Mon Jan 29 12:52:25 2007 http://host-7254.com/ Title: 7254 Mon Jan 29 12:52:34 2007 http://www.host-7255.com/ Title: 7255 Mon Jan 29 12:53:02 2007 http://host-7256.com/ Title: 7256 Mon Jan 29 12:54:09 2007 http://host-7257.com/ Title: 7257 Mon Jan 29 13:17:38 2007 http://www.host-7258.com/ Title: 7258 Mon Jan 29 13:17:50 2007 http://host-7259.com/ Title: 7259 Mon Jan 29 13:17:56 2007 http://host-7260.com/ Title: 7260 Mon Jan 29 13:18:07 2007 http://www.host-7261.com/ Title: 7261 Mon Jan 29 13:18:15 2007 http://host-7262.com/ Title: 7262 Mon Jan 29 13:18:58 2007 http://www.host-7263.com/ Title: 7263 Mon Jan 29 13:19:03 2007 http://host-7264.com/ Title: 7264 Mon Jan 29 13:50:50 2007 http://host-7265.com/ Title: 7265 Mon Jan 29 13:58:36 2007 http://host-7266.com/ Title: 7266 Mon Jan 29 13:58:41 2007 http://host-7267.com/ Title: 7267 Mon Jan 29 13:59:12 2007 http://host-7268.com/ Title: 7268 Mon Jan 29 13:59:24 2007 http://www.host-7269.com/ Title: 7269 Mon Jan 29 13:59:34 2007 http://host-7270.com/ Title: 7270 Mon Jan 29 14:00:10 2007 http://host-7271.com/ Title: 7271 Mon Jan 29 14:00:55 2007 http://host-7272.com/ Title: 7272 Mon Jan 29 14:03:35 2007 http://www.host-7273.com/ Title: 7273 Mon Jan 29 14:03:44 2007 http://host-7274.com/ Title: 7274 Mon Jan 29 14:10:12 2007 http://www.host-7275.com/ Title: 7275 Mon Jan 29 14:19:44 2007 http://host-7276.com/ Title: 7276 Mon Jan 29 14:19:54 2007 http://www.host-7277.com/ Title: 7277 Mon Jan 29 14:20:08 2007 http://www.host-7278.com/ Title: 7278 Mon Jan 29 14:20:13 2007 http://www.host-7279.com/ Title: 7279 Mon Jan 29 14:20:57 2007 http://host-7280.com/ Title: 7280 Mon Jan 29 14:23:57 2007 http://www.host-7281.com/ Title: 7281 Mon Jan 29 14:24:01 2007 http://www.host-7282.com/ Title: 7282 Mon Jan 29 14:24:03 2007 http://host-7283.com/ Title: 7283 Mon Jan 29 14:24:03 2007 http://host-7284.com/ Title: 7284 Mon Jan 29 14:24:11 2007 http://www.host-7285.com/ Title: 7285 Mon Jan 29 14:24:22 2007 http://www.host-7286.com/ Title: 7286 Mon Jan 29 14:24:51 2007 http://host-7287.com/ Title: 7287 Mon Jan 29 14:24:56 2007 http://host-7288.com/ Title: 7288 Mon Jan 29 14:25:20 2007 http://host-7289.com/ Title: 7289 Mon Jan 29 14:25:35 2007 http://www.host-7290.com/ Title: 7290 Mon Jan 29 14:25:46 2007 http://host-7291.com/ Title: 7291 Mon Jan 29 14:33:29 2007 http://www.host-7292.com/ Title: 7292 Mon Jan 29 14:33:35 2007 http://host-7293.com/ Title: 7293 Mon Jan 29 14:34:08 2007 http://host-7294.com/ Title: 7294 Mon Jan 29 14:34:16 2007 http://www.host-7295.com/ Title: 7295 Mon Jan 29 14:34:18 2007 http://www.host-7296.com/ Title: 7296 Mon Jan 29 14:34:23 2007 http://host-7297.com/ Title: 7297 Mon Jan 29 14:34:29 2007 http://www.host-7298.com/ Title: 7298 Mon Jan 29 15:06:26 2007 http://host-7299.com/ Title: 7299 Mon Jan 29 16:58:35 2007 http://www.host-7300.com/ Title: 7300 Mon Jan 29 16:58:39 2007 http://www.host-7301.com/ Title: 7301 Mon Jan 29 16:58:52 2007 http://www.host-7302.com/ Title: 7302 Mon Jan 29 16:59:36 2007 http://www.host-7303.com/ Title: 7303 Mon Jan 29 16:59:47 2007 http://www.host-7304.com/ Title: 7304 Mon Jan 29 16:59:48 2007 http://www.host-7305.com/ Title: 7305 Mon Jan 29 16:59:52 2007 http://www.host-7306.com/ Title: 7306 Mon Jan 29 17:12:02 2007 http://www.host-7307.com/ Title: 7307 Tue Jan 30 10:03:15 2007 http://www.host-7308.com/ Title: 7308 Tue Jan 30 10:25:42 2007 http://host-7309.com/ Title: 7309 Tue Jan 30 10:25:49 2007 http://www.host-7310.com/ Title: 7310 Tue Jan 30 10:25:52 2007 http://www.host-7311.com/ Title: 7311 Tue Jan 30 10:25:54 2007 http://host-7312.com/ Title: 7312 Tue Jan 30 10:25:56 2007 http://host-7313.com/ Title: 7313 Tue Jan 30 10:25:59 2007 http://host-7314.com/ Title: 7314 Tue Jan 30 10:26:01 2007 http://www.host-7315.com/ Title: 7315 Tue Jan 30 10:26:07 2007 http://www.host-7316.com/ Title: 7316 Tue Jan 30 10:26:10 2007 http://host-7317.com/ Title: 7317 Tue Jan 30 10:26:12 2007 http://www.host-7318.com/ Title: 7318 Tue Jan 30 10:26:15 2007 http://host-7319.com/ Title: 7319 Tue Jan 30 10:26:54 2007 http://www.host-7320.com/ Title: 7320 Tue Jan 30 10:32:03 2007 http://host-7321.com/ Title: 7321 Tue Jan 30 11:13:36 2007 http://host-7322.com/ Title: 7322 Tue Jan 30 11:17:11 2007 http://www.host-7323.com/ Title: 7323 Tue Jan 30 11:22:26 2007 http://www.host-7324.com/ Title: 7324 Tue Jan 30 12:50:09 2007 http://host-7325.com/ Title: 7325 Tue Jan 30 12:50:14 2007 http://host-7326.com/ Title: 7326 Tue Jan 30 12:50:16 2007 http://www.host-7327.com/ Title: 7327 Tue Jan 30 12:50:46 2007 http://www.host-7328.com/ Title: 7328 Tue Jan 30 12:51:03 2007 http://host-7329.com/ Title: 7329 Tue Jan 30 12:51:07 2007 http://host-7330.com/ Title: 7330 Tue Jan 30 12:51:08 2007 http://host-7331.com/ Title: 7331 Tue Jan 30 12:51:23 2007 http://host-7332.com/ Title: 7332 Tue Jan 30 12:51:24 2007 http://www.host-7333.com/ Title: 7333 Tue Jan 30 12:51:28 2007 http://www.host-7334.com/ Title: 7334 Tue Jan 30 12:51:29 2007 http://host-7335.com/ Title: 7335 Tue Jan 30 12:51:30 2007 http://host-7336.com/ Title: 7336 Tue Jan 30 12:51:32 2007 http://www.host-7337.com/ Title: 7337 Tue Jan 30 12:51:37 2007 http://host-7338.com/ Title: 7338 Tue Jan 30 12:51:37 2007 http://host-7339.com/ Title: 7339 Tue Jan 30 12:51:38 2007 http://host-7340.com/ Title: 7340 Tue Jan 30 12:51:40 2007 http://host-7341.com/ Title: 7341 Tue Jan 30 12:51:41 2007 http://host-7342.com/ Title: 7342 Tue Jan 30 13:21:01 2007 http://host-7343.com/ Title: 7343 Tue Jan 30 13:21:02 2007 http://host-7344.com/ Title: 7344 Tue Jan 30 14:27:54 2007 http://host-7345.com/ Title: 7345 Tue Jan 30 14:27:59 2007 http://www.host-7346.com/ Title: 7346 Tue Jan 30 14:28:23 2007 http://host-7347.com/ Title: 7347 Tue Jan 30 14:28:27 2007 http://www.host-7348.com/ Title: 7348 Tue Jan 30 14:38:01 2007 http://www.host-7349.com/ Title: 7349 Tue Jan 30 15:36:25 2007 http://host-7350.com/ Title: 7350 Tue Jan 30 15:38:15 2007 http://www.host-7351.com/ Title: 7351 Tue Jan 30 15:38:24 2007 http://host-7352.com/ Title: 7352 Tue Jan 30 15:38:33 2007 http://host-7353.com/ Title: 7353 Tue Jan 30 15:38:34 2007 http://host-7354.com/ Title: 7354 Tue Jan 30 15:38:37 2007 http://host-7355.com/ Title: 7355 Tue Jan 30 15:41:11 2007 http://www.host-7356.com/ Title: 7356 Tue Jan 30 15:46:17 2007 http://host-7357.com/ Title: 7357 Tue Jan 30 15:46:23 2007 http://host-7358.com/ Title: 7358 Tue Jan 30 15:46:35 2007 http://www.host-7359.com/ Title: 7359 Tue Jan 30 15:46:59 2007 http://www.host-7360.com/ Title: 7360 Tue Jan 30 15:48:04 2007 http://host-7361.com/ Title: 7361 Tue Jan 30 15:48:09 2007 http://www.host-7362.com/ Title: 7362 Tue Jan 30 15:48:14 2007 http://host-7363.com/ Title: 7363 Tue Jan 30 15:48:15 2007 http://host-7364.com/ Title: 7364 Tue Jan 30 15:51:14 2007 http://www.host-7365.com/ Title: 7365 Tue Jan 30 15:51:14 2007 http://host-7366.com/ Title: 7366 Tue Jan 30 15:51:19 2007 http://www.host-7367.com/ Title: 7367 Tue Jan 30 15:51:19 2007 http://host-7368.com/ Title: 7368 Tue Jan 30 15:52:30 2007 http://www.host-7369.com/ Title: 7369 Tue Jan 30 15:52:42 2007 http://www.host-7370.com/ Title: 7370 Tue Jan 30 15:53:18 2007 http://www.host-7371.com/ Title: 7371 Tue Jan 30 16:37:03 2007 http://host-7372.com/ Title: 7372 Tue Jan 30 16:39:20 2007 http://www.host-7373.com/ Title: 7373 Tue Jan 30 16:39:20 2007 http://host-7374.com/ Title: 7374 Tue Jan 30 16:57:56 2007 http://www.host-7375.com/ Title: 7375 Tue Jan 30 16:57:58 2007 http://host-7376.com/ Title: 7376 Tue Jan 30 16:58:01 2007 http://host-7377.com/ Title: 7377 Tue Jan 30 16:58:02 2007 http://host-7378.com/ Title: 7378 Tue Jan 30 16:58:02 2007 http://host-7379.com/ Title: 7379 Tue Jan 30 17:00:27 2007 http://www.host-7380.com/ Title: 7380 Tue Jan 30 17:04:52 2007 http://host-7381.com/ Title: 7381 Tue Jan 30 17:06:06 2007 http://host-7382.com/ Title: 7382 Tue Jan 30 17:06:08 2007 http://host-7383.com/ Title: 7383 Tue Jan 30 17:06:13 2007 http://www.host-7384.com/ Title: 7384 Tue Jan 30 17:06:13 2007 http://www.host-7385.com/ Title: 7385 Tue Jan 30 17:06:13 2007 http://www.host-7386.com/ Title: 7386 Tue Jan 30 17:06:18 2007 http://host-7387.com/ Title: 7387 Tue Jan 30 17:10:49 2007 http://host-7388.com/ Title: 7388 Tue Jan 30 17:11:06 2007 http://host-7389.com/ Title: 7389 Tue Jan 30 17:11:15 2007 http://host-7390.com/ Title: 7390 Tue Jan 30 17:11:15 2007 http://host-7391.com/ Title: 7391 Tue Jan 30 17:11:23 2007 http://www.host-7392.com/ Title: 7392 Tue Jan 30 17:11:25 2007 http://host-7393.com/ Title: 7393 Tue Jan 30 17:11:59 2007 http://host-7394.com/ Title: 7394 Tue Jan 30 18:35:40 2007 http://host-7395.com/ Title: 7395 Tue Jan 30 18:37:40 2007 http://www.host-7396.com/ Title: 7396 Wed Jan 31 11:24:46 2007 http://www.host-7397.com/ Title: 7397 Wed Jan 31 11:39:47 2007 http://www.host-7398.com/ Title: 7398 Wed Jan 31 11:45:02 2007 http://www.host-7399.com/ Title: 7399 Wed Jan 31 11:53:11 2007 http://www.host-7400.com/ Title: 7400 Wed Jan 31 11:53:16 2007 http://www.host-7401.com/ Title: 7401 Wed Jan 31 11:53:26 2007 http://www.host-7402.com/ Title: 7402 Wed Jan 31 11:55:01 2007 http://www.host-7403.com/ Title: 7403 Wed Jan 31 12:53:56 2007 http://host-7404.com/ Title: 7404 Wed Jan 31 12:54:05 2007 http://host-7405.com/ Title: 7405 Wed Jan 31 13:02:18 2007 http://www.host-7406.com/ Title: 7406 Wed Jan 31 13:02:26 2007 http://www.host-7407.com/ Title: 7407 Wed Jan 31 13:10:01 2007 http://host-7408.com/ Title: 7408 Wed Jan 31 13:12:54 2007 http://www.host-7409.com/ Title: 7409 Wed Jan 31 13:51:26 2007 http://host-7410.com/ Title: 7410 Wed Jan 31 13:51:35 2007 http://host-7411.com/ Title: 7411 Wed Jan 31 13:51:40 2007 http://www.host-7412.com/ Title: 7412 Wed Jan 31 13:51:45 2007 http://host-7413.com/ Title: 7413 Wed Jan 31 13:51:50 2007 http://host-7414.com/ Title: 7414 Wed Jan 31 13:51:54 2007 http://www.host-7415.com/ Title: 7415 Wed Jan 31 13:51:57 2007 http://host-7416.com/ Title: 7416 Wed Jan 31 13:52:05 2007 http://www.host-7417.com/ Title: 7417 Wed Jan 31 13:52:07 2007 http://www.host-7418.com/ Title: 7418 Wed Jan 31 13:52:13 2007 http://host-7419.com/ Title: 7419 Wed Jan 31 14:01:26 2007 http://host-7420.com/ Title: 7420 Wed Jan 31 14:05:17 2007 http://host-7421.com/ Title: 7421 Wed Jan 31 14:13:13 2007 http://host-7422.com/ Title: 7422 Wed Jan 31 14:13:19 2007 http://host-7423.com/ Title: 7423 Wed Jan 31 14:13:20 2007 http://www.host-7424.com/ Title: 7424 Wed Jan 31 14:13:33 2007 http://www.host-7425.com/ Title: 7425 Wed Jan 31 14:14:26 2007 http://host-7426.com/ Title: 7426 Wed Jan 31 14:14:28 2007 http://host-7427.com/ Title: 7427 Wed Jan 31 14:14:38 2007 http://www.host-7428.com/ Title: 7428 Wed Jan 31 14:16:18 2007 http://www.host-7429.com/ Title: 7429 Wed Jan 31 14:19:31 2007 http://www.host-7430.com/ Title: 7430 Wed Jan 31 14:20:48 2007 http://host-7431.com/ Title: 7431 Wed Jan 31 14:22:49 2007 http://www.host-7432.com/ Title: 7432 Wed Jan 31 14:22:52 2007 http://host-7433.com/ Title: 7433 Wed Jan 31 14:22:56 2007 http://host-7434.com/ Title: 7434 Wed Jan 31 14:23:13 2007 http://host-7435.com/ Title: 7435 Wed Jan 31 14:46:59 2007 http://host-7436.com/ Title: 7436 Wed Jan 31 14:47:01 2007 http://host-7437.com/ Title: 7437 Wed Jan 31 14:47:09 2007 http://host-7438.com/ Title: 7438 Wed Jan 31 14:47:15 2007 http://host-7439.com/ Title: 7439 Wed Jan 31 14:47:25 2007 http://host-7440.com/ Title: 7440 Wed Jan 31 14:47:32 2007 http://host-7441.com/ Title: 7441 Wed Jan 31 15:30:35 2007 http://www.host-7442.com/ Title: 7442 Wed Jan 31 15:32:50 2007 http://host-7443.com/ Title: 7443 Wed Jan 31 15:32:54 2007 http://host-7444.com/ Title: 7444 Wed Jan 31 15:37:52 2007 http://host-7445.com/ Title: 7445 Wed Jan 31 15:48:38 2007 http://www.host-7446.com/ Title: 7446 Wed Jan 31 15:49:14 2007 http://host-7447.com/ Title: 7447 Wed Jan 31 15:57:41 2007 http://www.host-7448.com/ Title: 7448 Wed Jan 31 15:59:01 2007 http://host-7449.com/ Title: 7449 Wed Jan 31 16:18:13 2007 http://www.host-7450.com/ Title: 7450 Wed Jan 31 16:18:21 2007 http://host-7451.com/ Title: 7451 Wed Jan 31 16:50:34 2007 http://host-7452.com/ Title: 7452 Wed Jan 31 16:50:34 2007 http://host-7453.com/ Title: 7453 Wed Jan 31 16:50:35 2007 http://host-7454.com/ Title: 7454 Wed Jan 31 16:52:40 2007 http://www.host-7455.com/ Title: 7455 Wed Jan 31 16:52:49 2007 http://www.host-7456.com/ Title: 7456 Wed Jan 31 16:52:53 2007 http://www.host-7457.com/ Title: 7457 Wed Jan 31 16:54:04 2007 http://host-7458.com/ Title: 7458 Wed Jan 31 16:54:05 2007 http://host-7459.com/ Title: 7459 Wed Jan 31 16:54:05 2007 http://www.host-7460.com/ Title: 7460 Wed Jan 31 16:54:55 2007 http://www.host-7461.com/ Title: 7461 Wed Jan 31 16:54:55 2007 http://www.host-7462.com/ Title: 7462 Wed Jan 31 16:54:56 2007 http://host-7463.com/ Title: 7463 Wed Jan 31 16:58:39 2007 http://www.host-7464.com/ Title: 7464 Wed Jan 31 17:05:08 2007 http://host-7465.com/ Title: 7465 Wed Jan 31 17:05:13 2007 http://www.host-7466.com/ Title: 7466 Wed Jan 31 17:13:36 2007 http://host-7467.com/ Title: 7467 Wed Jan 31 17:13:37 2007 http://www.host-7468.com/ Title: 7468 Wed Jan 31 17:18:58 2007 http://www.host-7469.com/ Title: 7469 Wed Jan 31 17:21:24 2007 http://host-7470.com/ Title: 7470 Wed Jan 31 17:21:31 2007 http://www.host-7471.com/ Title: 7471 Wed Jan 31 17:21:36 2007 http://www.host-7472.com/ Title: 7472 Thu Feb 1 11:00:58 2007 http://host-7473.com/ Title: 7473 Thu Feb 1 11:01:03 2007 http://host-7474.com/ Title: 7474 Thu Feb 1 11:01:20 2007 http://host-7475.com/ Title: 7475 Thu Feb 1 11:01:44 2007 http://host-7476.com/ Title: 7476 Thu Feb 1 11:01:51 2007 http://host-7477.com/ Title: 7477 Thu Feb 1 11:01:55 2007 http://www.host-7478.com/ Title: 7478 Thu Feb 1 11:19:40 2007 http://host-7479.com/ Title: 7479 Thu Feb 1 11:19:43 2007 http://host-7480.com/ Title: 7480 Thu Feb 1 11:19:44 2007 http://host-7481.com/ Title: 7481 Thu Feb 1 11:19:48 2007 http://host-7482.com/ Title: 7482 Thu Feb 1 11:19:49 2007 http://www.host-7483.com/ Title: 7483 Thu Feb 1 11:20:52 2007 http://host-7484.com/ Title: 7484 Thu Feb 1 11:20:56 2007 http://host-7485.com/ Title: 7485 Thu Feb 1 11:21:03 2007 http://host-7486.com/ Title: 7486 Thu Feb 1 11:21:26 2007 http://host-7487.com/ Title: 7487 Thu Feb 1 11:21:39 2007 http://host-7488.com/ Title: 7488 Thu Feb 1 11:22:15 2007 http://host-7489.com/ Title: 7489 Thu Feb 1 11:22:55 2007 http://www.host-7490.com/ Title: 7490 Thu Feb 1 11:22:58 2007 http://www.host-7491.com/ Title: 7491 Thu Feb 1 11:23:18 2007 http://host-7492.com/ Title: 7492 Thu Feb 1 11:23:21 2007 http://www.host-7493.com/ Title: 7493 Thu Feb 1 11:23:30 2007 http://www.host-7494.com/ Title: 7494 Thu Feb 1 11:23:51 2007 http://www.host-7495.com/ Title: 7495 Thu Feb 1 11:24:49 2007 http://www.host-7496.com/ Title: 7496 Thu Feb 1 11:24:53 2007 http://www.host-7497.com/ Title: 7497 Thu Feb 1 11:24:54 2007 http://www.host-7498.com/ Title: 7498 Thu Feb 1 11:24:59 2007 http://www.host-7499.com/ Title: 7499 Thu Feb 1 11:27:14 2007 http://host-7500.com/ Title: 7500 Thu Feb 1 11:28:29 2007 http://host-7501.com/ Title: 7501 Thu Feb 1 11:28:35 2007 http://host-7502.com/ Title: 7502 Thu Feb 1 11:28:38 2007 http://host-7503.com/ Title: 7503 Thu Feb 1 11:28:39 2007 http://www.host-7504.com/ Title: 7504 Thu Feb 1 11:28:44 2007 http://host-7505.com/ Title: 7505 Thu Feb 1 11:28:44 2007 http://www.host-7506.com/ Title: 7506 Thu Feb 1 11:28:45 2007 http://host-7507.com/ Title: 7507 Thu Feb 1 11:28:48 2007 http://host-7508.com/ Title: 7508 Thu Feb 1 11:29:00 2007 http://host-7509.com/ Title: 7509 Thu Feb 1 11:29:02 2007 http://host-7510.com/ Title: 7510 Thu Feb 1 11:29:24 2007 http://www.host-7511.com/ Title: 7511 Thu Feb 1 11:29:29 2007 http://www.host-7512.com/ Title: 7512 Thu Feb 1 11:29:33 2007 http://www.host-7513.com/ Title: 7513 Thu Feb 1 11:29:40 2007 http://www.host-7514.com/ Title: 7514 Thu Feb 1 11:30:28 2007 http://host-7515.com/ Title: 7515 Thu Feb 1 12:24:53 2007 http://www.host-7516.com/ Title: 7516 Thu Feb 1 12:34:49 2007 http://host-7517.com/ Title: 7517 Thu Feb 1 12:38:18 2007 http://www.host-7518.com/ Title: 7518 Thu Feb 1 12:39:25 2007 http://host-7519.com/ Title: 7519 Thu Feb 1 12:46:45 2007 http://www.host-7520.com/ Title: 7520 Thu Feb 1 12:54:24 2007 http://host-7521.com/ Title: 7521 Thu Feb 1 12:54:34 2007 http://host-7522.com/ Title: 7522 Thu Feb 1 13:13:23 2007 http://host-7523.com/ Title: 7523 Thu Feb 1 13:14:45 2007 http://host-7524.com/ Title: 7524 Thu Feb 1 13:14:45 2007 http://host-7525.com/ Title: 7525 Thu Feb 1 13:14:54 2007 http://www.host-7526.com/ Title: 7526 Thu Feb 1 13:15:10 2007 http://host-7527.com/ Title: 7527 Thu Feb 1 13:15:47 2007 http://host-7528.com/ Title: 7528 Thu Feb 1 13:17:23 2007 http://www.host-7529.com/ Title: 7529 Thu Feb 1 13:41:37 2007 http://www.host-7530.com/ Title: 7530 Thu Feb 1 13:41:49 2007 http://host-7531.com/ Title: 7531 Thu Feb 1 13:41:49 2007 http://host-7532.com/ Title: 7532 Thu Feb 1 13:41:59 2007 http://www.host-7533.com/ Title: 7533 Thu Feb 1 13:41:59 2007 http://host-7534.com/ Title: 7534 Thu Feb 1 13:42:09 2007 http://host-7535.com/ Title: 7535 Thu Feb 1 13:42:18 2007 http://www.host-7536.com/ Title: 7536 Thu Feb 1 13:42:49 2007 http://www.host-7537.com/ Title: 7537 Thu Feb 1 13:43:03 2007 http://host-7538.com/ Title: 7538 Thu Feb 1 13:53:30 2007 http://host-7539.com/ Title: 7539 Thu Feb 1 13:53:31 2007 http://www.host-7540.com/ Title: 7540 Thu Feb 1 13:53:36 2007 http://www.host-7541.com/ Title: 7541 Thu Feb 1 14:08:33 2007 http://host-7542.com/ Title: 7542 Thu Feb 1 16:40:39 2007 http://www.host-7543.com/ Title: 7543 Thu Feb 1 16:40:59 2007 http://host-7544.com/ Title: 7544 Thu Feb 1 16:41:10 2007 http://www.host-7545.com/ Title: 7545 Thu Feb 1 16:41:30 2007 http://host-7546.com/ Title: 7546 Thu Feb 1 16:41:32 2007 http://www.host-7547.com/ Title: 7547 Thu Feb 1 16:41:46 2007 http://www.host-7548.com/ Title: 7548 Thu Feb 1 16:41:53 2007 http://host-7549.com/ Title: 7549 Thu Feb 1 16:41:56 2007 http://host-7550.com/ Title: 7550 Thu Feb 1 16:41:58 2007 http://host-7551.com/ Title: 7551 Thu Feb 1 16:42:00 2007 http://host-7552.com/ Title: 7552 Thu Feb 1 16:42:09 2007 http://www.host-7553.com/ Title: 7553 Thu Feb 1 16:49:35 2007 http://www.host-7554.com/ Title: 7554 Thu Feb 1 16:49:38 2007 http://host-7555.com/ Title: 7555 Thu Feb 1 16:49:40 2007 http://www.host-7556.com/ Title: 7556 Thu Feb 1 16:49:46 2007 http://www.host-7557.com/ Title: 7557 Thu Feb 1 16:49:47 2007 http://www.host-7558.com/ Title: 7558 Thu Feb 1 16:50:05 2007 http://host-7559.com/ Title: 7559 Thu Feb 1 16:50:07 2007 http://host-7560.com/ Title: 7560 Thu Feb 1 16:50:08 2007 http://host-7561.com/ Title: 7561 Thu Feb 1 18:46:52 2007 http://host-7562.com/ Title: 7562 Thu Feb 1 18:47:00 2007 http://host-7563.com/ Title: 7563 Thu Feb 1 18:47:06 2007 http://host-7564.com/ Title: 7564 Thu Feb 1 18:47:07 2007 http://host-7565.com/ Title: 7565 Fri Feb 2 11:18:28 2007 http://host-7566.com/ Title: 7566 Fri Feb 2 11:18:29 2007 http://host-7567.com/ Title: 7567 Fri Feb 2 11:37:59 2007 http://host-7568.com/ Title: 7568 Fri Feb 2 11:38:30 2007 http://www.host-7569.com/ Title: 7569 Fri Feb 2 11:44:38 2007 http://host-7570.com/ Title: 7570 Fri Feb 2 11:47:40 2007 http://host-7571.com/ Title: 7571 Fri Feb 2 11:49:22 2007 http://host-7572.com/ Title: 7572 Fri Feb 2 11:50:01 2007 http://www.host-7573.com/ Title: 7573 Fri Feb 2 11:50:18 2007 http://www.host-7574.com/ Title: 7574 Fri Feb 2 11:50:19 2007 http://host-7575.com/ Title: 7575 Fri Feb 2 13:04:12 2007 http://www.host-7576.com/ Title: 7576 Fri Feb 2 13:09:42 2007 http://www.host-7577.com/ Title: 7577 Fri Feb 2 13:27:38 2007 http://host-7578.com/ Title: 7578 Fri Feb 2 13:27:48 2007 http://host-7579.com/ Title: 7579 Fri Feb 2 13:27:48 2007 http://host-7580.com/ Title: 7580 Fri Feb 2 13:27:48 2007 http://host-7581.com/ Title: 7581 Fri Feb 2 13:28:03 2007 http://host-7582.com/ Title: 7582 Fri Feb 2 13:28:04 2007 http://www.host-7583.com/ Title: 7583 Fri Feb 2 13:28:08 2007 http://host-7584.com/ Title: 7584 Fri Feb 2 13:28:11 2007 http://host-7585.com/ Title: 7585 Fri Feb 2 13:28:15 2007 http://host-7586.com/ Title: 7586 Fri Feb 2 13:30:48 2007 http://www.host-7587.com/ Title: 7587 Fri Feb 2 13:31:38 2007 http://www.host-7588.com/ Title: 7588 Fri Feb 2 13:37:36 2007 http://host-7589.com/ Title: 7589 Fri Feb 2 13:45:58 2007 http://host-7590.com/ Title: 7590 Fri Feb 2 13:45:59 2007 http://host-7591.com/ Title: 7591 Fri Feb 2 13:46:01 2007 http://www.host-7592.com/ Title: 7592 Fri Feb 2 13:46:14 2007 http://host-7593.com/ Title: 7593 Fri Feb 2 13:46:17 2007 http://host-7594.com/ Title: 7594 Fri Feb 2 13:46:26 2007 http://host-7595.com/ Title: 7595 Fri Feb 2 13:48:15 2007 http://www.host-7596.com/ Title: 7596 Fri Feb 2 13:48:17 2007 http://host-7597.com/ Title: 7597 Fri Feb 2 13:48:50 2007 http://www.host-7598.com/ Title: 7598 Fri Feb 2 13:48:52 2007 http://www.host-7599.com/ Title: 7599 Fri Feb 2 13:49:22 2007 http://host-7600.com/ Title: 7600 Fri Feb 2 13:49:26 2007 http://www.host-7601.com/ Title: 7601 Fri Feb 2 13:49:48 2007 http://host-7602.com/ Title: 7602 Fri Feb 2 13:49:56 2007 http://host-7603.com/ Title: 7603 Fri Feb 2 13:49:59 2007 http://www.host-7604.com/ Title: 7604 Fri Feb 2 13:50:01 2007 http://host-7605.com/ Title: 7605 Fri Feb 2 14:03:46 2007 http://host-7606.com/ Title: 7606 Fri Feb 2 14:08:07 2007 http://www.host-7607.com/ Title: 7607 Fri Feb 2 14:08:13 2007 http://host-7608.com/ Title: 7608 Fri Feb 2 14:08:20 2007 http://host-7609.com/ Title: 7609 Fri Feb 2 14:08:34 2007 http://www.host-7610.com/ Title: 7610 Fri Feb 2 14:08:39 2007 http://www.host-7611.com/ Title: 7611 Fri Feb 2 14:08:42 2007 http://host-7612.com/ Title: 7612 Fri Feb 2 14:08:57 2007 http://www.host-7613.com/ Title: 7613 Fri Feb 2 14:09:06 2007 http://www.host-7614.com/ Title: 7614 Fri Feb 2 14:10:35 2007 http://www.host-7615.com/ Title: 7615 Fri Feb 2 14:17:26 2007 http://www.host-7616.com/ Title: 7616 Fri Feb 2 14:17:28 2007 http://www.host-7617.com/ Title: 7617 Fri Feb 2 14:17:38 2007 http://host-7618.com/ Title: 7618 Fri Feb 2 14:17:42 2007 http://www.host-7619.com/ Title: 7619 Fri Feb 2 14:17:53 2007 http://www.host-7620.com/ Title: 7620 Fri Feb 2 14:29:35 2007 http://www.host-7621.com/ Title: 7621 Fri Feb 2 14:47:49 2007 http://www.host-7622.com/ Title: 7622 Fri Feb 2 14:48:11 2007 http://host-7623.com/ Title: 7623 Fri Feb 2 14:48:23 2007 http://host-7624.com/ Title: 7624 Fri Feb 2 14:48:24 2007 http://host-7625.com/ Title: 7625 Fri Feb 2 14:48:28 2007 http://www.host-7626.com/ Title: 7626 Fri Feb 2 14:48:38 2007 http://www.host-7627.com/ Title: 7627 Fri Feb 2 14:48:41 2007 http://www.host-7628.com/ Title: 7628 Fri Feb 2 14:49:19 2007 http://www.host-7629.com/ Title: 7629 Fri Feb 2 14:49:20 2007 http://www.host-7630.com/ Title: 7630 Fri Feb 2 14:49:35 2007 http://www.host-7631.com/ Title: 7631 Fri Feb 2 14:49:35 2007 http://www.host-7632.com/ Title: 7632 Fri Feb 2 14:49:43 2007 http://www.host-7633.com/ Title: 7633 Fri Feb 2 14:49:49 2007 http://host-7634.com/ Title: 7634 Fri Feb 2 14:50:19 2007 http://host-7635.com/ Title: 7635 Fri Feb 2 14:57:10 2007 http://www.host-7636.com/ Title: 7636 Fri Feb 2 14:57:15 2007 http://www.host-7637.com/ Title: 7637 Fri Feb 2 14:57:39 2007 http://www.host-7638.com/ Title: 7638 Fri Feb 2 16:22:13 2007 http://www.host-7639.com/ Title: 7639 Fri Feb 2 17:03:38 2007 http://www.host-7640.com/ Title: 7640 Mon Feb 5 10:11:21 2007 http://host-7641.com/ Title: 7641 Mon Feb 5 10:48:30 2007 http://host-7642.com/ Title: 7642 Mon Feb 5 10:48:51 2007 http://www.host-7643.com/ Title: 7643 Mon Feb 5 10:48:57 2007 http://www.host-7644.com/ Title: 7644 Mon Feb 5 10:48:58 2007 http://www.host-7645.com/ Title: 7645 Mon Feb 5 10:55:52 2007 http://host-7646.com/ Title: 7646 Mon Feb 5 10:58:36 2007 http://www.host-7647.com/ Title: 7647 Mon Feb 5 10:59:38 2007 http://host-7648.com/ Title: 7648 Mon Feb 5 11:01:01 2007 http://www.host-7649.com/ Title: 7649 Mon Feb 5 11:01:10 2007 http://www.host-7650.com/ Title: 7650 Mon Feb 5 11:01:48 2007 http://host-7651.com/ Title: 7651 Mon Feb 5 11:02:43 2007 http://host-7652.com/ Title: 7652 Mon Feb 5 11:02:45 2007 http://www.host-7653.com/ Title: 7653 Mon Feb 5 11:02:49 2007 http://www.host-7654.com/ Title: 7654 Mon Feb 5 11:02:52 2007 http://host-7655.com/ Title: 7655 Mon Feb 5 11:18:08 2007 http://host-7656.com/ Title: 7656 Mon Feb 5 11:18:54 2007 http://www.host-7657.com/ Title: 7657 Mon Feb 5 11:21:33 2007 http://host-7658.com/ Title: 7658 Mon Feb 5 12:03:28 2007 http://www.host-7659.com/ Title: 7659 Mon Feb 5 12:03:42 2007 http://host-7660.com/ Title: 7660 Mon Feb 5 12:03:43 2007 http://host-7661.com/ Title: 7661 Mon Feb 5 12:07:11 2007 http://host-7662.com/ Title: 7662 Mon Feb 5 12:07:12 2007 http://host-7663.com/ Title: 7663 Mon Feb 5 12:07:22 2007 http://www.host-7664.com/ Title: 7664 Mon Feb 5 12:44:11 2007 http://www.host-7665.com/ Title: 7665 Mon Feb 5 13:00:18 2007 http://www.host-7666.com/ Title: 7666 Mon Feb 5 13:00:44 2007 http://www.host-7667.com/ Title: 7667 Mon Feb 5 13:01:17 2007 http://host-7668.com/ Title: 7668 Mon Feb 5 13:01:19 2007 http://host-7669.com/ Title: 7669 Mon Feb 5 13:01:43 2007 http://www.host-7670.com/ Title: 7670 Mon Feb 5 13:02:39 2007 http://www.host-7671.com/ Title: 7671 Mon Feb 5 13:53:22 2007 http://www.host-7672.com/ Title: 7672 Mon Feb 5 14:55:48 2007 http://www.host-7673.com/ Title: 7673 Mon Feb 5 14:55:49 2007 http://host-7674.com/ Title: 7674 Mon Feb 5 14:59:22 2007 http://www.host-7675.com/ Title: 7675 Mon Feb 5 14:59:34 2007 http://host-7676.com/ Title: 7676 Mon Feb 5 14:59:37 2007 http://www.host-7677.com/ Title: 7677 Mon Feb 5 14:59:37 2007 http://host-7678.com/ Title: 7678 Mon Feb 5 14:59:37 2007 http://host-7679.com/ Title: 7679 Mon Feb 5 14:59:44 2007 http://host-7680.com/ Title: 7680 Mon Feb 5 14:59:46 2007 http://host-7681.com/ Title: 7681 Mon Feb 5 15:00:07 2007 http://host-7682.com/ Title: 7682 Mon Feb 5 15:00:15 2007 http://host-7683.com/ Title: 7683 Mon Feb 5 15:08:42 2007 http://www.host-7684.com/ Title: 7684 Mon Feb 5 16:07:35 2007 http://host-7685.com/ Title: 7685 Mon Feb 5 16:08:15 2007 http://host-7686.com/ Title: 7686 Mon Feb 5 16:08:21 2007 http://www.host-7687.com/ Title: 7687 Mon Feb 5 16:08:29 2007 http://www.host-7688.com/ Title: 7688 Mon Feb 5 16:08:43 2007 http://host-7689.com/ Title: 7689 Mon Feb 5 16:09:44 2007 http://www.host-7690.com/ Title: 7690 Mon Feb 5 16:10:03 2007 http://host-7691.com/ Title: 7691 Mon Feb 5 16:12:46 2007 http://host-7692.com/ Title: 7692 Mon Feb 5 16:13:13 2007 http://host-7693.com/ Title: 7693 Mon Feb 5 16:13:32 2007 http://www.host-7694.com/ Title: 7694 Mon Feb 5 16:17:23 2007 http://www.host-7695.com/ Title: 7695 Mon Feb 5 16:17:28 2007 http://host-7696.com/ Title: 7696 Mon Feb 5 16:17:38 2007 http://www.host-7697.com/ Title: 7697 Mon Feb 5 16:17:55 2007 http://host-7698.com/ Title: 7698 Mon Feb 5 16:18:01 2007 http://www.host-7699.com/ Title: 7699 Mon Feb 5 16:28:36 2007 http://www.host-7700.com/ Title: 7700 Mon Feb 5 16:28:44 2007 http://www.host-7701.com/ Title: 7701 Mon Feb 5 16:28:48 2007 http://www.host-7702.com/ Title: 7702 Mon Feb 5 16:29:26 2007 http://www.host-7703.com/ Title: 7703 Mon Feb 5 16:29:27 2007 http://host-7704.com/ Title: 7704 Mon Feb 5 16:50:51 2007 http://www.host-7705.com/ Title: 7705 Mon Feb 5 16:51:01 2007 http://host-7706.com/ Title: 7706 Mon Feb 5 16:51:02 2007 http://host-7707.com/ Title: 7707 Mon Feb 5 17:01:22 2007 http://host-7708.com/ Title: 7708 Mon Feb 5 17:01:33 2007 http://host-7709.com/ Title: 7709 Mon Feb 5 17:01:34 2007 http://www.host-7710.com/ Title: 7710 Mon Feb 5 17:08:09 2007 http://host-7711.com/ Title: 7711 Mon Feb 5 17:08:18 2007 http://www.host-7712.com/ Title: 7712 Mon Feb 5 17:12:37 2007 http://host-7713.com/ Title: 7713 Mon Feb 5 17:33:56 2007 http://host-7714.com/ Title: 7714 Mon Feb 5 17:34:07 2007 http://host-7715.com/ Title: 7715 Mon Feb 5 18:01:00 2007 http://www.host-7716.com/ Title: 7716 Mon Feb 5 18:01:06 2007 http://host-7717.com/ Title: 7717 Mon Feb 5 18:01:11 2007 http://host-7718.com/ Title: 7718 Mon Feb 5 18:01:28 2007 http://host-7719.com/ Title: 7719 Tue Feb 6 10:11:40 2007 http://www.host-7720.com/ Title: 7720 Tue Feb 6 10:12:37 2007 http://www.host-7721.com/ Title: 7721 Tue Feb 6 10:12:46 2007 http://host-7722.com/ Title: 7722 Tue Feb 6 10:12:50 2007 http://www.host-7723.com/ Title: 7723 Tue Feb 6 10:13:51 2007 http://host-7724.com/ Title: 7724 Tue Feb 6 10:14:03 2007 http://host-7725.com/ Title: 7725 Tue Feb 6 10:34:42 2007 http://www.host-7726.com/ Title: 7726 Tue Feb 6 10:34:52 2007 http://host-7727.com/ Title: 7727 Tue Feb 6 10:34:54 2007 http://host-7728.com/ Title: 7728 Tue Feb 6 10:36:42 2007 http://host-7729.com/ Title: 7729 Tue Feb 6 10:36:44 2007 http://host-7730.com/ Title: 7730 Tue Feb 6 10:36:46 2007 http://www.host-7731.com/ Title: 7731 Tue Feb 6 10:38:58 2007 http://www.host-7732.com/ Title: 7732 Tue Feb 6 10:39:55 2007 http://www.host-7733.com/ Title: 7733 Tue Feb 6 10:39:56 2007 http://www.host-7734.com/ Title: 7734 Tue Feb 6 10:40:53 2007 http://www.host-7735.com/ Title: 7735 Tue Feb 6 10:54:44 2007 http://www.host-7736.com/ Title: 7736 Tue Feb 6 10:54:48 2007 http://www.host-7737.com/ Title: 7737 Tue Feb 6 12:09:24 2007 http://www.host-7738.com/ Title: 7738 Tue Feb 6 12:09:24 2007 http://www.host-7739.com/ Title: 7739 Tue Feb 6 12:09:25 2007 http://host-7740.com/ Title: 7740 Tue Feb 6 12:09:26 2007 http://www.host-7741.com/ Title: 7741 Tue Feb 6 12:12:28 2007 http://host-7742.com/ Title: 7742 Tue Feb 6 12:12:38 2007 http://www.host-7743.com/ Title: 7743 Tue Feb 6 12:13:37 2007 http://www.host-7744.com/ Title: 7744 Tue Feb 6 12:13:46 2007 http://host-7745.com/ Title: 7745 Tue Feb 6 12:17:06 2007 http://host-7746.com/ Title: 7746 Tue Feb 6 12:17:29 2007 http://host-7747.com/ Title: 7747 Tue Feb 6 12:17:29 2007 http://www.host-7748.com/ Title: 7748 Tue Feb 6 12:17:42 2007 http://host-7749.com/ Title: 7749 Tue Feb 6 12:17:43 2007 http://host-7750.com/ Title: 7750 Tue Feb 6 12:17:55 2007 http://host-7751.com/ Title: 7751 Tue Feb 6 12:18:03 2007 http://www.host-7752.com/ Title: 7752 Tue Feb 6 12:18:17 2007 http://www.host-7753.com/ Title: 7753 Tue Feb 6 12:18:19 2007 http://www.host-7754.com/ Title: 7754 Tue Feb 6 12:39:09 2007 http://host-7755.com/ Title: 7755 Tue Feb 6 12:39:58 2007 http://host-7756.com/ Title: 7756 Tue Feb 6 12:40:00 2007 http://www.host-7757.com/ Title: 7757 Tue Feb 6 13:06:00 2007 http://www.host-7758.com/ Title: 7758 Tue Feb 6 13:17:40 2007 http://host-7759.com/ Title: 7759 Tue Feb 6 13:17:41 2007 http://www.host-7760.com/ Title: 7760 Tue Feb 6 13:37:24 2007 http://host-7761.com/ Title: 7761 Tue Feb 6 13:37:35 2007 http://host-7762.com/ Title: 7762 Tue Feb 6 13:37:37 2007 http://www.host-7763.com/ Title: 7763 Tue Feb 6 13:40:28 2007 http://www.host-7764.com/ Title: 7764 Tue Feb 6 13:40:35 2007 http://www.host-7765.com/ Title: 7765 Tue Feb 6 13:40:57 2007 http://www.host-7766.com/ Title: 7766 Tue Feb 6 13:43:21 2007 http://host-7767.com/ Title: 7767 Tue Feb 6 13:43:29 2007 http://www.host-7768.com/ Title: 7768 Tue Feb 6 13:43:32 2007 http://host-7769.com/ Title: 7769 Tue Feb 6 13:44:01 2007 http://host-7770.com/ Title: 7770 Tue Feb 6 13:44:29 2007 http://host-7771.com/ Title: 7771 Tue Feb 6 13:46:38 2007 http://www.host-7772.com/ Title: 7772 Tue Feb 6 13:46:44 2007 http://host-7773.com/ Title: 7773 Tue Feb 6 13:47:15 2007 http://www.host-7774.com/ Title: 7774 Tue Feb 6 14:08:48 2007 http://host-7775.com/ Title: 7775 Tue Feb 6 14:09:01 2007 http://host-7776.com/ Title: 7776 Tue Feb 6 14:09:03 2007 http://host-7777.com/ Title: 7777 Tue Feb 6 14:09:09 2007 http://www.host-7778.com/ Title: 7778 Tue Feb 6 14:32:20 2007 http://host-7779.com/ Title: 7779 Tue Feb 6 14:32:20 2007 http://www.host-7780.com/ Title: 7780 Tue Feb 6 14:33:37 2007 http://host-7781.com/ Title: 7781 Tue Feb 6 14:33:50 2007 http://host-7782.com/ Title: 7782 Tue Feb 6 14:33:53 2007 http://host-7783.com/ Title: 7783 Tue Feb 6 14:33:55 2007 http://www.host-7784.com/ Title: 7784 Tue Feb 6 14:47:43 2007 http://host-7785.com/ Title: 7785 Tue Feb 6 14:47:47 2007 http://www.host-7786.com/ Title: 7786 Tue Feb 6 15:38:39 2007 http://www.host-7787.com/ Title: 7787 Wed Feb 7 12:33:21 2007 http://www.host-7788.com/ Title: 7788 Wed Feb 7 12:33:28 2007 http://host-7789.com/ Title: 7789 Wed Feb 7 12:33:30 2007 http://host-7790.com/ Title: 7790 Wed Feb 7 14:24:25 2007 http://host-7791.com/ Title: 7791 Wed Feb 7 14:24:46 2007 http://www.host-7792.com/ Title: 7792 Wed Feb 7 15:07:43 2007 http://host-7793.com/ Title: 7793 Wed Feb 7 15:07:48 2007 http://host-7794.com/ Title: 7794 Wed Feb 7 15:07:59 2007 http://host-7795.com/ Title: 7795 Wed Feb 7 15:08:02 2007 http://www.host-7796.com/ Title: 7796 Wed Feb 7 15:08:48 2007 http://host-7797.com/ Title: 7797 Wed Feb 7 15:13:06 2007 http://host-7798.com/ Title: 7798 Wed Feb 7 15:13:13 2007 http://www.host-7799.com/ Title: 7799 Wed Feb 7 15:13:16 2007 http://host-7800.com/ Title: 7800 Wed Feb 7 15:13:26 2007 http://www.host-7801.com/ Title: 7801 Wed Feb 7 15:13:35 2007 http://host-7802.com/ Title: 7802 Wed Feb 7 15:13:49 2007 http://www.host-7803.com/ Title: 7803 Wed Feb 7 15:14:15 2007 http://host-7804.com/ Title: 7804 Wed Feb 7 15:16:56 2007 http://host-7805.com/ Title: 7805 Wed Feb 7 15:17:40 2007 http://host-7806.com/ Title: 7806 Wed Feb 7 15:17:55 2007 http://host-7807.com/ Title: 7807 Wed Feb 7 15:18:06 2007 http://www.host-7808.com/ Title: 7808 Wed Feb 7 15:18:16 2007 http://host-7809.com/ Title: 7809 Wed Feb 7 16:14:17 2007 http://www.host-7810.com/ Title: 7810 Wed Feb 7 16:58:47 2007 http://host-7811.com/ Title: 7811 Wed Feb 7 17:08:01 2007 http://host-7812.com/ Title: 7812 Wed Feb 7 17:08:05 2007 http://www.host-7813.com/ Title: 7813 Wed Feb 7 17:08:22 2007 http://host-7814.com/ Title: 7814 Wed Feb 7 17:22:14 2007 http://host-7815.com/ Title: 7815 Wed Feb 7 17:35:32 2007 http://host-7816.com/ Title: 7816 Wed Feb 7 17:35:36 2007 http://host-7817.com/ Title: 7817 Wed Feb 7 17:36:13 2007 http://host-7818.com/ Title: 7818 Wed Feb 7 17:36:32 2007 http://host-7819.com/ Title: 7819 Wed Feb 7 17:36:32 2007 http://www.host-7820.com/ Title: 7820 Wed Feb 7 18:15:19 2007 http://host-7821.com/ Title: 7821 Wed Feb 7 18:15:20 2007 http://www.host-7822.com/ Title: 7822 Wed Feb 7 18:15:23 2007 http://host-7823.com/ Title: 7823 Thu Feb 8 11:13:13 2007 http://host-7824.com/ Title: 7824 Thu Feb 8 11:13:29 2007 http://host-7825.com/ Title: 7825 Thu Feb 8 11:13:33 2007 http://host-7826.com/ Title: 7826 Thu Feb 8 11:13:38 2007 http://www.host-7827.com/ Title: 7827 Thu Feb 8 11:13:45 2007 http://host-7828.com/ Title: 7828 Thu Feb 8 11:13:52 2007 http://host-7829.com/ Title: 7829 Thu Feb 8 12:36:55 2007 http://www.host-7830.com/ Title: 7830 Thu Feb 8 12:38:41 2007 http://host-7831.com/ Title: 7831 Thu Feb 8 12:59:38 2007 http://www.host-7832.com/ Title: 7832 Thu Feb 8 12:59:40 2007 http://www.host-7833.com/ Title: 7833 Thu Feb 8 13:00:12 2007 http://host-7834.com/ Title: 7834 Thu Feb 8 13:00:14 2007 http://www.host-7835.com/ Title: 7835 Thu Feb 8 13:00:14 2007 http://host-7836.com/ Title: 7836 Thu Feb 8 13:00:16 2007 http://host-7837.com/ Title: 7837 Thu Feb 8 13:01:06 2007 http://host-7838.com/ Title: 7838 Thu Feb 8 13:01:19 2007 http://www.host-7839.com/ Title: 7839 Thu Feb 8 13:04:28 2007 http://host-7840.com/ Title: 7840 Thu Feb 8 13:04:28 2007 http://www.host-7841.com/ Title: 7841 Thu Feb 8 13:04:30 2007 http://host-7842.com/ Title: 7842 Thu Feb 8 13:15:42 2007 http://host-7843.com/ Title: 7843 Thu Feb 8 13:15:49 2007 http://www.host-7844.com/ Title: 7844 Thu Feb 8 13:16:08 2007 http://host-7845.com/ Title: 7845 Thu Feb 8 13:16:10 2007 http://www.host-7846.com/ Title: 7846 Thu Feb 8 13:16:20 2007 http://host-7847.com/ Title: 7847 Thu Feb 8 13:16:48 2007 http://host-7848.com/ Title: 7848 Thu Feb 8 13:18:11 2007 http://www.host-7849.com/ Title: 7849 Thu Feb 8 13:20:28 2007 http://host-7850.com/ Title: 7850 Thu Feb 8 13:23:31 2007 http://host-7851.com/ Title: 7851 Thu Feb 8 13:23:35 2007 http://www.host-7852.com/ Title: 7852 Thu Feb 8 13:23:42 2007 http://host-7853.com/ Title: 7853 Thu Feb 8 13:23:42 2007 http://www.host-7854.com/ Title: 7854 Thu Feb 8 13:25:07 2007 http://host-7855.com/ Title: 7855 Thu Feb 8 13:25:13 2007 http://host-7856.com/ Title: 7856 Thu Feb 8 15:03:33 2007 http://host-7857.com/ Title: 7857 Thu Feb 8 15:04:05 2007 http://host-7858.com/ Title: 7858 Thu Feb 8 15:04:15 2007 http://www.host-7859.com/ Title: 7859 Thu Feb 8 15:05:18 2007 http://www.host-7860.com/ Title: 7860 Thu Feb 8 15:05:31 2007 http://www.host-7861.com/ Title: 7861 Thu Feb 8 15:05:35 2007 http://host-7862.com/ Title: 7862 Thu Feb 8 15:05:51 2007 http://host-7863.com/ Title: 7863 Thu Feb 8 15:05:58 2007 http://host-7864.com/ Title: 7864 Thu Feb 8 15:06:03 2007 http://host-7865.com/ Title: 7865 Thu Feb 8 15:08:34 2007 http://host-7866.com/ Title: 7866 Thu Feb 8 15:09:17 2007 http://www.host-7867.com/ Title: 7867 Thu Feb 8 15:09:20 2007 http://www.host-7868.com/ Title: 7868 Thu Feb 8 15:09:30 2007 http://host-7869.com/ Title: 7869 Thu Feb 8 15:16:27 2007 http://www.host-7870.com/ Title: 7870 Thu Feb 8 15:16:33 2007 http://www.host-7871.com/ Title: 7871 Thu Feb 8 15:16:55 2007 http://host-7872.com/ Title: 7872 Thu Feb 8 15:17:14 2007 http://www.host-7873.com/ Title: 7873 Thu Feb 8 15:17:41 2007 http://www.host-7874.com/ Title: 7874 Thu Feb 8 15:17:59 2007 http://host-7875.com/ Title: 7875 Thu Feb 8 15:22:29 2007 http://host-7876.com/ Title: 7876 Thu Feb 8 15:22:31 2007 http://host-7877.com/ Title: 7877 Thu Feb 8 15:22:38 2007 http://host-7878.com/ Title: 7878 Thu Feb 8 15:22:47 2007 http://www.host-7879.com/ Title: 7879 Thu Feb 8 15:22:53 2007 http://www.host-7880.com/ Title: 7880 Thu Feb 8 15:23:00 2007 http://host-7881.com/ Title: 7881 Thu Feb 8 15:23:08 2007 http://host-7882.com/ Title: 7882 Thu Feb 8 15:28:42 2007 http://host-7883.com/ Title: 7883 Thu Feb 8 15:29:13 2007 http://www.host-7884.com/ Title: 7884 Thu Feb 8 15:29:47 2007 http://www.host-7885.com/ Title: 7885 Thu Feb 8 15:30:33 2007 http://www.host-7886.com/ Title: 7886 Thu Feb 8 15:31:17 2007 http://host-7887.com/ Title: 7887 Thu Feb 8 16:02:47 2007 http://www.host-7888.com/ Title: 7888 Thu Feb 8 16:03:05 2007 http://host-7889.com/ Title: 7889 Thu Feb 8 16:03:16 2007 http://host-7890.com/ Title: 7890 Thu Feb 8 16:03:20 2007 http://www.host-7891.com/ Title: 7891 Thu Feb 8 16:03:37 2007 http://host-7892.com/ Title: 7892 Thu Feb 8 16:03:39 2007 http://www.host-7893.com/ Title: 7893 Thu Feb 8 16:49:19 2007 http://host-7894.com/ Title: 7894 Thu Feb 8 16:49:22 2007 http://www.host-7895.com/ Title: 7895 Thu Feb 8 16:49:37 2007 http://host-7896.com/ Title: 7896 Thu Feb 8 16:49:43 2007 http://www.host-7897.com/ Title: 7897 Thu Feb 8 16:49:58 2007 http://www.host-7898.com/ Title: 7898 Thu Feb 8 16:50:01 2007 http://www.host-7899.com/ Title: 7899 Thu Feb 8 16:50:07 2007 http://www.host-7900.com/ Title: 7900 Thu Feb 8 16:51:36 2007 http://www.host-7901.com/ Title: 7901 Thu Feb 8 16:51:44 2007 http://www.host-7902.com/ Title: 7902 Thu Feb 8 16:52:06 2007 http://host-7903.com/ Title: 7903 Thu Feb 8 16:52:34 2007 http://www.host-7904.com/ Title: 7904 Thu Feb 8 16:52:35 2007 http://host-7905.com/ Title: 7905 Thu Feb 8 16:54:03 2007 http://host-7906.com/ Title: 7906 Thu Feb 8 16:57:44 2007 http://www.host-7907.com/ Title: 7907 Thu Feb 8 16:57:49 2007 http://www.host-7908.com/ Title: 7908 Thu Feb 8 16:58:49 2007 http://host-7909.com/ Title: 7909 Thu Feb 8 17:33:58 2007 http://host-7910.com/ Title: 7910 Thu Feb 8 17:34:26 2007 http://www.host-7911.com/ Title: 7911 Thu Feb 8 17:48:26 2007 http://host-7912.com/ Title: 7912 Thu Feb 8 17:48:33 2007 http://host-7913.com/ Title: 7913 Fri Feb 9 10:52:05 2007 http://host-7914.com/ Title: 7914 Fri Feb 9 10:52:11 2007 http://www.host-7915.com/ Title: 7915 Fri Feb 9 10:55:26 2007 http://www.host-7916.com/ Title: 7916 Fri Feb 9 10:58:45 2007 http://www.host-7917.com/ Title: 7917 Fri Feb 9 11:02:59 2007 http://www.host-7918.com/ Title: 7918 Fri Feb 9 11:03:24 2007 http://host-7919.com/ Title: 7919 Fri Feb 9 11:03:26 2007 http://host-7920.com/ Title: 7920 Fri Feb 9 11:03:27 2007 http://host-7921.com/ Title: 7921 Fri Feb 9 11:03:40 2007 http://host-7922.com/ Title: 7922 Fri Feb 9 11:12:18 2007 http://www.host-7923.com/ Title: 7923 Fri Feb 9 11:12:23 2007 http://www.host-7924.com/ Title: 7924 Fri Feb 9 11:12:26 2007 http://www.host-7925.com/ Title: 7925 Fri Feb 9 11:19:13 2007 http://host-7926.com/ Title: 7926 Fri Feb 9 11:19:16 2007 http://host-7927.com/ Title: 7927 Fri Feb 9 11:19:30 2007 http://host-7928.com/ Title: 7928 Fri Feb 9 11:22:43 2007 http://host-7929.com/ Title: 7929 Fri Feb 9 11:22:47 2007 http://host-7930.com/ Title: 7930 Fri Feb 9 11:26:16 2007 http://www.host-7931.com/ Title: 7931 Fri Feb 9 11:26:19 2007 http://www.host-7932.com/ Title: 7932 Fri Feb 9 11:26:19 2007 http://www.host-7933.com/ Title: 7933 Fri Feb 9 11:26:25 2007 http://host-7934.com/ Title: 7934 Fri Feb 9 11:26:28 2007 http://host-7935.com/ Title: 7935 Fri Feb 9 11:26:28 2007 http://host-7936.com/ Title: 7936 Fri Feb 9 11:26:31 2007 http://host-7937.com/ Title: 7937 Fri Feb 9 11:27:25 2007 http://host-7938.com/ Title: 7938 Fri Feb 9 11:27:30 2007 http://www.host-7939.com/ Title: 7939 Fri Feb 9 11:27:32 2007 http://host-7940.com/ Title: 7940 Fri Feb 9 11:59:38 2007 http://host-7941.com/ Title: 7941 Fri Feb 9 11:59:43 2007 http://host-7942.com/ Title: 7942 Fri Feb 9 11:59:45 2007 http://www.host-7943.com/ Title: 7943 Fri Feb 9 11:59:51 2007 http://host-7944.com/ Title: 7944 Fri Feb 9 12:54:30 2007 http://www.host-7945.com/ Title: 7945 Fri Feb 9 12:54:34 2007 http://host-7946.com/ Title: 7946 Fri Feb 9 12:54:44 2007 http://www.host-7947.com/ Title: 7947 Fri Feb 9 12:58:59 2007 http://www.host-7948.com/ Title: 7948 Fri Feb 9 13:17:35 2007 http://www.host-7949.com/ Title: 7949 Fri Feb 9 14:58:14 2007 http://www.host-7950.com/ Title: 7950 Fri Feb 9 14:58:36 2007 http://www.host-7951.com/ Title: 7951 Fri Feb 9 14:58:41 2007 http://www.host-7952.com/ Title: 7952 Fri Feb 9 14:58:42 2007 http://host-7953.com/ Title: 7953 Fri Feb 9 14:58:55 2007 http://host-7954.com/ Title: 7954 Fri Feb 9 14:59:11 2007 http://host-7955.com/ Title: 7955 Fri Feb 9 15:06:07 2007 http://host-7956.com/ Title: 7956 Fri Feb 9 15:06:15 2007 http://host-7957.com/ Title: 7957 Fri Feb 9 15:06:19 2007 http://www.host-7958.com/ Title: 7958 Fri Feb 9 17:32:33 2007 http://www.host-7959.com/ Title: 7959 Fri Feb 9 17:33:18 2007 http://host-7960.com/ Title: 7960 Fri Feb 9 17:35:17 2007 http://www.host-7961.com/ Title: 7961 Fri Feb 9 17:35:25 2007 http://host-7962.com/ Title: 7962 Fri Feb 9 17:35:26 2007 http://host-7963.com/ Title: 7963 Fri Feb 9 17:35:32 2007 http://www.host-7964.com/ Title: 7964 Fri Feb 9 17:35:34 2007 http://www.host-7965.com/ Title: 7965 Fri Feb 9 18:21:56 2007 http://www.host-7966.com/ Title: 7966 Fri Feb 9 18:22:06 2007 http://www.host-7967.com/ Title: 7967 Sat Feb 10 21:21:44 2007 http://www.host-7968.com/ Title: 7968 Sat Feb 10 21:43:43 2007 http://www.host-7969.com/ Title: 7969 Sat Feb 10 21:43:50 2007 http://host-7970.com/ Title: 7970 Sat Feb 10 21:51:22 2007 http://www.host-7971.com/ Title: 7971 Sat Feb 10 21:51:23 2007 http://www.host-7972.com/ Title: 7972 Sat Feb 10 21:51:25 2007 http://host-7973.com/ Title: 7973 Sat Feb 10 21:51:27 2007 http://www.host-7974.com/ Title: 7974 Sat Feb 10 21:55:59 2007 http://host-7975.com/ Title: 7975 Sat Feb 10 21:56:04 2007 http://www.host-7976.com/ Title: 7976 Sat Feb 10 21:56:09 2007 http://www.host-7977.com/ Title: 7977 Sat Feb 10 21:56:12 2007 http://www.host-7978.com/ Title: 7978 Sat Feb 10 21:56:14 2007 http://www.host-7979.com/ Title: 7979 Sat Feb 10 21:56:21 2007 http://host-7980.com/ Title: 7980 Sat Feb 10 21:56:25 2007 http://www.host-7981.com/ Title: 7981 Sat Feb 10 22:08:25 2007 http://host-7982.com/ Title: 7982 Sat Feb 10 22:08:31 2007 http://host-7983.com/ Title: 7983 Sat Feb 10 22:08:41 2007 http://www.host-7984.com/ Title: 7984 Sat Feb 10 22:08:44 2007 http://host-7985.com/ Title: 7985 Sat Feb 10 22:46:56 2007 http://www.host-7986.com/ Title: 7986 Sat Feb 10 22:47:04 2007 http://host-7987.com/ Title: 7987 Sat Feb 10 22:47:06 2007 http://host-7988.com/ Title: 7988 Sat Feb 10 22:47:07 2007 http://host-7989.com/ Title: 7989 Sat Feb 10 22:47:07 2007 http://host-7990.com/ Title: 7990 Sat Feb 10 22:47:35 2007 http://www.host-7991.com/ Title: 7991 Sat Feb 10 22:48:01 2007 http://www.host-7992.com/ Title: 7992 Sat Feb 10 22:48:04 2007 http://host-7993.com/ Title: 7993 Mon Feb 12 10:14:34 2007 http://www.host-7994.com/ Title: 7994 Mon Feb 12 10:15:06 2007 http://www.host-7995.com/ Title: 7995 Mon Feb 12 10:16:33 2007 http://www.host-7996.com/ Title: 7996 Mon Feb 12 10:18:17 2007 http://host-7997.com/ Title: 7997 Mon Feb 12 10:21:07 2007 http://host-7998.com/ Title: 7998 Mon Feb 12 10:55:09 2007 http://www.host-7999.com/ Title: 7999 Mon Feb 12 10:55:24 2007 http://www.host-8000.com/ Title: 8000 Mon Feb 12 10:55:49 2007 http://www.host-8001.com/ Title: 8001 Mon Feb 12 10:57:13 2007 http://www.host-8002.com/ Title: 8002 Mon Feb 12 10:59:25 2007 http://host-8003.com/ Title: 8003 Mon Feb 12 11:05:24 2007 http://www.host-8004.com/ Title: 8004 Mon Feb 12 11:30:35 2007 http://host-8005.com/ Title: 8005 Mon Feb 12 13:04:08 2007 http://host-8006.com/ Title: 8006 Mon Feb 12 13:21:26 2007 http://host-8007.com/ Title: 8007 Mon Feb 12 13:56:48 2007 http://www.host-8008.com/ Title: 8008 Mon Feb 12 14:19:17 2007 http://www.host-8009.com/ Title: 8009 Mon Feb 12 14:48:45 2007 http://www.host-8010.com/ Title: 8010 Mon Feb 12 14:54:23 2007 http://host-8011.com/ Title: 8011 Mon Feb 12 14:54:25 2007 http://www.host-8012.com/ Title: 8012 Mon Feb 12 15:19:58 2007 http://www.host-8013.com/ Title: 8013 Mon Feb 12 15:20:15 2007 http://www.host-8014.com/ Title: 8014 Mon Feb 12 15:21:22 2007 http://host-8015.com/ Title: 8015 Mon Feb 12 15:21:26 2007 http://host-8016.com/ Title: 8016 Mon Feb 12 15:23:27 2007 http://host-8017.com/ Title: 8017 Mon Feb 12 16:16:40 2007 http://www.host-8018.com/ Title: 8018 Mon Feb 12 16:20:23 2007 http://www.host-8019.com/ Title: 8019 Mon Feb 12 16:21:26 2007 http://www.host-8020.com/ Title: 8020 Mon Feb 12 16:21:48 2007 http://host-8021.com/ Title: 8021 Mon Feb 12 16:21:50 2007 http://www.host-8022.com/ Title: 8022 Mon Feb 12 16:21:52 2007 http://host-8023.com/ Title: 8023 Mon Feb 12 16:22:03 2007 http://host-8024.com/ Title: 8024 Mon Feb 12 16:22:05 2007 http://www.host-8025.com/ Title: 8025 Mon Feb 12 16:22:06 2007 http://www.host-8026.com/ Title: 8026 Mon Feb 12 16:22:12 2007 http://host-8027.com/ Title: 8027 Mon Feb 12 16:45:12 2007 http://host-8028.com/ Title: 8028 Mon Feb 12 16:51:48 2007 http://host-8029.com/ Title: 8029 Mon Feb 12 16:51:51 2007 http://host-8030.com/ Title: 8030 Mon Feb 12 16:52:55 2007 http://host-8031.com/ Title: 8031 Mon Feb 12 17:16:47 2007 http://www.host-8032.com/ Title: 8032 Mon Feb 12 17:17:04 2007 http://www.host-8033.com/ Title: 8033 Mon Feb 12 17:17:17 2007 http://host-8034.com/ Title: 8034 Mon Feb 12 17:17:19 2007 http://www.host-8035.com/ Title: 8035 Mon Feb 12 17:26:22 2007 http://www.host-8036.com/ Title: 8036 Mon Feb 12 17:32:24 2007 http://host-8037.com/ Title: 8037 Mon Feb 12 17:32:29 2007 http://host-8038.com/ Title: 8038 Mon Feb 12 17:32:35 2007 http://host-8039.com/ Title: 8039 Mon Feb 12 17:32:39 2007 http://www.host-8040.com/ Title: 8040 Mon Feb 12 17:32:41 2007 http://host-8041.com/ Title: 8041 Mon Feb 12 17:32:51 2007 http://host-8042.com/ Title: 8042 Mon Feb 12 17:32:53 2007 http://www.host-8043.com/ Title: 8043 Mon Feb 12 17:33:03 2007 http://www.host-8044.com/ Title: 8044 Mon Feb 12 17:43:34 2007 http://www.host-8045.com/ Title: 8045 Mon Feb 12 17:45:11 2007 http://host-8046.com/ Title: 8046 Mon Feb 12 17:47:50 2007 http://host-8047.com/ Title: 8047 Mon Feb 12 18:00:36 2007 http://host-8048.com/ Title: 8048 Mon Feb 12 18:00:38 2007 http://host-8049.com/ Title: 8049 Mon Feb 12 18:00:47 2007 http://www.host-8050.com/ Title: 8050 Mon Feb 12 18:01:33 2007 http://www.host-8051.com/ Title: 8051 Mon Feb 12 18:02:30 2007 http://www.host-8052.com/ Title: 8052 Mon Feb 12 18:02:36 2007 http://www.host-8053.com/ Title: 8053 Mon Feb 12 18:02:38 2007 http://host-8054.com/ Title: 8054 Mon Feb 12 18:02:54 2007 http://host-8055.com/ Title: 8055 Mon Feb 12 18:03:30 2007 http://host-8056.com/ Title: 8056 Mon Feb 12 18:03:35 2007 http://www.host-8057.com/ Title: 8057 Mon Feb 12 18:03:41 2007 http://host-8058.com/ Title: 8058 Mon Feb 12 18:03:48 2007 http://www.host-8059.com/ Title: 8059 Mon Feb 12 18:03:50 2007 http://host-8060.com/ Title: 8060 Mon Feb 12 18:04:56 2007 http://www.host-8061.com/ Title: 8061 Mon Feb 12 18:06:12 2007 http://host-8062.com/ Title: 8062 Tue Feb 13 11:09:23 2007 http://host-8063.com/ Title: 8063 Tue Feb 13 11:18:17 2007 http://www.host-8064.com/ Title: 8064 Tue Feb 13 13:10:51 2007 http://www.host-8065.com/ Title: 8065 Tue Feb 13 15:44:49 2007 http://www.host-8066.com/ Title: 8066 Tue Feb 13 15:45:01 2007 http://host-8067.com/ Title: 8067 Tue Feb 13 15:46:13 2007 http://www.host-8068.com/ Title: 8068 Tue Feb 13 15:46:25 2007 http://host-8069.com/ Title: 8069 Tue Feb 13 15:46:31 2007 http://www.host-8070.com/ Title: 8070 Tue Feb 13 15:48:02 2007 http://host-8071.com/ Title: 8071 Tue Feb 13 15:54:23 2007 http://host-8072.com/ Title: 8072 Tue Feb 13 15:54:24 2007 http://host-8073.com/ Title: 8073 Tue Feb 13 15:55:33 2007 http://host-8074.com/ Title: 8074 Tue Feb 13 16:26:14 2007 http://host-8075.com/ Title: 8075 Tue Feb 13 17:39:53 2007 http://host-8076.com/ Title: 8076 Wed Feb 14 11:16:23 2007 http://host-8077.com/ Title: 8077 Wed Feb 14 11:16:24 2007 http://www.host-8078.com/ Title: 8078 Wed Feb 14 11:16:54 2007 http://www.host-8079.com/ Title: 8079 Wed Feb 14 11:17:00 2007 http://host-8080.com/ Title: 8080 Wed Feb 14 11:20:09 2007 http://www.host-8081.com/ Title: 8081 Wed Feb 14 11:20:23 2007 http://host-8082.com/ Title: 8082 Wed Feb 14 14:15:07 2007 http://host-8083.com/ Title: 8083 Wed Feb 14 14:15:13 2007 http://www.host-8084.com/ Title: 8084 Wed Feb 14 14:15:21 2007 http://www.host-8085.com/ Title: 8085 Wed Feb 14 14:15:22 2007 http://www.host-8086.com/ Title: 8086 Wed Feb 14 14:36:32 2007 http://www.host-8087.com/ Title: 8087 Wed Feb 14 14:49:24 2007 http://host-8088.com/ Title: 8088 Wed Feb 14 14:49:25 2007 http://www.host-8089.com/ Title: 8089 Wed Feb 14 16:57:27 2007 http://host-8090.com/ Title: 8090 Wed Feb 14 16:57:37 2007 http://www.host-8091.com/ Title: 8091 Wed Feb 14 16:57:39 2007 http://www.host-8092.com/ Title: 8092 Wed Feb 14 16:57:39 2007 http://host-8093.com/ Title: 8093 Wed Feb 14 17:03:28 2007 http://www.host-8094.com/ Title: 8094 Wed Feb 14 17:03:33 2007 http://www.host-8095.com/ Title: 8095 Wed Feb 14 17:03:33 2007 http://www.host-8096.com/ Title: 8096 Wed Feb 14 17:03:38 2007 http://www.host-8097.com/ Title: 8097 Wed Feb 14 17:03:47 2007 http://host-8098.com/ Title: 8098 Wed Feb 14 17:03:50 2007 http://host-8099.com/ Title: 8099 Wed Feb 14 17:08:19 2007 http://host-8100.com/ Title: 8100 Wed Feb 14 17:15:05 2007 http://host-8101.com/ Title: 8101 Wed Feb 14 17:15:14 2007 http://host-8102.com/ Title: 8102 Wed Feb 14 17:15:21 2007 http://www.host-8103.com/ Title: 8103 Wed Feb 14 17:16:28 2007 http://host-8104.com/ Title: 8104 Wed Feb 14 17:16:43 2007 http://www.host-8105.com/ Title: 8105 Wed Feb 14 18:49:29 2007 http://www.host-8106.com/ Title: 8106 Wed Feb 14 18:49:30 2007 http://host-8107.com/ Title: 8107 Wed Feb 14 18:49:40 2007 http://www.host-8108.com/ Title: 8108 Wed Feb 14 18:49:45 2007 http://host-8109.com/ Title: 8109 Wed Feb 14 18:50:28 2007 http://www.host-8110.com/ Title: 8110 Wed Feb 14 18:50:41 2007 http://host-8111.com/ Title: 8111 Wed Feb 14 18:54:26 2007 http://www.host-8112.com/ Title: 8112 Thu Feb 15 11:17:07 2007 http://www.host-8113.com/ Title: 8113 Thu Feb 15 11:19:11 2007 http://host-8114.com/ Title: 8114 Thu Feb 15 11:19:20 2007 http://www.host-8115.com/ Title: 8115 Thu Feb 15 11:19:21 2007 http://host-8116.com/ Title: 8116 Thu Feb 15 11:19:37 2007 http://www.host-8117.com/ Title: 8117 Thu Feb 15 11:19:53 2007 http://www.host-8118.com/ Title: 8118 Thu Feb 15 11:20:21 2007 http://www.host-8119.com/ Title: 8119 Thu Feb 15 11:20:23 2007 http://host-8120.com/ Title: 8120 Thu Feb 15 11:25:48 2007 http://www.host-8121.com/ Title: 8121 Thu Feb 15 11:38:58 2007 http://www.host-8122.com/ Title: 8122 Thu Feb 15 11:39:56 2007 http://www.host-8123.com/ Title: 8123 Thu Feb 15 11:42:19 2007 http://host-8124.com/ Title: 8124 Thu Feb 15 11:52:13 2007 http://host-8125.com/ Title: 8125 Thu Feb 15 11:52:40 2007 http://host-8126.com/ Title: 8126 Thu Feb 15 11:52:47 2007 http://www.host-8127.com/ Title: 8127 Thu Feb 15 11:52:52 2007 http://host-8128.com/ Title: 8128 Thu Feb 15 11:53:02 2007 http://www.host-8129.com/ Title: 8129 Thu Feb 15 11:53:09 2007 http://www.host-8130.com/ Title: 8130 Thu Feb 15 11:53:12 2007 http://host-8131.com/ Title: 8131 Thu Feb 15 13:16:37 2007 http://host-8132.com/ Title: 8132 Thu Feb 15 13:18:06 2007 http://host-8133.com/ Title: 8133 Thu Feb 15 13:18:11 2007 http://www.host-8134.com/ Title: 8134 Thu Feb 15 13:19:01 2007 http://www.host-8135.com/ Title: 8135 Thu Feb 15 13:19:04 2007 http://www.host-8136.com/ Title: 8136 Thu Feb 15 13:19:06 2007 http://www.host-8137.com/ Title: 8137 Thu Feb 15 13:19:11 2007 http://www.host-8138.com/ Title: 8138 Thu Feb 15 13:25:37 2007 http://www.host-8139.com/ Title: 8139 Thu Feb 15 13:33:37 2007 http://www.host-8140.com/ Title: 8140 Thu Feb 15 13:35:06 2007 http://www.host-8141.com/ Title: 8141 Thu Feb 15 13:35:07 2007 http://www.host-8142.com/ Title: 8142 Thu Feb 15 13:35:31 2007 http://www.host-8143.com/ Title: 8143 Thu Feb 15 14:38:13 2007 http://www.host-8144.com/ Title: 8144 Thu Feb 15 16:48:58 2007 http://www.host-8145.com/ Title: 8145 Thu Feb 15 16:52:56 2007 http://host-8146.com/ Title: 8146 Thu Feb 15 16:53:08 2007 http://host-8147.com/ Title: 8147 Thu Feb 15 16:53:08 2007 http://www.host-8148.com/ Title: 8148 Thu Feb 15 16:53:11 2007 http://www.host-8149.com/ Title: 8149 Thu Feb 15 17:28:52 2007 http://www.host-8150.com/ Title: 8150 Thu Feb 15 17:28:53 2007 http://www.host-8151.com/ Title: 8151 Thu Feb 15 17:28:58 2007 http://host-8152.com/ Title: 8152 Thu Feb 15 17:48:47 2007 http://host-8153.com/ Title: 8153 Thu Feb 15 18:25:26 2007 http://host-8154.com/ Title: 8154 Thu Feb 15 18:51:17 2007 http://host-8155.com/ Title: 8155 Thu Feb 15 18:53:17 2007 http://www.host-8156.com/ Title: 8156 Thu Feb 15 18:53:53 2007 http://www.host-8157.com/ Title: 8157 Fri Feb 16 11:18:44 2007 http://www.host-8158.com/ Title: 8158 Fri Feb 16 11:18:54 2007 http://www.host-8159.com/ Title: 8159 Fri Feb 16 11:19:20 2007 http://www.host-8160.com/ Title: 8160 Fri Feb 16 11:19:23 2007 http://host-8161.com/ Title: 8161 Fri Feb 16 11:19:33 2007 http://host-8162.com/ Title: 8162 Fri Feb 16 11:20:00 2007 http://host-8163.com/ Title: 8163 Fri Feb 16 11:20:14 2007 http://www.host-8164.com/ Title: 8164 Fri Feb 16 11:20:28 2007 http://www.host-8165.com/ Title: 8165 Fri Feb 16 11:20:41 2007 http://host-8166.com/ Title: 8166 Fri Feb 16 11:20:49 2007 http://www.host-8167.com/ Title: 8167 Fri Feb 16 11:20:57 2007 http://host-8168.com/ Title: 8168 Fri Feb 16 11:21:07 2007 http://www.host-8169.com/ Title: 8169 Fri Feb 16 11:21:19 2007 http://www.host-8170.com/ Title: 8170 Fri Feb 16 11:21:40 2007 http://host-8171.com/ Title: 8171 Fri Feb 16 11:22:35 2007 http://www.host-8172.com/ Title: 8172 Fri Feb 16 11:22:48 2007 http://host-8173.com/ Title: 8173 Fri Feb 16 11:56:22 2007 http://host-8174.com/ Title: 8174 Fri Feb 16 11:56:33 2007 http://host-8175.com/ Title: 8175 Fri Feb 16 14:20:58 2007 http://host-8176.com/ Title: 8176 Fri Feb 16 14:21:06 2007 http://host-8177.com/ Title: 8177 Fri Feb 16 14:21:08 2007 http://www.host-8178.com/ Title: 8178 Fri Feb 16 14:22:10 2007 http://host-8179.com/ Title: 8179 Fri Feb 16 14:22:38 2007 http://www.host-8180.com/ Title: 8180 Fri Feb 16 14:22:40 2007 http://www.host-8181.com/ Title: 8181 Fri Feb 16 14:22:59 2007 http://www.host-8182.com/ Title: 8182 Fri Feb 16 14:24:29 2007 http://www.host-8183.com/ Title: 8183 Mon Feb 19 09:37:59 2007 http://www.host-8184.com/ Title: 8184 Mon Feb 19 09:38:02 2007 http://host-8185.com/ Title: 8185 Mon Feb 19 09:38:04 2007 http://www.host-8186.com/ Title: 8186 Mon Feb 19 09:38:06 2007 http://www.host-8187.com/ Title: 8187 Mon Feb 19 09:38:13 2007 http://host-8188.com/ Title: 8188 Mon Feb 19 10:14:52 2007 http://host-8189.com/ Title: 8189 Mon Feb 19 10:15:22 2007 http://www.host-8190.com/ Title: 8190 Mon Feb 19 10:30:45 2007 http://host-8191.com/ Title: 8191 Mon Feb 19 10:31:05 2007 http://www.host-8192.com/ Title: 8192 Mon Feb 19 10:31:11 2007 http://host-8193.com/ Title: 8193 Mon Feb 19 10:54:03 2007 http://www.host-8194.com/ Title: 8194 Mon Feb 19 12:23:42 2007 http://www.host-8195.com/ Title: 8195 Mon Feb 19 12:23:42 2007 http://www.host-8196.com/ Title: 8196 Mon Feb 19 12:46:04 2007 http://www.host-8197.com/ Title: 8197 Mon Feb 19 12:46:20 2007 http://host-8198.com/ Title: 8198 Mon Feb 19 12:46:21 2007 http://www.host-8199.com/ Title: 8199 Mon Feb 19 12:46:24 2007 http://www.host-8200.com/ Title: 8200 Mon Feb 19 13:10:36 2007 http://www.host-8201.com/ Title: 8201 Mon Feb 19 13:10:38 2007 http://www.host-8202.com/ Title: 8202 Mon Feb 19 13:10:39 2007 http://host-8203.com/ Title: 8203 Mon Feb 19 15:39:34 2007 http://www.host-8204.com/ Title: 8204 Mon Feb 19 15:39:49 2007 http://host-8205.com/ Title: 8205 Mon Feb 19 15:39:55 2007 http://www.host-8206.com/ Title: 8206 Mon Feb 19 15:40:08 2007 http://host-8207.com/ Title: 8207 Mon Feb 19 15:40:16 2007 http://www.host-8208.com/ Title: 8208 Mon Feb 19 16:04:43 2007 http://www.host-8209.com/ Title: 8209 Mon Feb 19 16:05:35 2007 http://www.host-8210.com/ Title: 8210 Mon Feb 19 16:05:44 2007 http://host-8211.com/ Title: 8211 Mon Feb 19 16:06:23 2007 http://www.host-8212.com/ Title: 8212 Mon Feb 19 16:07:12 2007 http://host-8213.com/ Title: 8213 Mon Feb 19 16:07:42 2007 http://www.host-8214.com/ Title: 8214 Mon Feb 19 16:07:47 2007 http://host-8215.com/ Title: 8215 Mon Feb 19 16:09:06 2007 http://www.host-8216.com/ Title: 8216 Mon Feb 19 16:28:44 2007 http://host-8217.com/ Title: 8217 Tue Feb 20 09:49:29 2007 http://host-8218.com/ Title: 8218 Tue Feb 20 10:04:28 2007 http://host-8219.com/ Title: 8219 Tue Feb 20 10:06:50 2007 http://host-8220.com/ Title: 8220 Tue Feb 20 10:08:43 2007 http://www.host-8221.com/ Title: 8221 Tue Feb 20 10:12:07 2007 http://host-8222.com/ Title: 8222 Tue Feb 20 10:12:27 2007 http://host-8223.com/ Title: 8223 Tue Feb 20 10:16:56 2007 http://www.host-8224.com/ Title: 8224 Tue Feb 20 10:17:21 2007 http://host-8225.com/ Title: 8225 Tue Feb 20 10:20:05 2007 http://host-8226.com/ Title: 8226 Tue Feb 20 11:05:40 2007 http://host-8227.com/ Title: 8227 Tue Feb 20 16:15:20 2007 http://www.host-8228.com/ Title: 8228 Tue Feb 20 16:15:23 2007 http://www.host-8229.com/ Title: 8229 Tue Feb 20 16:27:32 2007 http://host-8230.com/ Title: 8230 Tue Feb 20 17:07:28 2007 http://www.host-8231.com/ Title: 8231 Tue Feb 20 17:07:40 2007 http://www.host-8232.com/ Title: 8232 Tue Feb 20 17:08:20 2007 http://www.host-8233.com/ Title: 8233 Tue Feb 20 17:53:30 2007 http://host-8234.com/ Title: 8234 Tue Feb 20 17:58:25 2007 http://host-8235.com/ Title: 8235 Tue Feb 20 17:58:30 2007 http://www.host-8236.com/ Title: 8236 Tue Feb 20 17:58:35 2007 http://host-8237.com/ Title: 8237 Tue Feb 20 17:58:36 2007 http://host-8238.com/ Title: 8238 Tue Feb 20 17:58:37 2007 http://www.host-8239.com/ Title: 8239 Wed Feb 21 10:05:34 2007 http://host-8240.com/ Title: 8240 Wed Feb 21 10:09:45 2007 http://www.host-8241.com/ Title: 8241 Wed Feb 21 10:15:52 2007 http://host-8242.com/ Title: 8242 Wed Feb 21 10:16:03 2007 http://host-8243.com/ Title: 8243 Wed Feb 21 10:16:15 2007 http://www.host-8244.com/ Title: 8244 Wed Feb 21 10:21:31 2007 http://www.host-8245.com/ Title: 8245 Wed Feb 21 10:30:55 2007 http://host-8246.com/ Title: 8246 Wed Feb 21 10:34:43 2007 http://host-8247.com/ Title: 8247 Wed Feb 21 10:34:48 2007 http://www.host-8248.com/ Title: 8248 Wed Feb 21 10:40:34 2007 http://host-8249.com/ Title: 8249 Wed Feb 21 10:40:34 2007 http://www.host-8250.com/ Title: 8250 Wed Feb 21 10:40:34 2007 http://www.host-8251.com/ Title: 8251 Wed Feb 21 11:35:44 2007 http://host-8252.com/ Title: 8252 Wed Feb 21 12:02:17 2007 http://www.host-8253.com/ Title: 8253 Wed Feb 21 14:12:21 2007 http://www.host-8254.com/ Title: 8254 Wed Feb 21 14:13:29 2007 http://www.host-8255.com/ Title: 8255 Wed Feb 21 14:13:32 2007 http://host-8256.com/ Title: 8256 Wed Feb 21 14:13:37 2007 http://www.host-8257.com/ Title: 8257 Wed Feb 21 14:15:20 2007 http://host-8258.com/ Title: 8258 Wed Feb 21 14:15:53 2007 http://host-8259.com/ Title: 8259 Wed Feb 21 14:21:15 2007 http://www.host-8260.com/ Title: 8260 Wed Feb 21 14:21:21 2007 http://host-8261.com/ Title: 8261 Wed Feb 21 14:21:31 2007 http://www.host-8262.com/ Title: 8262 Wed Feb 21 14:21:36 2007 http://host-8263.com/ Title: 8263 Wed Feb 21 14:22:29 2007 http://host-8264.com/ Title: 8264 Wed Feb 21 14:46:39 2007 http://host-8265.com/ Title: 8265 Wed Feb 21 15:51:31 2007 http://host-8266.com/ Title: 8266 Wed Feb 21 16:57:15 2007 http://host-8267.com/ Title: 8267 Wed Feb 21 17:01:28 2007 http://www.host-8268.com/ Title: 8268 Wed Feb 21 17:01:51 2007 http://www.host-8269.com/ Title: 8269 Wed Feb 21 17:01:55 2007 http://www.host-8270.com/ Title: 8270 Wed Feb 21 17:01:58 2007 http://host-8271.com/ Title: 8271 Thu Feb 22 10:28:38 2007 http://host-8272.com/ Title: 8272 Thu Feb 22 10:37:07 2007 http://www.host-8273.com/ Title: 8273 Thu Feb 22 10:37:08 2007 http://www.host-8274.com/ Title: 8274 Thu Feb 22 10:37:11 2007 http://host-8275.com/ Title: 8275 Thu Feb 22 10:37:24 2007 http://www.host-8276.com/ Title: 8276 Thu Feb 22 10:37:35 2007 http://www.host-8277.com/ Title: 8277 Thu Feb 22 10:37:55 2007 http://host-8278.com/ Title: 8278 Thu Feb 22 10:37:58 2007 http://www.host-8279.com/ Title: 8279 Thu Feb 22 11:37:19 2007 http://www.host-8280.com/ Title: 8280 Thu Feb 22 11:37:26 2007 http://host-8281.com/ Title: 8281 Thu Feb 22 12:22:40 2007 http://www.host-8282.com/ Title: 8282 Thu Feb 22 12:22:54 2007 http://www.host-8283.com/ Title: 8283 Thu Feb 22 12:23:01 2007 http://www.host-8284.com/ Title: 8284 Thu Feb 22 12:23:10 2007 http://www.host-8285.com/ Title: 8285 Thu Feb 22 12:23:10 2007 http://www.host-8286.com/ Title: 8286 Thu Feb 22 12:23:17 2007 http://www.host-8287.com/ Title: 8287 Thu Feb 22 12:23:18 2007 http://www.host-8288.com/ Title: 8288 Thu Feb 22 14:07:50 2007 http://www.host-8289.com/ Title: 8289 Thu Feb 22 14:16:33 2007 http://host-8290.com/ Title: 8290 Thu Feb 22 14:16:37 2007 http://host-8291.com/ Title: 8291 Thu Feb 22 14:16:48 2007 http://www.host-8292.com/ Title: 8292 Thu Feb 22 14:16:49 2007 http://www.host-8293.com/ Title: 8293 Thu Feb 22 15:39:17 2007 http://www.host-8294.com/ Title: 8294 Thu Feb 22 17:00:07 2007 http://www.host-8295.com/ Title: 8295 Fri Feb 23 13:07:29 2007 http://www.host-8296.com/ Title: 8296 Fri Feb 23 13:07:46 2007 http://www.host-8297.com/ Title: 8297 Fri Feb 23 13:07:50 2007 http://www.host-8298.com/ Title: 8298 Fri Feb 23 13:07:54 2007 http://host-8299.com/ Title: 8299 Fri Feb 23 13:07:58 2007 http://host-8300.com/ Title: 8300 Fri Feb 23 13:08:05 2007 http://www.host-8301.com/ Title: 8301 Fri Feb 23 13:08:09 2007 http://host-8302.com/ Title: 8302 Fri Feb 23 13:10:12 2007 http://www.host-8303.com/ Title: 8303 Fri Feb 23 13:10:24 2007 http://www.host-8304.com/ Title: 8304 Fri Feb 23 13:10:30 2007 http://www.host-8305.com/ Title: 8305 Fri Feb 23 13:10:33 2007 http://host-8306.com/ Title: 8306 Fri Feb 23 13:10:34 2007 http://host-8307.com/ Title: 8307 Fri Feb 23 13:10:37 2007 http://host-8308.com/ Title: 8308 Fri Feb 23 14:44:36 2007 http://www.host-8309.com/ Title: 8309 Fri Feb 23 14:58:23 2007 http://host-8310.com/ Title: 8310 Fri Feb 23 14:58:25 2007 http://host-8311.com/ Title: 8311 Fri Feb 23 15:09:15 2007 http://host-8312.com/ Title: 8312 Fri Feb 23 15:09:21 2007 http://host-8313.com/ Title: 8313 Fri Feb 23 15:31:31 2007 http://www.host-8314.com/ Title: 8314 Fri Feb 23 15:31:38 2007 http://www.host-8315.com/ Title: 8315 Fri Feb 23 15:53:15 2007 http://www.host-8316.com/ Title: 8316 Fri Feb 23 15:53:34 2007 http://host-8317.com/ Title: 8317 Fri Feb 23 15:55:41 2007 http://www.host-8318.com/ Title: 8318 Fri Feb 23 16:06:50 2007 http://host-8319.com/ Title: 8319 Fri Feb 23 16:06:56 2007 http://host-8320.com/ Title: 8320 Fri Feb 23 16:48:14 2007 http://www.host-8321.com/ Title: 8321 Fri Feb 23 16:49:06 2007 http://host-8322.com/ Title: 8322 Fri Feb 23 16:49:13 2007 http://host-8323.com/ Title: 8323 Fri Feb 23 16:59:46 2007 http://host-8324.com/ Title: 8324 Fri Feb 23 17:14:44 2007 http://www.host-8325.com/ Title: 8325 Fri Feb 23 17:14:47 2007 http://www.host-8326.com/ Title: 8326 Fri Feb 23 17:15:07 2007 http://host-8327.com/ Title: 8327 Fri Feb 23 17:15:12 2007 http://host-8328.com/ Title: 8328 Fri Feb 23 17:15:15 2007 http://www.host-8329.com/ Title: 8329 Fri Feb 23 17:15:21 2007 http://www.host-8330.com/ Title: 8330 Fri Feb 23 18:19:29 2007 http://www.host-8331.com/ Title: 8331 Fri Feb 23 18:19:31 2007 http://www.host-8332.com/ Title: 8332 Fri Feb 23 18:19:48 2007 http://host-8333.com/ Title: 8333 Fri Feb 23 18:19:49 2007 http://host-8334.com/ Title: 8334 Fri Feb 23 18:20:11 2007 http://host-8335.com/ Title: 8335 Fri Feb 23 18:52:12 2007 http://host-8336.com/ Title: 8336 Fri Feb 23 19:05:21 2007 http://host-8337.com/ Title: 8337 Mon Feb 26 08:36:23 2007 http://www.host-8338.com/ Title: 8338 Mon Feb 26 09:06:40 2007 http://www.host-8339.com/ Title: 8339 Mon Feb 26 09:33:58 2007 http://www.host-8340.com/ Title: 8340 Mon Feb 26 09:34:03 2007 http://www.host-8341.com/ Title: 8341 Mon Feb 26 09:50:58 2007 http://host-8342.com/ Title: 8342 Mon Feb 26 10:04:13 2007 http://www.host-8343.com/ Title: 8343 Mon Feb 26 10:04:28 2007 http://host-8344.com/ Title: 8344 Mon Feb 26 10:12:00 2007 http://host-8345.com/ Title: 8345 Mon Feb 26 10:12:06 2007 http://host-8346.com/ Title: 8346 Mon Feb 26 10:12:06 2007 http://www.host-8347.com/ Title: 8347 Mon Feb 26 10:21:08 2007 http://www.host-8348.com/ Title: 8348 Mon Feb 26 10:23:31 2007 http://www.host-8349.com/ Title: 8349 Mon Feb 26 10:23:37 2007 http://host-8350.com/ Title: 8350 Mon Feb 26 10:24:35 2007 http://host-8351.com/ Title: 8351 Mon Feb 26 10:24:36 2007 http://www.host-8352.com/ Title: 8352 Mon Feb 26 10:25:40 2007 http://www.host-8353.com/ Title: 8353 Mon Feb 26 10:25:57 2007 http://www.host-8354.com/ Title: 8354 Mon Feb 26 10:28:35 2007 http://host-8355.com/ Title: 8355 Mon Feb 26 10:28:44 2007 http://host-8356.com/ Title: 8356 Mon Feb 26 10:28:49 2007 http://www.host-8357.com/ Title: 8357 Mon Feb 26 10:28:53 2007 http://www.host-8358.com/ Title: 8358 Mon Feb 26 10:28:59 2007 http://www.host-8359.com/ Title: 8359 Mon Feb 26 10:29:05 2007 http://host-8360.com/ Title: 8360 Mon Feb 26 10:29:18 2007 http://host-8361.com/ Title: 8361 Mon Feb 26 10:29:43 2007 http://www.host-8362.com/ Title: 8362 Mon Feb 26 10:57:12 2007 http://host-8363.com/ Title: 8363 Mon Feb 26 10:57:15 2007 http://www.host-8364.com/ Title: 8364 Mon Feb 26 10:57:26 2007 http://www.host-8365.com/ Title: 8365 Mon Feb 26 10:57:59 2007 http://host-8366.com/ Title: 8366 Mon Feb 26 11:12:12 2007 http://www.host-8367.com/ Title: 8367 Mon Feb 26 11:14:55 2007 http://www.host-8368.com/ Title: 8368 Mon Feb 26 11:14:56 2007 http://host-8369.com/ Title: 8369 Mon Feb 26 11:20:36 2007 http://www.host-8370.com/ Title: 8370 Mon Feb 26 11:22:41 2007 http://host-8371.com/ Title: 8371 Mon Feb 26 11:24:09 2007 http://host-8372.com/ Title: 8372 Mon Feb 26 11:25:08 2007 http://www.host-8373.com/ Title: 8373 Mon Feb 26 11:28:44 2007 http://host-8374.com/ Title: 8374 Mon Feb 26 11:28:50 2007 http://host-8375.com/ Title: 8375 Mon Feb 26 11:29:05 2007 http://www.host-8376.com/ Title: 8376 Mon Feb 26 11:57:16 2007 http://www.host-8377.com/ Title: 8377 Mon Feb 26 11:57:53 2007 http://www.host-8378.com/ Title: 8378 Mon Feb 26 12:38:09 2007 http://www.host-8379.com/ Title: 8379 Mon Feb 26 12:38:12 2007 http://www.host-8380.com/ Title: 8380 Mon Feb 26 12:38:28 2007 http://host-8381.com/ Title: 8381 Mon Feb 26 12:48:41 2007 http://www.host-8382.com/ Title: 8382 Mon Feb 26 12:48:42 2007 http://www.host-8383.com/ Title: 8383 Mon Feb 26 12:50:38 2007 http://www.host-8384.com/ Title: 8384 Mon Feb 26 12:50:43 2007 http://host-8385.com/ Title: 8385 Mon Feb 26 12:51:03 2007 http://host-8386.com/ Title: 8386 Mon Feb 26 12:51:13 2007 http://www.host-8387.com/ Title: 8387 Mon Feb 26 12:51:52 2007 http://host-8388.com/ Title: 8388 Mon Feb 26 12:51:53 2007 http://host-8389.com/ Title: 8389 Mon Feb 26 12:52:30 2007 http://www.host-8390.com/ Title: 8390 Mon Feb 26 12:52:31 2007 http://www.host-8391.com/ Title: 8391 Mon Feb 26 12:58:01 2007 http://host-8392.com/ Title: 8392 Mon Feb 26 13:15:18 2007 http://host-8393.com/ Title: 8393 Mon Feb 26 13:15:19 2007 http://www.host-8394.com/ Title: 8394 Mon Feb 26 13:16:13 2007 http://host-8395.com/ Title: 8395 Mon Feb 26 13:16:14 2007 http://www.host-8396.com/ Title: 8396 Mon Feb 26 13:16:30 2007 http://www.host-8397.com/ Title: 8397 Mon Feb 26 13:16:31 2007 http://host-8398.com/ Title: 8398 Mon Feb 26 13:22:00 2007 http://host-8399.com/ Title: 8399 Mon Feb 26 13:22:01 2007 http://www.host-8400.com/ Title: 8400 Mon Feb 26 13:48:51 2007 http://host-8401.com/ Title: 8401 Mon Feb 26 13:50:38 2007 http://host-8402.com/ Title: 8402 Mon Feb 26 13:53:28 2007 http://www.host-8403.com/ Title: 8403 Mon Feb 26 13:59:50 2007 http://host-8404.com/ Title: 8404 Mon Feb 26 14:02:18 2007 http://www.host-8405.com/ Title: 8405 Mon Feb 26 14:03:02 2007 http://host-8406.com/ Title: 8406 Mon Feb 26 14:03:09 2007 http://host-8407.com/ Title: 8407 Mon Feb 26 14:03:19 2007 http://host-8408.com/ Title: 8408 Mon Feb 26 14:05:12 2007 http://www.host-8409.com/ Title: 8409 Mon Feb 26 14:05:18 2007 http://www.host-8410.com/ Title: 8410 Mon Feb 26 14:05:44 2007 http://www.host-8411.com/ Title: 8411 Mon Feb 26 14:05:52 2007 http://www.host-8412.com/ Title: 8412 Mon Feb 26 14:14:50 2007 http://host-8413.com/ Title: 8413 Mon Feb 26 14:17:50 2007 http://host-8414.com/ Title: 8414 Mon Feb 26 14:17:51 2007 http://host-8415.com/ Title: 8415 Mon Feb 26 14:18:30 2007 http://host-8416.com/ Title: 8416 Mon Feb 26 14:30:06 2007 http://www.host-8417.com/ Title: 8417 Mon Feb 26 15:00:06 2007 http://host-8418.com/ Title: 8418 Mon Feb 26 15:00:07 2007 http://host-8419.com/ Title: 8419 Mon Feb 26 15:24:36 2007 http://www.host-8420.com/ Title: 8420 Mon Feb 26 15:24:57 2007 http://host-8421.com/ Title: 8421 Mon Feb 26 15:25:39 2007 http://www.host-8422.com/ Title: 8422 Mon Feb 26 15:25:49 2007 http://www.host-8423.com/ Title: 8423 Mon Feb 26 15:26:19 2007 http://www.host-8424.com/ Title: 8424 Mon Feb 26 15:26:30 2007 http://www.host-8425.com/ Title: 8425 Mon Feb 26 15:26:35 2007 http://www.host-8426.com/ Title: 8426 Mon Feb 26 15:27:10 2007 http://www.host-8427.com/ Title: 8427 Mon Feb 26 15:27:59 2007 http://www.host-8428.com/ Title: 8428 Mon Feb 26 15:28:06 2007 http://host-8429.com/ Title: 8429 Mon Feb 26 15:28:44 2007 http://www.host-8430.com/ Title: 8430 Mon Feb 26 15:28:49 2007 http://www.host-8431.com/ Title: 8431 Mon Feb 26 15:29:06 2007 http://host-8432.com/ Title: 8432 Mon Feb 26 15:29:22 2007 http://host-8433.com/ Title: 8433 Mon Feb 26 15:30:40 2007 http://host-8434.com/ Title: 8434 Mon Feb 26 15:31:46 2007 http://www.host-8435.com/ Title: 8435 Mon Feb 26 15:33:30 2007 http://www.host-8436.com/ Title: 8436 Mon Feb 26 15:39:08 2007 http://www.host-8437.com/ Title: 8437 Mon Feb 26 15:39:11 2007 http://host-8438.com/ Title: 8438 Mon Feb 26 15:39:16 2007 http://host-8439.com/ Title: 8439 Mon Feb 26 15:39:19 2007 http://host-8440.com/ Title: 8440 Tue Feb 27 10:46:55 2007 http://www.host-8441.com/ Title: 8441 Tue Feb 27 11:16:51 2007 http://host-8442.com/ Title: 8442 Tue Feb 27 11:27:00 2007 http://host-8443.com/ Title: 8443 Tue Feb 27 11:27:02 2007 http://www.host-8444.com/ Title: 8444 Tue Feb 27 11:27:19 2007 http://www.host-8445.com/ Title: 8445 Tue Feb 27 11:27:33 2007 http://host-8446.com/ Title: 8446 Tue Feb 27 11:27:40 2007 http://www.host-8447.com/ Title: 8447 Tue Feb 27 11:40:13 2007 http://www.host-8448.com/ Title: 8448 Tue Feb 27 11:41:54 2007 http://www.host-8449.com/ Title: 8449 Tue Feb 27 11:42:48 2007 http://host-8450.com/ Title: 8450 Tue Feb 27 12:11:16 2007 http://host-8451.com/ Title: 8451 Tue Feb 27 12:11:19 2007 http://www.host-8452.com/ Title: 8452 Tue Feb 27 12:11:20 2007 http://www.host-8453.com/ Title: 8453 Tue Feb 27 12:16:33 2007 http://www.host-8454.com/ Title: 8454 Tue Feb 27 12:16:49 2007 http://host-8455.com/ Title: 8455 Tue Feb 27 12:17:46 2007 http://www.host-8456.com/ Title: 8456 Tue Feb 27 14:54:05 2007 http://host-8457.com/ Title: 8457 Tue Feb 27 14:54:45 2007 http://www.host-8458.com/ Title: 8458 Tue Feb 27 15:14:52 2007 http://www.host-8459.com/ Title: 8459 Tue Feb 27 15:40:20 2007 http://www.host-8460.com/ Title: 8460 Tue Feb 27 15:43:55 2007 http://www.host-8461.com/ Title: 8461 Tue Feb 27 15:47:33 2007 http://host-8462.com/ Title: 8462 Tue Feb 27 15:47:55 2007 http://www.host-8463.com/ Title: 8463 Tue Feb 27 15:47:56 2007 http://www.host-8464.com/ Title: 8464 Tue Feb 27 15:58:23 2007 http://host-8465.com/ Title: 8465 Tue Feb 27 16:10:19 2007 http://host-8466.com/ Title: 8466 Tue Feb 27 16:16:08 2007 http://host-8467.com/ Title: 8467 Tue Feb 27 16:16:10 2007 http://host-8468.com/ Title: 8468 Tue Feb 27 16:41:32 2007 http://host-8469.com/ Title: 8469 Tue Feb 27 16:41:54 2007 http://www.host-8470.com/ Title: 8470 Tue Feb 27 16:42:10 2007 http://www.host-8471.com/ Title: 8471 Tue Feb 27 16:42:33 2007 http://host-8472.com/ Title: 8472 Tue Feb 27 16:43:06 2007 http://host-8473.com/ Title: 8473 Tue Feb 27 16:43:12 2007 http://host-8474.com/ Title: 8474 Tue Feb 27 16:43:13 2007 http://www.host-8475.com/ Title: 8475 Tue Feb 27 16:43:38 2007 http://www.host-8476.com/ Title: 8476 Tue Feb 27 16:43:39 2007 http://www.host-8477.com/ Title: 8477 Tue Feb 27 16:43:40 2007 http://www.host-8478.com/ Title: 8478 Tue Feb 27 17:15:12 2007 http://host-8479.com/ Title: 8479 Tue Feb 27 17:15:13 2007 http://www.host-8480.com/ Title: 8480 Tue Feb 27 17:15:20 2007 http://www.host-8481.com/ Title: 8481 Tue Feb 27 17:15:22 2007 http://host-8482.com/ Title: 8482 Tue Feb 27 17:16:56 2007 http://host-8483.com/ Title: 8483 Tue Feb 27 17:17:01 2007 http://www.host-8484.com/ Title: 8484 Tue Feb 27 17:17:04 2007 http://host-8485.com/ Title: 8485 Tue Feb 27 17:17:15 2007 http://host-8486.com/ Title: 8486 Tue Feb 27 17:21:47 2007 http://www.host-8487.com/ Title: 8487 Tue Feb 27 18:11:09 2007 http://www.host-8488.com/ Title: 8488 Tue Feb 27 18:11:10 2007 http://host-8489.com/ Title: 8489 Tue Feb 27 18:11:12 2007 http://host-8490.com/ Title: 8490 Tue Feb 27 18:11:12 2007 http://www.host-8491.com/ Title: 8491 Tue Feb 27 18:11:13 2007 http://host-8492.com/ Title: 8492 Tue Feb 27 18:11:20 2007 http://host-8493.com/ Title: 8493 Tue Feb 27 18:11:21 2007 http://www.host-8494.com/ Title: 8494 Tue Feb 27 18:11:25 2007 http://www.host-8495.com/ Title: 8495 Tue Feb 27 18:11:25 2007 http://host-8496.com/ Title: 8496 Tue Feb 27 18:11:26 2007 http://www.host-8497.com/ Title: 8497 Tue Feb 27 18:11:27 2007 http://host-8498.com/ Title: 8498 Tue Feb 27 18:11:27 2007 http://www.host-8499.com/ Title: 8499 Tue Feb 27 18:11:32 2007 http://www.host-8500.com/ Title: 8500 Tue Feb 27 18:11:32 2007 http://www.host-8501.com/ Title: 8501 Tue Feb 27 18:11:34 2007 http://www.host-8502.com/ Title: 8502 Tue Feb 27 18:11:35 2007 http://host-8503.com/ Title: 8503 Tue Feb 27 18:11:35 2007 http://www.host-8504.com/ Title: 8504 Tue Feb 27 18:11:36 2007 http://www.host-8505.com/ Title: 8505 Tue Feb 27 18:11:37 2007 http://www.host-8506.com/ Title: 8506 Tue Feb 27 18:11:37 2007 http://www.host-8507.com/ Title: 8507 Tue Feb 27 18:11:37 2007 http://www.host-8508.com/ Title: 8508 Tue Feb 27 18:11:39 2007 http://www.host-8509.com/ Title: 8509 Tue Feb 27 18:11:40 2007 http://host-8510.com/ Title: 8510 Tue Feb 27 18:11:40 2007 http://host-8511.com/ Title: 8511 Tue Feb 27 18:11:40 2007 http://www.host-8512.com/ Title: 8512 Tue Feb 27 18:11:43 2007 http://www.host-8513.com/ Title: 8513 Tue Feb 27 18:11:44 2007 http://host-8514.com/ Title: 8514 Tue Feb 27 18:11:44 2007 http://www.host-8515.com/ Title: 8515 Tue Feb 27 18:11:46 2007 http://host-8516.com/ Title: 8516 Tue Feb 27 18:31:55 2007 http://host-8517.com/ Title: 8517 Tue Feb 27 18:35:24 2007 http://www.host-8518.com/ Title: 8518 Tue Feb 27 18:35:30 2007 http://host-8519.com/ Title: 8519 Tue Feb 27 18:36:01 2007 http://host-8520.com/ Title: 8520 Tue Feb 27 18:37:06 2007 http://www.host-8521.com/ Title: 8521 Tue Feb 27 18:37:08 2007 http://www.host-8522.com/ Title: 8522 Tue Feb 27 18:37:14 2007 http://host-8523.com/ Title: 8523 Tue Feb 27 18:37:19 2007 http://www.host-8524.com/ Title: 8524 Tue Feb 27 18:37:26 2007 http://host-8525.com/ Title: 8525 Tue Feb 27 18:38:30 2007 http://www.host-8526.com/ Title: 8526 Tue Feb 27 18:38:34 2007 http://www.host-8527.com/ Title: 8527 Tue Feb 27 18:38:42 2007 http://www.host-8528.com/ Title: 8528 Tue Feb 27 18:38:44 2007 http://www.host-8529.com/ Title: 8529 Tue Feb 27 18:38:46 2007 http://host-8530.com/ Title: 8530 Tue Feb 27 18:38:47 2007 http://www.host-8531.com/ Title: 8531 Tue Feb 27 18:39:17 2007 http://host-8532.com/ Title: 8532 Tue Feb 27 19:16:25 2007 http://host-8533.com/ Title: 8533 Tue Feb 27 19:16:33 2007 http://www.host-8534.com/ Title: 8534 Wed Feb 28 10:47:43 2007 http://www.host-8535.com/ Title: 8535 Wed Feb 28 10:50:29 2007 http://www.host-8536.com/ Title: 8536 Wed Feb 28 10:50:37 2007 http://www.host-8537.com/ Title: 8537 Wed Feb 28 10:57:24 2007 http://host-8538.com/ Title: 8538 Wed Feb 28 10:57:28 2007 http://www.host-8539.com/ Title: 8539 Wed Feb 28 10:57:32 2007 http://host-8540.com/ Title: 8540 Wed Feb 28 11:14:33 2007 http://host-8541.com/ Title: 8541 Wed Feb 28 11:14:38 2007 http://host-8542.com/ Title: 8542 Wed Feb 28 11:14:41 2007 http://www.host-8543.com/ Title: 8543 Wed Feb 28 11:14:50 2007 http://www.host-8544.com/ Title: 8544 Wed Feb 28 11:14:52 2007 http://host-8545.com/ Title: 8545 Wed Feb 28 11:14:56 2007 http://host-8546.com/ Title: 8546 Wed Feb 28 11:15:11 2007 http://host-8547.com/ Title: 8547 Wed Feb 28 11:15:13 2007 http://host-8548.com/ Title: 8548 Wed Feb 28 11:15:21 2007 http://www.host-8549.com/ Title: 8549 Wed Feb 28 11:24:56 2007 http://host-8550.com/ Title: 8550 Wed Feb 28 11:25:01 2007 http://host-8551.com/ Title: 8551 Wed Feb 28 11:28:33 2007 http://host-8552.com/ Title: 8552 Wed Feb 28 11:28:36 2007 http://www.host-8553.com/ Title: 8553 Wed Feb 28 11:31:15 2007 http://host-8554.com/ Title: 8554 Wed Feb 28 11:35:05 2007 http://host-8555.com/ Title: 8555 Wed Feb 28 11:35:08 2007 http://www.host-8556.com/ Title: 8556 Wed Feb 28 11:35:27 2007 http://host-8557.com/ Title: 8557 Wed Feb 28 11:35:32 2007 http://host-8558.com/ Title: 8558 Wed Feb 28 11:35:33 2007 http://www.host-8559.com/ Title: 8559 Wed Feb 28 11:41:45 2007 http://www.host-8560.com/ Title: 8560 Wed Feb 28 11:41:48 2007 http://www.host-8561.com/ Title: 8561 Wed Feb 28 11:41:55 2007 http://host-8562.com/ Title: 8562 Wed Feb 28 11:41:57 2007 http://www.host-8563.com/ Title: 8563 Wed Feb 28 11:41:59 2007 http://www.host-8564.com/ Title: 8564 Wed Feb 28 11:42:04 2007 http://host-8565.com/ Title: 8565 Wed Feb 28 11:42:05 2007 http://host-8566.com/ Title: 8566 Wed Feb 28 11:42:07 2007 http://host-8567.com/ Title: 8567 Wed Feb 28 11:42:10 2007 http://www.host-8568.com/ Title: 8568 Wed Feb 28 11:52:26 2007 http://www.host-8569.com/ Title: 8569 Wed Feb 28 11:52:38 2007 http://www.host-8570.com/ Title: 8570 Wed Feb 28 11:52:38 2007 http://www.host-8571.com/ Title: 8571 Wed Feb 28 11:52:40 2007 http://www.host-8572.com/ Title: 8572 Wed Feb 28 12:06:40 2007 http://www.host-8573.com/ Title: 8573 Wed Feb 28 12:06:41 2007 http://host-8574.com/ Title: 8574 Wed Feb 28 12:06:44 2007 http://www.host-8575.com/ Title: 8575 Wed Feb 28 12:06:50 2007 http://host-8576.com/ Title: 8576 Wed Feb 28 12:07:10 2007 http://host-8577.com/ Title: 8577 Wed Feb 28 12:07:13 2007 http://host-8578.com/ Title: 8578 Wed Feb 28 12:08:29 2007 http://host-8579.com/ Title: 8579 Wed Feb 28 12:13:01 2007 http://host-8580.com/ Title: 8580 Wed Feb 28 12:13:08 2007 http://www.host-8581.com/ Title: 8581 Wed Feb 28 12:13:11 2007 http://www.host-8582.com/ Title: 8582 Wed Feb 28 12:15:57 2007 http://host-8583.com/ Title: 8583 Wed Feb 28 12:19:37 2007 http://host-8584.com/ Title: 8584 Wed Feb 28 12:39:45 2007 http://www.host-8585.com/ Title: 8585 Wed Feb 28 12:39:47 2007 http://www.host-8586.com/ Title: 8586 Wed Feb 28 12:39:56 2007 http://www.host-8587.com/ Title: 8587 Wed Feb 28 12:40:08 2007 http://host-8588.com/ Title: 8588 Wed Feb 28 12:41:12 2007 http://www.host-8589.com/ Title: 8589 Wed Feb 28 12:41:39 2007 http://host-8590.com/ Title: 8590 Wed Feb 28 12:42:16 2007 http://www.host-8591.com/ Title: 8591 Wed Feb 28 12:44:57 2007 http://host-8592.com/ Title: 8592 Wed Feb 28 12:44:58 2007 http://host-8593.com/ Title: 8593 Wed Feb 28 12:45:16 2007 http://www.host-8594.com/ Title: 8594 Wed Feb 28 12:45:20 2007 http://www.host-8595.com/ Title: 8595 Wed Feb 28 12:45:52 2007 http://www.host-8596.com/ Title: 8596 Wed Feb 28 12:45:56 2007 http://www.host-8597.com/ Title: 8597 Wed Feb 28 12:46:08 2007 http://host-8598.com/ Title: 8598 Wed Feb 28 12:46:09 2007 http://www.host-8599.com/ Title: 8599 Wed Feb 28 12:46:10 2007 http://www.host-8600.com/ Title: 8600 Wed Feb 28 12:54:34 2007 http://host-8601.com/ Title: 8601 Wed Feb 28 13:04:12 2007 http://host-8602.com/ Title: 8602 Wed Feb 28 13:08:54 2007 http://www.host-8603.com/ Title: 8603 Wed Feb 28 13:08:58 2007 http://www.host-8604.com/ Title: 8604 Wed Feb 28 13:08:59 2007 http://www.host-8605.com/ Title: 8605 Wed Feb 28 13:09:02 2007 http://host-8606.com/ Title: 8606 Wed Feb 28 13:09:10 2007 http://host-8607.com/ Title: 8607 Wed Feb 28 13:09:10 2007 http://host-8608.com/ Title: 8608 Wed Feb 28 13:09:11 2007 http://host-8609.com/ Title: 8609 Wed Feb 28 13:09:28 2007 http://www.host-8610.com/ Title: 8610 Wed Feb 28 13:09:29 2007 http://host-8611.com/ Title: 8611 Wed Feb 28 13:09:30 2007 http://www.host-8612.com/ Title: 8612 Wed Feb 28 13:09:37 2007 http://host-8613.com/ Title: 8613 Wed Feb 28 13:09:45 2007 http://host-8614.com/ Title: 8614 Wed Feb 28 13:09:58 2007 http://host-8615.com/ Title: 8615 Wed Feb 28 13:10:26 2007 http://host-8616.com/ Title: 8616 Wed Feb 28 13:40:43 2007 http://host-8617.com/ Title: 8617 Wed Feb 28 13:49:06 2007 http://host-8618.com/ Title: 8618 Wed Feb 28 14:05:09 2007 http://www.host-8619.com/ Title: 8619 Wed Feb 28 14:53:53 2007 http://www.host-8620.com/ Title: 8620 Wed Feb 28 14:53:55 2007 http://www.host-8621.com/ Title: 8621 Wed Feb 28 14:55:34 2007 http://host-8622.com/ Title: 8622 Wed Feb 28 14:56:03 2007 http://host-8623.com/ Title: 8623 Wed Feb 28 14:56:35 2007 http://host-8624.com/ Title: 8624 Wed Feb 28 14:56:36 2007 http://host-8625.com/ Title: 8625 Wed Feb 28 15:07:23 2007 http://www.host-8626.com/ Title: 8626 Wed Feb 28 15:08:07 2007 http://www.host-8627.com/ Title: 8627 Wed Feb 28 15:08:19 2007 http://host-8628.com/ Title: 8628 Wed Feb 28 15:14:49 2007 http://www.host-8629.com/ Title: 8629 Wed Feb 28 15:20:12 2007 http://host-8630.com/ Title: 8630 Wed Feb 28 15:20:13 2007 http://host-8631.com/ Title: 8631 Wed Feb 28 15:20:20 2007 http://www.host-8632.com/ Title: 8632 Wed Feb 28 15:23:05 2007 http://host-8633.com/ Title: 8633 Wed Feb 28 16:05:01 2007 http://www.host-8634.com/ Title: 8634 Wed Feb 28 16:05:09 2007 http://host-8635.com/ Title: 8635 Wed Feb 28 16:08:51 2007 http://www.host-8636.com/ Title: 8636 Wed Feb 28 16:15:52 2007 http://www.host-8637.com/ Title: 8637 Wed Feb 28 16:16:05 2007 http://host-8638.com/ Title: 8638 Wed Feb 28 16:16:06 2007 http://host-8639.com/ Title: 8639 Wed Feb 28 17:07:16 2007 http://www.host-8640.com/ Title: 8640 Wed Feb 28 17:07:22 2007 http://host-8641.com/ Title: 8641 Wed Feb 28 17:07:28 2007 http://host-8642.com/ Title: 8642 Wed Feb 28 17:07:39 2007 http://host-8643.com/ Title: 8643 Wed Feb 28 17:07:42 2007 http://www.host-8644.com/ Title: 8644 Wed Feb 28 17:07:51 2007 http://host-8645.com/ Title: 8645 Wed Feb 28 17:08:23 2007 http://www.host-8646.com/ Title: 8646 Wed Feb 28 17:47:48 2007 http://www.host-8647.com/ Title: 8647 Wed Feb 28 17:47:51 2007 http://host-8648.com/ Title: 8648 Wed Feb 28 17:50:34 2007 http://host-8649.com/ Title: 8649 Wed Feb 28 18:02:11 2007 http://host-8650.com/ Title: 8650 Wed Feb 28 18:08:22 2007 http://www.host-8651.com/ Title: 8651 Wed Feb 28 18:08:28 2007 http://www.host-8652.com/ Title: 8652 Wed Feb 28 18:09:24 2007 http://host-8653.com/ Title: 8653 Wed Feb 28 18:09:29 2007 http://host-8654.com/ Title: 8654 Wed Feb 28 18:10:46 2007 http://host-8655.com/ Title: 8655 Wed Feb 28 18:10:52 2007 http://www.host-8656.com/ Title: 8656 Wed Feb 28 18:24:10 2007 http://www.host-8657.com/ Title: 8657 Wed Feb 28 19:00:52 2007 http://www.host-8658.com/ Title: 8658 Wed Feb 28 19:01:30 2007 http://host-8659.com/ Title: 8659 Wed Feb 28 19:01:39 2007 http://host-8660.com/ Title: 8660 Wed Feb 28 19:01:43 2007 http://www.host-8661.com/ Title: 8661 Wed Feb 28 19:01:47 2007 http://host-8662.com/ Title: 8662 Thu Mar 1 10:55:17 2007 http://www.host-8663.com/ Title: 8663 Thu Mar 1 10:57:36 2007 http://host-8664.com/ Title: 8664 Thu Mar 1 10:57:54 2007 http://host-8665.com/ Title: 8665 Thu Mar 1 11:01:11 2007 http://www.host-8666.com/ Title: 8666 Thu Mar 1 11:02:16 2007 http://host-8667.com/ Title: 8667 Thu Mar 1 11:02:46 2007 http://host-8668.com/ Title: 8668 Thu Mar 1 11:03:08 2007 http://host-8669.com/ Title: 8669 Thu Mar 1 11:04:26 2007 http://host-8670.com/ Title: 8670 Thu Mar 1 11:07:22 2007 http://host-8671.com/ Title: 8671 Thu Mar 1 11:08:01 2007 http://host-8672.com/ Title: 8672 Thu Mar 1 11:08:19 2007 http://www.host-8673.com/ Title: 8673 Thu Mar 1 11:32:35 2007 http://www.host-8674.com/ Title: 8674 Thu Mar 1 11:32:38 2007 http://www.host-8675.com/ Title: 8675 Thu Mar 1 11:43:08 2007 http://www.host-8676.com/ Title: 8676 Thu Mar 1 11:47:16 2007 http://host-8677.com/ Title: 8677 Thu Mar 1 11:47:30 2007 http://www.host-8678.com/ Title: 8678 Thu Mar 1 12:47:15 2007 http://host-8679.com/ Title: 8679 Thu Mar 1 12:47:56 2007 http://www.host-8680.com/ Title: 8680 Thu Mar 1 12:48:19 2007 http://www.host-8681.com/ Title: 8681 Thu Mar 1 12:48:53 2007 http://www.host-8682.com/ Title: 8682 Thu Mar 1 12:52:37 2007 http://host-8683.com/ Title: 8683 Thu Mar 1 12:54:48 2007 http://www.host-8684.com/ Title: 8684 Thu Mar 1 13:52:52 2007 http://www.host-8685.com/ Title: 8685 Thu Mar 1 13:53:00 2007 http://www.host-8686.com/ Title: 8686 Thu Mar 1 14:26:01 2007 http://www.host-8687.com/ Title: 8687 Thu Mar 1 14:36:28 2007 http://www.host-8688.com/ Title: 8688 Thu Mar 1 14:36:56 2007 http://www.host-8689.com/ Title: 8689 Thu Mar 1 14:37:20 2007 http://www.host-8690.com/ Title: 8690 Thu Mar 1 14:37:32 2007 http://www.host-8691.com/ Title: 8691 Thu Mar 1 14:41:20 2007 http://www.host-8692.com/ Title: 8692 Thu Mar 1 14:48:52 2007 http://host-8693.com/ Title: 8693 Thu Mar 1 14:51:37 2007 http://host-8694.com/ Title: 8694 Thu Mar 1 15:04:33 2007 http://www.host-8695.com/ Title: 8695 Thu Mar 1 15:04:37 2007 http://www.host-8696.com/ Title: 8696 Thu Mar 1 15:09:37 2007 http://host-8697.com/ Title: 8697 Thu Mar 1 15:35:43 2007 http://www.host-8698.com/ Title: 8698 Thu Mar 1 15:35:45 2007 http://www.host-8699.com/ Title: 8699 Thu Mar 1 15:35:56 2007 http://host-8700.com/ Title: 8700 Fri Mar 2 11:43:34 2007 http://host-8701.com/ Title: 8701 Fri Mar 2 11:44:00 2007 http://host-8702.com/ Title: 8702 Fri Mar 2 11:44:15 2007 http://host-8703.com/ Title: 8703 Fri Mar 2 11:46:38 2007 http://www.host-8704.com/ Title: 8704 Fri Mar 2 11:47:02 2007 http://host-8705.com/ Title: 8705 Fri Mar 2 11:48:01 2007 http://host-8706.com/ Title: 8706 Fri Mar 2 11:48:55 2007 http://www.host-8707.com/ Title: 8707 Fri Mar 2 11:49:04 2007 http://host-8708.com/ Title: 8708 Fri Mar 2 11:49:55 2007 http://www.host-8709.com/ Title: 8709 Fri Mar 2 11:50:11 2007 http://www.host-8710.com/ Title: 8710 Fri Mar 2 11:50:18 2007 http://www.host-8711.com/ Title: 8711 Fri Mar 2 11:51:18 2007 http://host-8712.com/ Title: 8712 Fri Mar 2 11:51:30 2007 http://www.host-8713.com/ Title: 8713 Fri Mar 2 11:52:16 2007 http://host-8714.com/ Title: 8714 Fri Mar 2 11:52:20 2007 http://www.host-8715.com/ Title: 8715 Fri Mar 2 11:52:24 2007 http://host-8716.com/ Title: 8716 Fri Mar 2 11:52:42 2007 http://host-8717.com/ Title: 8717 Fri Mar 2 11:54:38 2007 http://host-8718.com/ Title: 8718 Fri Mar 2 12:00:30 2007 http://host-8719.com/ Title: 8719 Fri Mar 2 12:00:35 2007 http://www.host-8720.com/ Title: 8720 Fri Mar 2 12:02:36 2007 http://host-8721.com/ Title: 8721 Fri Mar 2 12:02:43 2007 http://host-8722.com/ Title: 8722 Fri Mar 2 12:02:46 2007 http://host-8723.com/ Title: 8723 Fri Mar 2 12:02:51 2007 http://host-8724.com/ Title: 8724 Fri Mar 2 12:09:32 2007 http://host-8725.com/ Title: 8725 Fri Mar 2 12:09:43 2007 http://host-8726.com/ Title: 8726 Fri Mar 2 12:09:55 2007 http://www.host-8727.com/ Title: 8727 Fri Mar 2 12:10:04 2007 http://www.host-8728.com/ Title: 8728 Fri Mar 2 12:10:07 2007 http://www.host-8729.com/ Title: 8729 Fri Mar 2 12:15:47 2007 http://host-8730.com/ Title: 8730 Fri Mar 2 12:15:48 2007 http://www.host-8731.com/ Title: 8731 Fri Mar 2 13:16:30 2007 http://www.host-8732.com/ Title: 8732 Fri Mar 2 13:16:54 2007 http://host-8733.com/ Title: 8733 Fri Mar 2 14:07:51 2007 http://host-8734.com/ Title: 8734 Mon Mar 5 10:01:17 2007 http://www.host-8735.com/ Title: 8735 Mon Mar 5 10:41:46 2007 http://host-8736.com/ Title: 8736 Mon Mar 5 11:10:17 2007 http://host-8737.com/ Title: 8737 Mon Mar 5 11:15:40 2007 http://host-8738.com/ Title: 8738 Mon Mar 5 12:01:19 2007 http://www.host-8739.com/ Title: 8739 Mon Mar 5 12:36:55 2007 http://host-8740.com/ Title: 8740 Mon Mar 5 12:40:53 2007 http://host-8741.com/ Title: 8741 Mon Mar 5 12:40:56 2007 http://www.host-8742.com/ Title: 8742 Mon Mar 5 12:41:03 2007 http://www.host-8743.com/ Title: 8743 Mon Mar 5 12:57:09 2007 http://www.host-8744.com/ Title: 8744 Mon Mar 5 12:57:14 2007 http://www.host-8745.com/ Title: 8745 Mon Mar 5 12:57:19 2007 http://www.host-8746.com/ Title: 8746 Mon Mar 5 14:00:46 2007 http://www.host-8747.com/ Title: 8747 Mon Mar 5 14:04:11 2007 http://host-8748.com/ Title: 8748 Mon Mar 5 14:06:51 2007 http://host-8749.com/ Title: 8749 Mon Mar 5 14:06:51 2007 http://www.host-8750.com/ Title: 8750 Mon Mar 5 14:08:15 2007 http://www.host-8751.com/ Title: 8751 Mon Mar 5 14:08:17 2007 http://www.host-8752.com/ Title: 8752 Mon Mar 5 14:08:19 2007 http://www.host-8753.com/ Title: 8753 Mon Mar 5 14:08:22 2007 http://host-8754.com/ Title: 8754 Mon Mar 5 14:08:23 2007 http://host-8755.com/ Title: 8755 Mon Mar 5 14:08:26 2007 http://www.host-8756.com/ Title: 8756 Mon Mar 5 14:08:38 2007 http://www.host-8757.com/ Title: 8757 Mon Mar 5 14:09:33 2007 http://www.host-8758.com/ Title: 8758 Mon Mar 5 14:09:40 2007 http://host-8759.com/ Title: 8759 Mon Mar 5 14:09:43 2007 http://host-8760.com/ Title: 8760 Mon Mar 5 14:11:09 2007 http://www.host-8761.com/ Title: 8761 Mon Mar 5 14:11:54 2007 http://www.host-8762.com/ Title: 8762 Mon Mar 5 14:11:57 2007 http://www.host-8763.com/ Title: 8763 Mon Mar 5 14:12:10 2007 http://www.host-8764.com/ Title: 8764 Mon Mar 5 14:12:18 2007 http://host-8765.com/ Title: 8765 Mon Mar 5 14:12:59 2007 http://www.host-8766.com/ Title: 8766 Mon Mar 5 14:13:33 2007 http://host-8767.com/ Title: 8767 Mon Mar 5 14:13:34 2007 http://www.host-8768.com/ Title: 8768 Mon Mar 5 15:15:15 2007 http://www.host-8769.com/ Title: 8769 Mon Mar 5 16:04:48 2007 http://host-8770.com/ Title: 8770 Mon Mar 5 16:05:03 2007 http://host-8771.com/ Title: 8771 Mon Mar 5 16:08:46 2007 http://host-8772.com/ Title: 8772 Mon Mar 5 16:09:05 2007 http://host-8773.com/ Title: 8773 Mon Mar 5 16:09:12 2007 http://host-8774.com/ Title: 8774 Mon Mar 5 16:09:36 2007 http://www.host-8775.com/ Title: 8775 Mon Mar 5 17:25:09 2007 http://host-8776.com/ Title: 8776 Mon Mar 5 17:32:17 2007 http://host-8777.com/ Title: 8777 Mon Mar 5 17:32:27 2007 http://host-8778.com/ Title: 8778 Mon Mar 5 17:32:48 2007 http://host-8779.com/ Title: 8779 Mon Mar 5 17:33:16 2007 http://www.host-8780.com/ Title: 8780 Tue Mar 6 09:41:52 2007 http://host-8781.com/ Title: 8781 Tue Mar 6 09:41:57 2007 http://host-8782.com/ Title: 8782 Tue Mar 6 09:42:14 2007 http://host-8783.com/ Title: 8783 Tue Mar 6 09:42:14 2007 http://www.host-8784.com/ Title: 8784 Tue Mar 6 09:42:15 2007 http://host-8785.com/ Title: 8785 Tue Mar 6 09:42:22 2007 http://host-8786.com/ Title: 8786 Tue Mar 6 09:42:24 2007 http://host-8787.com/ Title: 8787 Tue Mar 6 09:42:51 2007 http://host-8788.com/ Title: 8788 Tue Mar 6 09:43:01 2007 http://host-8789.com/ Title: 8789 Tue Mar 6 09:43:06 2007 http://host-8790.com/ Title: 8790 Tue Mar 6 09:46:55 2007 http://host-8791.com/ Title: 8791 Tue Mar 6 09:46:56 2007 http://www.host-8792.com/ Title: 8792 Tue Mar 6 09:46:57 2007 http://www.host-8793.com/ Title: 8793 Tue Mar 6 09:46:59 2007 http://www.host-8794.com/ Title: 8794 Tue Mar 6 09:47:01 2007 http://www.host-8795.com/ Title: 8795 Tue Mar 6 10:39:38 2007 http://www.host-8796.com/ Title: 8796 Tue Mar 6 10:39:55 2007 http://host-8797.com/ Title: 8797 Tue Mar 6 10:55:13 2007 http://www.host-8798.com/ Title: 8798 Tue Mar 6 10:55:17 2007 http://host-8799.com/ Title: 8799 Tue Mar 6 10:55:50 2007 http://host-8800.com/ Title: 8800 Tue Mar 6 10:57:14 2007 http://www.host-8801.com/ Title: 8801 Tue Mar 6 10:57:29 2007 http://host-8802.com/ Title: 8802 Tue Mar 6 10:57:46 2007 http://www.host-8803.com/ Title: 8803 Tue Mar 6 11:02:31 2007 http://www.host-8804.com/ Title: 8804 Tue Mar 6 11:02:39 2007 http://host-8805.com/ Title: 8805 Tue Mar 6 11:02:41 2007 http://host-8806.com/ Title: 8806 Tue Mar 6 11:02:46 2007 http://www.host-8807.com/ Title: 8807 Tue Mar 6 11:02:55 2007 http://www.host-8808.com/ Title: 8808 Tue Mar 6 11:03:01 2007 http://www.host-8809.com/ Title: 8809 Tue Mar 6 11:03:12 2007 http://www.host-8810.com/ Title: 8810 Tue Mar 6 11:12:57 2007 http://host-8811.com/ Title: 8811 Tue Mar 6 11:26:37 2007 http://host-8812.com/ Title: 8812 Tue Mar 6 11:27:41 2007 http://host-8813.com/ Title: 8813 Tue Mar 6 11:32:40 2007 http://www.host-8814.com/ Title: 8814 Tue Mar 6 11:32:53 2007 http://host-8815.com/ Title: 8815 Tue Mar 6 11:33:45 2007 http://host-8816.com/ Title: 8816 Tue Mar 6 12:07:31 2007 http://www.host-8817.com/ Title: 8817 Tue Mar 6 12:07:34 2007 http://host-8818.com/ Title: 8818 Tue Mar 6 12:07:38 2007 http://host-8819.com/ Title: 8819 Tue Mar 6 12:18:51 2007 http://www.host-8820.com/ Title: 8820 Tue Mar 6 12:26:10 2007 http://host-8821.com/ Title: 8821 Tue Mar 6 12:26:11 2007 http://host-8822.com/ Title: 8822 Tue Mar 6 12:45:33 2007 http://host-8823.com/ Title: 8823 Tue Mar 6 12:45:44 2007 http://host-8824.com/ Title: 8824 Tue Mar 6 12:58:19 2007 http://host-8825.com/ Title: 8825 Tue Mar 6 12:58:21 2007 http://host-8826.com/ Title: 8826 Tue Mar 6 12:58:28 2007 http://www.host-8827.com/ Title: 8827 Tue Mar 6 13:05:28 2007 http://www.host-8828.com/ Title: 8828 Tue Mar 6 13:24:54 2007 http://www.host-8829.com/ Title: 8829 Tue Mar 6 13:24:56 2007 http://host-8830.com/ Title: 8830 Tue Mar 6 13:54:44 2007 http://www.host-8831.com/ Title: 8831 Tue Mar 6 13:54:46 2007 http://www.host-8832.com/ Title: 8832 Tue Mar 6 13:54:50 2007 http://host-8833.com/ Title: 8833 Tue Mar 6 15:40:42 2007 http://host-8834.com/ Title: 8834 Tue Mar 6 16:29:25 2007 http://www.host-8835.com/ Title: 8835 Tue Mar 6 16:38:53 2007 http://host-8836.com/ Title: 8836 Tue Mar 6 16:38:59 2007 http://www.host-8837.com/ Title: 8837 Tue Mar 6 16:39:00 2007 http://www.host-8838.com/ Title: 8838 Tue Mar 6 16:39:08 2007 http://www.host-8839.com/ Title: 8839 Tue Mar 6 16:59:58 2007 http://www.host-8840.com/ Title: 8840 Tue Mar 6 17:00:00 2007 http://www.host-8841.com/ Title: 8841 Tue Mar 6 17:00:03 2007 http://www.host-8842.com/ Title: 8842 Tue Mar 6 17:00:15 2007 http://www.host-8843.com/ Title: 8843 Tue Mar 6 17:00:19 2007 http://host-8844.com/ Title: 8844 Tue Mar 6 17:00:20 2007 http://www.host-8845.com/ Title: 8845 Tue Mar 6 17:00:27 2007 http://www.host-8846.com/ Title: 8846 Tue Mar 6 17:00:28 2007 http://host-8847.com/ Title: 8847 Tue Mar 6 17:02:27 2007 http://host-8848.com/ Title: 8848 Tue Mar 6 17:02:33 2007 http://www.host-8849.com/ Title: 8849 Tue Mar 6 17:03:43 2007 http://host-8850.com/ Title: 8850 Tue Mar 6 17:03:55 2007 http://host-8851.com/ Title: 8851 Tue Mar 6 17:03:59 2007 http://host-8852.com/ Title: 8852 Tue Mar 6 17:04:05 2007 http://www.host-8853.com/ Title: 8853 Tue Mar 6 17:04:10 2007 http://host-8854.com/ Title: 8854 Tue Mar 6 17:04:26 2007 http://www.host-8855.com/ Title: 8855 Tue Mar 6 17:04:59 2007 http://www.host-8856.com/ Title: 8856 Tue Mar 6 17:05:07 2007 http://host-8857.com/ Title: 8857 Tue Mar 6 17:06:24 2007 http://host-8858.com/ Title: 8858 Tue Mar 6 17:21:40 2007 http://www.host-8859.com/ Title: 8859 Tue Mar 6 17:22:50 2007 http://www.host-8860.com/ Title: 8860 Tue Mar 6 17:22:52 2007 http://www.host-8861.com/ Title: 8861 Tue Mar 6 17:22:59 2007 http://www.host-8862.com/ Title: 8862 Tue Mar 6 17:23:00 2007 http://www.host-8863.com/ Title: 8863 Tue Mar 6 17:23:04 2007 http://host-8864.com/ Title: 8864 Tue Mar 6 17:23:53 2007 http://host-8865.com/ Title: 8865 Tue Mar 6 17:23:55 2007 http://host-8866.com/ Title: 8866 Tue Mar 6 17:24:10 2007 http://host-8867.com/ Title: 8867 Tue Mar 6 17:24:53 2007 http://host-8868.com/ Title: 8868 Tue Mar 6 17:27:19 2007 http://host-8869.com/ Title: 8869 Tue Mar 6 17:27:27 2007 http://www.host-8870.com/ Title: 8870 Tue Mar 6 17:31:44 2007 http://host-8871.com/ Title: 8871 Tue Mar 6 17:31:46 2007 http://host-8872.com/ Title: 8872 Tue Mar 6 17:31:50 2007 http://host-8873.com/ Title: 8873 Tue Mar 6 17:32:49 2007 http://www.host-8874.com/ Title: 8874 Tue Mar 6 17:37:59 2007 http://www.host-8875.com/ Title: 8875 Tue Mar 6 17:38:46 2007 http://host-8876.com/ Title: 8876 Tue Mar 6 17:39:05 2007 http://www.host-8877.com/ Title: 8877 Tue Mar 6 17:42:57 2007 http://www.host-8878.com/ Title: 8878 Tue Mar 6 18:00:39 2007 http://www.host-8879.com/ Title: 8879 Tue Mar 6 18:00:53 2007 http://www.host-8880.com/ Title: 8880 Wed Mar 7 11:28:37 2007 http://host-8881.com/ Title: 8881 Wed Mar 7 11:28:43 2007 http://host-8882.com/ Title: 8882 Wed Mar 7 11:44:14 2007 http://www.host-8883.com/ Title: 8883 Wed Mar 7 12:14:46 2007 http://www.host-8884.com/ Title: 8884 Wed Mar 7 12:18:10 2007 http://host-8885.com/ Title: 8885 Wed Mar 7 12:18:12 2007 http://host-8886.com/ Title: 8886 Wed Mar 7 12:18:15 2007 http://host-8887.com/ Title: 8887 Wed Mar 7 12:28:05 2007 http://www.host-8888.com/ Title: 8888 Wed Mar 7 13:01:23 2007 http://host-8889.com/ Title: 8889 Wed Mar 7 13:02:17 2007 http://www.host-8890.com/ Title: 8890 Wed Mar 7 13:08:17 2007 http://www.host-8891.com/ Title: 8891 Wed Mar 7 13:08:46 2007 http://host-8892.com/ Title: 8892 Wed Mar 7 14:09:17 2007 http://www.host-8893.com/ Title: 8893 Wed Mar 7 14:09:33 2007 http://www.host-8894.com/ Title: 8894 Wed Mar 7 14:09:40 2007 http://www.host-8895.com/ Title: 8895 Wed Mar 7 14:21:06 2007 http://host-8896.com/ Title: 8896 Wed Mar 7 14:21:07 2007 http://www.host-8897.com/ Title: 8897 Wed Mar 7 14:24:47 2007 http://www.host-8898.com/ Title: 8898 Wed Mar 7 14:24:50 2007 http://www.host-8899.com/ Title: 8899 Wed Mar 7 14:27:24 2007 http://host-8900.com/ Title: 8900 Wed Mar 7 14:27:31 2007 http://host-8901.com/ Title: 8901 Wed Mar 7 14:28:24 2007 http://www.host-8902.com/ Title: 8902 Wed Mar 7 14:31:29 2007 http://www.host-8903.com/ Title: 8903 Wed Mar 7 14:31:31 2007 http://host-8904.com/ Title: 8904 Wed Mar 7 14:31:38 2007 http://host-8905.com/ Title: 8905 Wed Mar 7 14:53:45 2007 http://www.host-8906.com/ Title: 8906 Wed Mar 7 15:01:53 2007 http://host-8907.com/ Title: 8907 Wed Mar 7 15:03:52 2007 http://host-8908.com/ Title: 8908 Wed Mar 7 15:03:56 2007 http://host-8909.com/ Title: 8909 Wed Mar 7 15:34:49 2007 http://host-8910.com/ Title: 8910 Wed Mar 7 15:37:44 2007 http://www.host-8911.com/ Title: 8911 Wed Mar 7 15:46:21 2007 http://host-8912.com/ Title: 8912 Wed Mar 7 15:46:27 2007 http://www.host-8913.com/ Title: 8913 Wed Mar 7 15:49:28 2007 http://www.host-8914.com/ Title: 8914 Wed Mar 7 15:49:32 2007 http://host-8915.com/ Title: 8915 Wed Mar 7 15:50:18 2007 http://www.host-8916.com/ Title: 8916 Wed Mar 7 15:57:46 2007 http://host-8917.com/ Title: 8917 Wed Mar 7 16:00:50 2007 http://host-8918.com/ Title: 8918 Wed Mar 7 16:01:02 2007 http://www.host-8919.com/ Title: 8919 Wed Mar 7 16:01:09 2007 http://host-8920.com/ Title: 8920 Wed Mar 7 16:01:49 2007 http://www.host-8921.com/ Title: 8921 Wed Mar 7 16:01:57 2007 http://host-8922.com/ Title: 8922 Wed Mar 7 16:10:08 2007 http://www.host-8923.com/ Title: 8923 Wed Mar 7 16:10:09 2007 http://www.host-8924.com/ Title: 8924 Wed Mar 7 16:10:30 2007 http://host-8925.com/ Title: 8925 Wed Mar 7 16:11:56 2007 http://host-8926.com/ Title: 8926 Wed Mar 7 16:11:58 2007 http://www.host-8927.com/ Title: 8927 Wed Mar 7 16:12:06 2007 http://www.host-8928.com/ Title: 8928 Wed Mar 7 16:12:49 2007 http://host-8929.com/ Title: 8929 Wed Mar 7 16:17:59 2007 http://www.host-8930.com/ Title: 8930 Wed Mar 7 16:19:02 2007 http://host-8931.com/ Title: 8931 Wed Mar 7 16:22:36 2007 http://www.host-8932.com/ Title: 8932 Wed Mar 7 16:30:16 2007 http://www.host-8933.com/ Title: 8933 Wed Mar 7 16:32:45 2007 http://www.host-8934.com/ Title: 8934 Wed Mar 7 16:33:57 2007 http://www.host-8935.com/ Title: 8935 Wed Mar 7 16:34:08 2007 http://www.host-8936.com/ Title: 8936 Wed Mar 7 16:34:22 2007 http://host-8937.com/ Title: 8937 Wed Mar 7 16:36:58 2007 http://host-8938.com/ Title: 8938 Wed Mar 7 16:37:44 2007 http://www.host-8939.com/ Title: 8939 Wed Mar 7 16:37:54 2007 http://www.host-8940.com/ Title: 8940 Wed Mar 7 16:38:03 2007 http://www.host-8941.com/ Title: 8941 Wed Mar 7 16:39:09 2007 http://host-8942.com/ Title: 8942 Wed Mar 7 16:39:14 2007 http://host-8943.com/ Title: 8943 Wed Mar 7 16:39:39 2007 http://www.host-8944.com/ Title: 8944 Wed Mar 7 16:39:47 2007 http://host-8945.com/ Title: 8945 Wed Mar 7 16:55:42 2007 http://www.host-8946.com/ Title: 8946 Wed Mar 7 17:02:02 2007 http://host-8947.com/ Title: 8947 Wed Mar 7 17:02:15 2007 http://host-8948.com/ Title: 8948 Wed Mar 7 17:02:19 2007 http://host-8949.com/ Title: 8949 Wed Mar 7 17:02:21 2007 http://host-8950.com/ Title: 8950 Wed Mar 7 17:41:55 2007 http://www.host-8951.com/ Title: 8951 Wed Mar 7 18:27:26 2007 http://host-8952.com/ Title: 8952 Wed Mar 7 18:29:31 2007 http://www.host-8953.com/ Title: 8953 Wed Mar 7 18:30:22 2007 http://host-8954.com/ Title: 8954 Wed Mar 7 18:40:47 2007 http://www.host-8955.com/ Title: 8955 Wed Mar 7 18:40:51 2007 http://host-8956.com/ Title: 8956 Wed Mar 7 18:49:38 2007 http://host-8957.com/ Title: 8957 Wed Mar 7 18:49:51 2007 http://www.host-8958.com/ Title: 8958 Wed Mar 7 18:50:11 2007 http://host-8959.com/ Title: 8959 Wed Mar 7 18:50:16 2007 http://www.host-8960.com/ Title: 8960 Wed Mar 7 18:50:33 2007 http://www.host-8961.com/ Title: 8961 Wed Mar 7 18:51:40 2007 http://www.host-8962.com/ Title: 8962 Wed Mar 7 18:51:55 2007 http://www.host-8963.com/ Title: 8963 Wed Mar 7 18:51:56 2007 http://www.host-8964.com/ Title: 8964 Wed Mar 7 18:51:56 2007 http://host-8965.com/ Title: 8965 Wed Mar 7 18:51:57 2007 http://host-8966.com/ Title: 8966 Wed Mar 7 18:51:58 2007 http://host-8967.com/ Title: 8967 Wed Mar 7 18:51:58 2007 http://www.host-8968.com/ Title: 8968 Wed Mar 7 18:51:59 2007 http://www.host-8969.com/ Title: 8969 Wed Mar 7 18:51:59 2007 http://www.host-8970.com/ Title: 8970 Wed Mar 7 18:52:00 2007 http://host-8971.com/ Title: 8971 Wed Mar 7 18:52:01 2007 http://www.host-8972.com/ Title: 8972 Wed Mar 7 18:52:03 2007 http://host-8973.com/ Title: 8973 Wed Mar 7 18:52:04 2007 http://host-8974.com/ Title: 8974 Wed Mar 7 18:52:05 2007 http://host-8975.com/ Title: 8975 Wed Mar 7 18:52:06 2007 http://host-8976.com/ Title: 8976 Wed Mar 7 18:52:08 2007 http://host-8977.com/ Title: 8977 Wed Mar 7 18:52:08 2007 http://host-8978.com/ Title: 8978 Wed Mar 7 18:52:09 2007 http://host-8979.com/ Title: 8979 Wed Mar 7 18:52:12 2007 http://host-8980.com/ Title: 8980 Wed Mar 7 18:52:13 2007 http://host-8981.com/ Title: 8981 Wed Mar 7 18:55:06 2007 http://www.host-8982.com/ Title: 8982 Wed Mar 7 18:55:09 2007 http://host-8983.com/ Title: 8983 Wed Mar 7 18:58:56 2007 http://www.host-8984.com/ Title: 8984 Wed Mar 7 18:59:12 2007 http://www.host-8985.com/ Title: 8985 Wed Mar 7 18:59:23 2007 http://www.host-8986.com/ Title: 8986 Wed Mar 7 18:59:31 2007 http://host-8987.com/ Title: 8987 Wed Mar 7 18:59:36 2007 http://www.host-8988.com/ Title: 8988 Wed Mar 7 18:59:52 2007 http://host-8989.com/ Title: 8989 Wed Mar 7 19:00:17 2007 http://host-8990.com/ Title: 8990 Wed Mar 7 19:00:18 2007 http://www.host-8991.com/ Title: 8991 Wed Mar 7 19:00:19 2007 http://host-8992.com/ Title: 8992 Wed Mar 7 19:00:20 2007 http://host-8993.com/ Title: 8993 Wed Mar 7 19:00:23 2007 http://host-8994.com/ Title: 8994 Wed Mar 7 19:00:23 2007 http://host-8995.com/ Title: 8995 Wed Mar 7 19:00:23 2007 http://www.host-8996.com/ Title: 8996 Wed Mar 7 19:00:24 2007 http://host-8997.com/ Title: 8997 Wed Mar 7 19:00:25 2007 http://www.host-8998.com/ Title: 8998 Wed Mar 7 19:01:30 2007 http://host-8999.com/ Title: 8999 Wed Mar 7 19:01:59 2007 http://www.host-9000.com/ Title: 9000 Thu Mar 8 10:11:06 2007 http://host-9001.com/ Title: 9001 Thu Mar 8 10:26:56 2007 http://www.host-9002.com/ Title: 9002 Thu Mar 8 10:28:05 2007 http://www.host-9003.com/ Title: 9003 Thu Mar 8 10:33:48 2007 http://host-9004.com/ Title: 9004 Thu Mar 8 10:33:59 2007 http://www.host-9005.com/ Title: 9005 Thu Mar 8 10:34:00 2007 http://www.host-9006.com/ Title: 9006 Thu Mar 8 10:37:17 2007 http://www.host-9007.com/ Title: 9007 Thu Mar 8 10:39:29 2007 http://www.host-9008.com/ Title: 9008 Thu Mar 8 10:51:08 2007 http://www.host-9009.com/ Title: 9009 Thu Mar 8 10:51:22 2007 http://www.host-9010.com/ Title: 9010 Thu Mar 8 10:52:27 2007 http://www.host-9011.com/ Title: 9011 Thu Mar 8 10:52:30 2007 http://www.host-9012.com/ Title: 9012 Thu Mar 8 10:52:43 2007 http://host-9013.com/ Title: 9013 Thu Mar 8 10:52:53 2007 http://www.host-9014.com/ Title: 9014 Thu Mar 8 10:57:37 2007 http://www.host-9015.com/ Title: 9015 Thu Mar 8 10:57:47 2007 http://host-9016.com/ Title: 9016 Thu Mar 8 10:57:55 2007 http://www.host-9017.com/ Title: 9017 Thu Mar 8 11:14:50 2007 http://www.host-9018.com/ Title: 9018 Thu Mar 8 11:15:02 2007 http://www.host-9019.com/ Title: 9019 Thu Mar 8 11:15:50 2007 http://host-9020.com/ Title: 9020 Thu Mar 8 11:16:09 2007 http://host-9021.com/ Title: 9021 Thu Mar 8 13:31:19 2007 http://host-9022.com/ Title: 9022 Thu Mar 8 14:15:05 2007 http://www.host-9023.com/ Title: 9023 Thu Mar 8 14:15:36 2007 http://host-9024.com/ Title: 9024 Thu Mar 8 14:45:38 2007 http://host-9025.com/ Title: 9025 Thu Mar 8 14:45:45 2007 http://host-9026.com/ Title: 9026 Thu Mar 8 14:46:05 2007 http://www.host-9027.com/ Title: 9027 Thu Mar 8 14:46:23 2007 http://www.host-9028.com/ Title: 9028 Thu Mar 8 14:47:03 2007 http://host-9029.com/ Title: 9029 Thu Mar 8 14:47:06 2007 http://www.host-9030.com/ Title: 9030 Thu Mar 8 14:54:43 2007 http://host-9031.com/ Title: 9031 Thu Mar 8 14:56:53 2007 http://www.host-9032.com/ Title: 9032 Thu Mar 8 14:56:57 2007 http://host-9033.com/ Title: 9033 Thu Mar 8 14:57:04 2007 http://host-9034.com/ Title: 9034 Thu Mar 8 14:58:37 2007 http://www.host-9035.com/ Title: 9035 Thu Mar 8 15:14:24 2007 http://host-9036.com/ Title: 9036 Thu Mar 8 15:14:34 2007 http://www.host-9037.com/ Title: 9037 Thu Mar 8 15:14:40 2007 http://www.host-9038.com/ Title: 9038 Thu Mar 8 15:14:45 2007 http://www.host-9039.com/ Title: 9039 Thu Mar 8 15:18:05 2007 http://host-9040.com/ Title: 9040 Thu Mar 8 15:18:07 2007 http://host-9041.com/ Title: 9041 Thu Mar 8 15:37:06 2007 http://host-9042.com/ Title: 9042 Thu Mar 8 15:37:09 2007 http://host-9043.com/ Title: 9043 Thu Mar 8 16:35:39 2007 http://host-9044.com/ Title: 9044 Thu Mar 8 16:35:39 2007 http://www.host-9045.com/ Title: 9045 Thu Mar 8 16:35:40 2007 http://www.host-9046.com/ Title: 9046 Thu Mar 8 16:35:41 2007 http://www.host-9047.com/ Title: 9047 Thu Mar 8 16:35:42 2007 http://host-9048.com/ Title: 9048 Thu Mar 8 16:35:43 2007 http://host-9049.com/ Title: 9049 Thu Mar 8 16:35:44 2007 http://www.host-9050.com/ Title: 9050 Thu Mar 8 16:35:45 2007 http://www.host-9051.com/ Title: 9051 Thu Mar 8 16:35:46 2007 http://host-9052.com/ Title: 9052 Thu Mar 8 16:35:47 2007 http://host-9053.com/ Title: 9053 Thu Mar 8 16:35:47 2007 http://host-9054.com/ Title: 9054 Thu Mar 8 16:35:48 2007 http://www.host-9055.com/ Title: 9055 Thu Mar 8 16:35:48 2007 http://www.host-9056.com/ Title: 9056 Thu Mar 8 16:35:49 2007 http://www.host-9057.com/ Title: 9057 Thu Mar 8 16:35:49 2007 http://www.host-9058.com/ Title: 9058 Thu Mar 8 16:35:53 2007 http://www.host-9059.com/ Title: 9059 Thu Mar 8 17:23:14 2007 http://host-9060.com/ Title: 9060 Thu Mar 8 17:32:48 2007 http://www.host-9061.com/ Title: 9061 Thu Mar 8 17:32:53 2007 http://www.host-9062.com/ Title: 9062 Thu Mar 8 17:32:59 2007 http://www.host-9063.com/ Title: 9063 Thu Mar 8 17:33:00 2007 http://www.host-9064.com/ Title: 9064 Thu Mar 8 17:37:02 2007 http://www.host-9065.com/ Title: 9065 Thu Mar 8 17:37:51 2007 http://host-9066.com/ Title: 9066 Thu Mar 8 17:43:42 2007 http://host-9067.com/ Title: 9067 Thu Mar 8 17:43:44 2007 http://host-9068.com/ Title: 9068 Thu Mar 8 17:44:23 2007 http://www.host-9069.com/ Title: 9069 Thu Mar 8 17:44:32 2007 http://www.host-9070.com/ Title: 9070 Thu Mar 8 17:45:00 2007 http://www.host-9071.com/ Title: 9071 Thu Mar 8 17:46:20 2007 http://host-9072.com/ Title: 9072 Thu Mar 8 17:46:22 2007 http://host-9073.com/ Title: 9073 Thu Mar 8 17:46:27 2007 http://www.host-9074.com/ Title: 9074 Thu Mar 8 17:46:36 2007 http://host-9075.com/ Title: 9075 Thu Mar 8 17:46:43 2007 http://host-9076.com/ Title: 9076 Fri Mar 9 10:21:00 2007 http://host-9077.com/ Title: 9077 Fri Mar 9 10:21:42 2007 http://www.host-9078.com/ Title: 9078 Fri Mar 9 11:05:44 2007 http://host-9079.com/ Title: 9079 Fri Mar 9 11:09:24 2007 http://www.host-9080.com/ Title: 9080 Fri Mar 9 11:13:43 2007 http://www.host-9081.com/ Title: 9081 Fri Mar 9 11:13:53 2007 http://www.host-9082.com/ Title: 9082 Fri Mar 9 11:15:39 2007 http://host-9083.com/ Title: 9083 Fri Mar 9 11:15:42 2007 http://host-9084.com/ Title: 9084 Fri Mar 9 11:16:53 2007 http://www.host-9085.com/ Title: 9085 Fri Mar 9 11:18:27 2007 http://www.host-9086.com/ Title: 9086 Fri Mar 9 11:18:36 2007 http://host-9087.com/ Title: 9087 Fri Mar 9 11:20:11 2007 http://host-9088.com/ Title: 9088 Fri Mar 9 11:20:30 2007 http://host-9089.com/ Title: 9089 Fri Mar 9 12:46:22 2007 http://host-9090.com/ Title: 9090 Fri Mar 9 12:46:26 2007 http://www.host-9091.com/ Title: 9091 Fri Mar 9 12:46:31 2007 http://host-9092.com/ Title: 9092 Fri Mar 9 12:46:44 2007 http://host-9093.com/ Title: 9093 Fri Mar 9 12:46:52 2007 http://www.host-9094.com/ Title: 9094 Fri Mar 9 12:46:59 2007 http://host-9095.com/ Title: 9095 Fri Mar 9 12:47:06 2007 http://www.host-9096.com/ Title: 9096 Fri Mar 9 12:48:57 2007 http://www.host-9097.com/ Title: 9097 Fri Mar 9 12:49:04 2007 http://host-9098.com/ Title: 9098 Fri Mar 9 14:44:23 2007 http://host-9099.com/ Title: 9099 Fri Mar 9 14:46:10 2007 http://host-9100.com/ Title: 9100 Fri Mar 9 14:46:16 2007 http://host-9101.com/ Title: 9101 Fri Mar 9 16:41:28 2007 http://www.host-9102.com/ Title: 9102 Fri Mar 9 16:42:16 2007 http://host-9103.com/ Title: 9103 Fri Mar 9 16:48:07 2007 http://www.host-9104.com/ Title: 9104 Fri Mar 9 16:48:49 2007 http://www.host-9105.com/ Title: 9105 Fri Mar 9 17:00:39 2007 http://www.host-9106.com/ Title: 9106 Fri Mar 9 17:00:42 2007 http://www.host-9107.com/ Title: 9107 Fri Mar 9 17:16:49 2007 http://www.host-9108.com/ Title: 9108 Fri Mar 9 17:16:54 2007 http://www.host-9109.com/ Title: 9109 Fri Mar 9 17:17:01 2007 http://host-9110.com/ Title: 9110 Fri Mar 9 17:17:10 2007 http://www.host-9111.com/ Title: 9111 Fri Mar 9 17:17:14 2007 http://host-9112.com/ Title: 9112 Fri Mar 9 17:17:18 2007 http://host-9113.com/ Title: 9113 Fri Mar 9 17:26:15 2007 http://www.host-9114.com/ Title: 9114 Fri Mar 9 17:26:22 2007 http://host-9115.com/ Title: 9115 Fri Mar 9 17:26:36 2007 http://www.host-9116.com/ Title: 9116 Fri Mar 9 17:26:41 2007 http://host-9117.com/ Title: 9117 Fri Mar 9 17:49:41 2007 http://www.host-9118.com/ Title: 9118 Fri Mar 9 17:49:45 2007 http://host-9119.com/ Title: 9119 Fri Mar 9 17:49:48 2007 http://www.host-9120.com/ Title: 9120 Mon Mar 12 10:35:28 2007 http://host-9121.com/ Title: 9121 Mon Mar 12 10:35:47 2007 http://www.host-9122.com/ Title: 9122 Mon Mar 12 10:36:03 2007 http://host-9123.com/ Title: 9123 Mon Mar 12 10:36:06 2007 http://www.host-9124.com/ Title: 9124 Mon Mar 12 10:36:07 2007 http://host-9125.com/ Title: 9125 Mon Mar 12 10:36:17 2007 http://www.host-9126.com/ Title: 9126 Mon Mar 12 10:36:20 2007 http://host-9127.com/ Title: 9127 Mon Mar 12 10:36:22 2007 http://www.host-9128.com/ Title: 9128 Mon Mar 12 10:36:56 2007 http://host-9129.com/ Title: 9129 Mon Mar 12 10:49:54 2007 http://host-9130.com/ Title: 9130 Mon Mar 12 10:57:39 2007 http://host-9131.com/ Title: 9131 Mon Mar 12 10:57:43 2007 http://www.host-9132.com/ Title: 9132 Mon Mar 12 11:07:47 2007 http://www.host-9133.com/ Title: 9133 Mon Mar 12 11:07:54 2007 http://host-9134.com/ Title: 9134 Mon Mar 12 11:08:01 2007 http://www.host-9135.com/ Title: 9135 Mon Mar 12 11:08:02 2007 http://host-9136.com/ Title: 9136 Mon Mar 12 11:08:25 2007 http://www.host-9137.com/ Title: 9137 Mon Mar 12 11:08:28 2007 http://host-9138.com/ Title: 9138 Mon Mar 12 11:08:42 2007 http://host-9139.com/ Title: 9139 Mon Mar 12 11:08:50 2007 http://www.host-9140.com/ Title: 9140 Mon Mar 12 11:08:57 2007 http://host-9141.com/ Title: 9141 Mon Mar 12 11:08:59 2007 http://host-9142.com/ Title: 9142 Mon Mar 12 11:09:07 2007 http://www.host-9143.com/ Title: 9143 Mon Mar 12 11:09:11 2007 http://www.host-9144.com/ Title: 9144 Mon Mar 12 11:26:17 2007 http://www.host-9145.com/ Title: 9145 Mon Mar 12 12:17:53 2007 http://host-9146.com/ Title: 9146 Mon Mar 12 12:33:46 2007 http://host-9147.com/ Title: 9147 Mon Mar 12 12:34:22 2007 http://www.host-9148.com/ Title: 9148 Mon Mar 12 12:34:29 2007 http://www.host-9149.com/ Title: 9149 Mon Mar 12 12:34:32 2007 http://host-9150.com/ Title: 9150 Mon Mar 12 12:34:33 2007 http://host-9151.com/ Title: 9151 Mon Mar 12 12:34:39 2007 http://www.host-9152.com/ Title: 9152 Mon Mar 12 12:35:08 2007 http://host-9153.com/ Title: 9153 Mon Mar 12 12:59:23 2007 http://host-9154.com/ Title: 9154 Mon Mar 12 13:03:28 2007 http://host-9155.com/ Title: 9155 Mon Mar 12 13:15:44 2007 http://www.host-9156.com/ Title: 9156 Mon Mar 12 13:15:50 2007 http://host-9157.com/ Title: 9157 Mon Mar 12 13:58:41 2007 http://host-9158.com/ Title: 9158 Mon Mar 12 13:59:04 2007 http://host-9159.com/ Title: 9159 Mon Mar 12 13:59:31 2007 http://www.host-9160.com/ Title: 9160 Mon Mar 12 14:08:42 2007 http://host-9161.com/ Title: 9161 Mon Mar 12 14:08:43 2007 http://host-9162.com/ Title: 9162 Mon Mar 12 14:08:54 2007 http://host-9163.com/ Title: 9163 Mon Mar 12 14:09:01 2007 http://host-9164.com/ Title: 9164 Mon Mar 12 14:09:08 2007 http://www.host-9165.com/ Title: 9165 Mon Mar 12 14:17:29 2007 http://host-9166.com/ Title: 9166 Mon Mar 12 14:19:37 2007 http://www.host-9167.com/ Title: 9167 Mon Mar 12 14:20:22 2007 http://www.host-9168.com/ Title: 9168 Mon Mar 12 14:26:34 2007 http://www.host-9169.com/ Title: 9169 Mon Mar 12 14:26:38 2007 http://www.host-9170.com/ Title: 9170 Mon Mar 12 14:32:28 2007 http://www.host-9171.com/ Title: 9171 Mon Mar 12 14:32:35 2007 http://host-9172.com/ Title: 9172 Mon Mar 12 14:32:56 2007 http://www.host-9173.com/ Title: 9173 Mon Mar 12 14:41:24 2007 http://host-9174.com/ Title: 9174 Mon Mar 12 14:58:16 2007 http://www.host-9175.com/ Title: 9175 Mon Mar 12 16:01:23 2007 http://host-9176.com/ Title: 9176 Mon Mar 12 16:02:11 2007 http://www.host-9177.com/ Title: 9177 Mon Mar 12 16:02:13 2007 http://host-9178.com/ Title: 9178 Mon Mar 12 16:02:14 2007 http://host-9179.com/ Title: 9179 Mon Mar 12 16:02:31 2007 http://www.host-9180.com/ Title: 9180 Mon Mar 12 16:37:09 2007 http://www.host-9181.com/ Title: 9181 Mon Mar 12 16:37:18 2007 http://www.host-9182.com/ Title: 9182 Mon Mar 12 17:03:41 2007 http://www.host-9183.com/ Title: 9183 Mon Mar 12 17:04:47 2007 http://www.host-9184.com/ Title: 9184 Mon Mar 12 17:46:21 2007 http://host-9185.com/ Title: 9185 Tue Mar 13 10:38:16 2007 http://host-9186.com/ Title: 9186 Tue Mar 13 10:38:18 2007 http://www.host-9187.com/ Title: 9187 Tue Mar 13 11:28:52 2007 http://www.host-9188.com/ Title: 9188 Tue Mar 13 12:29:47 2007 http://host-9189.com/ Title: 9189 Tue Mar 13 14:23:11 2007 http://www.host-9190.com/ Title: 9190 Tue Mar 13 14:23:14 2007 http://host-9191.com/ Title: 9191 Tue Mar 13 14:23:25 2007 http://www.host-9192.com/ Title: 9192 Tue Mar 13 14:23:26 2007 http://www.host-9193.com/ Title: 9193 Tue Mar 13 14:23:27 2007 http://host-9194.com/ Title: 9194 Tue Mar 13 14:23:39 2007 http://www.host-9195.com/ Title: 9195 Tue Mar 13 15:07:54 2007 http://www.host-9196.com/ Title: 9196 Tue Mar 13 16:20:30 2007 http://host-9197.com/ Title: 9197 Tue Mar 13 16:20:35 2007 http://host-9198.com/ Title: 9198 Tue Mar 13 16:26:14 2007 http://www.host-9199.com/ Title: 9199 Tue Mar 13 16:26:20 2007 http://host-9200.com/ Title: 9200 Tue Mar 13 16:26:57 2007 http://www.host-9201.com/ Title: 9201 Tue Mar 13 16:27:05 2007 http://host-9202.com/ Title: 9202 Tue Mar 13 16:41:27 2007 http://host-9203.com/ Title: 9203 Tue Mar 13 16:41:30 2007 http://host-9204.com/ Title: 9204 Tue Mar 13 16:41:34 2007 http://host-9205.com/ Title: 9205 Tue Mar 13 16:43:27 2007 http://www.host-9206.com/ Title: 9206 Tue Mar 13 16:43:27 2007 http://www.host-9207.com/ Title: 9207 Tue Mar 13 16:49:54 2007 http://www.host-9208.com/ Title: 9208 Tue Mar 13 16:50:09 2007 http://host-9209.com/ Title: 9209 Tue Mar 13 16:50:10 2007 http://www.host-9210.com/ Title: 9210 Wed Mar 14 10:47:37 2007 http://host-9211.com/ Title: 9211 Wed Mar 14 10:54:04 2007 http://host-9212.com/ Title: 9212 Wed Mar 14 11:41:43 2007 http://www.host-9213.com/ Title: 9213 Wed Mar 14 11:43:33 2007 http://host-9214.com/ Title: 9214 Wed Mar 14 11:43:44 2007 http://www.host-9215.com/ Title: 9215 Wed Mar 14 11:44:51 2007 http://www.host-9216.com/ Title: 9216 Wed Mar 14 11:45:28 2007 http://www.host-9217.com/ Title: 9217 Wed Mar 14 11:45:33 2007 http://www.host-9218.com/ Title: 9218 Wed Mar 14 12:02:43 2007 http://www.host-9219.com/ Title: 9219 Wed Mar 14 12:02:48 2007 http://www.host-9220.com/ Title: 9220 Wed Mar 14 12:02:50 2007 http://www.host-9221.com/ Title: 9221 Wed Mar 14 12:02:57 2007 http://host-9222.com/ Title: 9222 Wed Mar 14 12:17:18 2007 http://www.host-9223.com/ Title: 9223 Wed Mar 14 12:52:58 2007 http://www.host-9224.com/ Title: 9224 Wed Mar 14 13:15:47 2007 http://www.host-9225.com/ Title: 9225 Wed Mar 14 13:16:07 2007 http://host-9226.com/ Title: 9226 Wed Mar 14 13:16:07 2007 http://www.host-9227.com/ Title: 9227 Wed Mar 14 13:16:28 2007 http://host-9228.com/ Title: 9228 Wed Mar 14 13:16:36 2007 http://host-9229.com/ Title: 9229 Wed Mar 14 13:16:38 2007 http://host-9230.com/ Title: 9230 Wed Mar 14 13:24:07 2007 http://www.host-9231.com/ Title: 9231 Wed Mar 14 13:24:10 2007 http://www.host-9232.com/ Title: 9232 Wed Mar 14 13:24:15 2007 http://host-9233.com/ Title: 9233 Wed Mar 14 13:24:17 2007 http://host-9234.com/ Title: 9234 Wed Mar 14 13:24:36 2007 http://www.host-9235.com/ Title: 9235 Wed Mar 14 14:07:36 2007 http://host-9236.com/ Title: 9236 Wed Mar 14 14:07:53 2007 http://host-9237.com/ Title: 9237 Wed Mar 14 14:07:57 2007 http://www.host-9238.com/ Title: 9238 Wed Mar 14 14:12:15 2007 http://host-9239.com/ Title: 9239 Wed Mar 14 14:18:47 2007 http://www.host-9240.com/ Title: 9240 Wed Mar 14 14:19:13 2007 http://host-9241.com/ Title: 9241 Wed Mar 14 14:19:14 2007 http://host-9242.com/ Title: 9242 Wed Mar 14 14:19:17 2007 http://host-9243.com/ Title: 9243 Wed Mar 14 14:19:55 2007 http://host-9244.com/ Title: 9244 Wed Mar 14 14:20:10 2007 http://host-9245.com/ Title: 9245 Wed Mar 14 14:20:18 2007 http://www.host-9246.com/ Title: 9246 Wed Mar 14 14:24:04 2007 http://www.host-9247.com/ Title: 9247 Wed Mar 14 14:24:08 2007 http://host-9248.com/ Title: 9248 Wed Mar 14 14:24:11 2007 http://host-9249.com/ Title: 9249 Wed Mar 14 14:24:18 2007 http://host-9250.com/ Title: 9250 Wed Mar 14 14:24:21 2007 http://host-9251.com/ Title: 9251 Wed Mar 14 14:37:54 2007 http://host-9252.com/ Title: 9252 Wed Mar 14 14:38:32 2007 http://host-9253.com/ Title: 9253 Wed Mar 14 14:39:01 2007 http://www.host-9254.com/ Title: 9254 Wed Mar 14 14:39:03 2007 http://host-9255.com/ Title: 9255 Wed Mar 14 15:47:26 2007 http://host-9256.com/ Title: 9256 Wed Mar 14 16:14:20 2007 http://host-9257.com/ Title: 9257 Wed Mar 14 16:16:52 2007 http://host-9258.com/ Title: 9258 Wed Mar 14 16:16:57 2007 http://host-9259.com/ Title: 9259 Wed Mar 14 16:31:36 2007 http://www.host-9260.com/ Title: 9260 Wed Mar 14 16:31:46 2007 http://www.host-9261.com/ Title: 9261 Wed Mar 14 16:31:47 2007 http://www.host-9262.com/ Title: 9262 Wed Mar 14 16:31:52 2007 http://www.host-9263.com/ Title: 9263 Wed Mar 14 18:10:42 2007 http://www.host-9264.com/ Title: 9264 Wed Mar 14 18:20:52 2007 http://host-9265.com/ Title: 9265 Wed Mar 14 18:42:15 2007 http://host-9266.com/ Title: 9266 Wed Mar 14 18:52:31 2007 http://www.host-9267.com/ Title: 9267 Thu Mar 15 10:22:03 2007 http://www.host-9268.com/ Title: 9268 Thu Mar 15 11:47:21 2007 http://www.host-9269.com/ Title: 9269 Thu Mar 15 11:47:29 2007 http://host-9270.com/ Title: 9270 Thu Mar 15 11:48:08 2007 http://www.host-9271.com/ Title: 9271 Thu Mar 15 11:48:44 2007 http://www.host-9272.com/ Title: 9272 Thu Mar 15 11:49:51 2007 http://www.host-9273.com/ Title: 9273 Thu Mar 15 11:49:56 2007 http://host-9274.com/ Title: 9274 Thu Mar 15 11:50:07 2007 http://host-9275.com/ Title: 9275 Thu Mar 15 11:51:02 2007 http://www.host-9276.com/ Title: 9276 Thu Mar 15 11:51:06 2007 http://host-9277.com/ Title: 9277 Thu Mar 15 11:51:43 2007 http://host-9278.com/ Title: 9278 Thu Mar 15 11:51:51 2007 http://host-9279.com/ Title: 9279 Thu Mar 15 11:51:52 2007 http://www.host-9280.com/ Title: 9280 Thu Mar 15 11:51:54 2007 http://host-9281.com/ Title: 9281 Thu Mar 15 11:54:54 2007 http://host-9282.com/ Title: 9282 Thu Mar 15 11:56:38 2007 http://host-9283.com/ Title: 9283 Thu Mar 15 13:03:53 2007 http://www.host-9284.com/ Title: 9284 Thu Mar 15 13:03:59 2007 http://host-9285.com/ Title: 9285 Thu Mar 15 13:26:37 2007 http://www.host-9286.com/ Title: 9286 Thu Mar 15 13:45:43 2007 http://www.host-9287.com/ Title: 9287 Thu Mar 15 13:45:49 2007 http://host-9288.com/ Title: 9288 Thu Mar 15 13:59:17 2007 http://host-9289.com/ Title: 9289 Thu Mar 15 15:00:24 2007 http://host-9290.com/ Title: 9290 Thu Mar 15 15:24:00 2007 http://www.host-9291.com/ Title: 9291 Thu Mar 15 15:24:06 2007 http://host-9292.com/ Title: 9292 Thu Mar 15 15:24:10 2007 http://www.host-9293.com/ Title: 9293 Thu Mar 15 15:24:29 2007 http://host-9294.com/ Title: 9294 Thu Mar 15 15:24:41 2007 http://host-9295.com/ Title: 9295 Thu Mar 15 15:32:12 2007 http://host-9296.com/ Title: 9296 Thu Mar 15 15:32:14 2007 http://host-9297.com/ Title: 9297 Thu Mar 15 15:55:26 2007 http://www.host-9298.com/ Title: 9298 Thu Mar 15 16:17:30 2007 http://host-9299.com/ Title: 9299 Thu Mar 15 16:17:35 2007 http://www.host-9300.com/ Title: 9300 Thu Mar 15 16:19:37 2007 http://www.host-9301.com/ Title: 9301 Thu Mar 15 16:20:08 2007 http://www.host-9302.com/ Title: 9302 Thu Mar 15 16:20:11 2007 http://host-9303.com/ Title: 9303 Thu Mar 15 16:22:14 2007 http://www.host-9304.com/ Title: 9304 Thu Mar 15 16:22:28 2007 http://host-9305.com/ Title: 9305 Thu Mar 15 16:22:31 2007 http://www.host-9306.com/ Title: 9306 Thu Mar 15 16:23:40 2007 http://host-9307.com/ Title: 9307 Thu Mar 15 16:23:41 2007 http://host-9308.com/ Title: 9308 Thu Mar 15 16:29:34 2007 http://www.host-9309.com/ Title: 9309 Thu Mar 15 16:29:48 2007 http://host-9310.com/ Title: 9310 Thu Mar 15 16:29:54 2007 http://www.host-9311.com/ Title: 9311 Thu Mar 15 16:31:16 2007 http://host-9312.com/ Title: 9312 Thu Mar 15 16:31:23 2007 http://www.host-9313.com/ Title: 9313 Thu Mar 15 16:31:28 2007 http://host-9314.com/ Title: 9314 Thu Mar 15 16:32:43 2007 http://host-9315.com/ Title: 9315 Thu Mar 15 16:32:47 2007 http://host-9316.com/ Title: 9316 Thu Mar 15 16:32:47 2007 http://host-9317.com/ Title: 9317 Thu Mar 15 16:32:53 2007 http://www.host-9318.com/ Title: 9318 Thu Mar 15 16:34:40 2007 http://www.host-9319.com/ Title: 9319 Thu Mar 15 16:34:44 2007 http://www.host-9320.com/ Title: 9320 Thu Mar 15 16:44:29 2007 http://www.host-9321.com/ Title: 9321 Thu Mar 15 16:44:32 2007 http://host-9322.com/ Title: 9322 Thu Mar 15 17:09:22 2007 http://www.host-9323.com/ Title: 9323 Thu Mar 15 17:28:45 2007 http://www.host-9324.com/ Title: 9324 Thu Mar 15 17:28:53 2007 http://host-9325.com/ Title: 9325 Thu Mar 15 17:28:59 2007 http://www.host-9326.com/ Title: 9326 Thu Mar 15 17:29:09 2007 http://www.host-9327.com/ Title: 9327 Thu Mar 15 17:32:35 2007 http://host-9328.com/ Title: 9328 Thu Mar 15 17:38:02 2007 http://host-9329.com/ Title: 9329 Thu Mar 15 17:39:09 2007 http://www.host-9330.com/ Title: 9330 Thu Mar 15 17:39:14 2007 http://host-9331.com/ Title: 9331 Thu Mar 15 17:39:15 2007 http://host-9332.com/ Title: 9332 Thu Mar 15 17:39:18 2007 http://www.host-9333.com/ Title: 9333 Thu Mar 15 17:41:39 2007 http://host-9334.com/ Title: 9334 Thu Mar 15 17:42:56 2007 http://www.host-9335.com/ Title: 9335 Thu Mar 15 17:43:31 2007 http://host-9336.com/ Title: 9336 Thu Mar 15 17:50:40 2007 http://www.host-9337.com/ Title: 9337 Fri Mar 16 11:06:45 2007 http://host-9338.com/ Title: 9338 Fri Mar 16 11:20:26 2007 http://www.host-9339.com/ Title: 9339 Fri Mar 16 11:20:33 2007 http://host-9340.com/ Title: 9340 Fri Mar 16 11:20:35 2007 http://host-9341.com/ Title: 9341 Fri Mar 16 11:20:36 2007 http://www.host-9342.com/ Title: 9342 Fri Mar 16 11:20:39 2007 http://host-9343.com/ Title: 9343 Fri Mar 16 11:20:39 2007 http://host-9344.com/ Title: 9344 Fri Mar 16 11:20:47 2007 http://host-9345.com/ Title: 9345 Fri Mar 16 11:32:13 2007 http://host-9346.com/ Title: 9346 Fri Mar 16 12:55:50 2007 http://host-9347.com/ Title: 9347 Fri Mar 16 12:56:13 2007 http://www.host-9348.com/ Title: 9348 Fri Mar 16 13:05:15 2007 http://www.host-9349.com/ Title: 9349 Fri Mar 16 13:05:31 2007 http://www.host-9350.com/ Title: 9350 Fri Mar 16 13:05:54 2007 http://www.host-9351.com/ Title: 9351 Fri Mar 16 13:06:19 2007 http://host-9352.com/ Title: 9352 Fri Mar 16 13:06:46 2007 http://www.host-9353.com/ Title: 9353 Fri Mar 16 13:07:42 2007 http://host-9354.com/ Title: 9354 Fri Mar 16 13:07:48 2007 http://www.host-9355.com/ Title: 9355 Fri Mar 16 13:08:28 2007 http://www.host-9356.com/ Title: 9356 Fri Mar 16 13:31:48 2007 http://www.host-9357.com/ Title: 9357 Fri Mar 16 13:31:50 2007 http://www.host-9358.com/ Title: 9358 Fri Mar 16 13:32:11 2007 http://www.host-9359.com/ Title: 9359 Fri Mar 16 13:32:13 2007 http://host-9360.com/ Title: 9360 Fri Mar 16 13:32:15 2007 http://host-9361.com/ Title: 9361 Fri Mar 16 13:32:18 2007 http://host-9362.com/ Title: 9362 Fri Mar 16 13:33:49 2007 http://host-9363.com/ Title: 9363 Fri Mar 16 13:47:10 2007 http://www.host-9364.com/ Title: 9364 Fri Mar 16 13:47:11 2007 http://www.host-9365.com/ Title: 9365 Fri Mar 16 14:00:41 2007 http://host-9366.com/ Title: 9366 Fri Mar 16 14:00:43 2007 http://host-9367.com/ Title: 9367 Fri Mar 16 14:00:46 2007 http://host-9368.com/ Title: 9368 Fri Mar 16 15:36:17 2007 http://www.host-9369.com/ Title: 9369 Fri Mar 16 15:38:15 2007 http://host-9370.com/ Title: 9370 Fri Mar 16 15:38:18 2007 http://www.host-9371.com/ Title: 9371 Fri Mar 16 16:05:31 2007 http://host-9372.com/ Title: 9372 Fri Mar 16 16:08:01 2007 http://host-9373.com/ Title: 9373 Fri Mar 16 16:08:03 2007 http://host-9374.com/ Title: 9374 Fri Mar 16 16:08:05 2007 http://host-9375.com/ Title: 9375 Fri Mar 16 16:08:17 2007 http://host-9376.com/ Title: 9376 Fri Mar 16 16:08:21 2007 http://host-9377.com/ Title: 9377 Fri Mar 16 16:16:34 2007 http://www.host-9378.com/ Title: 9378 Fri Mar 16 16:16:42 2007 http://www.host-9379.com/ Title: 9379 Fri Mar 16 16:16:44 2007 http://www.host-9380.com/ Title: 9380 Fri Mar 16 16:17:05 2007 http://host-9381.com/ Title: 9381 Fri Mar 16 16:17:33 2007 http://host-9382.com/ Title: 9382 Fri Mar 16 16:17:34 2007 http://host-9383.com/ Title: 9383 Fri Mar 16 16:20:55 2007 http://www.host-9384.com/ Title: 9384 Fri Mar 16 16:21:05 2007 http://host-9385.com/ Title: 9385 Fri Mar 16 16:21:32 2007 http://host-9386.com/ Title: 9386 Fri Mar 16 16:22:03 2007 http://www.host-9387.com/ Title: 9387 Fri Mar 16 16:24:58 2007 http://host-9388.com/ Title: 9388 Fri Mar 16 16:25:04 2007 http://www.host-9389.com/ Title: 9389 Fri Mar 16 16:27:41 2007 http://host-9390.com/ Title: 9390 Fri Mar 16 16:28:28 2007 http://host-9391.com/ Title: 9391 Fri Mar 16 16:28:49 2007 http://host-9392.com/ Title: 9392 Fri Mar 16 16:28:52 2007 http://www.host-9393.com/ Title: 9393 Fri Mar 16 16:28:56 2007 http://host-9394.com/ Title: 9394 Fri Mar 16 16:29:34 2007 http://www.host-9395.com/ Title: 9395 Fri Mar 16 16:30:03 2007 http://host-9396.com/ Title: 9396 Fri Mar 16 16:30:16 2007 http://www.host-9397.com/ Title: 9397 Fri Mar 16 16:30:29 2007 http://host-9398.com/ Title: 9398 Fri Mar 16 16:30:31 2007 http://www.host-9399.com/ Title: 9399 Fri Mar 16 16:36:17 2007 http://www.host-9400.com/ Title: 9400 Fri Mar 16 16:36:34 2007 http://www.host-9401.com/ Title: 9401 Fri Mar 16 16:36:50 2007 http://www.host-9402.com/ Title: 9402 Fri Mar 16 16:37:10 2007 http://host-9403.com/ Title: 9403 Fri Mar 16 16:40:30 2007 http://www.host-9404.com/ Title: 9404 Fri Mar 16 16:40:37 2007 http://host-9405.com/ Title: 9405 Fri Mar 16 16:41:02 2007 http://host-9406.com/ Title: 9406 Fri Mar 16 16:41:08 2007 http://www.host-9407.com/ Title: 9407 Fri Mar 16 16:41:16 2007 http://host-9408.com/ Title: 9408 Fri Mar 16 16:41:21 2007 http://host-9409.com/ Title: 9409 Fri Mar 16 16:41:39 2007 http://www.host-9410.com/ Title: 9410 Fri Mar 16 16:41:46 2007 http://host-9411.com/ Title: 9411 Fri Mar 16 16:41:47 2007 http://host-9412.com/ Title: 9412 Fri Mar 16 16:41:53 2007 http://host-9413.com/ Title: 9413 Fri Mar 16 16:41:55 2007 http://host-9414.com/ Title: 9414 Fri Mar 16 16:43:11 2007 http://www.host-9415.com/ Title: 9415 Fri Mar 16 16:43:15 2007 http://host-9416.com/ Title: 9416 Fri Mar 16 16:43:18 2007 http://www.host-9417.com/ Title: 9417 Fri Mar 16 16:43:21 2007 http://host-9418.com/ Title: 9418 Fri Mar 16 16:48:33 2007 http://host-9419.com/ Title: 9419 Fri Mar 16 16:48:42 2007 http://host-9420.com/ Title: 9420 Fri Mar 16 16:51:38 2007 http://www.host-9421.com/ Title: 9421 Fri Mar 16 16:51:42 2007 http://host-9422.com/ Title: 9422 Fri Mar 16 16:54:59 2007 http://host-9423.com/ Title: 9423 Fri Mar 16 16:55:04 2007 http://host-9424.com/ Title: 9424 Fri Mar 16 16:55:07 2007 http://www.host-9425.com/ Title: 9425 Fri Mar 16 16:56:40 2007 http://host-9426.com/ Title: 9426 Fri Mar 16 17:04:12 2007 http://host-9427.com/ Title: 9427 Fri Mar 16 17:04:34 2007 http://www.host-9428.com/ Title: 9428 Fri Mar 16 18:11:02 2007 http://host-9429.com/ Title: 9429 Fri Mar 16 18:19:31 2007 http://host-9430.com/ Title: 9430 Fri Mar 16 18:38:09 2007 http://www.host-9431.com/ Title: 9431 Fri Mar 16 18:39:09 2007 http://host-9432.com/ Title: 9432 Fri Mar 16 18:44:13 2007 http://www.host-9433.com/ Title: 9433 Fri Mar 16 18:44:16 2007 http://host-9434.com/ Title: 9434 Mon Mar 19 07:33:39 2007 http://host-9435.com/ Title: 9435 Mon Mar 19 07:33:45 2007 http://www.host-9436.com/ Title: 9436 Mon Mar 19 07:33:58 2007 http://www.host-9437.com/ Title: 9437 Mon Mar 19 07:34:13 2007 http://www.host-9438.com/ Title: 9438 Mon Mar 19 07:34:35 2007 http://www.host-9439.com/ Title: 9439 Mon Mar 19 07:34:42 2007 http://host-9440.com/ Title: 9440 Mon Mar 19 07:34:49 2007 http://www.host-9441.com/ Title: 9441 Mon Mar 19 07:35:22 2007 http://www.host-9442.com/ Title: 9442 Mon Mar 19 07:35:57 2007 http://host-9443.com/ Title: 9443 Mon Mar 19 07:36:02 2007 http://www.host-9444.com/ Title: 9444 Mon Mar 19 07:36:19 2007 http://host-9445.com/ Title: 9445 Mon Mar 19 07:36:39 2007 http://host-9446.com/ Title: 9446 Mon Mar 19 07:36:41 2007 http://host-9447.com/ Title: 9447 Mon Mar 19 07:36:50 2007 http://www.host-9448.com/ Title: 9448 Mon Mar 19 07:36:54 2007 http://www.host-9449.com/ Title: 9449 Mon Mar 19 07:37:04 2007 http://www.host-9450.com/ Title: 9450 Mon Mar 19 07:37:08 2007 http://www.host-9451.com/ Title: 9451 Mon Mar 19 07:37:21 2007 http://host-9452.com/ Title: 9452 Mon Mar 19 07:37:27 2007 http://www.host-9453.com/ Title: 9453 Mon Mar 19 07:37:35 2007 http://host-9454.com/ Title: 9454 Mon Mar 19 07:37:47 2007 http://host-9455.com/ Title: 9455 Mon Mar 19 07:37:55 2007 http://www.host-9456.com/ Title: 9456 Mon Mar 19 07:38:22 2007 http://host-9457.com/ Title: 9457 Mon Mar 19 07:38:40 2007 http://host-9458.com/ Title: 9458 Mon Mar 19 07:38:48 2007 http://host-9459.com/ Title: 9459 Mon Mar 19 07:38:49 2007 http://host-9460.com/ Title: 9460 Mon Mar 19 07:38:49 2007 http://www.host-9461.com/ Title: 9461 Mon Mar 19 07:38:51 2007 http://host-9462.com/ Title: 9462 Mon Mar 19 07:38:55 2007 http://www.host-9463.com/ Title: 9463 Mon Mar 19 07:39:06 2007 http://host-9464.com/ Title: 9464 Mon Mar 19 07:39:30 2007 http://www.host-9465.com/ Title: 9465 Mon Mar 19 07:39:35 2007 http://host-9466.com/ Title: 9466 Mon Mar 19 07:39:48 2007 http://host-9467.com/ Title: 9467 Mon Mar 19 07:39:51 2007 http://www.host-9468.com/ Title: 9468 Mon Mar 19 07:50:17 2007 http://www.host-9469.com/ Title: 9469 Mon Mar 19 07:50:20 2007 http://host-9470.com/ Title: 9470 Mon Mar 19 07:51:32 2007 http://host-9471.com/ Title: 9471 Mon Mar 19 07:51:41 2007 http://www.host-9472.com/ Title: 9472 Mon Mar 19 07:55:33 2007 http://host-9473.com/ Title: 9473 Mon Mar 19 07:55:41 2007 http://host-9474.com/ Title: 9474 Mon Mar 19 08:08:58 2007 http://host-9475.com/ Title: 9475 Mon Mar 19 08:09:12 2007 http://host-9476.com/ Title: 9476 Mon Mar 19 08:09:23 2007 http://www.host-9477.com/ Title: 9477 Mon Mar 19 08:09:26 2007 http://host-9478.com/ Title: 9478 Mon Mar 19 08:09:30 2007 http://www.host-9479.com/ Title: 9479 Mon Mar 19 08:29:15 2007 http://host-9480.com/ Title: 9480 Mon Mar 19 08:29:18 2007 http://host-9481.com/ Title: 9481 Mon Mar 19 08:29:20 2007 http://host-9482.com/ Title: 9482 Mon Mar 19 08:29:22 2007 http://host-9483.com/ Title: 9483 Mon Mar 19 08:29:55 2007 http://host-9484.com/ Title: 9484 Mon Mar 19 09:00:42 2007 http://www.host-9485.com/ Title: 9485 Mon Mar 19 09:00:45 2007 http://www.host-9486.com/ Title: 9486 Mon Mar 19 09:01:06 2007 http://www.host-9487.com/ Title: 9487 Mon Mar 19 09:04:52 2007 http://www.host-9488.com/ Title: 9488 Mon Mar 19 09:05:17 2007 http://www.host-9489.com/ Title: 9489 Mon Mar 19 09:44:56 2007 http://host-9490.com/ Title: 9490 Mon Mar 19 09:44:59 2007 http://www.host-9491.com/ Title: 9491 Mon Mar 19 09:45:02 2007 http://www.host-9492.com/ Title: 9492 Mon Mar 19 09:52:35 2007 http://host-9493.com/ Title: 9493 Mon Mar 19 10:17:50 2007 http://www.host-9494.com/ Title: 9494 Mon Mar 19 10:24:07 2007 http://host-9495.com/ Title: 9495 Mon Mar 19 10:24:27 2007 http://www.host-9496.com/ Title: 9496 Mon Mar 19 11:43:12 2007 http://host-9497.com/ Title: 9497 Mon Mar 19 11:43:34 2007 http://www.host-9498.com/ Title: 9498 Mon Mar 19 11:43:47 2007 http://www.host-9499.com/ Title: 9499 Mon Mar 19 11:43:52 2007 http://host-9500.com/ Title: 9500 Mon Mar 19 11:43:57 2007 http://www.host-9501.com/ Title: 9501 Mon Mar 19 11:43:58 2007 http://host-9502.com/ Title: 9502 Mon Mar 19 11:44:38 2007 http://www.host-9503.com/ Title: 9503 Mon Mar 19 11:44:51 2007 http://www.host-9504.com/ Title: 9504 Mon Mar 19 11:44:52 2007 http://www.host-9505.com/ Title: 9505 Mon Mar 19 11:44:56 2007 http://www.host-9506.com/ Title: 9506 Mon Mar 19 11:45:05 2007 http://host-9507.com/ Title: 9507 Mon Mar 19 11:45:15 2007 http://host-9508.com/ Title: 9508 Mon Mar 19 11:45:30 2007 http://www.host-9509.com/ Title: 9509 Mon Mar 19 11:46:11 2007 http://www.host-9510.com/ Title: 9510 Mon Mar 19 11:46:11 2007 http://host-9511.com/ Title: 9511 Mon Mar 19 11:46:38 2007 http://www.host-9512.com/ Title: 9512 Mon Mar 19 11:46:40 2007 http://www.host-9513.com/ Title: 9513 Mon Mar 19 11:47:33 2007 http://www.host-9514.com/ Title: 9514 Mon Mar 19 11:47:48 2007 http://www.host-9515.com/ Title: 9515 Mon Mar 19 11:48:24 2007 http://host-9516.com/ Title: 9516 Mon Mar 19 11:48:34 2007 http://www.host-9517.com/ Title: 9517 Mon Mar 19 11:48:39 2007 http://www.host-9518.com/ Title: 9518 Mon Mar 19 11:48:57 2007 http://host-9519.com/ Title: 9519 Mon Mar 19 11:49:04 2007 http://www.host-9520.com/ Title: 9520 Mon Mar 19 11:49:34 2007 http://host-9521.com/ Title: 9521 Mon Mar 19 11:49:38 2007 http://www.host-9522.com/ Title: 9522 Mon Mar 19 11:50:17 2007 http://www.host-9523.com/ Title: 9523 Mon Mar 19 12:18:07 2007 http://host-9524.com/ Title: 9524 Mon Mar 19 12:50:39 2007 http://www.host-9525.com/ Title: 9525 Mon Mar 19 13:23:32 2007 http://www.host-9526.com/ Title: 9526 Mon Mar 19 13:23:37 2007 http://host-9527.com/ Title: 9527 Mon Mar 19 13:23:38 2007 http://host-9528.com/ Title: 9528 Mon Mar 19 13:24:22 2007 http://www.host-9529.com/ Title: 9529 Mon Mar 19 13:28:22 2007 http://host-9530.com/ Title: 9530 Mon Mar 19 13:28:56 2007 http://www.host-9531.com/ Title: 9531 Mon Mar 19 13:28:57 2007 http://www.host-9532.com/ Title: 9532 Mon Mar 19 13:29:06 2007 http://host-9533.com/ Title: 9533 Mon Mar 19 13:52:26 2007 http://host-9534.com/ Title: 9534 Mon Mar 19 14:55:26 2007 http://www.host-9535.com/ Title: 9535 Mon Mar 19 14:55:32 2007 http://host-9536.com/ Title: 9536 Tue Mar 20 09:35:59 2007 http://host-9537.com/ Title: 9537 Tue Mar 20 09:36:20 2007 http://host-9538.com/ Title: 9538 Tue Mar 20 09:50:06 2007 http://www.host-9539.com/ Title: 9539 Tue Mar 20 09:52:16 2007 http://www.host-9540.com/ Title: 9540 Tue Mar 20 09:59:13 2007 http://www.host-9541.com/ Title: 9541 Tue Mar 20 09:59:16 2007 http://host-9542.com/ Title: 9542 Tue Mar 20 10:01:08 2007 http://www.host-9543.com/ Title: 9543 Tue Mar 20 10:01:11 2007 http://host-9544.com/ Title: 9544 Tue Mar 20 10:01:31 2007 http://www.host-9545.com/ Title: 9545 Tue Mar 20 10:01:35 2007 http://host-9546.com/ Title: 9546 Tue Mar 20 10:01:57 2007 http://www.host-9547.com/ Title: 9547 Tue Mar 20 10:02:19 2007 http://www.host-9548.com/ Title: 9548 Tue Mar 20 10:03:27 2007 http://www.host-9549.com/ Title: 9549 Tue Mar 20 10:04:06 2007 http://www.host-9550.com/ Title: 9550 Tue Mar 20 10:04:06 2007 http://www.host-9551.com/ Title: 9551 Tue Mar 20 10:04:09 2007 http://host-9552.com/ Title: 9552 Tue Mar 20 10:04:14 2007 http://host-9553.com/ Title: 9553 Tue Mar 20 10:05:24 2007 http://www.host-9554.com/ Title: 9554 Tue Mar 20 10:05:31 2007 http://www.host-9555.com/ Title: 9555 Tue Mar 20 10:07:02 2007 http://www.host-9556.com/ Title: 9556 Tue Mar 20 10:07:12 2007 http://www.host-9557.com/ Title: 9557 Tue Mar 20 10:07:16 2007 http://host-9558.com/ Title: 9558 Tue Mar 20 10:07:24 2007 http://host-9559.com/ Title: 9559 Tue Mar 20 10:07:35 2007 http://www.host-9560.com/ Title: 9560 Tue Mar 20 10:07:46 2007 http://host-9561.com/ Title: 9561 Tue Mar 20 10:09:55 2007 http://host-9562.com/ Title: 9562 Tue Mar 20 10:22:14 2007 http://www.host-9563.com/ Title: 9563 Tue Mar 20 10:52:33 2007 http://host-9564.com/ Title: 9564 Tue Mar 20 10:53:29 2007 http://www.host-9565.com/ Title: 9565 Tue Mar 20 10:53:33 2007 http://www.host-9566.com/ Title: 9566 Tue Mar 20 10:53:40 2007 http://host-9567.com/ Title: 9567 Tue Mar 20 10:53:44 2007 http://host-9568.com/ Title: 9568 Tue Mar 20 10:53:47 2007 http://www.host-9569.com/ Title: 9569 Tue Mar 20 10:54:06 2007 http://host-9570.com/ Title: 9570 Tue Mar 20 10:55:53 2007 http://host-9571.com/ Title: 9571 Tue Mar 20 10:55:58 2007 http://host-9572.com/ Title: 9572 Tue Mar 20 11:49:01 2007 http://host-9573.com/ Title: 9573 Tue Mar 20 11:52:55 2007 http://host-9574.com/ Title: 9574 Tue Mar 20 11:52:59 2007 http://www.host-9575.com/ Title: 9575 Tue Mar 20 11:53:15 2007 http://host-9576.com/ Title: 9576 Tue Mar 20 11:53:18 2007 http://host-9577.com/ Title: 9577 Tue Mar 20 11:53:21 2007 http://host-9578.com/ Title: 9578 Tue Mar 20 11:53:27 2007 http://www.host-9579.com/ Title: 9579 Tue Mar 20 11:53:34 2007 http://www.host-9580.com/ Title: 9580 Tue Mar 20 11:57:22 2007 http://www.host-9581.com/ Title: 9581 Tue Mar 20 11:59:47 2007 http://www.host-9582.com/ Title: 9582 Tue Mar 20 12:00:03 2007 http://host-9583.com/ Title: 9583 Tue Mar 20 12:00:09 2007 http://host-9584.com/ Title: 9584 Tue Mar 20 12:10:35 2007 http://www.host-9585.com/ Title: 9585 Tue Mar 20 13:00:06 2007 http://www.host-9586.com/ Title: 9586 Tue Mar 20 13:00:27 2007 http://www.host-9587.com/ Title: 9587 Tue Mar 20 13:00:51 2007 http://host-9588.com/ Title: 9588 Tue Mar 20 13:00:51 2007 http://www.host-9589.com/ Title: 9589 Tue Mar 20 13:00:56 2007 http://www.host-9590.com/ Title: 9590 Tue Mar 20 13:16:01 2007 http://www.host-9591.com/ Title: 9591 Tue Mar 20 13:16:06 2007 http://www.host-9592.com/ Title: 9592 Tue Mar 20 13:16:17 2007 http://host-9593.com/ Title: 9593 Tue Mar 20 13:16:25 2007 http://host-9594.com/ Title: 9594 Tue Mar 20 13:40:42 2007 http://www.host-9595.com/ Title: 9595 Tue Mar 20 13:42:49 2007 http://host-9596.com/ Title: 9596 Tue Mar 20 13:42:56 2007 http://host-9597.com/ Title: 9597 Tue Mar 20 13:43:04 2007 http://www.host-9598.com/ Title: 9598 Tue Mar 20 13:43:47 2007 http://host-9599.com/ Title: 9599 Tue Mar 20 13:44:55 2007 http://host-9600.com/ Title: 9600 Tue Mar 20 14:02:24 2007 http://www.host-9601.com/ Title: 9601 Tue Mar 20 14:02:33 2007 http://host-9602.com/ Title: 9602 Tue Mar 20 14:08:12 2007 http://www.host-9603.com/ Title: 9603 Tue Mar 20 14:08:32 2007 http://www.host-9604.com/ Title: 9604 Tue Mar 20 14:49:37 2007 http://www.host-9605.com/ Title: 9605 Tue Mar 20 15:01:47 2007 http://www.host-9606.com/ Title: 9606 Tue Mar 20 16:39:16 2007 http://www.host-9607.com/ Title: 9607 Tue Mar 20 16:41:28 2007 http://www.host-9608.com/ Title: 9608 Tue Mar 20 16:42:09 2007 http://host-9609.com/ Title: 9609 Tue Mar 20 16:42:12 2007 http://host-9610.com/ Title: 9610 Tue Mar 20 16:42:17 2007 http://www.host-9611.com/ Title: 9611 Tue Mar 20 16:42:42 2007 http://www.host-9612.com/ Title: 9612 Tue Mar 20 16:45:38 2007 http://host-9613.com/ Title: 9613 Tue Mar 20 16:45:50 2007 http://host-9614.com/ Title: 9614 Tue Mar 20 16:45:55 2007 http://host-9615.com/ Title: 9615 Tue Mar 20 16:45:56 2007 http://www.host-9616.com/ Title: 9616 Tue Mar 20 16:45:57 2007 http://host-9617.com/ Title: 9617 Tue Mar 20 16:45:59 2007 http://host-9618.com/ Title: 9618 Tue Mar 20 16:46:31 2007 http://host-9619.com/ Title: 9619 Tue Mar 20 16:46:39 2007 http://host-9620.com/ Title: 9620 Tue Mar 20 16:46:41 2007 http://www.host-9621.com/ Title: 9621 Tue Mar 20 16:46:43 2007 http://host-9622.com/ Title: 9622 Tue Mar 20 16:48:06 2007 http://www.host-9623.com/ Title: 9623 Tue Mar 20 16:49:00 2007 http://www.host-9624.com/ Title: 9624 Tue Mar 20 16:49:09 2007 http://www.host-9625.com/ Title: 9625 Tue Mar 20 16:49:38 2007 http://www.host-9626.com/ Title: 9626 Tue Mar 20 16:49:53 2007 http://www.host-9627.com/ Title: 9627 Tue Mar 20 16:49:55 2007 http://www.host-9628.com/ Title: 9628 Tue Mar 20 16:50:27 2007 http://www.host-9629.com/ Title: 9629 Tue Mar 20 16:50:27 2007 http://host-9630.com/ Title: 9630 Tue Mar 20 16:58:21 2007 http://host-9631.com/ Title: 9631 Tue Mar 20 16:58:34 2007 http://host-9632.com/ Title: 9632 Tue Mar 20 16:58:47 2007 http://host-9633.com/ Title: 9633 Tue Mar 20 16:59:40 2007 http://host-9634.com/ Title: 9634 Tue Mar 20 16:59:42 2007 http://www.host-9635.com/ Title: 9635 Tue Mar 20 16:59:49 2007 http://www.host-9636.com/ Title: 9636 Tue Mar 20 17:03:50 2007 http://www.host-9637.com/ Title: 9637 Tue Mar 20 17:04:22 2007 http://www.host-9638.com/ Title: 9638 Tue Mar 20 17:04:58 2007 http://www.host-9639.com/ Title: 9639 Tue Mar 20 17:12:00 2007 http://www.host-9640.com/ Title: 9640 Tue Mar 20 17:13:35 2007 http://www.host-9641.com/ Title: 9641 Tue Mar 20 17:13:41 2007 http://www.host-9642.com/ Title: 9642 Tue Mar 20 17:25:46 2007 http://host-9643.com/ Title: 9643 Tue Mar 20 17:26:05 2007 http://host-9644.com/ Title: 9644 Tue Mar 20 17:26:06 2007 http://host-9645.com/ Title: 9645 Tue Mar 20 17:26:12 2007 http://host-9646.com/ Title: 9646 Tue Mar 20 17:26:16 2007 http://host-9647.com/ Title: 9647 Tue Mar 20 17:26:24 2007 http://host-9648.com/ Title: 9648 Tue Mar 20 17:26:35 2007 http://www.host-9649.com/ Title: 9649 Tue Mar 20 17:29:12 2007 http://host-9650.com/ Title: 9650 Tue Mar 20 17:29:21 2007 http://host-9651.com/ Title: 9651 Tue Mar 20 18:20:12 2007 http://www.host-9652.com/ Title: 9652 Tue Mar 20 18:20:21 2007 http://www.host-9653.com/ Title: 9653 Tue Mar 20 18:52:44 2007 http://www.host-9654.com/ Title: 9654 Tue Mar 20 18:52:45 2007 http://host-9655.com/ Title: 9655 Tue Mar 20 19:27:26 2007 http://www.host-9656.com/ Title: 9656 Wed Mar 21 09:51:04 2007 http://host-9657.com/ Title: 9657 Wed Mar 21 09:53:59 2007 http://host-9658.com/ Title: 9658 Wed Mar 21 09:54:06 2007 http://host-9659.com/ Title: 9659 Wed Mar 21 09:54:15 2007 http://www.host-9660.com/ Title: 9660 Wed Mar 21 09:54:20 2007 http://host-9661.com/ Title: 9661 Wed Mar 21 09:54:56 2007 http://www.host-9662.com/ Title: 9662 Wed Mar 21 09:54:58 2007 http://host-9663.com/ Title: 9663 Wed Mar 21 09:55:13 2007 http://host-9664.com/ Title: 9664 Wed Mar 21 09:55:19 2007 http://host-9665.com/ Title: 9665 Wed Mar 21 09:55:22 2007 http://www.host-9666.com/ Title: 9666 Wed Mar 21 09:55:29 2007 http://www.host-9667.com/ Title: 9667 Wed Mar 21 09:55:40 2007 http://host-9668.com/ Title: 9668 Wed Mar 21 09:56:18 2007 http://host-9669.com/ Title: 9669 Wed Mar 21 09:56:29 2007 http://host-9670.com/ Title: 9670 Wed Mar 21 09:56:59 2007 http://www.host-9671.com/ Title: 9671 Wed Mar 21 09:57:06 2007 http://www.host-9672.com/ Title: 9672 Wed Mar 21 09:57:08 2007 http://host-9673.com/ Title: 9673 Wed Mar 21 12:46:40 2007 http://host-9674.com/ Title: 9674 Wed Mar 21 13:19:42 2007 http://www.host-9675.com/ Title: 9675 Wed Mar 21 13:41:07 2007 http://host-9676.com/ Title: 9676 Wed Mar 21 14:00:38 2007 http://host-9677.com/ Title: 9677 Wed Mar 21 14:00:41 2007 http://www.host-9678.com/ Title: 9678 Wed Mar 21 14:01:12 2007 http://www.host-9679.com/ Title: 9679 Wed Mar 21 14:01:22 2007 http://host-9680.com/ Title: 9680 Wed Mar 21 14:01:29 2007 http://www.host-9681.com/ Title: 9681 Wed Mar 21 14:01:36 2007 http://www.host-9682.com/ Title: 9682 Wed Mar 21 14:02:00 2007 http://www.host-9683.com/ Title: 9683 Wed Mar 21 14:02:10 2007 http://www.host-9684.com/ Title: 9684 Wed Mar 21 14:02:16 2007 http://www.host-9685.com/ Title: 9685 Wed Mar 21 14:02:24 2007 http://host-9686.com/ Title: 9686 Wed Mar 21 14:02:59 2007 http://www.host-9687.com/ Title: 9687 Wed Mar 21 14:38:28 2007 http://www.host-9688.com/ Title: 9688 Wed Mar 21 15:09:31 2007 http://host-9689.com/ Title: 9689 Wed Mar 21 15:31:34 2007 http://host-9690.com/ Title: 9690 Wed Mar 21 16:12:58 2007 http://host-9691.com/ Title: 9691 Wed Mar 21 16:30:16 2007 http://www.host-9692.com/ Title: 9692 Thu Mar 22 09:22:42 2007 http://host-9693.com/ Title: 9693 Thu Mar 22 09:22:44 2007 http://www.host-9694.com/ Title: 9694 Thu Mar 22 09:25:59 2007 http://www.host-9695.com/ Title: 9695 Thu Mar 22 09:29:38 2007 http://host-9696.com/ Title: 9696 Thu Mar 22 09:33:45 2007 http://host-9697.com/ Title: 9697 Thu Mar 22 09:33:46 2007 http://www.host-9698.com/ Title: 9698 Thu Mar 22 09:34:16 2007 http://host-9699.com/ Title: 9699 Thu Mar 22 09:37:04 2007 http://www.host-9700.com/ Title: 9700 Thu Mar 22 09:43:10 2007 http://www.host-9701.com/ Title: 9701 Thu Mar 22 09:43:12 2007 http://www.host-9702.com/ Title: 9702 Thu Mar 22 09:49:35 2007 http://host-9703.com/ Title: 9703 Thu Mar 22 09:50:04 2007 http://www.host-9704.com/ Title: 9704 Thu Mar 22 12:53:57 2007 http://www.host-9705.com/ Title: 9705 Thu Mar 22 13:33:41 2007 http://www.host-9706.com/ Title: 9706 Thu Mar 22 14:12:46 2007 http://www.host-9707.com/ Title: 9707 Thu Mar 22 14:28:31 2007 http://host-9708.com/ Title: 9708 Thu Mar 22 14:29:37 2007 http://host-9709.com/ Title: 9709 Thu Mar 22 14:30:26 2007 http://host-9710.com/ Title: 9710 Thu Mar 22 14:31:05 2007 http://host-9711.com/ Title: 9711 Thu Mar 22 14:34:48 2007 http://host-9712.com/ Title: 9712 Thu Mar 22 15:17:55 2007 http://www.host-9713.com/ Title: 9713 Thu Mar 22 15:18:14 2007 http://host-9714.com/ Title: 9714 Thu Mar 22 15:44:19 2007 http://www.host-9715.com/ Title: 9715 Thu Mar 22 16:12:05 2007 http://www.host-9716.com/ Title: 9716 Thu Mar 22 16:12:29 2007 http://www.host-9717.com/ Title: 9717 Thu Mar 22 16:57:21 2007 http://host-9718.com/ Title: 9718 Thu Mar 22 17:22:30 2007 http://host-9719.com/ Title: 9719 Thu Mar 22 17:29:52 2007 http://host-9720.com/ Title: 9720 Thu Mar 22 17:30:57 2007 http://host-9721.com/ Title: 9721 Fri Mar 23 09:59:49 2007 http://host-9722.com/ Title: 9722 Fri Mar 23 09:59:57 2007 http://www.host-9723.com/ Title: 9723 Fri Mar 23 10:36:18 2007 http://www.host-9724.com/ Title: 9724 Fri Mar 23 10:59:08 2007 http://www.host-9725.com/ Title: 9725 Fri Mar 23 12:28:53 2007 http://www.host-9726.com/ Title: 9726 Fri Mar 23 12:29:54 2007 http://www.host-9727.com/ Title: 9727 Fri Mar 23 12:30:18 2007 http://www.host-9728.com/ Title: 9728 Fri Mar 23 12:39:39 2007 http://host-9729.com/ Title: 9729 Fri Mar 23 12:39:39 2007 http://www.host-9730.com/ Title: 9730 Fri Mar 23 12:39:42 2007 http://www.host-9731.com/ Title: 9731 Fri Mar 23 12:39:56 2007 http://host-9732.com/ Title: 9732 Fri Mar 23 12:44:57 2007 http://www.host-9733.com/ Title: 9733 Fri Mar 23 12:45:09 2007 http://www.host-9734.com/ Title: 9734 Fri Mar 23 12:46:07 2007 http://host-9735.com/ Title: 9735 Fri Mar 23 12:46:10 2007 http://www.host-9736.com/ Title: 9736 Fri Mar 23 12:59:22 2007 http://www.host-9737.com/ Title: 9737 Fri Mar 23 12:59:31 2007 http://host-9738.com/ Title: 9738 Fri Mar 23 12:59:36 2007 http://host-9739.com/ Title: 9739 Fri Mar 23 13:00:14 2007 http://host-9740.com/ Title: 9740 Fri Mar 23 13:04:57 2007 http://host-9741.com/ Title: 9741 Fri Mar 23 13:38:23 2007 http://host-9742.com/ Title: 9742 Fri Mar 23 14:07:47 2007 http://host-9743.com/ Title: 9743 Fri Mar 23 14:14:08 2007 http://host-9744.com/ Title: 9744 Fri Mar 23 14:37:01 2007 http://www.host-9745.com/ Title: 9745 Fri Mar 23 14:40:15 2007 http://host-9746.com/ Title: 9746 Fri Mar 23 14:57:27 2007 http://www.host-9747.com/ Title: 9747 Fri Mar 23 16:19:59 2007 http://www.host-9748.com/ Title: 9748 Fri Mar 23 16:20:59 2007 http://www.host-9749.com/ Title: 9749 Fri Mar 23 16:21:27 2007 http://www.host-9750.com/ Title: 9750 Mon Mar 26 10:22:31 2007 http://www.host-9751.com/ Title: 9751 Mon Mar 26 10:22:43 2007 http://host-9752.com/ Title: 9752 Mon Mar 26 10:23:17 2007 http://www.host-9753.com/ Title: 9753 Mon Mar 26 10:34:20 2007 http://www.host-9754.com/ Title: 9754 Mon Mar 26 10:37:50 2007 http://host-9755.com/ Title: 9755 Mon Mar 26 10:51:08 2007 http://www.host-9756.com/ Title: 9756 Mon Mar 26 10:56:09 2007 http://host-9757.com/ Title: 9757 Mon Mar 26 10:56:27 2007 http://www.host-9758.com/ Title: 9758 Mon Mar 26 10:56:28 2007 http://host-9759.com/ Title: 9759 Mon Mar 26 10:56:40 2007 http://host-9760.com/ Title: 9760 Mon Mar 26 10:56:56 2007 http://host-9761.com/ Title: 9761 Mon Mar 26 10:57:50 2007 http://host-9762.com/ Title: 9762 Mon Mar 26 10:57:51 2007 http://www.host-9763.com/ Title: 9763 Mon Mar 26 11:32:30 2007 http://www.host-9764.com/ Title: 9764 Mon Mar 26 11:42:52 2007 http://host-9765.com/ Title: 9765 Mon Mar 26 11:43:04 2007 http://www.host-9766.com/ Title: 9766 Mon Mar 26 11:44:25 2007 http://host-9767.com/ Title: 9767 Mon Mar 26 12:02:37 2007 http://www.host-9768.com/ Title: 9768 Mon Mar 26 12:04:36 2007 http://host-9769.com/ Title: 9769 Mon Mar 26 12:08:41 2007 http://host-9770.com/ Title: 9770 Mon Mar 26 12:09:37 2007 http://www.host-9771.com/ Title: 9771 Mon Mar 26 12:33:19 2007 http://www.host-9772.com/ Title: 9772 Mon Mar 26 12:51:29 2007 http://host-9773.com/ Title: 9773 Mon Mar 26 13:17:05 2007 http://www.host-9774.com/ Title: 9774 Mon Mar 26 13:26:35 2007 http://host-9775.com/ Title: 9775 Mon Mar 26 13:28:17 2007 http://www.host-9776.com/ Title: 9776 Mon Mar 26 13:47:45 2007 http://www.host-9777.com/ Title: 9777 Mon Mar 26 13:57:37 2007 http://host-9778.com/ Title: 9778 Mon Mar 26 13:57:46 2007 http://host-9779.com/ Title: 9779 Mon Mar 26 16:41:41 2007 http://www.host-9780.com/ Title: 9780 Mon Mar 26 16:42:20 2007 http://www.host-9781.com/ Title: 9781 Mon Mar 26 16:43:16 2007 http://host-9782.com/ Title: 9782 Mon Mar 26 16:45:42 2007 http://www.host-9783.com/ Title: 9783 Tue Mar 27 10:09:56 2007 http://host-9784.com/ Title: 9784 Tue Mar 27 10:09:59 2007 http://host-9785.com/ Title: 9785 Tue Mar 27 10:11:00 2007 http://host-9786.com/ Title: 9786 Tue Mar 27 10:11:55 2007 http://www.host-9787.com/ Title: 9787 Tue Mar 27 10:12:02 2007 http://www.host-9788.com/ Title: 9788 Tue Mar 27 10:23:35 2007 http://host-9789.com/ Title: 9789 Tue Mar 27 10:23:46 2007 http://host-9790.com/ Title: 9790 Tue Mar 27 10:23:48 2007 http://www.host-9791.com/ Title: 9791 Tue Mar 27 10:39:06 2007 http://www.host-9792.com/ Title: 9792 Tue Mar 27 10:39:10 2007 http://host-9793.com/ Title: 9793 Tue Mar 27 10:39:24 2007 http://www.host-9794.com/ Title: 9794 Tue Mar 27 10:39:31 2007 http://host-9795.com/ Title: 9795 Tue Mar 27 10:39:39 2007 http://host-9796.com/ Title: 9796 Tue Mar 27 10:39:50 2007 http://host-9797.com/ Title: 9797 Tue Mar 27 10:39:58 2007 http://www.host-9798.com/ Title: 9798 Tue Mar 27 10:52:44 2007 http://www.host-9799.com/ Title: 9799 Tue Mar 27 11:12:31 2007 http://www.host-9800.com/ Title: 9800 Tue Mar 27 11:12:43 2007 http://host-9801.com/ Title: 9801 Tue Mar 27 13:51:35 2007 http://host-9802.com/ Title: 9802 Tue Mar 27 14:05:03 2007 http://host-9803.com/ Title: 9803 Tue Mar 27 14:05:05 2007 http://www.host-9804.com/ Title: 9804 Tue Mar 27 15:17:21 2007 http://host-9805.com/ Title: 9805 Tue Mar 27 15:17:24 2007 http://host-9806.com/ Title: 9806 Tue Mar 27 15:58:31 2007 http://host-9807.com/ Title: 9807 Tue Mar 27 15:58:49 2007 http://www.host-9808.com/ Title: 9808 Tue Mar 27 15:59:20 2007 http://www.host-9809.com/ Title: 9809 Tue Mar 27 16:35:34 2007 http://host-9810.com/ Title: 9810 Tue Mar 27 16:35:43 2007 http://host-9811.com/ Title: 9811 Tue Mar 27 16:36:08 2007 http://host-9812.com/ Title: 9812 Tue Mar 27 16:36:33 2007 http://www.host-9813.com/ Title: 9813 Tue Mar 27 16:44:49 2007 http://www.host-9814.com/ Title: 9814 Tue Mar 27 16:45:29 2007 http://host-9815.com/ Title: 9815 Tue Mar 27 17:25:09 2007 http://host-9816.com/ Title: 9816 Tue Mar 27 17:25:19 2007 http://host-9817.com/ Title: 9817 Tue Mar 27 17:25:25 2007 http://www.host-9818.com/ Title: 9818 Tue Mar 27 17:30:03 2007 http://host-9819.com/ Title: 9819 Wed Mar 28 11:00:08 2007 http://host-9820.com/ Title: 9820 Wed Mar 28 11:00:43 2007 http://host-9821.com/ Title: 9821 Wed Mar 28 11:00:51 2007 http://host-9822.com/ Title: 9822 Wed Mar 28 11:00:54 2007 http://www.host-9823.com/ Title: 9823 Wed Mar 28 11:00:58 2007 http://host-9824.com/ Title: 9824 Wed Mar 28 11:01:08 2007 http://host-9825.com/ Title: 9825 Wed Mar 28 11:01:11 2007 http://host-9826.com/ Title: 9826 Wed Mar 28 11:02:29 2007 http://www.host-9827.com/ Title: 9827 Wed Mar 28 11:02:52 2007 http://host-9828.com/ Title: 9828 Wed Mar 28 11:05:12 2007 http://host-9829.com/ Title: 9829 Wed Mar 28 11:08:18 2007 http://host-9830.com/ Title: 9830 Wed Mar 28 11:13:03 2007 http://www.host-9831.com/ Title: 9831 Wed Mar 28 11:15:23 2007 http://host-9832.com/ Title: 9832 Wed Mar 28 11:15:24 2007 http://host-9833.com/ Title: 9833 Wed Mar 28 11:15:26 2007 http://www.host-9834.com/ Title: 9834 Wed Mar 28 11:15:42 2007 http://www.host-9835.com/ Title: 9835 Wed Mar 28 11:15:50 2007 http://host-9836.com/ Title: 9836 Wed Mar 28 11:15:52 2007 http://www.host-9837.com/ Title: 9837 Wed Mar 28 11:15:55 2007 http://host-9838.com/ Title: 9838 Wed Mar 28 12:51:18 2007 http://host-9839.com/ Title: 9839 Wed Mar 28 16:06:26 2007 http://host-9840.com/ Title: 9840 Wed Mar 28 16:07:14 2007 http://www.host-9841.com/ Title: 9841 Wed Mar 28 16:42:29 2007 http://host-9842.com/ Title: 9842 Wed Mar 28 16:42:42 2007 http://host-9843.com/ Title: 9843 Wed Mar 28 16:42:56 2007 http://www.host-9844.com/ Title: 9844 Wed Mar 28 17:08:45 2007 http://www.host-9845.com/ Title: 9845 Wed Mar 28 18:19:01 2007 http://www.host-9846.com/ Title: 9846 Wed Mar 28 18:21:54 2007 http://www.host-9847.com/ Title: 9847 Wed Mar 28 18:23:45 2007 http://host-9848.com/ Title: 9848 Thu Mar 29 07:32:23 2007 http://host-9849.com/ Title: 9849 Thu Mar 29 07:32:35 2007 http://host-9850.com/ Title: 9850 Thu Mar 29 07:42:31 2007 http://www.host-9851.com/ Title: 9851 Thu Mar 29 07:42:34 2007 http://host-9852.com/ Title: 9852 Thu Mar 29 07:43:01 2007 http://host-9853.com/ Title: 9853 Thu Mar 29 07:47:18 2007 http://www.host-9854.com/ Title: 9854 Thu Mar 29 07:47:20 2007 http://www.host-9855.com/ Title: 9855 Thu Mar 29 08:48:42 2007 http://host-9856.com/ Title: 9856 Thu Mar 29 08:49:06 2007 http://host-9857.com/ Title: 9857 Thu Mar 29 08:57:25 2007 http://www.host-9858.com/ Title: 9858 Thu Mar 29 09:12:44 2007 http://www.host-9859.com/ Title: 9859 Thu Mar 29 09:12:55 2007 http://host-9860.com/ Title: 9860 Thu Mar 29 09:12:59 2007 http://www.host-9861.com/ Title: 9861 Thu Mar 29 09:18:51 2007 http://www.host-9862.com/ Title: 9862 Thu Mar 29 09:18:58 2007 http://www.host-9863.com/ Title: 9863 Thu Mar 29 09:24:17 2007 http://host-9864.com/ Title: 9864 Thu Mar 29 09:31:12 2007 http://www.host-9865.com/ Title: 9865 Thu Mar 29 09:42:18 2007 http://host-9866.com/ Title: 9866 Thu Mar 29 09:42:23 2007 http://host-9867.com/ Title: 9867 Thu Mar 29 09:42:26 2007 http://www.host-9868.com/ Title: 9868 Thu Mar 29 09:43:17 2007 http://www.host-9869.com/ Title: 9869 Thu Mar 29 09:43:21 2007 http://host-9870.com/ Title: 9870 Thu Mar 29 09:43:25 2007 http://host-9871.com/ Title: 9871 Thu Mar 29 09:43:35 2007 http://www.host-9872.com/ Title: 9872 Thu Mar 29 09:44:14 2007 http://www.host-9873.com/ Title: 9873 Thu Mar 29 09:44:48 2007 http://www.host-9874.com/ Title: 9874 Thu Mar 29 09:45:03 2007 http://host-9875.com/ Title: 9875 Thu Mar 29 09:45:11 2007 http://www.host-9876.com/ Title: 9876 Thu Mar 29 09:46:08 2007 http://www.host-9877.com/ Title: 9877 Thu Mar 29 09:46:20 2007 http://www.host-9878.com/ Title: 9878 Thu Mar 29 09:46:22 2007 http://host-9879.com/ Title: 9879 Thu Mar 29 09:46:27 2007 http://host-9880.com/ Title: 9880 Thu Mar 29 09:46:39 2007 http://host-9881.com/ Title: 9881 Thu Mar 29 09:46:39 2007 http://host-9882.com/ Title: 9882 Thu Mar 29 09:46:45 2007 http://host-9883.com/ Title: 9883 Thu Mar 29 09:46:46 2007 http://host-9884.com/ Title: 9884 Thu Mar 29 09:47:11 2007 http://host-9885.com/ Title: 9885 Thu Mar 29 09:47:14 2007 http://www.host-9886.com/ Title: 9886 Thu Mar 29 09:47:17 2007 http://www.host-9887.com/ Title: 9887 Thu Mar 29 09:47:20 2007 http://www.host-9888.com/ Title: 9888 Thu Mar 29 09:47:22 2007 http://host-9889.com/ Title: 9889 Thu Mar 29 09:48:05 2007 http://host-9890.com/ Title: 9890 Thu Mar 29 09:48:07 2007 http://www.host-9891.com/ Title: 9891 Thu Mar 29 10:13:36 2007 http://www.host-9892.com/ Title: 9892 Thu Mar 29 10:28:27 2007 http://host-9893.com/ Title: 9893 Thu Mar 29 10:28:43 2007 http://host-9894.com/ Title: 9894 Thu Mar 29 10:29:04 2007 http://www.host-9895.com/ Title: 9895 Thu Mar 29 10:29:08 2007 http://www.host-9896.com/ Title: 9896 Thu Mar 29 10:29:11 2007 http://host-9897.com/ Title: 9897 Thu Mar 29 10:41:55 2007 http://host-9898.com/ Title: 9898 Thu Mar 29 10:57:16 2007 http://host-9899.com/ Title: 9899 Thu Mar 29 10:57:34 2007 http://www.host-9900.com/ Title: 9900 Thu Mar 29 10:57:57 2007 http://host-9901.com/ Title: 9901 Thu Mar 29 10:58:11 2007 http://www.host-9902.com/ Title: 9902 Thu Mar 29 13:45:38 2007 http://www.host-9903.com/ Title: 9903 Thu Mar 29 14:08:22 2007 http://host-9904.com/ Title: 9904 Thu Mar 29 14:12:14 2007 http://host-9905.com/ Title: 9905 Thu Mar 29 14:26:55 2007 http://www.host-9906.com/ Title: 9906 Thu Mar 29 14:26:57 2007 http://www.host-9907.com/ Title: 9907 Thu Mar 29 14:40:09 2007 http://www.host-9908.com/ Title: 9908 Thu Mar 29 14:40:18 2007 http://host-9909.com/ Title: 9909 Thu Mar 29 14:40:40 2007 http://www.host-9910.com/ Title: 9910 Thu Mar 29 14:40:45 2007 http://host-9911.com/ Title: 9911 Thu Mar 29 15:01:20 2007 http://www.host-9912.com/ Title: 9912 Thu Mar 29 15:01:35 2007 http://host-9913.com/ Title: 9913 Thu Mar 29 15:01:37 2007 http://www.host-9914.com/ Title: 9914 Thu Mar 29 15:07:32 2007 http://host-9915.com/ Title: 9915 Thu Mar 29 15:14:00 2007 http://www.host-9916.com/ Title: 9916 Thu Mar 29 15:14:32 2007 http://www.host-9917.com/ Title: 9917 Thu Mar 29 15:14:37 2007 http://www.host-9918.com/ Title: 9918 Thu Mar 29 16:46:41 2007 http://www.host-9919.com/ Title: 9919 Thu Mar 29 16:46:57 2007 http://www.host-9920.com/ Title: 9920 Thu Mar 29 16:47:06 2007 http://www.host-9921.com/ Title: 9921 Thu Mar 29 16:47:22 2007 http://www.host-9922.com/ Title: 9922 Thu Mar 29 16:49:16 2007 http://host-9923.com/ Title: 9923 Thu Mar 29 16:49:26 2007 http://host-9924.com/ Title: 9924 Fri Mar 30 11:06:18 2007 http://host-9925.com/ Title: 9925 Fri Mar 30 11:11:13 2007 http://www.host-9926.com/ Title: 9926 Fri Mar 30 11:14:35 2007 http://host-9927.com/ Title: 9927 Fri Mar 30 11:22:45 2007 http://host-9928.com/ Title: 9928 Fri Mar 30 11:32:17 2007 http://www.host-9929.com/ Title: 9929 Fri Mar 30 11:37:03 2007 http://host-9930.com/ Title: 9930 Fri Mar 30 11:37:08 2007 http://www.host-9931.com/ Title: 9931 Fri Mar 30 12:09:15 2007 http://www.host-9932.com/ Title: 9932 Fri Mar 30 12:10:08 2007 http://www.host-9933.com/ Title: 9933 Fri Mar 30 12:11:35 2007 http://www.host-9934.com/ Title: 9934 Fri Mar 30 12:11:56 2007 http://host-9935.com/ Title: 9935 Fri Mar 30 12:15:46 2007 http://host-9936.com/ Title: 9936 Fri Mar 30 13:01:44 2007 http://www.host-9937.com/ Title: 9937 Fri Mar 30 13:01:46 2007 http://www.host-9938.com/ Title: 9938 Fri Mar 30 13:01:52 2007 http://host-9939.com/ Title: 9939 Fri Mar 30 13:03:11 2007 http://www.host-9940.com/ Title: 9940 Fri Mar 30 13:03:45 2007 http://www.host-9941.com/ Title: 9941 Fri Mar 30 13:27:18 2007 http://www.host-9942.com/ Title: 9942 Fri Mar 30 13:46:52 2007 http://www.host-9943.com/ Title: 9943 Fri Mar 30 14:53:00 2007 http://www.host-9944.com/ Title: 9944 Fri Mar 30 15:45:02 2007 http://host-9945.com/ Title: 9945 Fri Mar 30 16:38:19 2007 http://www.host-9946.com/ Title: 9946 Fri Mar 30 16:38:35 2007 http://www.host-9947.com/ Title: 9947 Fri Mar 30 16:38:37 2007 http://www.host-9948.com/ Title: 9948 Fri Mar 30 17:38:51 2007 http://host-9949.com/ Title: 9949 Mon Apr 2 11:37:16 2007 http://www.host-9950.com/ Title: 9950 Mon Apr 2 11:37:27 2007 http://host-9951.com/ Title: 9951 Mon Apr 2 11:37:32 2007 http://www.host-9952.com/ Title: 9952 Mon Apr 2 11:39:18 2007 http://host-9953.com/ Title: 9953 Mon Apr 2 11:47:54 2007 http://host-9954.com/ Title: 9954 Mon Apr 2 12:10:01 2007 http://host-9955.com/ Title: 9955 Mon Apr 2 12:34:48 2007 http://host-9956.com/ Title: 9956 Mon Apr 2 12:35:09 2007 http://host-9957.com/ Title: 9957 Mon Apr 2 13:46:18 2007 http://host-9958.com/ Title: 9958 Mon Apr 2 14:23:09 2007 http://www.host-9959.com/ Title: 9959 Mon Apr 2 14:26:29 2007 http://host-9960.com/ Title: 9960 Mon Apr 2 14:26:32 2007 http://www.host-9961.com/ Title: 9961 Mon Apr 2 14:26:34 2007 http://www.host-9962.com/ Title: 9962 Mon Apr 2 14:47:10 2007 http://www.host-9963.com/ Title: 9963 Mon Apr 2 14:47:14 2007 http://host-9964.com/ Title: 9964 Mon Apr 2 14:50:06 2007 http://www.host-9965.com/ Title: 9965 Mon Apr 2 14:50:14 2007 http://host-9966.com/ Title: 9966 Mon Apr 2 14:50:43 2007 http://host-9967.com/ Title: 9967 Mon Apr 2 14:51:05 2007 http://host-9968.com/ Title: 9968 Mon Apr 2 14:51:39 2007 http://host-9969.com/ Title: 9969 Mon Apr 2 14:52:07 2007 http://www.host-9970.com/ Title: 9970 Mon Apr 2 14:52:33 2007 http://host-9971.com/ Title: 9971 Mon Apr 2 14:52:36 2007 http://host-9972.com/ Title: 9972 Mon Apr 2 15:41:03 2007 http://www.host-9973.com/ Title: 9973 Mon Apr 2 15:41:13 2007 http://host-9974.com/ Title: 9974 Mon Apr 2 15:41:56 2007 http://host-9975.com/ Title: 9975 Mon Apr 2 15:42:29 2007 http://www.host-9976.com/ Title: 9976 Mon Apr 2 15:42:31 2007 http://host-9977.com/ Title: 9977 Mon Apr 2 15:42:43 2007 http://www.host-9978.com/ Title: 9978 Mon Apr 2 15:42:46 2007 http://www.host-9979.com/ Title: 9979 Mon Apr 2 15:48:56 2007 http://www.host-9980.com/ Title: 9980 Mon Apr 2 15:49:37 2007 http://host-9981.com/ Title: 9981 Mon Apr 2 15:55:39 2007 http://host-9982.com/ Title: 9982 Mon Apr 2 15:55:40 2007 http://www.host-9983.com/ Title: 9983 Mon Apr 2 15:55:44 2007 http://www.host-9984.com/ Title: 9984 Mon Apr 2 15:55:46 2007 http://www.host-9985.com/ Title: 9985 Mon Apr 2 15:55:49 2007 http://host-9986.com/ Title: 9986 Mon Apr 2 15:55:52 2007 http://www.host-9987.com/ Title: 9987 Mon Apr 2 16:24:32 2007 http://www.host-9988.com/ Title: 9988 Mon Apr 2 17:15:22 2007 http://www.host-9989.com/ Title: 9989 Mon Apr 2 17:17:53 2007 http://www.host-9990.com/ Title: 9990 Mon Apr 2 17:28:28 2007 http://host-9991.com/ Title: 9991 Mon Apr 2 17:28:32 2007 http://www.host-9992.com/ Title: 9992 Mon Apr 2 17:28:34 2007 http://host-9993.com/ Title: 9993 Mon Apr 2 17:34:36 2007 http://www.host-9994.com/ Title: 9994 Mon Apr 2 17:38:08 2007 http://www.host-9995.com/ Title: 9995 Mon Apr 2 17:38:23 2007 http://host-9996.com/ Title: 9996 Mon Apr 2 17:38:35 2007 http://www.host-9997.com/ Title: 9997 Mon Apr 2 17:38:38 2007 http://www.host-9998.com/ Title: 9998 Mon Apr 2 17:38:41 2007 http://www.host-9999.com/ Title: 9999 Mon Apr 2 17:38:41 2007 http://www.host-10000.com/ Title: 10000 Mon Apr 2 17:40:17 2007 http://host-10001.com/ Title: 10001 Mon Apr 2 17:40:25 2007 http://host-10002.com/ Title: 10002 Mon Apr 2 17:40:42 2007 http://www.host-10003.com/ Title: 10003 Mon Apr 2 17:40:53 2007 http://www.host-10004.com/ Title: 10004 Mon Apr 2 17:51:18 2007 http://www.host-10005.com/ Title: 10005 Mon Apr 2 17:51:19 2007 http://host-10006.com/ Title: 10006 Mon Apr 2 17:52:29 2007 http://www.host-10007.com/ Title: 10007 Mon Apr 2 17:55:02 2007 http://host-10008.com/ Title: 10008 Mon Apr 2 17:55:04 2007 http://www.host-10009.com/ Title: 10009 Mon Apr 2 17:55:21 2007 http://host-10010.com/ Title: 10010 Mon Apr 2 17:55:31 2007 http://host-10011.com/ Title: 10011 Mon Apr 2 17:57:39 2007 http://host-10012.com/ Title: 10012 Mon Apr 2 18:09:29 2007 http://host-10013.com/ Title: 10013 Mon Apr 2 18:09:33 2007 http://www.host-10014.com/ Title: 10014 Mon Apr 2 18:09:40 2007 http://www.host-10015.com/ Title: 10015 Mon Apr 2 18:11:27 2007 http://www.host-10016.com/ Title: 10016 Mon Apr 2 18:15:12 2007 http://host-10017.com/ Title: 10017 Mon Apr 2 18:15:15 2007 http://www.host-10018.com/ Title: 10018 Mon Apr 2 18:15:24 2007 http://www.host-10019.com/ Title: 10019 Mon Apr 2 18:15:37 2007 http://host-10020.com/ Title: 10020 Mon Apr 2 18:15:38 2007 http://www.host-10021.com/ Title: 10021 Mon Apr 2 18:15:51 2007 http://host-10022.com/ Title: 10022 Mon Apr 2 18:19:51 2007 http://www.host-10023.com/ Title: 10023 Mon Apr 2 18:20:38 2007 http://www.host-10024.com/ Title: 10024 Mon Apr 2 18:20:41 2007 http://host-10025.com/ Title: 10025 Mon Apr 2 18:20:54 2007 http://host-10026.com/ Title: 10026 Mon Apr 2 18:20:57 2007 http://host-10027.com/ Title: 10027 Mon Apr 2 18:21:12 2007 http://host-10028.com/ Title: 10028 Mon Apr 2 18:21:56 2007 http://www.host-10029.com/ Title: 10029 Mon Apr 2 18:24:13 2007 http://host-10030.com/ Title: 10030 Mon Apr 2 18:24:17 2007 http://host-10031.com/ Title: 10031 Mon Apr 2 18:24:40 2007 http://www.host-10032.com/ Title: 10032 Mon Apr 2 18:25:06 2007 http://www.host-10033.com/ Title: 10033 Mon Apr 2 18:25:13 2007 http://host-10034.com/ Title: 10034 Mon Apr 2 18:25:25 2007 http://host-10035.com/ Title: 10035 Mon Apr 2 18:25:29 2007 http://host-10036.com/ Title: 10036 Mon Apr 2 18:25:34 2007 http://www.host-10037.com/ Title: 10037 Mon Apr 2 18:25:37 2007 http://host-10038.com/ Title: 10038 Mon Apr 2 18:25:41 2007 http://www.host-10039.com/ Title: 10039 Mon Apr 2 18:25:57 2007 http://www.host-10040.com/ Title: 10040 Mon Apr 2 18:26:24 2007 http://host-10041.com/ Title: 10041 Mon Apr 2 18:26:25 2007 http://host-10042.com/ Title: 10042 Mon Apr 2 18:26:27 2007 http://host-10043.com/ Title: 10043 Mon Apr 2 18:26:32 2007 http://host-10044.com/ Title: 10044 Mon Apr 2 18:26:35 2007 http://www.host-10045.com/ Title: 10045 Mon Apr 2 18:26:43 2007 http://www.host-10046.com/ Title: 10046 Mon Apr 2 18:26:50 2007 http://host-10047.com/ Title: 10047 Mon Apr 2 18:28:47 2007 http://host-10048.com/ Title: 10048 Mon Apr 2 18:28:54 2007 http://www.host-10049.com/ Title: 10049 Mon Apr 2 18:29:54 2007 http://www.host-10050.com/ Title: 10050 Mon Apr 2 18:30:11 2007 http://www.host-10051.com/ Title: 10051 Mon Apr 2 18:31:25 2007 http://www.host-10052.com/ Title: 10052 Mon Apr 2 18:31:31 2007 http://host-10053.com/ Title: 10053 Mon Apr 2 18:31:50 2007 http://host-10054.com/ Title: 10054 Mon Apr 2 18:31:51 2007 http://host-10055.com/ Title: 10055 Mon Apr 2 18:33:21 2007 http://host-10056.com/ Title: 10056 Mon Apr 2 18:33:37 2007 http://www.host-10057.com/ Title: 10057 Mon Apr 2 18:33:46 2007 http://host-10058.com/ Title: 10058 Mon Apr 2 18:33:53 2007 http://www.host-10059.com/ Title: 10059 Mon Apr 2 18:34:04 2007 http://www.host-10060.com/ Title: 10060 Mon Apr 2 18:34:09 2007 http://www.host-10061.com/ Title: 10061 Mon Apr 2 18:34:23 2007 http://www.host-10062.com/ Title: 10062 Mon Apr 2 18:34:26 2007 http://www.host-10063.com/ Title: 10063 Mon Apr 2 18:34:28 2007 http://host-10064.com/ Title: 10064 Mon Apr 2 18:35:05 2007 http://host-10065.com/ Title: 10065 Mon Apr 2 18:35:16 2007 http://www.host-10066.com/ Title: 10066 Mon Apr 2 18:35:36 2007 http://host-10067.com/ Title: 10067 Mon Apr 2 18:36:00 2007 http://host-10068.com/ Title: 10068 Mon Apr 2 18:36:03 2007 http://host-10069.com/ Title: 10069 Mon Apr 2 18:36:07 2007 http://host-10070.com/ Title: 10070 Mon Apr 2 18:36:15 2007 http://www.host-10071.com/ Title: 10071 Mon Apr 2 18:36:18 2007 http://host-10072.com/ Title: 10072 Mon Apr 2 18:36:41 2007 http://www.host-10073.com/ Title: 10073 Tue Apr 3 08:51:48 2007 http://www.host-10074.com/ Title: 10074 Tue Apr 3 08:52:51 2007 http://host-10075.com/ Title: 10075 Tue Apr 3 08:54:26 2007 http://www.host-10076.com/ Title: 10076 Tue Apr 3 08:55:08 2007 http://www.host-10077.com/ Title: 10077 Tue Apr 3 08:56:16 2007 http://host-10078.com/ Title: 10078 Tue Apr 3 08:56:32 2007 http://www.host-10079.com/ Title: 10079 Tue Apr 3 08:59:31 2007 http://www.host-10080.com/ Title: 10080 Tue Apr 3 08:59:37 2007 http://host-10081.com/ Title: 10081 Tue Apr 3 08:59:45 2007 http://host-10082.com/ Title: 10082 Tue Apr 3 08:59:51 2007 http://host-10083.com/ Title: 10083 Tue Apr 3 08:59:55 2007 http://host-10084.com/ Title: 10084 Tue Apr 3 09:00:06 2007 http://host-10085.com/ Title: 10085 Tue Apr 3 09:05:07 2007 http://host-10086.com/ Title: 10086 Tue Apr 3 09:05:08 2007 http://host-10087.com/ Title: 10087 Tue Apr 3 09:05:11 2007 http://host-10088.com/ Title: 10088 Tue Apr 3 09:05:25 2007 http://host-10089.com/ Title: 10089 Tue Apr 3 09:09:00 2007 http://host-10090.com/ Title: 10090 Tue Apr 3 09:09:15 2007 http://www.host-10091.com/ Title: 10091 Tue Apr 3 09:10:08 2007 http://www.host-10092.com/ Title: 10092 Tue Apr 3 09:10:12 2007 http://host-10093.com/ Title: 10093 Tue Apr 3 09:10:15 2007 http://www.host-10094.com/ Title: 10094 Tue Apr 3 09:10:55 2007 http://www.host-10095.com/ Title: 10095 Tue Apr 3 09:21:22 2007 http://host-10096.com/ Title: 10096 Tue Apr 3 09:34:15 2007 http://host-10097.com/ Title: 10097 Tue Apr 3 09:34:29 2007 http://host-10098.com/ Title: 10098 Tue Apr 3 09:34:33 2007 http://host-10099.com/ Title: 10099 Tue Apr 3 09:50:45 2007 http://host-10100.com/ Title: 10100 Tue Apr 3 09:50:49 2007 http://host-10101.com/ Title: 10101 Tue Apr 3 09:51:02 2007 http://www.host-10102.com/ Title: 10102 Tue Apr 3 09:51:10 2007 http://host-10103.com/ Title: 10103 Tue Apr 3 10:24:19 2007 http://www.host-10104.com/ Title: 10104 Tue Apr 3 10:24:23 2007 http://host-10105.com/ Title: 10105 Tue Apr 3 10:24:38 2007 http://www.host-10106.com/ Title: 10106 Tue Apr 3 10:24:46 2007 http://www.host-10107.com/ Title: 10107 Tue Apr 3 10:25:00 2007 http://host-10108.com/ Title: 10108 Tue Apr 3 10:25:08 2007 http://www.host-10109.com/ Title: 10109 Tue Apr 3 10:27:54 2007 http://www.host-10110.com/ Title: 10110 Tue Apr 3 10:28:03 2007 http://host-10111.com/ Title: 10111 Tue Apr 3 10:28:24 2007 http://www.host-10112.com/ Title: 10112 Tue Apr 3 10:40:48 2007 http://www.host-10113.com/ Title: 10113 Tue Apr 3 10:41:50 2007 http://www.host-10114.com/ Title: 10114 Tue Apr 3 10:42:04 2007 http://www.host-10115.com/ Title: 10115 Tue Apr 3 11:41:26 2007 http://www.host-10116.com/ Title: 10116 Tue Apr 3 11:41:29 2007 http://host-10117.com/ Title: 10117 Tue Apr 3 11:54:49 2007 http://www.host-10118.com/ Title: 10118 Tue Apr 3 11:54:50 2007 http://www.host-10119.com/ Title: 10119 Tue Apr 3 11:55:02 2007 http://host-10120.com/ Title: 10120 Tue Apr 3 12:47:27 2007 http://www.host-10121.com/ Title: 10121 Tue Apr 3 12:47:29 2007 http://host-10122.com/ Title: 10122 Tue Apr 3 12:49:17 2007 http://www.host-10123.com/ Title: 10123 Tue Apr 3 12:51:02 2007 http://www.host-10124.com/ Title: 10124 Tue Apr 3 12:51:58 2007 http://www.host-10125.com/ Title: 10125 Tue Apr 3 13:18:20 2007 http://host-10126.com/ Title: 10126 Tue Apr 3 13:18:48 2007 http://www.host-10127.com/ Title: 10127 Tue Apr 3 15:11:32 2007 http://www.host-10128.com/ Title: 10128 Tue Apr 3 15:11:34 2007 http://host-10129.com/ Title: 10129 Tue Apr 3 15:39:15 2007 http://host-10130.com/ Title: 10130 Tue Apr 3 15:39:20 2007 http://host-10131.com/ Title: 10131 Tue Apr 3 15:40:48 2007 http://www.host-10132.com/ Title: 10132 Tue Apr 3 16:00:29 2007 http://www.host-10133.com/ Title: 10133 Tue Apr 3 16:02:33 2007 http://www.host-10134.com/ Title: 10134 Tue Apr 3 16:03:13 2007 http://www.host-10135.com/ Title: 10135 Tue Apr 3 16:03:15 2007 http://www.host-10136.com/ Title: 10136 Tue Apr 3 16:04:20 2007 http://host-10137.com/ Title: 10137 Tue Apr 3 16:05:26 2007 http://www.host-10138.com/ Title: 10138 Tue Apr 3 16:44:54 2007 http://host-10139.com/ Title: 10139 Tue Apr 3 16:44:58 2007 http://host-10140.com/ Title: 10140 Tue Apr 3 16:45:15 2007 http://www.host-10141.com/ Title: 10141 Tue Apr 3 16:45:15 2007 http://www.host-10142.com/ Title: 10142 Tue Apr 3 16:50:23 2007 http://www.host-10143.com/ Title: 10143 Tue Apr 3 16:52:47 2007 http://www.host-10144.com/ Title: 10144 Wed Apr 4 11:08:23 2007 http://host-10145.com/ Title: 10145 Wed Apr 4 11:10:59 2007 http://www.host-10146.com/ Title: 10146 Wed Apr 4 11:11:23 2007 http://www.host-10147.com/ Title: 10147 Wed Apr 4 11:11:27 2007 http://www.host-10148.com/ Title: 10148 Wed Apr 4 11:11:42 2007 http://www.host-10149.com/ Title: 10149 Wed Apr 4 12:07:14 2007 http://host-10150.com/ Title: 10150 Wed Apr 4 12:07:15 2007 http://host-10151.com/ Title: 10151 Wed Apr 4 12:07:19 2007 http://www.host-10152.com/ Title: 10152 Wed Apr 4 12:07:20 2007 http://host-10153.com/ Title: 10153 Wed Apr 4 12:08:28 2007 http://host-10154.com/ Title: 10154 Wed Apr 4 12:08:30 2007 http://host-10155.com/ Title: 10155 Wed Apr 4 12:08:31 2007 http://host-10156.com/ Title: 10156 Wed Apr 4 12:08:33 2007 http://www.host-10157.com/ Title: 10157 Wed Apr 4 14:04:05 2007 http://www.host-10158.com/ Title: 10158 Tue Apr 10 09:59:17 2007 http://host-10159.com/ Title: 10159 Tue Apr 10 10:59:41 2007 http://host-10160.com/ Title: 10160 Tue Apr 10 11:08:59 2007 http://www.host-10161.com/ Title: 10161 Tue Apr 10 11:09:10 2007 http://host-10162.com/ Title: 10162 Tue Apr 10 11:10:56 2007 http://www.host-10163.com/ Title: 10163 Tue Apr 10 11:10:58 2007 http://www.host-10164.com/ Title: 10164 Tue Apr 10 11:11:00 2007 http://www.host-10165.com/ Title: 10165 Tue Apr 10 11:11:04 2007 http://host-10166.com/ Title: 10166 Tue Apr 10 11:11:15 2007 http://host-10167.com/ Title: 10167 Tue Apr 10 11:17:34 2007 http://host-10168.com/ Title: 10168 Tue Apr 10 11:19:15 2007 http://host-10169.com/ Title: 10169 Tue Apr 10 11:19:16 2007 http://host-10170.com/ Title: 10170 Tue Apr 10 11:55:17 2007 http://www.host-10171.com/ Title: 10171 Tue Apr 10 11:56:21 2007 http://www.host-10172.com/ Title: 10172 Tue Apr 10 12:09:24 2007 http://host-10173.com/ Title: 10173 Tue Apr 10 12:40:53 2007 http://host-10174.com/ Title: 10174 Tue Apr 10 13:01:18 2007 http://host-10175.com/ Title: 10175 Tue Apr 10 13:53:55 2007 http://host-10176.com/ Title: 10176 Tue Apr 10 13:54:00 2007 http://host-10177.com/ Title: 10177 Tue Apr 10 13:54:12 2007 http://host-10178.com/ Title: 10178 Tue Apr 10 13:54:17 2007 http://www.host-10179.com/ Title: 10179 Tue Apr 10 13:54:31 2007 http://www.host-10180.com/ Title: 10180 Tue Apr 10 13:54:46 2007 http://host-10181.com/ Title: 10181 Tue Apr 10 14:12:11 2007 http://host-10182.com/ Title: 10182 Tue Apr 10 14:12:13 2007 http://host-10183.com/ Title: 10183 Tue Apr 10 14:13:28 2007 http://www.host-10184.com/ Title: 10184 Tue Apr 10 14:27:10 2007 http://host-10185.com/ Title: 10185 Tue Apr 10 14:27:27 2007 http://www.host-10186.com/ Title: 10186 Tue Apr 10 14:27:39 2007 http://www.host-10187.com/ Title: 10187 Tue Apr 10 14:28:48 2007 http://host-10188.com/ Title: 10188 Tue Apr 10 14:31:00 2007 http://www.host-10189.com/ Title: 10189 Tue Apr 10 14:49:55 2007 http://host-10190.com/ Title: 10190 Tue Apr 10 14:50:19 2007 http://www.host-10191.com/ Title: 10191 Tue Apr 10 14:50:32 2007 http://www.host-10192.com/ Title: 10192 Tue Apr 10 14:50:40 2007 http://host-10193.com/ Title: 10193 Tue Apr 10 14:50:47 2007 http://www.host-10194.com/ Title: 10194 Tue Apr 10 14:50:52 2007 http://www.host-10195.com/ Title: 10195 Tue Apr 10 14:51:04 2007 http://host-10196.com/ Title: 10196 Tue Apr 10 14:52:40 2007 http://www.host-10197.com/ Title: 10197 Tue Apr 10 14:52:43 2007 http://host-10198.com/ Title: 10198 Tue Apr 10 14:55:40 2007 http://host-10199.com/ Title: 10199 Tue Apr 10 14:58:27 2007 http://www.host-10200.com/ Title: 10200 Tue Apr 10 14:58:39 2007 http://www.host-10201.com/ Title: 10201 Tue Apr 10 14:59:46 2007 http://host-10202.com/ Title: 10202 Tue Apr 10 14:59:46 2007 http://host-10203.com/ Title: 10203 Tue Apr 10 14:59:49 2007 http://www.host-10204.com/ Title: 10204 Tue Apr 10 16:11:47 2007 http://host-10205.com/ Title: 10205 Tue Apr 10 17:17:06 2007 http://www.host-10206.com/ Title: 10206 Tue Apr 10 17:17:15 2007 http://www.host-10207.com/ Title: 10207 Tue Apr 10 17:17:25 2007 http://www.host-10208.com/ Title: 10208 Tue Apr 10 17:17:36 2007 http://host-10209.com/ Title: 10209 Tue Apr 10 17:18:49 2007 http://www.host-10210.com/ Title: 10210 Tue Apr 10 17:22:24 2007 http://host-10211.com/ Title: 10211 Tue Apr 10 17:22:25 2007 http://host-10212.com/ Title: 10212 Tue Apr 10 17:27:06 2007 http://www.host-10213.com/ Title: 10213 Tue Apr 10 17:32:24 2007 http://host-10214.com/ Title: 10214 Tue Apr 10 17:32:30 2007 http://host-10215.com/ Title: 10215 Tue Apr 10 17:32:35 2007 http://www.host-10216.com/ Title: 10216 Tue Apr 10 17:32:41 2007 http://host-10217.com/ Title: 10217 Tue Apr 10 17:32:55 2007 http://www.host-10218.com/ Title: 10218 Tue Apr 10 17:34:43 2007 http://host-10219.com/ Title: 10219 Tue Apr 10 17:37:08 2007 http://host-10220.com/ Title: 10220 Tue Apr 10 17:37:32 2007 http://www.host-10221.com/ Title: 10221 Tue Apr 10 17:38:55 2007 http://host-10222.com/ Title: 10222 Tue Apr 10 17:38:56 2007 http://host-10223.com/ Title: 10223 Tue Apr 10 17:38:58 2007 http://www.host-10224.com/ Title: 10224 Tue Apr 10 17:39:12 2007 http://host-10225.com/ Title: 10225 Tue Apr 10 17:39:18 2007 http://host-10226.com/ Title: 10226 Tue Apr 10 17:39:26 2007 http://host-10227.com/ Title: 10227 Tue Apr 10 17:40:21 2007 http://www.host-10228.com/ Title: 10228 Tue Apr 10 17:40:25 2007 http://host-10229.com/ Title: 10229 Tue Apr 10 17:42:27 2007 http://www.host-10230.com/ Title: 10230 Tue Apr 10 17:42:37 2007 http://www.host-10231.com/ Title: 10231 Tue Apr 10 17:42:41 2007 http://host-10232.com/ Title: 10232 Tue Apr 10 17:43:02 2007 http://www.host-10233.com/ Title: 10233 Tue Apr 10 17:43:05 2007 http://www.host-10234.com/ Title: 10234 Tue Apr 10 17:43:11 2007 http://www.host-10235.com/ Title: 10235 Tue Apr 10 17:43:57 2007 http://host-10236.com/ Title: 10236 Tue Apr 10 17:46:44 2007 http://www.host-10237.com/ Title: 10237 Tue Apr 10 17:47:17 2007 http://host-10238.com/ Title: 10238 Tue Apr 10 17:47:19 2007 http://host-10239.com/ Title: 10239 Tue Apr 10 17:47:21 2007 http://host-10240.com/ Title: 10240 Tue Apr 10 17:48:02 2007 http://host-10241.com/ Title: 10241 Tue Apr 10 17:48:15 2007 http://www.host-10242.com/ Title: 10242 Tue Apr 10 17:48:31 2007 http://host-10243.com/ Title: 10243 Tue Apr 10 17:48:48 2007 http://www.host-10244.com/ Title: 10244 Tue Apr 10 17:48:52 2007 http://www.host-10245.com/ Title: 10245 Tue Apr 10 17:48:58 2007 http://www.host-10246.com/ Title: 10246 Tue Apr 10 17:49:05 2007 http://www.host-10247.com/ Title: 10247 Tue Apr 10 17:49:31 2007 http://www.host-10248.com/ Title: 10248 Tue Apr 10 17:49:39 2007 http://www.host-10249.com/ Title: 10249 Tue Apr 10 17:49:42 2007 http://host-10250.com/ Title: 10250 Tue Apr 10 17:49:46 2007 http://www.host-10251.com/ Title: 10251 Wed Apr 11 09:35:25 2007 http://host-10252.com/ Title: 10252 Wed Apr 11 09:35:38 2007 http://host-10253.com/ Title: 10253 Wed Apr 11 09:36:00 2007 http://www.host-10254.com/ Title: 10254 Wed Apr 11 09:51:34 2007 http://www.host-10255.com/ Title: 10255 Wed Apr 11 10:31:42 2007 http://www.host-10256.com/ Title: 10256 Wed Apr 11 10:31:59 2007 http://www.host-10257.com/ Title: 10257 Wed Apr 11 10:32:21 2007 http://www.host-10258.com/ Title: 10258 Wed Apr 11 10:32:25 2007 http://www.host-10259.com/ Title: 10259 Wed Apr 11 10:32:34 2007 http://host-10260.com/ Title: 10260 Wed Apr 11 10:35:40 2007 http://www.host-10261.com/ Title: 10261 Wed Apr 11 10:37:21 2007 http://host-10262.com/ Title: 10262 Wed Apr 11 10:37:30 2007 http://host-10263.com/ Title: 10263 Wed Apr 11 10:37:52 2007 http://www.host-10264.com/ Title: 10264 Wed Apr 11 10:47:53 2007 http://www.host-10265.com/ Title: 10265 Wed Apr 11 10:49:12 2007 http://host-10266.com/ Title: 10266 Wed Apr 11 10:49:14 2007 http://www.host-10267.com/ Title: 10267 Wed Apr 11 10:49:37 2007 http://www.host-10268.com/ Title: 10268 Wed Apr 11 12:05:00 2007 http://www.host-10269.com/ Title: 10269 Wed Apr 11 12:05:11 2007 http://host-10270.com/ Title: 10270 Wed Apr 11 12:05:14 2007 http://www.host-10271.com/ Title: 10271 Wed Apr 11 12:05:19 2007 http://host-10272.com/ Title: 10272 Wed Apr 11 12:05:25 2007 http://host-10273.com/ Title: 10273 Wed Apr 11 12:05:38 2007 http://host-10274.com/ Title: 10274 Wed Apr 11 12:05:42 2007 http://host-10275.com/ Title: 10275 Wed Apr 11 12:06:03 2007 http://host-10276.com/ Title: 10276 Wed Apr 11 12:06:37 2007 http://www.host-10277.com/ Title: 10277 Wed Apr 11 12:06:38 2007 http://www.host-10278.com/ Title: 10278 Wed Apr 11 12:06:43 2007 http://www.host-10279.com/ Title: 10279 Wed Apr 11 12:06:55 2007 http://www.host-10280.com/ Title: 10280 Wed Apr 11 12:13:21 2007 http://host-10281.com/ Title: 10281 Wed Apr 11 12:13:34 2007 http://host-10282.com/ Title: 10282 Wed Apr 11 12:15:52 2007 http://host-10283.com/ Title: 10283 Wed Apr 11 12:15:54 2007 http://www.host-10284.com/ Title: 10284 Wed Apr 11 12:22:41 2007 http://host-10285.com/ Title: 10285 Wed Apr 11 12:22:45 2007 http://host-10286.com/ Title: 10286 Wed Apr 11 12:22:47 2007 http://host-10287.com/ Title: 10287 Wed Apr 11 12:23:47 2007 http://www.host-10288.com/ Title: 10288 Wed Apr 11 12:23:50 2007 http://www.host-10289.com/ Title: 10289 Wed Apr 11 13:03:30 2007 http://host-10290.com/ Title: 10290 Wed Apr 11 13:03:36 2007 http://host-10291.com/ Title: 10291 Wed Apr 11 13:03:48 2007 http://www.host-10292.com/ Title: 10292 Wed Apr 11 13:03:57 2007 http://www.host-10293.com/ Title: 10293 Wed Apr 11 13:21:19 2007 http://host-10294.com/ Title: 10294 Wed Apr 11 13:22:26 2007 http://host-10295.com/ Title: 10295 Wed Apr 11 13:22:33 2007 http://host-10296.com/ Title: 10296 Wed Apr 11 13:22:45 2007 http://host-10297.com/ Title: 10297 Wed Apr 11 13:38:46 2007 http://host-10298.com/ Title: 10298 Wed Apr 11 13:39:29 2007 http://www.host-10299.com/ Title: 10299 Wed Apr 11 13:45:38 2007 http://host-10300.com/ Title: 10300 Wed Apr 11 15:25:43 2007 http://www.host-10301.com/ Title: 10301 Wed Apr 11 15:51:12 2007 http://host-10302.com/ Title: 10302 Wed Apr 11 15:55:07 2007 http://host-10303.com/ Title: 10303 Wed Apr 11 15:55:13 2007 http://www.host-10304.com/ Title: 10304 Wed Apr 11 15:55:17 2007 http://www.host-10305.com/ Title: 10305 Wed Apr 11 16:00:30 2007 http://host-10306.com/ Title: 10306 Wed Apr 11 16:28:44 2007 http://www.host-10307.com/ Title: 10307 Wed Apr 11 16:35:10 2007 http://www.host-10308.com/ Title: 10308 Wed Apr 11 16:36:02 2007 http://host-10309.com/ Title: 10309 Wed Apr 11 16:36:15 2007 http://www.host-10310.com/ Title: 10310 Wed Apr 11 16:37:11 2007 http://host-10311.com/ Title: 10311 Wed Apr 11 16:37:16 2007 http://host-10312.com/ Title: 10312 Wed Apr 11 16:37:24 2007 http://www.host-10313.com/ Title: 10313 Wed Apr 11 16:37:30 2007 http://www.host-10314.com/ Title: 10314 Wed Apr 11 16:37:35 2007 http://host-10315.com/ Title: 10315 Wed Apr 11 16:37:57 2007 http://www.host-10316.com/ Title: 10316 Wed Apr 11 16:49:15 2007 http://host-10317.com/ Title: 10317 Wed Apr 11 16:50:28 2007 http://www.host-10318.com/ Title: 10318 Wed Apr 11 16:50:38 2007 http://host-10319.com/ Title: 10319 Wed Apr 11 16:50:50 2007 http://www.host-10320.com/ Title: 10320 Wed Apr 11 16:51:05 2007 http://host-10321.com/ Title: 10321 Wed Apr 11 16:51:16 2007 http://host-10322.com/ Title: 10322 Wed Apr 11 16:52:17 2007 http://host-10323.com/ Title: 10323 Wed Apr 11 16:54:29 2007 http://www.host-10324.com/ Title: 10324 Wed Apr 11 16:55:01 2007 http://www.host-10325.com/ Title: 10325 Wed Apr 11 16:55:11 2007 http://host-10326.com/ Title: 10326 Wed Apr 11 16:57:24 2007 http://host-10327.com/ Title: 10327 Wed Apr 11 16:57:31 2007 http://www.host-10328.com/ Title: 10328 Wed Apr 11 16:57:46 2007 http://www.host-10329.com/ Title: 10329 Wed Apr 11 16:58:15 2007 http://www.host-10330.com/ Title: 10330 Wed Apr 11 16:58:15 2007 http://host-10331.com/ Title: 10331 Wed Apr 11 16:58:19 2007 http://host-10332.com/ Title: 10332 Wed Apr 11 16:58:34 2007 http://host-10333.com/ Title: 10333 Wed Apr 11 16:58:55 2007 http://host-10334.com/ Title: 10334 Wed Apr 11 16:58:59 2007 http://host-10335.com/ Title: 10335 Wed Apr 11 16:59:46 2007 http://host-10336.com/ Title: 10336 Wed Apr 11 17:00:37 2007 http://host-10337.com/ Title: 10337 Wed Apr 11 17:01:02 2007 http://host-10338.com/ Title: 10338 Wed Apr 11 17:01:07 2007 http://www.host-10339.com/ Title: 10339 Wed Apr 11 17:01:26 2007 http://www.host-10340.com/ Title: 10340 Wed Apr 11 17:02:01 2007 http://host-10341.com/ Title: 10341 Wed Apr 11 17:02:04 2007 http://www.host-10342.com/ Title: 10342 Wed Apr 11 17:02:36 2007 http://www.host-10343.com/ Title: 10343 Wed Apr 11 17:02:40 2007 http://host-10344.com/ Title: 10344 Wed Apr 11 17:02:59 2007 http://host-10345.com/ Title: 10345 Wed Apr 11 17:03:05 2007 http://www.host-10346.com/ Title: 10346 Wed Apr 11 17:03:09 2007 http://host-10347.com/ Title: 10347 Wed Apr 11 17:03:12 2007 http://host-10348.com/ Title: 10348 Wed Apr 11 17:03:21 2007 http://host-10349.com/ Title: 10349 Wed Apr 11 17:03:25 2007 http://www.host-10350.com/ Title: 10350 Wed Apr 11 17:03:29 2007 http://host-10351.com/ Title: 10351 Thu Apr 12 11:23:15 2007 http://www.host-10352.com/ Title: 10352 Thu Apr 12 11:36:37 2007 http://host-10353.com/ Title: 10353 Thu Apr 12 11:56:13 2007 http://www.host-10354.com/ Title: 10354 Thu Apr 12 12:20:35 2007 http://host-10355.com/ Title: 10355 Thu Apr 12 12:21:00 2007 http://www.host-10356.com/ Title: 10356 Thu Apr 12 12:25:10 2007 http://www.host-10357.com/ Title: 10357 Thu Apr 12 12:27:21 2007 http://host-10358.com/ Title: 10358 Thu Apr 12 13:45:09 2007 http://www.host-10359.com/ Title: 10359 Thu Apr 12 13:45:49 2007 http://www.host-10360.com/ Title: 10360 Thu Apr 12 13:57:39 2007 http://www.host-10361.com/ Title: 10361 Thu Apr 12 13:57:42 2007 http://www.host-10362.com/ Title: 10362 Thu Apr 12 13:57:49 2007 http://www.host-10363.com/ Title: 10363 Thu Apr 12 13:57:55 2007 http://www.host-10364.com/ Title: 10364 Thu Apr 12 13:59:41 2007 http://www.host-10365.com/ Title: 10365 Thu Apr 12 14:00:11 2007 http://www.host-10366.com/ Title: 10366 Thu Apr 12 14:00:19 2007 http://www.host-10367.com/ Title: 10367 Thu Apr 12 14:05:11 2007 http://host-10368.com/ Title: 10368 Thu Apr 12 14:05:19 2007 http://host-10369.com/ Title: 10369 Thu Apr 12 14:05:28 2007 http://host-10370.com/ Title: 10370 Thu Apr 12 14:05:30 2007 http://host-10371.com/ Title: 10371 Thu Apr 12 14:05:35 2007 http://www.host-10372.com/ Title: 10372 Thu Apr 12 14:05:35 2007 http://host-10373.com/ Title: 10373 Thu Apr 12 14:05:45 2007 http://www.host-10374.com/ Title: 10374 Thu Apr 12 14:05:50 2007 http://www.host-10375.com/ Title: 10375 Thu Apr 12 14:05:54 2007 http://host-10376.com/ Title: 10376 Thu Apr 12 15:01:40 2007 http://host-10377.com/ Title: 10377 Thu Apr 12 15:06:55 2007 http://www.host-10378.com/ Title: 10378 Thu Apr 12 15:07:17 2007 http://host-10379.com/ Title: 10379 Thu Apr 12 15:10:10 2007 http://host-10380.com/ Title: 10380 Thu Apr 12 15:10:14 2007 http://www.host-10381.com/ Title: 10381 Thu Apr 12 15:10:22 2007 http://www.host-10382.com/ Title: 10382 Thu Apr 12 15:10:24 2007 http://www.host-10383.com/ Title: 10383 Thu Apr 12 15:10:30 2007 http://host-10384.com/ Title: 10384 Thu Apr 12 15:10:32 2007 http://host-10385.com/ Title: 10385 Thu Apr 12 15:10:45 2007 http://host-10386.com/ Title: 10386 Thu Apr 12 15:10:46 2007 http://www.host-10387.com/ Title: 10387 Thu Apr 12 15:10:58 2007 http://www.host-10388.com/ Title: 10388 Thu Apr 12 15:11:00 2007 http://www.host-10389.com/ Title: 10389 Thu Apr 12 15:11:04 2007 http://www.host-10390.com/ Title: 10390 Thu Apr 12 15:11:12 2007 http://www.host-10391.com/ Title: 10391 Thu Apr 12 15:11:16 2007 http://host-10392.com/ Title: 10392 Thu Apr 12 15:11:28 2007 http://host-10393.com/ Title: 10393 Thu Apr 12 15:11:41 2007 http://host-10394.com/ Title: 10394 Thu Apr 12 15:11:44 2007 http://host-10395.com/ Title: 10395 Thu Apr 12 15:11:55 2007 http://host-10396.com/ Title: 10396 Thu Apr 12 15:11:56 2007 http://www.host-10397.com/ Title: 10397 Thu Apr 12 15:12:00 2007 http://www.host-10398.com/ Title: 10398 Thu Apr 12 15:14:04 2007 http://www.host-10399.com/ Title: 10399 Thu Apr 12 15:14:06 2007 http://www.host-10400.com/ Title: 10400 Thu Apr 12 15:14:11 2007 http://host-10401.com/ Title: 10401 Thu Apr 12 15:14:27 2007 http://host-10402.com/ Title: 10402 Thu Apr 12 15:14:32 2007 http://host-10403.com/ Title: 10403 Thu Apr 12 15:14:36 2007 http://host-10404.com/ Title: 10404 Thu Apr 12 15:15:37 2007 http://host-10405.com/ Title: 10405 Thu Apr 12 15:15:39 2007 http://host-10406.com/ Title: 10406 Thu Apr 12 15:15:40 2007 http://host-10407.com/ Title: 10407 Thu Apr 12 15:15:50 2007 http://www.host-10408.com/ Title: 10408 Thu Apr 12 15:15:54 2007 http://host-10409.com/ Title: 10409 Thu Apr 12 15:16:16 2007 http://host-10410.com/ Title: 10410 Thu Apr 12 15:16:25 2007 http://host-10411.com/ Title: 10411 Thu Apr 12 15:16:37 2007 http://host-10412.com/ Title: 10412 Thu Apr 12 15:16:46 2007 http://host-10413.com/ Title: 10413 Thu Apr 12 15:17:09 2007 http://www.host-10414.com/ Title: 10414 Thu Apr 12 15:22:08 2007 http://host-10415.com/ Title: 10415 Thu Apr 12 15:25:40 2007 http://www.host-10416.com/ Title: 10416 Thu Apr 12 15:25:54 2007 http://www.host-10417.com/ Title: 10417 Thu Apr 12 15:35:19 2007 http://host-10418.com/ Title: 10418 Thu Apr 12 15:35:23 2007 http://host-10419.com/ Title: 10419 Thu Apr 12 15:35:25 2007 http://www.host-10420.com/ Title: 10420 Thu Apr 12 15:35:41 2007 http://www.host-10421.com/ Title: 10421 Thu Apr 12 15:35:42 2007 http://www.host-10422.com/ Title: 10422 Thu Apr 12 15:35:53 2007 http://www.host-10423.com/ Title: 10423 Thu Apr 12 15:38:57 2007 http://host-10424.com/ Title: 10424 Thu Apr 12 15:39:00 2007 http://www.host-10425.com/ Title: 10425 Thu Apr 12 15:42:13 2007 http://www.host-10426.com/ Title: 10426 Thu Apr 12 15:43:01 2007 http://www.host-10427.com/ Title: 10427 Thu Apr 12 15:45:08 2007 http://www.host-10428.com/ Title: 10428 Thu Apr 12 15:45:26 2007 http://host-10429.com/ Title: 10429 Thu Apr 12 15:52:55 2007 http://www.host-10430.com/ Title: 10430 Thu Apr 12 15:53:00 2007 http://host-10431.com/ Title: 10431 Thu Apr 12 15:53:03 2007 http://www.host-10432.com/ Title: 10432 Thu Apr 12 15:53:14 2007 http://host-10433.com/ Title: 10433 Thu Apr 12 15:53:21 2007 http://www.host-10434.com/ Title: 10434 Thu Apr 12 15:53:49 2007 http://host-10435.com/ Title: 10435 Thu Apr 12 15:58:43 2007 http://www.host-10436.com/ Title: 10436 Thu Apr 12 16:01:15 2007 http://www.host-10437.com/ Title: 10437 Thu Apr 12 16:03:20 2007 http://host-10438.com/ Title: 10438 Thu Apr 12 16:03:23 2007 http://host-10439.com/ Title: 10439 Thu Apr 12 16:05:23 2007 http://www.host-10440.com/ Title: 10440 Thu Apr 12 16:24:37 2007 http://host-10441.com/ Title: 10441 Thu Apr 12 16:24:54 2007 http://host-10442.com/ Title: 10442 Thu Apr 12 16:29:12 2007 http://host-10443.com/ Title: 10443 Thu Apr 12 16:31:39 2007 http://host-10444.com/ Title: 10444 Thu Apr 12 17:03:10 2007 http://host-10445.com/ Title: 10445 Thu Apr 12 17:03:12 2007 http://host-10446.com/ Title: 10446 Thu Apr 12 17:03:14 2007 http://www.host-10447.com/ Title: 10447 Thu Apr 12 17:03:25 2007 http://www.host-10448.com/ Title: 10448 Thu Apr 12 17:03:25 2007 http://host-10449.com/ Title: 10449 Thu Apr 12 17:03:25 2007 http://www.host-10450.com/ Title: 10450 Thu Apr 12 17:40:09 2007 http://www.host-10451.com/ Title: 10451 Thu Apr 12 17:40:16 2007 http://www.host-10452.com/ Title: 10452 Thu Apr 12 18:22:02 2007 http://www.host-10453.com/ Title: 10453 Thu Apr 12 18:23:28 2007 http://www.host-10454.com/ Title: 10454 Thu Apr 12 18:23:35 2007 http://www.host-10455.com/ Title: 10455 Thu Apr 12 18:24:15 2007 http://host-10456.com/ Title: 10456 Thu Apr 12 18:24:30 2007 http://www.host-10457.com/ Title: 10457 Thu Apr 12 18:25:10 2007 http://host-10458.com/ Title: 10458 Thu Apr 12 18:26:20 2007 http://www.host-10459.com/ Title: 10459 Thu Apr 12 18:45:18 2007 http://host-10460.com/ Title: 10460 Thu Apr 12 18:45:32 2007 http://host-10461.com/ Title: 10461 Thu Apr 12 19:21:11 2007 http://www.host-10462.com/ Title: 10462 Thu Apr 12 19:21:13 2007 http://host-10463.com/ Title: 10463 Thu Apr 12 19:21:20 2007 http://host-10464.com/ Title: 10464 Thu Apr 12 19:21:24 2007 http://www.host-10465.com/ Title: 10465 Thu Apr 12 19:21:24 2007 http://www.host-10466.com/ Title: 10466 Thu Apr 12 19:21:30 2007 http://www.host-10467.com/ Title: 10467 Thu Apr 12 19:21:30 2007 http://www.host-10468.com/ Title: 10468 Thu Apr 12 19:21:39 2007 http://host-10469.com/ Title: 10469 Thu Apr 12 19:22:20 2007 http://www.host-10470.com/ Title: 10470 Thu Apr 12 19:22:55 2007 http://www.host-10471.com/ Title: 10471 Thu Apr 12 19:23:24 2007 http://www.host-10472.com/ Title: 10472 Thu Apr 12 20:03:39 2007 http://host-10473.com/ Title: 10473 Thu Apr 12 20:03:49 2007 http://host-10474.com/ Title: 10474 Thu Apr 12 20:03:55 2007 http://www.host-10475.com/ Title: 10475 Thu Apr 12 20:03:58 2007 http://host-10476.com/ Title: 10476 Thu Apr 12 20:05:05 2007 http://host-10477.com/ Title: 10477 Thu Apr 12 20:05:16 2007 http://www.host-10478.com/ Title: 10478 Mon Apr 16 09:33:55 2007 http://host-10479.com/ Title: 10479 Mon Apr 16 09:33:55 2007 http://host-10480.com/ Title: 10480 Mon Apr 16 09:34:11 2007 http://host-10481.com/ Title: 10481 Mon Apr 16 09:34:18 2007 http://www.host-10482.com/ Title: 10482 Mon Apr 16 09:41:17 2007 http://www.host-10483.com/ Title: 10483 Mon Apr 16 09:41:19 2007 http://host-10484.com/ Title: 10484 Mon Apr 16 10:20:03 2007 http://www.host-10485.com/ Title: 10485 Mon Apr 16 10:20:06 2007 http://www.host-10486.com/ Title: 10486 Mon Apr 16 10:50:09 2007 http://host-10487.com/ Title: 10487 Mon Apr 16 10:53:07 2007 http://host-10488.com/ Title: 10488 Mon Apr 16 10:55:03 2007 http://host-10489.com/ Title: 10489 Mon Apr 16 11:29:36 2007 http://www.host-10490.com/ Title: 10490 Mon Apr 16 11:32:49 2007 http://www.host-10491.com/ Title: 10491 Mon Apr 16 11:33:19 2007 http://www.host-10492.com/ Title: 10492 Mon Apr 16 12:34:45 2007 http://host-10493.com/ Title: 10493 Mon Apr 16 12:34:49 2007 http://host-10494.com/ Title: 10494 Mon Apr 16 12:34:56 2007 http://www.host-10495.com/ Title: 10495 Mon Apr 16 13:41:17 2007 http://www.host-10496.com/ Title: 10496 Mon Apr 16 13:55:24 2007 http://host-10497.com/ Title: 10497 Mon Apr 16 13:55:34 2007 http://www.host-10498.com/ Title: 10498 Mon Apr 16 14:00:55 2007 http://host-10499.com/ Title: 10499 Mon Apr 16 14:00:58 2007 http://host-10500.com/ Title: 10500 Mon Apr 16 14:01:07 2007 http://host-10501.com/ Title: 10501 Mon Apr 16 14:01:09 2007 http://www.host-10502.com/ Title: 10502 Mon Apr 16 14:01:16 2007 http://www.host-10503.com/ Title: 10503 Mon Apr 16 15:11:53 2007 http://host-10504.com/ Title: 10504 Mon Apr 16 17:23:38 2007 http://host-10505.com/ Title: 10505 Mon Apr 16 17:23:57 2007 http://www.host-10506.com/ Title: 10506 Tue Apr 17 09:04:06 2007 http://www.host-10507.com/ Title: 10507 Tue Apr 17 09:10:56 2007 http://www.host-10508.com/ Title: 10508 Tue Apr 17 09:10:59 2007 http://host-10509.com/ Title: 10509 Tue Apr 17 09:46:13 2007 http://www.host-10510.com/ Title: 10510 Tue Apr 17 10:38:13 2007 http://host-10511.com/ Title: 10511 Tue Apr 17 10:38:14 2007 http://host-10512.com/ Title: 10512 Tue Apr 17 10:50:55 2007 http://www.host-10513.com/ Title: 10513 Tue Apr 17 10:51:02 2007 http://host-10514.com/ Title: 10514 Tue Apr 17 10:51:09 2007 http://host-10515.com/ Title: 10515 Tue Apr 17 11:04:58 2007 http://host-10516.com/ Title: 10516 Tue Apr 17 11:04:59 2007 http://host-10517.com/ Title: 10517 Tue Apr 17 11:05:09 2007 http://host-10518.com/ Title: 10518 Tue Apr 17 11:05:16 2007 http://host-10519.com/ Title: 10519 Tue Apr 17 11:05:21 2007 http://www.host-10520.com/ Title: 10520 Tue Apr 17 11:05:31 2007 http://host-10521.com/ Title: 10521 Tue Apr 17 11:05:34 2007 http://host-10522.com/ Title: 10522 Tue Apr 17 11:26:56 2007 http://www.host-10523.com/ Title: 10523 Tue Apr 17 11:27:01 2007 http://www.host-10524.com/ Title: 10524 Tue Apr 17 11:27:08 2007 http://www.host-10525.com/ Title: 10525 Tue Apr 17 11:27:09 2007 http://www.host-10526.com/ Title: 10526 Tue Apr 17 11:30:33 2007 http://host-10527.com/ Title: 10527 Tue Apr 17 11:30:43 2007 http://host-10528.com/ Title: 10528 Tue Apr 17 11:31:01 2007 http://www.host-10529.com/ Title: 10529 Tue Apr 17 11:37:14 2007 http://host-10530.com/ Title: 10530 Tue Apr 17 11:38:56 2007 http://host-10531.com/ Title: 10531 Tue Apr 17 11:39:04 2007 http://host-10532.com/ Title: 10532 Tue Apr 17 12:53:46 2007 http://host-10533.com/ Title: 10533 Tue Apr 17 12:53:48 2007 http://host-10534.com/ Title: 10534 Tue Apr 17 13:25:38 2007 http://www.host-10535.com/ Title: 10535 Tue Apr 17 13:32:06 2007 http://www.host-10536.com/ Title: 10536 Tue Apr 17 13:32:39 2007 http://host-10537.com/ Title: 10537 Tue Apr 17 13:33:02 2007 http://www.host-10538.com/ Title: 10538 Tue Apr 17 14:56:39 2007 http://www.host-10539.com/ Title: 10539 Tue Apr 17 15:02:42 2007 http://host-10540.com/ Title: 10540 Tue Apr 17 15:06:56 2007 http://host-10541.com/ Title: 10541 Tue Apr 17 15:08:57 2007 http://www.host-10542.com/ Title: 10542 Tue Apr 17 15:41:56 2007 http://www.host-10543.com/ Title: 10543 Tue Apr 17 15:42:00 2007 http://host-10544.com/ Title: 10544 Tue Apr 17 15:42:52 2007 http://www.host-10545.com/ Title: 10545 Tue Apr 17 15:55:46 2007 http://host-10546.com/ Title: 10546 Tue Apr 17 16:09:36 2007 http://host-10547.com/ Title: 10547 Tue Apr 17 17:19:33 2007 http://www.host-10548.com/ Title: 10548 Wed Apr 18 09:05:17 2007 http://www.host-10549.com/ Title: 10549 Wed Apr 18 09:14:26 2007 http://www.host-10550.com/ Title: 10550 Wed Apr 18 10:11:59 2007 http://www.host-10551.com/ Title: 10551 Wed Apr 18 10:22:17 2007 http://www.host-10552.com/ Title: 10552 Wed Apr 18 10:38:08 2007 http://www.host-10553.com/ Title: 10553 Wed Apr 18 12:51:32 2007 http://host-10554.com/ Title: 10554 Wed Apr 18 13:56:39 2007 http://host-10555.com/ Title: 10555 Wed Apr 18 13:57:01 2007 http://www.host-10556.com/ Title: 10556 Wed Apr 18 14:02:03 2007 http://www.host-10557.com/ Title: 10557 Wed Apr 18 14:02:12 2007 http://www.host-10558.com/ Title: 10558 Wed Apr 18 14:02:30 2007 http://www.host-10559.com/ Title: 10559 Wed Apr 18 14:17:08 2007 http://www.host-10560.com/ Title: 10560 Wed Apr 18 14:17:21 2007 http://www.host-10561.com/ Title: 10561 Wed Apr 18 15:12:09 2007 http://www.host-10562.com/ Title: 10562 Wed Apr 18 15:12:22 2007 http://www.host-10563.com/ Title: 10563 Wed Apr 18 15:43:01 2007 http://www.host-10564.com/ Title: 10564 Wed Apr 18 15:43:11 2007 http://www.host-10565.com/ Title: 10565 Wed Apr 18 16:39:34 2007 http://host-10566.com/ Title: 10566 Fri Apr 20 09:18:15 2007 http://host-10567.com/ Title: 10567 Fri Apr 20 09:23:16 2007 http://www.host-10568.com/ Title: 10568 Fri Apr 20 11:11:21 2007 http://www.host-10569.com/ Title: 10569 Fri Apr 20 11:12:06 2007 http://www.host-10570.com/ Title: 10570 Fri Apr 20 11:56:17 2007 http://www.host-10571.com/ Title: 10571 Fri Apr 20 11:56:19 2007 http://www.host-10572.com/ Title: 10572 Fri Apr 20 11:56:21 2007 http://www.host-10573.com/ Title: 10573 Fri Apr 20 11:58:06 2007 http://host-10574.com/ Title: 10574 Fri Apr 20 12:16:44 2007 http://www.host-10575.com/ Title: 10575 Fri Apr 20 12:16:51 2007 http://host-10576.com/ Title: 10576 Fri Apr 20 12:43:09 2007 http://host-10577.com/ Title: 10577 Fri Apr 20 12:43:10 2007 http://host-10578.com/ Title: 10578 Fri Apr 20 12:43:14 2007 http://www.host-10579.com/ Title: 10579 Fri Apr 20 12:44:02 2007 http://www.host-10580.com/ Title: 10580 Fri Apr 20 12:44:29 2007 http://host-10581.com/ Title: 10581 Fri Apr 20 12:45:07 2007 http://host-10582.com/ Title: 10582 Fri Apr 20 12:45:14 2007 http://host-10583.com/ Title: 10583 Fri Apr 20 12:45:28 2007 http://www.host-10584.com/ Title: 10584 Fri Apr 20 12:45:38 2007 http://host-10585.com/ Title: 10585 Fri Apr 20 12:45:43 2007 http://host-10586.com/ Title: 10586 Fri Apr 20 13:25:53 2007 http://host-10587.com/ Title: 10587 Fri Apr 20 14:02:07 2007 http://www.host-10588.com/ Title: 10588 Fri Apr 20 15:57:59 2007 http://www.host-10589.com/ Title: 10589 Fri Apr 20 16:27:59 2007 http://www.host-10590.com/ Title: 10590 Fri Apr 20 16:29:49 2007 http://host-10591.com/ Title: 10591 Fri Apr 20 16:30:57 2007 http://www.host-10592.com/ Title: 10592 Fri Apr 20 16:31:00 2007 http://host-10593.com/ Title: 10593 Fri Apr 20 16:36:25 2007 http://www.host-10594.com/ Title: 10594 Fri Apr 20 16:36:34 2007 http://host-10595.com/ Title: 10595 Fri Apr 20 16:36:41 2007 http://www.host-10596.com/ Title: 10596 Fri Apr 20 16:36:54 2007 http://host-10597.com/ Title: 10597 Fri Apr 20 16:36:58 2007 http://www.host-10598.com/ Title: 10598 Fri Apr 20 16:37:06 2007 http://host-10599.com/ Title: 10599 Fri Apr 20 16:38:53 2007 http://host-10600.com/ Title: 10600 Fri Apr 20 16:40:21 2007 http://www.host-10601.com/ Title: 10601 Fri Apr 20 16:40:43 2007 http://www.host-10602.com/ Title: 10602 Fri Apr 20 16:40:48 2007 http://host-10603.com/ Title: 10603 Fri Apr 20 16:40:53 2007 http://www.host-10604.com/ Title: 10604 Fri Apr 20 16:40:56 2007 http://host-10605.com/ Title: 10605 Fri Apr 20 16:41:04 2007 http://www.host-10606.com/ Title: 10606 Fri Apr 20 16:41:26 2007 http://host-10607.com/ Title: 10607 Fri Apr 20 16:41:43 2007 http://host-10608.com/ Title: 10608 Fri Apr 20 16:41:55 2007 http://www.host-10609.com/ Title: 10609 Fri Apr 20 16:41:59 2007 http://host-10610.com/ Title: 10610 Fri Apr 20 16:42:04 2007 http://host-10611.com/ Title: 10611 Fri Apr 20 16:42:11 2007 http://host-10612.com/ Title: 10612 Fri Apr 20 16:42:19 2007 http://www.host-10613.com/ Title: 10613 Fri Apr 20 16:42:20 2007 http://host-10614.com/ Title: 10614 Fri Apr 20 16:42:20 2007 http://www.host-10615.com/ Title: 10615 Fri Apr 20 16:42:21 2007 http://www.host-10616.com/ Title: 10616 Fri Apr 20 16:55:12 2007 http://www.host-10617.com/ Title: 10617 Fri Apr 20 16:55:37 2007 http://www.host-10618.com/ Title: 10618 Fri Apr 20 16:55:44 2007 http://host-10619.com/ Title: 10619 Fri Apr 20 16:55:54 2007 http://www.host-10620.com/ Title: 10620 Fri Apr 20 16:55:59 2007 http://www.host-10621.com/ Title: 10621 Fri Apr 20 16:58:47 2007 http://host-10622.com/ Title: 10622 Fri Apr 20 16:58:51 2007 http://www.host-10623.com/ Title: 10623 Fri Apr 20 16:58:52 2007 http://www.host-10624.com/ Title: 10624 Fri Apr 20 16:58:55 2007 http://www.host-10625.com/ Title: 10625 Fri Apr 20 16:59:01 2007 http://host-10626.com/ Title: 10626 Fri Apr 20 16:59:13 2007 http://www.host-10627.com/ Title: 10627 Fri Apr 20 16:59:18 2007 http://host-10628.com/ Title: 10628 Fri Apr 20 16:59:51 2007 http://www.host-10629.com/ Title: 10629 Fri Apr 20 17:00:18 2007 http://host-10630.com/ Title: 10630 Fri Apr 20 17:01:38 2007 http://www.host-10631.com/ Title: 10631 Mon Apr 23 09:04:33 2007 http://www.host-10632.com/ Title: 10632 Mon Apr 23 09:04:38 2007 http://host-10633.com/ Title: 10633 Mon Apr 23 09:09:24 2007 http://host-10634.com/ Title: 10634 Mon Apr 23 09:16:24 2007 http://host-10635.com/ Title: 10635 Mon Apr 23 09:16:24 2007 http://www.host-10636.com/ Title: 10636 Mon Apr 23 09:16:28 2007 http://host-10637.com/ Title: 10637 Mon Apr 23 09:17:24 2007 http://www.host-10638.com/ Title: 10638 Mon Apr 23 09:20:10 2007 http://host-10639.com/ Title: 10639 Mon Apr 23 09:21:18 2007 http://www.host-10640.com/ Title: 10640 Mon Apr 23 09:22:43 2007 http://host-10641.com/ Title: 10641 Mon Apr 23 09:23:35 2007 http://host-10642.com/ Title: 10642 Mon Apr 23 09:23:38 2007 http://host-10643.com/ Title: 10643 Mon Apr 23 09:24:07 2007 http://host-10644.com/ Title: 10644 Mon Apr 23 09:24:24 2007 http://host-10645.com/ Title: 10645 Mon Apr 23 09:32:06 2007 http://host-10646.com/ Title: 10646 Mon Apr 23 09:32:06 2007 http://host-10647.com/ Title: 10647 Mon Apr 23 09:32:08 2007 http://www.host-10648.com/ Title: 10648 Mon Apr 23 09:32:12 2007 http://host-10649.com/ Title: 10649 Mon Apr 23 09:32:13 2007 http://www.host-10650.com/ Title: 10650 Mon Apr 23 09:36:31 2007 http://host-10651.com/ Title: 10651 Mon Apr 23 09:39:09 2007 http://www.host-10652.com/ Title: 10652 Mon Apr 23 09:43:23 2007 http://host-10653.com/ Title: 10653 Mon Apr 23 09:44:15 2007 http://host-10654.com/ Title: 10654 Mon Apr 23 09:47:08 2007 http://www.host-10655.com/ Title: 10655 Mon Apr 23 09:47:42 2007 http://www.host-10656.com/ Title: 10656 Mon Apr 23 09:47:43 2007 http://host-10657.com/ Title: 10657 Mon Apr 23 09:59:10 2007 http://www.host-10658.com/ Title: 10658 Mon Apr 23 10:01:14 2007 http://www.host-10659.com/ Title: 10659 Mon Apr 23 10:04:22 2007 http://www.host-10660.com/ Title: 10660 Mon Apr 23 10:08:45 2007 http://www.host-10661.com/ Title: 10661 Mon Apr 23 10:12:50 2007 http://www.host-10662.com/ Title: 10662 Mon Apr 23 10:13:10 2007 http://www.host-10663.com/ Title: 10663 Mon Apr 23 10:13:20 2007 http://www.host-10664.com/ Title: 10664 Mon Apr 23 10:13:42 2007 http://host-10665.com/ Title: 10665 Mon Apr 23 10:16:32 2007 http://www.host-10666.com/ Title: 10666 Mon Apr 23 10:16:39 2007 http://host-10667.com/ Title: 10667 Mon Apr 23 10:16:46 2007 http://www.host-10668.com/ Title: 10668 Mon Apr 23 10:17:08 2007 http://www.host-10669.com/ Title: 10669 Mon Apr 23 10:17:09 2007 http://host-10670.com/ Title: 10670 Mon Apr 23 10:17:14 2007 http://www.host-10671.com/ Title: 10671 Mon Apr 23 10:17:20 2007 http://www.host-10672.com/ Title: 10672 Mon Apr 23 10:18:05 2007 http://host-10673.com/ Title: 10673 Mon Apr 23 10:18:08 2007 http://www.host-10674.com/ Title: 10674 Mon Apr 23 10:18:14 2007 http://www.host-10675.com/ Title: 10675 Mon Apr 23 10:18:20 2007 http://www.host-10676.com/ Title: 10676 Mon Apr 23 10:18:25 2007 http://host-10677.com/ Title: 10677 Mon Apr 23 10:18:40 2007 http://host-10678.com/ Title: 10678 Mon Apr 23 10:18:42 2007 http://host-10679.com/ Title: 10679 Mon Apr 23 10:18:43 2007 http://host-10680.com/ Title: 10680 Mon Apr 23 10:19:09 2007 http://host-10681.com/ Title: 10681 Mon Apr 23 10:19:34 2007 http://www.host-10682.com/ Title: 10682 Mon Apr 23 10:22:02 2007 http://host-10683.com/ Title: 10683 Mon Apr 23 10:52:46 2007 http://host-10684.com/ Title: 10684 Mon Apr 23 12:27:35 2007 http://host-10685.com/ Title: 10685 Mon Apr 23 12:27:40 2007 http://www.host-10686.com/ Title: 10686 Mon Apr 23 12:39:44 2007 http://host-10687.com/ Title: 10687 Mon Apr 23 12:42:08 2007 http://host-10688.com/ Title: 10688 Mon Apr 23 12:42:18 2007 http://www.host-10689.com/ Title: 10689 Mon Apr 23 12:42:26 2007 http://www.host-10690.com/ Title: 10690 Mon Apr 23 12:42:51 2007 http://host-10691.com/ Title: 10691 Mon Apr 23 12:48:15 2007 http://www.host-10692.com/ Title: 10692 Mon Apr 23 12:48:32 2007 http://www.host-10693.com/ Title: 10693 Mon Apr 23 13:04:55 2007 http://www.host-10694.com/ Title: 10694 Mon Apr 23 13:05:02 2007 http://www.host-10695.com/ Title: 10695 Mon Apr 23 13:17:41 2007 http://host-10696.com/ Title: 10696 Mon Apr 23 13:18:27 2007 http://host-10697.com/ Title: 10697 Mon Apr 23 13:18:32 2007 http://host-10698.com/ Title: 10698 Mon Apr 23 13:23:41 2007 http://host-10699.com/ Title: 10699 Mon Apr 23 13:24:43 2007 http://www.host-10700.com/ Title: 10700 Mon Apr 23 13:27:18 2007 http://host-10701.com/ Title: 10701 Mon Apr 23 13:32:05 2007 http://host-10702.com/ Title: 10702 Mon Apr 23 13:34:33 2007 http://host-10703.com/ Title: 10703 Mon Apr 23 13:34:34 2007 http://host-10704.com/ Title: 10704 Mon Apr 23 13:35:01 2007 http://www.host-10705.com/ Title: 10705 Mon Apr 23 13:35:04 2007 http://host-10706.com/ Title: 10706 Mon Apr 23 14:00:12 2007 http://www.host-10707.com/ Title: 10707 Mon Apr 23 14:28:03 2007 http://host-10708.com/ Title: 10708 Mon Apr 23 14:52:46 2007 http://www.host-10709.com/ Title: 10709 Mon Apr 23 14:52:48 2007 http://www.host-10710.com/ Title: 10710 Mon Apr 23 14:52:49 2007 http://www.host-10711.com/ Title: 10711 Tue Apr 24 09:27:13 2007 http://host-10712.com/ Title: 10712 Tue Apr 24 09:27:58 2007 http://www.host-10713.com/ Title: 10713 Tue Apr 24 09:30:39 2007 http://host-10714.com/ Title: 10714 Tue Apr 24 09:42:31 2007 http://host-10715.com/ Title: 10715 Tue Apr 24 09:42:46 2007 http://host-10716.com/ Title: 10716 Tue Apr 24 09:47:59 2007 http://www.host-10717.com/ Title: 10717 Tue Apr 24 09:48:51 2007 http://www.host-10718.com/ Title: 10718 Tue Apr 24 09:49:09 2007 http://www.host-10719.com/ Title: 10719 Tue Apr 24 09:49:21 2007 http://www.host-10720.com/ Title: 10720 Tue Apr 24 11:58:58 2007 http://host-10721.com/ Title: 10721 Tue Apr 24 11:59:54 2007 http://host-10722.com/ Title: 10722 Tue Apr 24 12:00:01 2007 http://host-10723.com/ Title: 10723 Tue Apr 24 12:00:07 2007 http://host-10724.com/ Title: 10724 Tue Apr 24 12:01:30 2007 http://www.host-10725.com/ Title: 10725 Tue Apr 24 12:01:39 2007 http://host-10726.com/ Title: 10726 Tue Apr 24 12:02:59 2007 http://www.host-10727.com/ Title: 10727 Tue Apr 24 12:03:00 2007 http://www.host-10728.com/ Title: 10728 Tue Apr 24 12:03:01 2007 http://www.host-10729.com/ Title: 10729 Tue Apr 24 12:03:04 2007 http://host-10730.com/ Title: 10730 Tue Apr 24 12:14:43 2007 http://host-10731.com/ Title: 10731 Tue Apr 24 12:24:04 2007 http://www.host-10732.com/ Title: 10732 Tue Apr 24 12:24:05 2007 http://host-10733.com/ Title: 10733 Tue Apr 24 12:24:06 2007 http://host-10734.com/ Title: 10734 Tue Apr 24 12:24:10 2007 http://www.host-10735.com/ Title: 10735 Tue Apr 24 12:24:19 2007 http://host-10736.com/ Title: 10736 Tue Apr 24 13:21:25 2007 http://host-10737.com/ Title: 10737 Tue Apr 24 13:37:48 2007 http://host-10738.com/ Title: 10738 Tue Apr 24 13:41:48 2007 http://host-10739.com/ Title: 10739 Tue Apr 24 13:41:50 2007 http://www.host-10740.com/ Title: 10740 Tue Apr 24 15:12:27 2007 http://www.host-10741.com/ Title: 10741 Tue Apr 24 15:12:31 2007 http://host-10742.com/ Title: 10742 Tue Apr 24 15:12:45 2007 http://www.host-10743.com/ Title: 10743 Tue Apr 24 15:12:47 2007 http://host-10744.com/ Title: 10744 Tue Apr 24 15:31:31 2007 http://www.host-10745.com/ Title: 10745 Tue Apr 24 15:31:50 2007 http://host-10746.com/ Title: 10746 Tue Apr 24 15:31:59 2007 http://www.host-10747.com/ Title: 10747 Tue Apr 24 15:32:02 2007 http://host-10748.com/ Title: 10748 Tue Apr 24 15:34:37 2007 http://host-10749.com/ Title: 10749 Tue Apr 24 15:36:46 2007 http://host-10750.com/ Title: 10750 Tue Apr 24 15:41:39 2007 http://www.host-10751.com/ Title: 10751 Tue Apr 24 15:41:42 2007 http://host-10752.com/ Title: 10752 Tue Apr 24 15:58:44 2007 http://www.host-10753.com/ Title: 10753 Tue Apr 24 15:59:43 2007 http://host-10754.com/ Title: 10754 Tue Apr 24 15:59:58 2007 http://host-10755.com/ Title: 10755 Tue Apr 24 16:00:03 2007 http://www.host-10756.com/ Title: 10756 Tue Apr 24 16:20:41 2007 http://www.host-10757.com/ Title: 10757 Tue Apr 24 16:22:08 2007 http://host-10758.com/ Title: 10758 Tue Apr 24 16:22:18 2007 http://host-10759.com/ Title: 10759 Tue Apr 24 16:23:45 2007 http://host-10760.com/ Title: 10760 Tue Apr 24 16:27:54 2007 http://host-10761.com/ Title: 10761 Tue Apr 24 16:27:58 2007 http://host-10762.com/ Title: 10762 Tue Apr 24 16:28:00 2007 http://host-10763.com/ Title: 10763 Tue Apr 24 16:28:06 2007 http://www.host-10764.com/ Title: 10764 Tue Apr 24 16:28:34 2007 http://www.host-10765.com/ Title: 10765 Tue Apr 24 16:28:40 2007 http://host-10766.com/ Title: 10766 Tue Apr 24 16:50:30 2007 http://www.host-10767.com/ Title: 10767 Tue Apr 24 16:50:31 2007 http://host-10768.com/ Title: 10768 Wed Apr 25 09:04:27 2007 http://www.host-10769.com/ Title: 10769 Wed Apr 25 09:09:39 2007 http://host-10770.com/ Title: 10770 Wed Apr 25 09:09:50 2007 http://host-10771.com/ Title: 10771 Wed Apr 25 09:13:19 2007 http://www.host-10772.com/ Title: 10772 Wed Apr 25 09:17:15 2007 http://host-10773.com/ Title: 10773 Wed Apr 25 09:17:51 2007 http://host-10774.com/ Title: 10774 Wed Apr 25 09:17:57 2007 http://www.host-10775.com/ Title: 10775 Wed Apr 25 09:22:03 2007 http://host-10776.com/ Title: 10776 Wed Apr 25 09:24:08 2007 http://host-10777.com/ Title: 10777 Wed Apr 25 09:24:33 2007 http://host-10778.com/ Title: 10778 Wed Apr 25 09:24:52 2007 http://www.host-10779.com/ Title: 10779 Wed Apr 25 09:43:21 2007 http://host-10780.com/ Title: 10780 Wed Apr 25 09:43:29 2007 http://www.host-10781.com/ Title: 10781 Wed Apr 25 09:43:46 2007 http://www.host-10782.com/ Title: 10782 Wed Apr 25 09:43:49 2007 http://host-10783.com/ Title: 10783 Wed Apr 25 09:43:59 2007 http://host-10784.com/ Title: 10784 Wed Apr 25 10:04:58 2007 http://host-10785.com/ Title: 10785 Wed Apr 25 10:05:13 2007 http://host-10786.com/ Title: 10786 Wed Apr 25 10:05:39 2007 http://host-10787.com/ Title: 10787 Wed Apr 25 10:06:09 2007 http://www.host-10788.com/ Title: 10788 Wed Apr 25 10:09:49 2007 http://host-10789.com/ Title: 10789 Wed Apr 25 10:10:19 2007 http://host-10790.com/ Title: 10790 Wed Apr 25 10:12:49 2007 http://host-10791.com/ Title: 10791 Wed Apr 25 10:13:08 2007 http://host-10792.com/ Title: 10792 Wed Apr 25 10:13:22 2007 http://host-10793.com/ Title: 10793 Wed Apr 25 10:13:33 2007 http://www.host-10794.com/ Title: 10794 Wed Apr 25 10:14:27 2007 http://host-10795.com/ Title: 10795 Wed Apr 25 10:14:54 2007 http://www.host-10796.com/ Title: 10796 Wed Apr 25 10:15:12 2007 http://host-10797.com/ Title: 10797 Wed Apr 25 10:17:14 2007 http://host-10798.com/ Title: 10798 Wed Apr 25 10:17:40 2007 http://www.host-10799.com/ Title: 10799 Wed Apr 25 10:18:01 2007 http://host-10800.com/ Title: 10800 Wed Apr 25 10:18:15 2007 http://host-10801.com/ Title: 10801 Wed Apr 25 10:18:26 2007 http://www.host-10802.com/ Title: 10802 Wed Apr 25 10:19:09 2007 http://host-10803.com/ Title: 10803 Wed Apr 25 10:19:11 2007 http://host-10804.com/ Title: 10804 Wed Apr 25 10:19:12 2007 http://host-10805.com/ Title: 10805 Wed Apr 25 10:19:13 2007 http://www.host-10806.com/ Title: 10806 Wed Apr 25 10:19:49 2007 http://www.host-10807.com/ Title: 10807 Wed Apr 25 10:20:02 2007 http://host-10808.com/ Title: 10808 Wed Apr 25 10:20:09 2007 http://host-10809.com/ Title: 10809 Wed Apr 25 10:22:31 2007 http://host-10810.com/ Title: 10810 Wed Apr 25 10:53:35 2007 http://host-10811.com/ Title: 10811 Wed Apr 25 11:43:22 2007 http://host-10812.com/ Title: 10812 Wed Apr 25 11:43:24 2007 http://host-10813.com/ Title: 10813 Wed Apr 25 11:45:39 2007 http://www.host-10814.com/ Title: 10814 Wed Apr 25 11:45:41 2007 http://host-10815.com/ Title: 10815 Wed Apr 25 12:25:15 2007 http://www.host-10816.com/ Title: 10816 Wed Apr 25 12:34:45 2007 http://www.host-10817.com/ Title: 10817 Wed Apr 25 12:40:07 2007 http://www.host-10818.com/ Title: 10818 Wed Apr 25 12:40:13 2007 http://www.host-10819.com/ Title: 10819 Wed Apr 25 12:40:26 2007 http://host-10820.com/ Title: 10820 Wed Apr 25 12:42:05 2007 http://www.host-10821.com/ Title: 10821 Wed Apr 25 12:47:46 2007 http://www.host-10822.com/ Title: 10822 Wed Apr 25 12:48:18 2007 http://www.host-10823.com/ Title: 10823 Wed Apr 25 12:48:19 2007 http://host-10824.com/ Title: 10824 Wed Apr 25 12:48:28 2007 http://host-10825.com/ Title: 10825 Wed Apr 25 12:50:00 2007 http://www.host-10826.com/ Title: 10826 Wed Apr 25 12:50:40 2007 http://www.host-10827.com/ Title: 10827 Wed Apr 25 12:51:08 2007 http://host-10828.com/ Title: 10828 Wed Apr 25 12:51:19 2007 http://host-10829.com/ Title: 10829 Wed Apr 25 12:51:32 2007 http://www.host-10830.com/ Title: 10830 Wed Apr 25 12:51:37 2007 http://host-10831.com/ Title: 10831 Wed Apr 25 12:52:34 2007 http://www.host-10832.com/ Title: 10832 Wed Apr 25 12:59:13 2007 http://www.host-10833.com/ Title: 10833 Wed Apr 25 12:59:57 2007 http://host-10834.com/ Title: 10834 Wed Apr 25 13:02:33 2007 http://host-10835.com/ Title: 10835 Wed Apr 25 13:03:08 2007 http://host-10836.com/ Title: 10836 Wed Apr 25 13:03:09 2007 http://host-10837.com/ Title: 10837 Wed Apr 25 13:08:13 2007 http://www.host-10838.com/ Title: 10838 Wed Apr 25 13:09:13 2007 http://www.host-10839.com/ Title: 10839 Wed Apr 25 13:09:13 2007 http://host-10840.com/ Title: 10840 Wed Apr 25 13:09:15 2007 http://www.host-10841.com/ Title: 10841 Wed Apr 25 13:09:17 2007 http://host-10842.com/ Title: 10842 Wed Apr 25 13:24:48 2007 http://www.host-10843.com/ Title: 10843 Wed Apr 25 13:24:58 2007 http://host-10844.com/ Title: 10844 Wed Apr 25 14:07:58 2007 http://www.host-10845.com/ Title: 10845 Wed Apr 25 14:08:05 2007 http://host-10846.com/ Title: 10846 Wed Apr 25 14:08:07 2007 http://www.host-10847.com/ Title: 10847 Wed Apr 25 14:08:18 2007 http://host-10848.com/ Title: 10848 Wed Apr 25 14:08:23 2007 http://host-10849.com/ Title: 10849 Wed Apr 25 14:08:59 2007 http://host-10850.com/ Title: 10850 Wed Apr 25 14:18:24 2007 http://www.host-10851.com/ Title: 10851 Wed Apr 25 14:18:37 2007 http://host-10852.com/ Title: 10852 Wed Apr 25 14:18:46 2007 http://host-10853.com/ Title: 10853 Wed Apr 25 14:18:53 2007 http://www.host-10854.com/ Title: 10854 Wed Apr 25 14:28:48 2007 http://www.host-10855.com/ Title: 10855 Wed Apr 25 14:29:56 2007 http://host-10856.com/ Title: 10856 Wed Apr 25 16:12:30 2007 http://www.host-10857.com/ Title: 10857 Wed Apr 25 16:41:32 2007 http://www.host-10858.com/ Title: 10858 Wed Apr 25 16:41:56 2007 http://www.host-10859.com/ Title: 10859 Wed Apr 25 16:42:32 2007 http://www.host-10860.com/ Title: 10860 Wed Apr 25 16:42:39 2007 http://host-10861.com/ Title: 10861 Wed Apr 25 16:42:49 2007 http://www.host-10862.com/ Title: 10862 Wed Apr 25 16:42:51 2007 http://www.host-10863.com/ Title: 10863 Wed Apr 25 16:43:06 2007 http://www.host-10864.com/ Title: 10864 Wed Apr 25 16:43:15 2007 http://host-10865.com/ Title: 10865 Wed Apr 25 16:43:32 2007 http://www.host-10866.com/ Title: 10866 Wed Apr 25 16:43:46 2007 http://host-10867.com/ Title: 10867 Wed Apr 25 16:43:51 2007 http://www.host-10868.com/ Title: 10868 Wed Apr 25 16:44:01 2007 http://www.host-10869.com/ Title: 10869 Wed Apr 25 16:44:09 2007 http://www.host-10870.com/ Title: 10870 Wed Apr 25 16:44:15 2007 http://www.host-10871.com/ Title: 10871 Thu Apr 26 09:14:29 2007 http://host-10872.com/ Title: 10872 Thu Apr 26 10:22:22 2007 http://host-10873.com/ Title: 10873 Thu Apr 26 10:22:48 2007 http://www.host-10874.com/ Title: 10874 Thu Apr 26 10:22:53 2007 http://www.host-10875.com/ Title: 10875 Thu Apr 26 10:36:20 2007 http://www.host-10876.com/ Title: 10876 Thu Apr 26 10:37:06 2007 http://host-10877.com/ Title: 10877 Thu Apr 26 10:48:39 2007 http://www.host-10878.com/ Title: 10878 Thu Apr 26 10:48:51 2007 http://www.host-10879.com/ Title: 10879 Thu Apr 26 10:48:58 2007 http://host-10880.com/ Title: 10880 Thu Apr 26 10:49:29 2007 http://www.host-10881.com/ Title: 10881 Thu Apr 26 10:49:48 2007 http://www.host-10882.com/ Title: 10882 Thu Apr 26 10:50:11 2007 http://host-10883.com/ Title: 10883 Thu Apr 26 10:50:19 2007 http://host-10884.com/ Title: 10884 Thu Apr 26 10:53:36 2007 http://host-10885.com/ Title: 10885 Thu Apr 26 10:53:44 2007 http://www.host-10886.com/ Title: 10886 Thu Apr 26 10:53:50 2007 http://www.host-10887.com/ Title: 10887 Thu Apr 26 10:53:53 2007 http://host-10888.com/ Title: 10888 Thu Apr 26 10:54:37 2007 http://www.host-10889.com/ Title: 10889 Thu Apr 26 10:55:08 2007 http://host-10890.com/ Title: 10890 Thu Apr 26 10:55:16 2007 http://www.host-10891.com/ Title: 10891 Thu Apr 26 10:55:25 2007 http://host-10892.com/ Title: 10892 Thu Apr 26 10:55:32 2007 http://host-10893.com/ Title: 10893 Thu Apr 26 10:56:52 2007 http://host-10894.com/ Title: 10894 Thu Apr 26 10:56:57 2007 http://host-10895.com/ Title: 10895 Thu Apr 26 10:57:24 2007 http://www.host-10896.com/ Title: 10896 Thu Apr 26 10:57:27 2007 http://host-10897.com/ Title: 10897 Thu Apr 26 11:12:38 2007 http://www.host-10898.com/ Title: 10898 Thu Apr 26 11:12:44 2007 http://www.host-10899.com/ Title: 10899 Thu Apr 26 11:14:11 2007 http://www.host-10900.com/ Title: 10900 Thu Apr 26 11:14:18 2007 http://www.host-10901.com/ Title: 10901 Thu Apr 26 11:14:23 2007 http://host-10902.com/ Title: 10902 Thu Apr 26 11:14:36 2007 http://www.host-10903.com/ Title: 10903 Thu Apr 26 11:19:50 2007 http://host-10904.com/ Title: 10904 Thu Apr 26 11:19:56 2007 http://host-10905.com/ Title: 10905 Thu Apr 26 11:20:15 2007 http://www.host-10906.com/ Title: 10906 Thu Apr 26 11:20:23 2007 http://www.host-10907.com/ Title: 10907 Thu Apr 26 11:22:46 2007 http://www.host-10908.com/ Title: 10908 Thu Apr 26 11:28:41 2007 http://host-10909.com/ Title: 10909 Thu Apr 26 11:28:47 2007 http://host-10910.com/ Title: 10910 Thu Apr 26 11:29:43 2007 http://www.host-10911.com/ Title: 10911 Thu Apr 26 11:31:44 2007 http://host-10912.com/ Title: 10912 Thu Apr 26 11:32:31 2007 http://www.host-10913.com/ Title: 10913 Thu Apr 26 11:32:45 2007 http://www.host-10914.com/ Title: 10914 Thu Apr 26 11:35:29 2007 http://www.host-10915.com/ Title: 10915 Thu Apr 26 11:40:30 2007 http://host-10916.com/ Title: 10916 Thu Apr 26 11:40:37 2007 http://www.host-10917.com/ Title: 10917 Thu Apr 26 11:41:02 2007 http://host-10918.com/ Title: 10918 Thu Apr 26 11:41:14 2007 http://www.host-10919.com/ Title: 10919 Thu Apr 26 11:42:57 2007 http://www.host-10920.com/ Title: 10920 Thu Apr 26 11:43:19 2007 http://host-10921.com/ Title: 10921 Thu Apr 26 12:02:09 2007 http://www.host-10922.com/ Title: 10922 Thu Apr 26 12:02:30 2007 http://host-10923.com/ Title: 10923 Thu Apr 26 12:04:15 2007 http://host-10924.com/ Title: 10924 Thu Apr 26 12:04:42 2007 http://host-10925.com/ Title: 10925 Thu Apr 26 12:33:14 2007 http://host-10926.com/ Title: 10926 Thu Apr 26 12:34:07 2007 http://www.host-10927.com/ Title: 10927 Thu Apr 26 12:34:20 2007 http://host-10928.com/ Title: 10928 Thu Apr 26 12:38:59 2007 http://www.host-10929.com/ Title: 10929 Thu Apr 26 12:39:13 2007 http://www.host-10930.com/ Title: 10930 Thu Apr 26 12:39:14 2007 http://host-10931.com/ Title: 10931 Thu Apr 26 12:41:03 2007 http://www.host-10932.com/ Title: 10932 Thu Apr 26 12:52:55 2007 http://host-10933.com/ Title: 10933 Thu Apr 26 12:54:59 2007 http://www.host-10934.com/ Title: 10934 Thu Apr 26 13:47:07 2007 http://www.host-10935.com/ Title: 10935 Thu Apr 26 13:48:13 2007 http://www.host-10936.com/ Title: 10936 Thu Apr 26 14:06:04 2007 http://host-10937.com/ Title: 10937 Thu Apr 26 14:06:38 2007 http://host-10938.com/ Title: 10938 Thu Apr 26 14:06:46 2007 http://www.host-10939.com/ Title: 10939 Thu Apr 26 14:09:39 2007 http://www.host-10940.com/ Title: 10940 Thu Apr 26 14:09:45 2007 http://www.host-10941.com/ Title: 10941 Thu Apr 26 14:09:59 2007 http://www.host-10942.com/ Title: 10942 Thu Apr 26 14:10:17 2007 http://host-10943.com/ Title: 10943 Thu Apr 26 14:11:03 2007 http://www.host-10944.com/ Title: 10944 Thu Apr 26 14:11:17 2007 http://host-10945.com/ Title: 10945 Thu Apr 26 14:11:32 2007 http://host-10946.com/ Title: 10946 Thu Apr 26 14:11:49 2007 http://www.host-10947.com/ Title: 10947 Thu Apr 26 14:11:55 2007 http://host-10948.com/ Title: 10948 Thu Apr 26 14:12:08 2007 http://www.host-10949.com/ Title: 10949 Thu Apr 26 14:12:18 2007 http://www.host-10950.com/ Title: 10950 Thu Apr 26 14:12:25 2007 http://host-10951.com/ Title: 10951 Thu Apr 26 14:12:44 2007 http://www.host-10952.com/ Title: 10952 Thu Apr 26 14:12:53 2007 http://www.host-10953.com/ Title: 10953 Thu Apr 26 14:14:00 2007 http://host-10954.com/ Title: 10954 Thu Apr 26 14:14:02 2007 http://host-10955.com/ Title: 10955 Thu Apr 26 14:17:05 2007 http://www.host-10956.com/ Title: 10956 Thu Apr 26 14:17:13 2007 http://www.host-10957.com/ Title: 10957 Thu Apr 26 14:17:31 2007 http://www.host-10958.com/ Title: 10958 Thu Apr 26 14:18:41 2007 http://host-10959.com/ Title: 10959 Thu Apr 26 14:19:35 2007 http://www.host-10960.com/ Title: 10960 Thu Apr 26 14:33:55 2007 http://host-10961.com/ Title: 10961 Thu Apr 26 14:44:05 2007 http://www.host-10962.com/ Title: 10962 Thu Apr 26 14:44:13 2007 http://www.host-10963.com/ Title: 10963 Thu Apr 26 14:44:20 2007 http://host-10964.com/ Title: 10964 Thu Apr 26 14:44:36 2007 http://host-10965.com/ Title: 10965 Thu Apr 26 14:44:37 2007 http://host-10966.com/ Title: 10966 Thu Apr 26 14:45:00 2007 http://host-10967.com/ Title: 10967 Thu Apr 26 14:45:02 2007 http://www.host-10968.com/ Title: 10968 Thu Apr 26 14:45:06 2007 http://host-10969.com/ Title: 10969 Thu Apr 26 14:45:24 2007 http://host-10970.com/ Title: 10970 Thu Apr 26 14:45:46 2007 http://www.host-10971.com/ Title: 10971 Thu Apr 26 14:46:03 2007 http://www.host-10972.com/ Title: 10972 Thu Apr 26 14:46:24 2007 http://www.host-10973.com/ Title: 10973 Thu Apr 26 14:47:03 2007 http://www.host-10974.com/ Title: 10974 Thu Apr 26 14:47:24 2007 http://www.host-10975.com/ Title: 10975 Thu Apr 26 14:47:43 2007 http://www.host-10976.com/ Title: 10976 Thu Apr 26 14:47:50 2007 http://www.host-10977.com/ Title: 10977 Thu Apr 26 14:47:59 2007 http://www.host-10978.com/ Title: 10978 Thu Apr 26 14:48:08 2007 http://host-10979.com/ Title: 10979 Thu Apr 26 14:48:30 2007 http://www.host-10980.com/ Title: 10980 Thu Apr 26 14:48:38 2007 http://www.host-10981.com/ Title: 10981 Thu Apr 26 14:48:41 2007 http://www.host-10982.com/ Title: 10982 Thu Apr 26 14:48:48 2007 http://host-10983.com/ Title: 10983 Thu Apr 26 15:01:54 2007 http://www.host-10984.com/ Title: 10984 Thu Apr 26 15:02:27 2007 http://www.host-10985.com/ Title: 10985 Thu Apr 26 15:03:28 2007 http://www.host-10986.com/ Title: 10986 Thu Apr 26 15:04:20 2007 http://www.host-10987.com/ Title: 10987 Thu Apr 26 15:04:23 2007 http://host-10988.com/ Title: 10988 Thu Apr 26 15:12:35 2007 http://host-10989.com/ Title: 10989 Thu Apr 26 15:16:12 2007 http://www.host-10990.com/ Title: 10990 Thu Apr 26 15:19:41 2007 http://www.host-10991.com/ Title: 10991 Thu Apr 26 15:27:19 2007 http://host-10992.com/ Title: 10992 Thu Apr 26 15:27:19 2007 http://host-10993.com/ Title: 10993 Thu Apr 26 15:36:21 2007 http://host-10994.com/ Title: 10994 Thu Apr 26 15:37:18 2007 http://www.host-10995.com/ Title: 10995 Thu Apr 26 15:37:26 2007 http://www.host-10996.com/ Title: 10996 Thu Apr 26 15:38:59 2007 http://host-10997.com/ Title: 10997 Fri Apr 27 09:21:57 2007 http://host-10998.com/ Title: 10998 Fri Apr 27 09:25:10 2007 http://host-10999.com/ Title: 10999 Fri Apr 27 09:26:29 2007 http://host-11000.com/ Title: 11000 Fri Apr 27 09:26:32 2007 http://host-11001.com/ Title: 11001 Fri Apr 27 09:46:49 2007 http://www.host-11002.com/ Title: 11002 Fri Apr 27 10:57:27 2007 http://www.host-11003.com/ Title: 11003 Fri Apr 27 10:57:32 2007 http://www.host-11004.com/ Title: 11004 Fri Apr 27 10:57:46 2007 http://www.host-11005.com/ Title: 11005 Fri Apr 27 10:57:48 2007 http://www.host-11006.com/ Title: 11006 Fri Apr 27 10:57:57 2007 http://www.host-11007.com/ Title: 11007 Mon Apr 30 08:55:11 2007 http://host-11008.com/ Title: 11008 Mon Apr 30 08:55:21 2007 http://www.host-11009.com/ Title: 11009 Mon Apr 30 08:55:35 2007 http://host-11010.com/ Title: 11010 Mon Apr 30 08:56:12 2007 http://www.host-11011.com/ Title: 11011 Mon Apr 30 08:57:46 2007 http://www.host-11012.com/ Title: 11012 Mon Apr 30 08:57:57 2007 http://www.host-11013.com/ Title: 11013 Mon Apr 30 08:59:45 2007 http://host-11014.com/ Title: 11014 Mon Apr 30 09:00:36 2007 http://host-11015.com/ Title: 11015 Mon Apr 30 10:22:20 2007 http://host-11016.com/ Title: 11016 Mon Apr 30 10:41:01 2007 http://host-11017.com/ Title: 11017 Mon Apr 30 10:43:29 2007 http://www.host-11018.com/ Title: 11018 Mon Apr 30 10:44:00 2007 http://host-11019.com/ Title: 11019 Mon Apr 30 10:44:11 2007 http://www.host-11020.com/ Title: 11020 Mon Apr 30 10:44:15 2007 http://www.host-11021.com/ Title: 11021 Mon Apr 30 10:44:16 2007 http://www.host-11022.com/ Title: 11022 Mon Apr 30 10:49:17 2007 http://www.host-11023.com/ Title: 11023 Mon Apr 30 10:49:21 2007 http://www.host-11024.com/ Title: 11024 Mon Apr 30 10:49:32 2007 http://host-11025.com/ Title: 11025 Mon Apr 30 10:49:37 2007 http://www.host-11026.com/ Title: 11026 Mon Apr 30 10:51:50 2007 http://host-11027.com/ Title: 11027 Mon Apr 30 10:52:41 2007 http://www.host-11028.com/ Title: 11028 Mon Apr 30 10:53:32 2007 http://www.host-11029.com/ Title: 11029 Mon Apr 30 10:53:35 2007 http://www.host-11030.com/ Title: 11030 Mon Apr 30 10:53:44 2007 http://host-11031.com/ Title: 11031 Mon Apr 30 10:54:04 2007 http://www.host-11032.com/ Title: 11032 Mon Apr 30 10:55:36 2007 http://www.host-11033.com/ Title: 11033 Mon Apr 30 10:55:41 2007 http://host-11034.com/ Title: 11034 Mon Apr 30 10:59:06 2007 http://www.host-11035.com/ Title: 11035 Mon Apr 30 10:59:17 2007 http://host-11036.com/ Title: 11036 Mon Apr 30 10:59:32 2007 http://www.host-11037.com/ Title: 11037 Mon Apr 30 11:01:26 2007 http://www.host-11038.com/ Title: 11038 Mon Apr 30 11:01:35 2007 http://host-11039.com/ Title: 11039 Mon Apr 30 11:01:38 2007 http://host-11040.com/ Title: 11040 Mon Apr 30 11:01:40 2007 http://host-11041.com/ Title: 11041 Mon Apr 30 11:37:24 2007 http://www.host-11042.com/ Title: 11042 Mon Apr 30 11:37:27 2007 http://www.host-11043.com/ Title: 11043 Mon Apr 30 11:37:27 2007 http://www.host-11044.com/ Title: 11044 Mon Apr 30 11:37:28 2007 http://host-11045.com/ Title: 11045 Mon Apr 30 11:38:03 2007 http://www.host-11046.com/ Title: 11046 Mon Apr 30 11:40:51 2007 http://www.host-11047.com/ Title: 11047 Mon Apr 30 11:40:58 2007 http://host-11048.com/ Title: 11048 Mon Apr 30 11:41:00 2007 http://host-11049.com/ Title: 11049 Mon Apr 30 11:44:29 2007 http://host-11050.com/ Title: 11050 Mon Apr 30 11:45:45 2007 http://www.host-11051.com/ Title: 11051 Mon Apr 30 11:48:44 2007 http://host-11052.com/ Title: 11052 Mon Apr 30 11:53:43 2007 http://www.host-11053.com/ Title: 11053 Mon Apr 30 11:53:55 2007 http://www.host-11054.com/ Title: 11054 Mon Apr 30 11:54:04 2007 http://host-11055.com/ Title: 11055 Mon Apr 30 11:54:06 2007 http://www.host-11056.com/ Title: 11056 Mon Apr 30 11:58:32 2007 http://www.host-11057.com/ Title: 11057 Mon Apr 30 12:09:19 2007 http://host-11058.com/ Title: 11058 Mon Apr 30 12:09:22 2007 http://www.host-11059.com/ Title: 11059 Mon Apr 30 12:09:29 2007 http://host-11060.com/ Title: 11060 Mon Apr 30 12:10:47 2007 http://host-11061.com/ Title: 11061 Mon Apr 30 12:10:48 2007 http://host-11062.com/ Title: 11062 Mon Apr 30 12:11:11 2007 http://host-11063.com/ Title: 11063 Mon Apr 30 12:14:24 2007 http://www.host-11064.com/ Title: 11064 Mon Apr 30 12:14:26 2007 http://host-11065.com/ Title: 11065 Mon Apr 30 12:14:27 2007 http://www.host-11066.com/ Title: 11066 Mon Apr 30 12:16:02 2007 http://www.host-11067.com/ Title: 11067 Mon Apr 30 12:20:23 2007 http://www.host-11068.com/ Title: 11068 Mon Apr 30 12:20:26 2007 http://host-11069.com/ Title: 11069 Mon Apr 30 12:28:49 2007 http://www.host-11070.com/ Title: 11070 Mon Apr 30 12:30:52 2007 http://www.host-11071.com/ Title: 11071 Mon Apr 30 12:31:09 2007 http://host-11072.com/ Title: 11072 Mon Apr 30 12:31:37 2007 http://host-11073.com/ Title: 11073 Mon Apr 30 12:31:42 2007 http://www.host-11074.com/ Title: 11074 Mon Apr 30 12:31:52 2007 http://www.host-11075.com/ Title: 11075 Mon Apr 30 12:31:55 2007 http://host-11076.com/ Title: 11076 Mon Apr 30 12:32:09 2007 http://www.host-11077.com/ Title: 11077 Mon Apr 30 13:30:12 2007 http://host-11078.com/ Title: 11078 Mon Apr 30 13:30:18 2007 http://www.host-11079.com/ Title: 11079 Mon Apr 30 13:32:41 2007 http://host-11080.com/ Title: 11080 Mon Apr 30 13:36:15 2007 http://host-11081.com/ Title: 11081 Mon Apr 30 14:00:03 2007 http://host-11082.com/ Title: 11082 Mon Apr 30 14:53:23 2007 http://host-11083.com/ Title: 11083 Mon Apr 30 14:53:30 2007 http://www.host-11084.com/ Title: 11084 Mon Apr 30 14:53:36 2007 http://www.host-11085.com/ Title: 11085 Mon Apr 30 15:05:24 2007 http://host-11086.com/ Title: 11086 Mon Apr 30 15:05:34 2007 http://www.host-11087.com/ Title: 11087 Mon Apr 30 15:57:53 2007 http://www.host-11088.com/ Title: 11088 Mon Apr 30 15:57:56 2007 http://www.host-11089.com/ Title: 11089 Mon Apr 30 16:47:09 2007 http://host-11090.com/ Title: 11090 Mon Apr 30 16:47:38 2007 http://host-11091.com/ Title: 11091 Wed May 2 09:12:13 2007 http://www.host-11092.com/ Title: 11092 Wed May 2 09:12:18 2007 http://www.host-11093.com/ Title: 11093 Wed May 2 09:15:50 2007 http://host-11094.com/ Title: 11094 Wed May 2 09:16:57 2007 http://www.host-11095.com/ Title: 11095 Wed May 2 09:17:15 2007 http://host-11096.com/ Title: 11096 Wed May 2 09:17:24 2007 http://www.host-11097.com/ Title: 11097 Wed May 2 09:17:35 2007 http://host-11098.com/ Title: 11098 Wed May 2 09:17:43 2007 http://www.host-11099.com/ Title: 11099 Wed May 2 09:18:57 2007 http://host-11100.com/ Title: 11100 Wed May 2 09:19:04 2007 http://host-11101.com/ Title: 11101 Wed May 2 09:19:08 2007 http://www.host-11102.com/ Title: 11102 Wed May 2 09:19:23 2007 http://host-11103.com/ Title: 11103 Wed May 2 09:19:40 2007 http://www.host-11104.com/ Title: 11104 Wed May 2 09:20:23 2007 http://www.host-11105.com/ Title: 11105 Wed May 2 09:20:43 2007 http://www.host-11106.com/ Title: 11106 Wed May 2 09:20:59 2007 http://www.host-11107.com/ Title: 11107 Wed May 2 09:21:23 2007 http://www.host-11108.com/ Title: 11108 Wed May 2 09:31:29 2007 http://www.host-11109.com/ Title: 11109 Wed May 2 09:31:30 2007 http://www.host-11110.com/ Title: 11110 Wed May 2 09:31:33 2007 http://host-11111.com/ Title: 11111 Wed May 2 09:31:34 2007 http://www.host-11112.com/ Title: 11112 Wed May 2 09:36:20 2007 http://www.host-11113.com/ Title: 11113 Wed May 2 09:39:53 2007 http://host-11114.com/ Title: 11114 Wed May 2 09:39:58 2007 http://www.host-11115.com/ Title: 11115 Wed May 2 10:05:18 2007 http://www.host-11116.com/ Title: 11116 Wed May 2 10:07:57 2007 http://www.host-11117.com/ Title: 11117 Wed May 2 10:08:04 2007 http://host-11118.com/ Title: 11118 Wed May 2 10:12:54 2007 http://www.host-11119.com/ Title: 11119 Wed May 2 10:28:40 2007 http://www.host-11120.com/ Title: 11120 Wed May 2 10:31:22 2007 http://host-11121.com/ Title: 11121 Wed May 2 10:31:27 2007 http://host-11122.com/ Title: 11122 Wed May 2 10:33:14 2007 http://www.host-11123.com/ Title: 11123 Wed May 2 10:44:40 2007 http://host-11124.com/ Title: 11124 Wed May 2 10:44:45 2007 http://www.host-11125.com/ Title: 11125 Wed May 2 10:45:53 2007 http://www.host-11126.com/ Title: 11126 Wed May 2 10:45:58 2007 http://www.host-11127.com/ Title: 11127 Wed May 2 11:47:44 2007 http://www.host-11128.com/ Title: 11128 Wed May 2 11:47:50 2007 http://www.host-11129.com/ Title: 11129 Wed May 2 11:59:08 2007 http://www.host-11130.com/ Title: 11130 Wed May 2 11:59:10 2007 http://www.host-11131.com/ Title: 11131 Wed May 2 12:07:02 2007 http://www.host-11132.com/ Title: 11132 Wed May 2 12:07:07 2007 http://host-11133.com/ Title: 11133 Wed May 2 12:07:14 2007 http://host-11134.com/ Title: 11134 Wed May 2 12:07:18 2007 http://host-11135.com/ Title: 11135 Wed May 2 12:07:23 2007 http://host-11136.com/ Title: 11136 Wed May 2 12:07:36 2007 http://host-11137.com/ Title: 11137 Wed May 2 12:07:59 2007 http://www.host-11138.com/ Title: 11138 Wed May 2 12:08:02 2007 http://host-11139.com/ Title: 11139 Wed May 2 12:24:20 2007 http://host-11140.com/ Title: 11140 Wed May 2 12:24:26 2007 http://host-11141.com/ Title: 11141 Wed May 2 12:24:30 2007 http://www.host-11142.com/ Title: 11142 Wed May 2 12:24:33 2007 http://host-11143.com/ Title: 11143 Wed May 2 12:25:10 2007 http://www.host-11144.com/ Title: 11144 Wed May 2 12:25:23 2007 http://www.host-11145.com/ Title: 11145 Wed May 2 12:26:36 2007 http://host-11146.com/ Title: 11146 Wed May 2 12:27:04 2007 http://www.host-11147.com/ Title: 11147 Wed May 2 12:27:13 2007 http://www.host-11148.com/ Title: 11148 Wed May 2 12:27:26 2007 http://host-11149.com/ Title: 11149 Wed May 2 12:27:36 2007 http://host-11150.com/ Title: 11150 Wed May 2 12:27:37 2007 http://www.host-11151.com/ Title: 11151 Wed May 2 12:27:40 2007 http://host-11152.com/ Title: 11152 Wed May 2 12:36:07 2007 http://www.host-11153.com/ Title: 11153 Wed May 2 12:36:08 2007 http://www.host-11154.com/ Title: 11154 Wed May 2 13:35:49 2007 http://www.host-11155.com/ Title: 11155 Wed May 2 13:35:59 2007 http://host-11156.com/ Title: 11156 Wed May 2 13:36:07 2007 http://host-11157.com/ Title: 11157 Wed May 2 13:36:59 2007 http://host-11158.com/ Title: 11158 Wed May 2 13:56:37 2007 http://host-11159.com/ Title: 11159 Wed May 2 14:01:43 2007 http://host-11160.com/ Title: 11160 Wed May 2 14:01:54 2007 http://host-11161.com/ Title: 11161 Wed May 2 14:21:25 2007 http://host-11162.com/ Title: 11162 Wed May 2 14:21:32 2007 http://www.host-11163.com/ Title: 11163 Wed May 2 14:21:38 2007 http://host-11164.com/ Title: 11164 Wed May 2 14:22:40 2007 http://host-11165.com/ Title: 11165 Wed May 2 14:23:01 2007 http://host-11166.com/ Title: 11166 Wed May 2 14:23:04 2007 http://www.host-11167.com/ Title: 11167 Wed May 2 14:27:08 2007 http://www.host-11168.com/ Title: 11168 Wed May 2 14:27:59 2007 http://host-11169.com/ Title: 11169 Wed May 2 14:28:01 2007 http://host-11170.com/ Title: 11170 Wed May 2 14:28:02 2007 http://host-11171.com/ Title: 11171 Wed May 2 14:28:02 2007 http://www.host-11172.com/ Title: 11172 Wed May 2 14:28:34 2007 http://host-11173.com/ Title: 11173 Wed May 2 14:42:04 2007 http://www.host-11174.com/ Title: 11174 Wed May 2 15:32:21 2007 http://host-11175.com/ Title: 11175 Wed May 2 15:35:10 2007 http://www.host-11176.com/ Title: 11176 Wed May 2 15:35:42 2007 http://www.host-11177.com/ Title: 11177 Wed May 2 15:35:45 2007 http://host-11178.com/ Title: 11178 Wed May 2 15:36:26 2007 http://www.host-11179.com/ Title: 11179 Wed May 2 15:36:33 2007 http://host-11180.com/ Title: 11180 Wed May 2 15:50:36 2007 http://www.host-11181.com/ Title: 11181 Wed May 2 15:50:43 2007 http://www.host-11182.com/ Title: 11182 Wed May 2 16:21:19 2007 http://host-11183.com/ Title: 11183 Thu May 3 11:55:18 2007 http://www.host-11184.com/ Title: 11184 Thu May 3 11:55:25 2007 http://host-11185.com/ Title: 11185 Thu May 3 11:55:32 2007 http://www.host-11186.com/ Title: 11186 Thu May 3 11:55:33 2007 http://host-11187.com/ Title: 11187 Thu May 3 12:20:35 2007 http://host-11188.com/ Title: 11188 Thu May 3 12:21:23 2007 http://host-11189.com/ Title: 11189 Thu May 3 12:21:32 2007 http://host-11190.com/ Title: 11190 Thu May 3 12:21:47 2007 http://host-11191.com/ Title: 11191 Thu May 3 13:04:00 2007 http://www.host-11192.com/ Title: 11192 Thu May 3 14:07:18 2007 http://host-11193.com/ Title: 11193 Thu May 3 14:07:19 2007 http://www.host-11194.com/ Title: 11194 Thu May 3 15:43:30 2007 http://host-11195.com/ Title: 11195 Thu May 3 15:43:37 2007 http://www.host-11196.com/ Title: 11196 Thu May 3 15:50:59 2007 http://www.host-11197.com/ Title: 11197 Thu May 3 15:50:59 2007 http://www.host-11198.com/ Title: 11198 Thu May 3 16:03:08 2007 http://www.host-11199.com/ Title: 11199 Thu May 3 16:03:12 2007 http://www.host-11200.com/ Title: 11200 Thu May 3 16:35:55 2007 http://host-11201.com/ Title: 11201 Thu May 3 16:36:02 2007 http://www.host-11202.com/ Title: 11202 Thu May 3 16:36:09 2007 http://host-11203.com/ Title: 11203 Thu May 3 16:36:10 2007 http://host-11204.com/ Title: 11204 Fri May 4 09:22:42 2007 http://www.host-11205.com/ Title: 11205 Fri May 4 09:23:15 2007 http://host-11206.com/ Title: 11206 Fri May 4 09:23:16 2007 http://www.host-11207.com/ Title: 11207 Fri May 4 09:23:21 2007 http://host-11208.com/ Title: 11208 Fri May 4 09:23:26 2007 http://www.host-11209.com/ Title: 11209 Fri May 4 09:23:33 2007 http://host-11210.com/ Title: 11210 Fri May 4 09:23:36 2007 http://host-11211.com/ Title: 11211 Fri May 4 09:23:51 2007 http://host-11212.com/ Title: 11212 Fri May 4 09:23:55 2007 http://www.host-11213.com/ Title: 11213 Fri May 4 09:23:58 2007 http://www.host-11214.com/ Title: 11214 Fri May 4 09:24:01 2007 http://www.host-11215.com/ Title: 11215 Fri May 4 09:24:05 2007 http://www.host-11216.com/ Title: 11216 Fri May 4 09:24:10 2007 http://www.host-11217.com/ Title: 11217 Fri May 4 09:24:30 2007 http://www.host-11218.com/ Title: 11218 Fri May 4 09:24:41 2007 http://host-11219.com/ Title: 11219 Fri May 4 09:24:52 2007 http://www.host-11220.com/ Title: 11220 Fri May 4 09:25:05 2007 http://www.host-11221.com/ Title: 11221 Fri May 4 09:25:13 2007 http://host-11222.com/ Title: 11222 Fri May 4 09:25:21 2007 http://host-11223.com/ Title: 11223 Fri May 4 09:25:30 2007 http://host-11224.com/ Title: 11224 Fri May 4 09:25:40 2007 http://host-11225.com/ Title: 11225 Fri May 4 09:25:46 2007 http://host-11226.com/ Title: 11226 Fri May 4 09:26:04 2007 http://www.host-11227.com/ Title: 11227 Fri May 4 09:26:20 2007 http://www.host-11228.com/ Title: 11228 Fri May 4 09:26:50 2007 http://www.host-11229.com/ Title: 11229 Fri May 4 09:26:53 2007 http://host-11230.com/ Title: 11230 Fri May 4 11:31:01 2007 http://www.host-11231.com/ Title: 11231 Fri May 4 11:31:02 2007 http://host-11232.com/ Title: 11232 Fri May 4 12:39:58 2007 http://host-11233.com/ Title: 11233 Fri May 4 12:40:04 2007 http://host-11234.com/ Title: 11234 Fri May 4 12:41:37 2007 http://host-11235.com/ Title: 11235 Fri May 4 12:41:39 2007 http://host-11236.com/ Title: 11236 Fri May 4 12:41:42 2007 http://host-11237.com/ Title: 11237 Fri May 4 12:41:43 2007 http://www.host-11238.com/ Title: 11238 Fri May 4 12:41:46 2007 http://www.host-11239.com/ Title: 11239 Fri May 4 12:42:42 2007 http://host-11240.com/ Title: 11240 Fri May 4 12:43:59 2007 http://host-11241.com/ Title: 11241 Fri May 4 12:44:02 2007 http://host-11242.com/ Title: 11242 Fri May 4 12:44:23 2007 http://host-11243.com/ Title: 11243 Fri May 4 13:32:06 2007 http://host-11244.com/ Title: 11244 Fri May 4 14:19:27 2007 http://host-11245.com/ Title: 11245 Fri May 4 14:19:49 2007 http://host-11246.com/ Title: 11246 Fri May 4 14:20:39 2007 http://host-11247.com/ Title: 11247 Fri May 4 14:20:40 2007 http://host-11248.com/ Title: 11248 Fri May 4 14:20:41 2007 http://www.host-11249.com/ Title: 11249 Fri May 4 14:21:16 2007 http://www.host-11250.com/ Title: 11250 Fri May 4 14:21:20 2007 http://host-11251.com/ Title: 11251 Fri May 4 14:21:22 2007 http://host-11252.com/ Title: 11252 Fri May 4 14:25:45 2007 http://host-11253.com/ Title: 11253 Fri May 4 14:32:44 2007 http://host-11254.com/ Title: 11254 Fri May 4 16:01:36 2007 http://www.host-11255.com/ Title: 11255 Fri May 4 16:01:37 2007 http://host-11256.com/ Title: 11256 Fri May 4 16:01:56 2007 http://host-11257.com/ Title: 11257 Mon May 7 08:53:58 2007 http://www.host-11258.com/ Title: 11258 Mon May 7 08:54:03 2007 http://www.host-11259.com/ Title: 11259 Mon May 7 08:54:40 2007 http://www.host-11260.com/ Title: 11260 Mon May 7 08:54:54 2007 http://www.host-11261.com/ Title: 11261 Mon May 7 08:55:29 2007 http://host-11262.com/ Title: 11262 Mon May 7 08:55:39 2007 http://host-11263.com/ Title: 11263 Mon May 7 08:55:44 2007 http://www.host-11264.com/ Title: 11264 Mon May 7 08:55:46 2007 http://host-11265.com/ Title: 11265 Mon May 7 08:56:18 2007 http://www.host-11266.com/ Title: 11266 Mon May 7 08:56:19 2007 http://www.host-11267.com/ Title: 11267 Mon May 7 08:56:29 2007 http://host-11268.com/ Title: 11268 Mon May 7 08:59:12 2007 http://www.host-11269.com/ Title: 11269 Mon May 7 08:59:24 2007 http://host-11270.com/ Title: 11270 Mon May 7 09:19:15 2007 http://www.host-11271.com/ Title: 11271 Mon May 7 09:28:27 2007 http://www.host-11272.com/ Title: 11272 Mon May 7 09:28:54 2007 http://host-11273.com/ Title: 11273 Mon May 7 09:48:26 2007 http://host-11274.com/ Title: 11274 Mon May 7 09:48:30 2007 http://host-11275.com/ Title: 11275 Mon May 7 09:48:31 2007 http://www.host-11276.com/ Title: 11276 Mon May 7 10:49:29 2007 http://www.host-11277.com/ Title: 11277 Mon May 7 11:12:15 2007 http://www.host-11278.com/ Title: 11278 Mon May 7 11:17:43 2007 http://host-11279.com/ Title: 11279 Mon May 7 11:18:11 2007 http://www.host-11280.com/ Title: 11280 Mon May 7 11:21:04 2007 http://www.host-11281.com/ Title: 11281 Mon May 7 11:21:08 2007 http://www.host-11282.com/ Title: 11282 Mon May 7 11:21:12 2007 http://www.host-11283.com/ Title: 11283 Mon May 7 11:21:15 2007 http://www.host-11284.com/ Title: 11284 Mon May 7 11:21:22 2007 http://host-11285.com/ Title: 11285 Mon May 7 11:23:52 2007 http://host-11286.com/ Title: 11286 Mon May 7 11:23:57 2007 http://host-11287.com/ Title: 11287 Mon May 7 12:04:17 2007 http://host-11288.com/ Title: 11288 Mon May 7 12:04:34 2007 http://host-11289.com/ Title: 11289 Mon May 7 12:04:37 2007 http://host-11290.com/ Title: 11290 Mon May 7 12:05:06 2007 http://host-11291.com/ Title: 11291 Mon May 7 12:13:14 2007 http://www.host-11292.com/ Title: 11292 Mon May 7 12:14:34 2007 http://host-11293.com/ Title: 11293 Mon May 7 12:15:20 2007 http://www.host-11294.com/ Title: 11294 Mon May 7 12:22:32 2007 http://host-11295.com/ Title: 11295 Mon May 7 12:24:54 2007 http://www.host-11296.com/ Title: 11296 Mon May 7 12:24:59 2007 http://www.host-11297.com/ Title: 11297 Mon May 7 12:25:09 2007 http://www.host-11298.com/ Title: 11298 Mon May 7 12:48:56 2007 http://www.host-11299.com/ Title: 11299 Mon May 7 12:49:14 2007 http://host-11300.com/ Title: 11300 Mon May 7 13:22:19 2007 http://www.host-11301.com/ Title: 11301 Mon May 7 14:41:45 2007 http://host-11302.com/ Title: 11302 Mon May 7 14:51:07 2007 http://www.host-11303.com/ Title: 11303 Mon May 7 14:51:09 2007 http://www.host-11304.com/ Title: 11304 Mon May 7 14:51:25 2007 http://www.host-11305.com/ Title: 11305 Mon May 7 14:52:26 2007 http://host-11306.com/ Title: 11306 Mon May 7 14:52:29 2007 http://www.host-11307.com/ Title: 11307 Mon May 7 14:52:40 2007 http://host-11308.com/ Title: 11308 Mon May 7 14:52:43 2007 http://host-11309.com/ Title: 11309 Mon May 7 14:53:39 2007 http://www.host-11310.com/ Title: 11310 Mon May 7 15:28:31 2007 http://www.host-11311.com/ Title: 11311 Mon May 7 15:55:04 2007 http://host-11312.com/ Title: 11312 Mon May 7 15:55:19 2007 http://www.host-11313.com/ Title: 11313 Mon May 7 16:06:46 2007 http://host-11314.com/ Title: 11314 Mon May 7 16:07:01 2007 http://www.host-11315.com/ Title: 11315 Mon May 7 16:26:20 2007 http://www.host-11316.com/ Title: 11316 Mon May 7 16:28:04 2007 http://www.host-11317.com/ Title: 11317 Mon May 7 16:28:33 2007 http://host-11318.com/ Title: 11318 Mon May 7 16:28:37 2007 http://www.host-11319.com/ Title: 11319 Mon May 7 16:28:38 2007 http://host-11320.com/ Title: 11320 Mon May 7 16:29:19 2007 http://host-11321.com/ Title: 11321 Mon May 7 16:29:28 2007 http://host-11322.com/ Title: 11322 Mon May 7 16:29:34 2007 http://host-11323.com/ Title: 11323 Mon May 7 16:30:05 2007 http://www.host-11324.com/ Title: 11324 Mon May 7 16:30:35 2007 http://www.host-11325.com/ Title: 11325 Mon May 7 16:30:37 2007 http://host-11326.com/ Title: 11326 Mon May 7 16:30:44 2007 http://www.host-11327.com/ Title: 11327 Tue May 8 10:44:53 2007 http://www.host-11328.com/ Title: 11328 Tue May 8 11:30:39 2007 http://www.host-11329.com/ Title: 11329 Tue May 8 11:31:34 2007 http://host-11330.com/ Title: 11330 Tue May 8 11:31:34 2007 http://host-11331.com/ Title: 11331 Tue May 8 11:31:35 2007 http://www.host-11332.com/ Title: 11332 Tue May 8 11:31:36 2007 http://host-11333.com/ Title: 11333 Tue May 8 11:31:46 2007 http://www.host-11334.com/ Title: 11334 Tue May 8 11:31:59 2007 http://host-11335.com/ Title: 11335 Tue May 8 11:32:00 2007 http://www.host-11336.com/ Title: 11336 Tue May 8 11:32:27 2007 http://host-11337.com/ Title: 11337 Tue May 8 11:32:55 2007 http://host-11338.com/ Title: 11338 Tue May 8 11:32:57 2007 http://host-11339.com/ Title: 11339 Tue May 8 11:35:58 2007 http://host-11340.com/ Title: 11340 Tue May 8 11:36:02 2007 http://www.host-11341.com/ Title: 11341 Tue May 8 11:36:04 2007 http://www.host-11342.com/ Title: 11342 Tue May 8 11:36:22 2007 http://host-11343.com/ Title: 11343 Tue May 8 11:38:42 2007 http://www.host-11344.com/ Title: 11344 Tue May 8 11:38:45 2007 http://www.host-11345.com/ Title: 11345 Tue May 8 11:38:49 2007 http://www.host-11346.com/ Title: 11346 Tue May 8 11:38:54 2007 http://host-11347.com/ Title: 11347 Tue May 8 11:38:55 2007 http://host-11348.com/ Title: 11348 Tue May 8 11:38:57 2007 http://www.host-11349.com/ Title: 11349 Tue May 8 11:47:10 2007 http://host-11350.com/ Title: 11350 Tue May 8 11:47:17 2007 http://host-11351.com/ Title: 11351 Tue May 8 11:47:27 2007 http://host-11352.com/ Title: 11352 Tue May 8 11:49:12 2007 http://host-11353.com/ Title: 11353 Tue May 8 11:49:18 2007 http://www.host-11354.com/ Title: 11354 Tue May 8 11:49:21 2007 http://www.host-11355.com/ Title: 11355 Tue May 8 11:50:26 2007 http://www.host-11356.com/ Title: 11356 Tue May 8 11:50:34 2007 http://host-11357.com/ Title: 11357 Tue May 8 11:50:59 2007 http://host-11358.com/ Title: 11358 Tue May 8 11:51:06 2007 http://host-11359.com/ Title: 11359 Tue May 8 11:51:07 2007 http://host-11360.com/ Title: 11360 Tue May 8 11:51:12 2007 http://www.host-11361.com/ Title: 11361 Tue May 8 11:51:15 2007 http://www.host-11362.com/ Title: 11362 Tue May 8 11:51:19 2007 http://host-11363.com/ Title: 11363 Tue May 8 12:43:42 2007 http://www.host-11364.com/ Title: 11364 Tue May 8 12:43:47 2007 http://www.host-11365.com/ Title: 11365 Tue May 8 13:15:30 2007 http://host-11366.com/ Title: 11366 Tue May 8 13:15:31 2007 http://host-11367.com/ Title: 11367 Tue May 8 13:15:42 2007 http://www.host-11368.com/ Title: 11368 Tue May 8 13:15:43 2007 http://host-11369.com/ Title: 11369 Tue May 8 13:16:02 2007 http://host-11370.com/ Title: 11370 Tue May 8 13:16:03 2007 http://host-11371.com/ Title: 11371 Tue May 8 13:16:05 2007 http://host-11372.com/ Title: 11372 Tue May 8 13:16:10 2007 http://www.host-11373.com/ Title: 11373 Tue May 8 13:23:32 2007 http://www.host-11374.com/ Title: 11374 Tue May 8 13:23:37 2007 http://www.host-11375.com/ Title: 11375 Tue May 8 13:23:40 2007 http://host-11376.com/ Title: 11376 Tue May 8 13:23:46 2007 http://host-11377.com/ Title: 11377 Tue May 8 13:31:02 2007 http://www.host-11378.com/ Title: 11378 Tue May 8 13:39:27 2007 http://host-11379.com/ Title: 11379 Tue May 8 13:40:10 2007 http://host-11380.com/ Title: 11380 Tue May 8 13:40:27 2007 http://host-11381.com/ Title: 11381 Tue May 8 13:40:31 2007 http://www.host-11382.com/ Title: 11382 Tue May 8 13:57:08 2007 http://host-11383.com/ Title: 11383 Tue May 8 13:57:10 2007 http://www.host-11384.com/ Title: 11384 Tue May 8 13:57:41 2007 http://host-11385.com/ Title: 11385 Tue May 8 13:58:11 2007 http://host-11386.com/ Title: 11386 Tue May 8 13:58:22 2007 http://host-11387.com/ Title: 11387 Tue May 8 13:58:30 2007 http://host-11388.com/ Title: 11388 Tue May 8 13:59:08 2007 http://host-11389.com/ Title: 11389 Tue May 8 13:59:11 2007 http://host-11390.com/ Title: 11390 Tue May 8 14:36:55 2007 http://host-11391.com/ Title: 11391 Tue May 8 14:37:58 2007 http://host-11392.com/ Title: 11392 Tue May 8 14:40:17 2007 http://host-11393.com/ Title: 11393 Tue May 8 14:40:18 2007 http://host-11394.com/ Title: 11394 Tue May 8 14:41:14 2007 http://host-11395.com/ Title: 11395 Tue May 8 14:42:49 2007 http://host-11396.com/ Title: 11396 Tue May 8 14:42:51 2007 http://host-11397.com/ Title: 11397 Tue May 8 14:43:20 2007 http://host-11398.com/ Title: 11398 Tue May 8 14:43:22 2007 http://www.host-11399.com/ Title: 11399 Tue May 8 14:49:05 2007 http://host-11400.com/ Title: 11400 Tue May 8 14:49:32 2007 http://www.host-11401.com/ Title: 11401 Tue May 8 14:49:47 2007 http://www.host-11402.com/ Title: 11402 Tue May 8 14:53:41 2007 http://host-11403.com/ Title: 11403 Tue May 8 14:53:43 2007 http://www.host-11404.com/ Title: 11404 Tue May 8 14:53:45 2007 http://www.host-11405.com/ Title: 11405 Tue May 8 14:54:53 2007 http://www.host-11406.com/ Title: 11406 Tue May 8 14:56:51 2007 http://host-11407.com/ Title: 11407 Tue May 8 14:57:32 2007 http://www.host-11408.com/ Title: 11408 Tue May 8 14:57:32 2007 http://host-11409.com/ Title: 11409 Tue May 8 14:57:36 2007 http://host-11410.com/ Title: 11410 Tue May 8 14:58:50 2007 http://www.host-11411.com/ Title: 11411 Tue May 8 15:59:14 2007 http://www.host-11412.com/ Title: 11412 Tue May 8 15:59:16 2007 http://www.host-11413.com/ Title: 11413 Tue May 8 15:59:18 2007 http://www.host-11414.com/ Title: 11414 Tue May 8 15:59:31 2007 http://www.host-11415.com/ Title: 11415 Tue May 8 15:59:32 2007 http://host-11416.com/ Title: 11416 Tue May 8 16:33:16 2007 http://host-11417.com/ Title: 11417 Tue May 8 16:33:19 2007 http://www.host-11418.com/ Title: 11418 Tue May 8 16:54:57 2007 http://host-11419.com/ Title: 11419 Tue May 8 16:55:02 2007 http://www.host-11420.com/ Title: 11420 Tue May 8 16:55:05 2007 http://www.host-11421.com/ Title: 11421 Tue May 8 16:55:24 2007 http://host-11422.com/ Title: 11422 Tue May 8 16:55:28 2007 http://www.host-11423.com/ Title: 11423 Tue May 8 16:56:20 2007 http://www.host-11424.com/ Title: 11424 Tue May 8 16:56:21 2007 http://www.host-11425.com/ Title: 11425 Tue May 8 16:57:06 2007 http://www.host-11426.com/ Title: 11426 Tue May 8 16:57:33 2007 http://host-11427.com/ Title: 11427 Tue May 8 16:57:34 2007 http://host-11428.com/ Title: 11428 Tue May 8 16:57:51 2007 http://www.host-11429.com/ Title: 11429 Tue May 8 16:57:58 2007 http://www.host-11430.com/ Title: 11430 Tue May 8 16:58:52 2007 http://www.host-11431.com/ Title: 11431 Tue May 8 17:03:42 2007 http://www.host-11432.com/ Title: 11432 Tue May 8 17:03:44 2007 http://www.host-11433.com/ Title: 11433 Tue May 8 17:03:59 2007 http://www.host-11434.com/ Title: 11434 Tue May 8 17:12:25 2007 http://host-11435.com/ Title: 11435 Tue May 8 17:28:05 2007 http://www.host-11436.com/ Title: 11436 Wed May 9 09:16:57 2007 http://www.host-11437.com/ Title: 11437 Wed May 9 09:17:30 2007 http://host-11438.com/ Title: 11438 Wed May 9 09:32:10 2007 http://host-11439.com/ Title: 11439 Wed May 9 09:32:15 2007 http://www.host-11440.com/ Title: 11440 Wed May 9 09:35:15 2007 http://host-11441.com/ Title: 11441 Wed May 9 09:35:18 2007 http://www.host-11442.com/ Title: 11442 Wed May 9 09:35:20 2007 http://host-11443.com/ Title: 11443 Wed May 9 09:35:22 2007 http://www.host-11444.com/ Title: 11444 Wed May 9 09:35:25 2007 http://host-11445.com/ Title: 11445 Wed May 9 09:35:39 2007 http://www.host-11446.com/ Title: 11446 Wed May 9 09:35:55 2007 http://host-11447.com/ Title: 11447 Wed May 9 09:36:17 2007 http://host-11448.com/ Title: 11448 Wed May 9 09:36:26 2007 http://www.host-11449.com/ Title: 11449 Wed May 9 09:36:32 2007 http://www.host-11450.com/ Title: 11450 Wed May 9 09:36:52 2007 http://www.host-11451.com/ Title: 11451 Wed May 9 09:37:00 2007 http://www.host-11452.com/ Title: 11452 Wed May 9 09:37:04 2007 http://www.host-11453.com/ Title: 11453 Wed May 9 09:37:47 2007 http://host-11454.com/ Title: 11454 Wed May 9 09:37:47 2007 http://host-11455.com/ Title: 11455 Wed May 9 11:53:54 2007 http://host-11456.com/ Title: 11456 Wed May 9 11:54:00 2007 http://host-11457.com/ Title: 11457 Wed May 9 11:54:09 2007 http://www.host-11458.com/ Title: 11458 Wed May 9 11:54:22 2007 http://host-11459.com/ Title: 11459 Wed May 9 11:54:38 2007 http://www.host-11460.com/ Title: 11460 Wed May 9 11:58:36 2007 http://www.host-11461.com/ Title: 11461 Wed May 9 11:58:44 2007 http://www.host-11462.com/ Title: 11462 Wed May 9 11:59:05 2007 http://host-11463.com/ Title: 11463 Wed May 9 11:59:08 2007 http://www.host-11464.com/ Title: 11464 Wed May 9 11:59:10 2007 http://www.host-11465.com/ Title: 11465 Wed May 9 11:59:12 2007 http://www.host-11466.com/ Title: 11466 Wed May 9 11:59:28 2007 http://www.host-11467.com/ Title: 11467 Wed May 9 12:00:07 2007 http://host-11468.com/ Title: 11468 Wed May 9 12:00:15 2007 http://host-11469.com/ Title: 11469 Wed May 9 12:00:21 2007 http://www.host-11470.com/ Title: 11470 Wed May 9 12:01:08 2007 http://host-11471.com/ Title: 11471 Wed May 9 12:01:10 2007 http://www.host-11472.com/ Title: 11472 Wed May 9 12:01:54 2007 http://host-11473.com/ Title: 11473 Wed May 9 12:02:04 2007 http://www.host-11474.com/ Title: 11474 Wed May 9 12:02:09 2007 http://www.host-11475.com/ Title: 11475 Wed May 9 12:02:30 2007 http://host-11476.com/ Title: 11476 Wed May 9 12:02:44 2007 http://host-11477.com/ Title: 11477 Wed May 9 12:02:48 2007 http://host-11478.com/ Title: 11478 Wed May 9 12:03:45 2007 http://www.host-11479.com/ Title: 11479 Wed May 9 12:04:49 2007 http://www.host-11480.com/ Title: 11480 Wed May 9 12:04:55 2007 http://www.host-11481.com/ Title: 11481 Wed May 9 12:05:22 2007 http://host-11482.com/ Title: 11482 Wed May 9 12:05:30 2007 http://www.host-11483.com/ Title: 11483 Wed May 9 12:05:36 2007 http://www.host-11484.com/ Title: 11484 Wed May 9 12:05:55 2007 http://www.host-11485.com/ Title: 11485 Wed May 9 12:06:48 2007 http://host-11486.com/ Title: 11486 Wed May 9 13:01:21 2007 http://host-11487.com/ Title: 11487 Wed May 9 13:01:27 2007 http://www.host-11488.com/ Title: 11488 Wed May 9 13:01:27 2007 http://www.host-11489.com/ Title: 11489 Wed May 9 13:02:01 2007 http://www.host-11490.com/ Title: 11490 Wed May 9 13:04:12 2007 http://www.host-11491.com/ Title: 11491 Wed May 9 13:04:15 2007 http://www.host-11492.com/ Title: 11492 Wed May 9 13:04:52 2007 http://www.host-11493.com/ Title: 11493 Wed May 9 13:26:45 2007 http://host-11494.com/ Title: 11494 Wed May 9 13:59:39 2007 http://www.host-11495.com/ Title: 11495 Wed May 9 14:09:43 2007 http://www.host-11496.com/ Title: 11496 Wed May 9 14:23:27 2007 http://www.host-11497.com/ Title: 11497 Wed May 9 14:23:29 2007 http://www.host-11498.com/ Title: 11498 Wed May 9 14:23:35 2007 http://host-11499.com/ Title: 11499 Wed May 9 14:23:35 2007 http://host-11500.com/ Title: 11500 Wed May 9 14:23:38 2007 http://host-11501.com/ Title: 11501 Wed May 9 14:23:48 2007 http://host-11502.com/ Title: 11502 Wed May 9 14:23:57 2007 http://www.host-11503.com/ Title: 11503 Wed May 9 14:24:00 2007 http://www.host-11504.com/ Title: 11504 Wed May 9 15:50:45 2007 http://www.host-11505.com/ Title: 11505 Wed May 9 15:50:57 2007 http://www.host-11506.com/ Title: 11506 Wed May 9 15:51:01 2007 http://host-11507.com/ Title: 11507 Wed May 9 15:51:04 2007 http://www.host-11508.com/ Title: 11508 Wed May 9 15:51:10 2007 http://www.host-11509.com/ Title: 11509 Wed May 9 15:52:01 2007 http://www.host-11510.com/ Title: 11510 Wed May 9 15:57:43 2007 http://host-11511.com/ Title: 11511 Wed May 9 15:57:54 2007 http://www.host-11512.com/ Title: 11512 Wed May 9 15:57:54 2007 http://host-11513.com/ Title: 11513 Wed May 9 15:57:55 2007 http://host-11514.com/ Title: 11514 Wed May 9 15:58:00 2007 http://host-11515.com/ Title: 11515 Wed May 9 15:58:02 2007 http://www.host-11516.com/ Title: 11516 Wed May 9 16:02:36 2007 http://host-11517.com/ Title: 11517 Wed May 9 16:02:45 2007 http://host-11518.com/ Title: 11518 Wed May 9 16:03:18 2007 http://www.host-11519.com/ Title: 11519 Wed May 9 16:03:33 2007 http://www.host-11520.com/ Title: 11520 Wed May 9 16:03:52 2007 http://host-11521.com/ Title: 11521 Wed May 9 16:04:17 2007 http://host-11522.com/ Title: 11522 Wed May 9 16:04:23 2007 http://www.host-11523.com/ Title: 11523 Wed May 9 16:04:26 2007 http://www.host-11524.com/ Title: 11524 Wed May 9 16:04:27 2007 http://www.host-11525.com/ Title: 11525 Wed May 9 16:05:43 2007 http://www.host-11526.com/ Title: 11526 Wed May 9 16:05:46 2007 http://host-11527.com/ Title: 11527 Wed May 9 16:13:09 2007 http://www.host-11528.com/ Title: 11528 Wed May 9 16:13:21 2007 http://www.host-11529.com/ Title: 11529 Wed May 9 16:13:23 2007 http://host-11530.com/ Title: 11530 Wed May 9 16:43:08 2007 http://www.host-11531.com/ Title: 11531 Thu May 10 09:02:31 2007 http://host-11532.com/ Title: 11532 Thu May 10 09:14:22 2007 http://host-11533.com/ Title: 11533 Thu May 10 09:15:21 2007 http://www.host-11534.com/ Title: 11534 Thu May 10 09:16:31 2007 http://host-11535.com/ Title: 11535 Thu May 10 09:16:38 2007 http://host-11536.com/ Title: 11536 Thu May 10 09:17:47 2007 http://www.host-11537.com/ Title: 11537 Thu May 10 09:17:50 2007 http://host-11538.com/ Title: 11538 Thu May 10 09:17:53 2007 http://host-11539.com/ Title: 11539 Thu May 10 09:17:55 2007 http://host-11540.com/ Title: 11540 Thu May 10 09:18:09 2007 http://www.host-11541.com/ Title: 11541 Thu May 10 09:18:37 2007 http://www.host-11542.com/ Title: 11542 Thu May 10 09:30:55 2007 http://host-11543.com/ Title: 11543 Thu May 10 09:31:15 2007 http://host-11544.com/ Title: 11544 Thu May 10 10:39:56 2007 http://www.host-11545.com/ Title: 11545 Thu May 10 10:40:03 2007 http://www.host-11546.com/ Title: 11546 Thu May 10 11:03:29 2007 http://www.host-11547.com/ Title: 11547 Thu May 10 11:03:38 2007 http://www.host-11548.com/ Title: 11548 Thu May 10 11:03:45 2007 http://host-11549.com/ Title: 11549 Thu May 10 11:03:51 2007 http://host-11550.com/ Title: 11550 Thu May 10 11:03:55 2007 http://host-11551.com/ Title: 11551 Thu May 10 11:03:56 2007 http://host-11552.com/ Title: 11552 Thu May 10 11:04:00 2007 http://host-11553.com/ Title: 11553 Thu May 10 11:05:14 2007 http://host-11554.com/ Title: 11554 Thu May 10 11:06:02 2007 http://host-11555.com/ Title: 11555 Thu May 10 11:06:38 2007 http://www.host-11556.com/ Title: 11556 Thu May 10 11:08:43 2007 http://host-11557.com/ Title: 11557 Thu May 10 11:08:52 2007 http://host-11558.com/ Title: 11558 Thu May 10 11:09:11 2007 http://host-11559.com/ Title: 11559 Thu May 10 11:10:12 2007 http://www.host-11560.com/ Title: 11560 Thu May 10 11:10:33 2007 http://www.host-11561.com/ Title: 11561 Thu May 10 11:10:36 2007 http://host-11562.com/ Title: 11562 Thu May 10 11:10:43 2007 http://host-11563.com/ Title: 11563 Thu May 10 11:11:06 2007 http://host-11564.com/ Title: 11564 Thu May 10 13:12:59 2007 http://host-11565.com/ Title: 11565 Thu May 10 13:13:14 2007 http://www.host-11566.com/ Title: 11566 Thu May 10 15:22:58 2007 http://www.host-11567.com/ Title: 11567 Thu May 10 15:23:04 2007 http://www.host-11568.com/ Title: 11568 Thu May 10 15:23:05 2007 http://www.host-11569.com/ Title: 11569 Thu May 10 15:23:53 2007 http://www.host-11570.com/ Title: 11570 Thu May 10 15:23:54 2007 http://www.host-11571.com/ Title: 11571 Thu May 10 15:56:03 2007 http://host-11572.com/ Title: 11572 Thu May 10 15:56:04 2007 http://host-11573.com/ Title: 11573 Fri May 11 09:25:02 2007 http://host-11574.com/ Title: 11574 Fri May 11 10:09:37 2007 http://www.host-11575.com/ Title: 11575 Fri May 11 10:09:38 2007 http://host-11576.com/ Title: 11576 Fri May 11 10:11:20 2007 http://host-11577.com/ Title: 11577 Fri May 11 10:11:52 2007 http://host-11578.com/ Title: 11578 Fri May 11 10:12:35 2007 http://www.host-11579.com/ Title: 11579 Fri May 11 10:13:27 2007 http://host-11580.com/ Title: 11580 Fri May 11 10:13:35 2007 http://host-11581.com/ Title: 11581 Fri May 11 10:13:46 2007 http://host-11582.com/ Title: 11582 Fri May 11 10:16:41 2007 http://host-11583.com/ Title: 11583 Fri May 11 10:19:17 2007 http://host-11584.com/ Title: 11584 Fri May 11 10:31:42 2007 http://www.host-11585.com/ Title: 11585 Fri May 11 11:31:40 2007 http://host-11586.com/ Title: 11586 Fri May 11 11:31:41 2007 http://www.host-11587.com/ Title: 11587 Fri May 11 11:33:59 2007 http://host-11588.com/ Title: 11588 Fri May 11 11:37:27 2007 http://host-11589.com/ Title: 11589 Fri May 11 11:37:31 2007 http://host-11590.com/ Title: 11590 Fri May 11 11:39:53 2007 http://www.host-11591.com/ Title: 11591 Fri May 11 11:40:02 2007 http://www.host-11592.com/ Title: 11592 Fri May 11 11:40:10 2007 http://host-11593.com/ Title: 11593 Fri May 11 11:40:11 2007 http://host-11594.com/ Title: 11594 Fri May 11 11:40:20 2007 http://www.host-11595.com/ Title: 11595 Fri May 11 11:40:25 2007 http://host-11596.com/ Title: 11596 Fri May 11 11:40:28 2007 http://host-11597.com/ Title: 11597 Fri May 11 11:41:01 2007 http://www.host-11598.com/ Title: 11598 Fri May 11 11:42:27 2007 http://host-11599.com/ Title: 11599 Fri May 11 11:42:54 2007 http://www.host-11600.com/ Title: 11600 Fri May 11 12:05:49 2007 http://host-11601.com/ Title: 11601 Fri May 11 12:05:51 2007 http://host-11602.com/ Title: 11602 Fri May 11 12:06:01 2007 http://www.host-11603.com/ Title: 11603 Fri May 11 14:29:22 2007 http://www.host-11604.com/ Title: 11604 Fri May 11 14:45:00 2007 http://host-11605.com/ Title: 11605 Fri May 11 14:45:05 2007 http://host-11606.com/ Title: 11606 Fri May 11 14:52:58 2007 http://www.host-11607.com/ Title: 11607 Fri May 11 14:53:01 2007 http://host-11608.com/ Title: 11608 Fri May 11 14:56:16 2007 http://host-11609.com/ Title: 11609 Fri May 11 14:56:18 2007 http://www.host-11610.com/ Title: 11610 Fri May 11 15:03:58 2007 http://host-11611.com/ Title: 11611 Fri May 11 15:06:25 2007 http://www.host-11612.com/ Title: 11612 Fri May 11 15:09:18 2007 http://www.host-11613.com/ Title: 11613 Fri May 11 15:10:36 2007 http://www.host-11614.com/ Title: 11614 Fri May 11 15:10:59 2007 http://www.host-11615.com/ Title: 11615 Fri May 11 15:11:28 2007 http://www.host-11616.com/ Title: 11616 Fri May 11 15:13:29 2007 http://host-11617.com/ Title: 11617 Fri May 11 15:13:32 2007 http://www.host-11618.com/ Title: 11618 Fri May 11 15:14:19 2007 http://host-11619.com/ Title: 11619 Fri May 11 15:16:48 2007 http://www.host-11620.com/ Title: 11620 Fri May 11 15:20:11 2007 http://www.host-11621.com/ Title: 11621 Fri May 11 15:20:15 2007 http://host-11622.com/ Title: 11622 Fri May 11 15:20:17 2007 http://www.host-11623.com/ Title: 11623 Fri May 11 15:20:23 2007 http://host-11624.com/ Title: 11624 Fri May 11 15:20:26 2007 http://www.host-11625.com/ Title: 11625 Fri May 11 15:25:08 2007 http://www.host-11626.com/ Title: 11626 Fri May 11 15:25:09 2007 http://www.host-11627.com/ Title: 11627 Fri May 11 15:25:13 2007 http://www.host-11628.com/ Title: 11628 Fri May 11 15:25:16 2007 http://www.host-11629.com/ Title: 11629 Fri May 11 15:28:18 2007 http://host-11630.com/ Title: 11630 Fri May 11 15:32:48 2007 http://host-11631.com/ Title: 11631 Fri May 11 15:37:06 2007 http://www.host-11632.com/ Title: 11632 Fri May 11 15:41:26 2007 http://www.host-11633.com/ Title: 11633 Fri May 11 15:45:28 2007 http://host-11634.com/ Title: 11634 Fri May 11 15:45:48 2007 http://www.host-11635.com/ Title: 11635 Fri May 11 15:47:40 2007 http://www.host-11636.com/ Title: 11636 Fri May 11 15:47:43 2007 http://www.host-11637.com/ Title: 11637 Fri May 11 15:48:24 2007 http://host-11638.com/ Title: 11638 Fri May 11 16:55:24 2007 http://host-11639.com/ Title: 11639 Fri May 11 16:55:26 2007 http://www.host-11640.com/ Title: 11640 Fri May 11 16:55:30 2007 http://www.host-11641.com/ Title: 11641 Fri May 11 16:55:35 2007 http://www.host-11642.com/ Title: 11642 Mon May 14 09:27:01 2007 http://www.host-11643.com/ Title: 11643 Mon May 14 09:39:09 2007 http://host-11644.com/ Title: 11644 Mon May 14 09:39:11 2007 http://www.host-11645.com/ Title: 11645 Mon May 14 09:40:29 2007 http://www.host-11646.com/ Title: 11646 Mon May 14 09:40:37 2007 http://host-11647.com/ Title: 11647 Mon May 14 09:40:39 2007 http://www.host-11648.com/ Title: 11648 Mon May 14 09:41:13 2007 http://host-11649.com/ Title: 11649 Mon May 14 09:43:36 2007 http://www.host-11650.com/ Title: 11650 Mon May 14 09:43:43 2007 http://host-11651.com/ Title: 11651 Mon May 14 09:43:51 2007 http://www.host-11652.com/ Title: 11652 Mon May 14 09:43:53 2007 http://www.host-11653.com/ Title: 11653 Mon May 14 11:48:43 2007 http://host-11654.com/ Title: 11654 Mon May 14 12:06:47 2007 http://host-11655.com/ Title: 11655 Mon May 14 12:06:51 2007 http://host-11656.com/ Title: 11656 Mon May 14 12:34:35 2007 http://host-11657.com/ Title: 11657 Mon May 14 12:34:39 2007 http://www.host-11658.com/ Title: 11658 Mon May 14 12:35:27 2007 http://host-11659.com/ Title: 11659 Mon May 14 12:35:40 2007 http://www.host-11660.com/ Title: 11660 Mon May 14 12:35:41 2007 http://host-11661.com/ Title: 11661 Mon May 14 12:35:44 2007 http://host-11662.com/ Title: 11662 Mon May 14 12:35:47 2007 http://host-11663.com/ Title: 11663 Mon May 14 12:35:47 2007 http://host-11664.com/ Title: 11664 Mon May 14 12:38:01 2007 http://host-11665.com/ Title: 11665 Mon May 14 12:53:03 2007 http://host-11666.com/ Title: 11666 Mon May 14 12:53:14 2007 http://www.host-11667.com/ Title: 11667 Mon May 14 13:51:31 2007 http://www.host-11668.com/ Title: 11668 Mon May 14 13:53:07 2007 http://host-11669.com/ Title: 11669 Mon May 14 14:45:21 2007 http://www.host-11670.com/ Title: 11670 Mon May 14 14:45:24 2007 http://host-11671.com/ Title: 11671 Mon May 14 14:46:18 2007 http://host-11672.com/ Title: 11672 Mon May 14 14:46:22 2007 http://www.host-11673.com/ Title: 11673 Mon May 14 15:21:10 2007 http://www.host-11674.com/ Title: 11674 Mon May 14 15:21:18 2007 http://www.host-11675.com/ Title: 11675 Mon May 14 15:21:21 2007 http://www.host-11676.com/ Title: 11676 Mon May 14 15:21:21 2007 http://www.host-11677.com/ Title: 11677 Mon May 14 15:21:27 2007 http://host-11678.com/ Title: 11678 Mon May 14 15:22:06 2007 http://host-11679.com/ Title: 11679 Mon May 14 15:22:07 2007 http://www.host-11680.com/ Title: 11680 Mon May 14 15:42:42 2007 http://host-11681.com/ Title: 11681 Mon May 14 15:42:43 2007 http://www.host-11682.com/ Title: 11682 Mon May 14 16:21:37 2007 http://www.host-11683.com/ Title: 11683 Mon May 14 16:21:40 2007 http://www.host-11684.com/ Title: 11684 Mon May 14 16:21:53 2007 http://www.host-11685.com/ Title: 11685 Mon May 14 16:21:56 2007 http://www.host-11686.com/ Title: 11686 Mon May 14 16:23:15 2007 http://www.host-11687.com/ Title: 11687 Mon May 14 16:23:17 2007 http://www.host-11688.com/ Title: 11688 Mon May 14 16:23:18 2007 http://www.host-11689.com/ Title: 11689 Mon May 14 16:23:28 2007 http://www.host-11690.com/ Title: 11690 Mon May 14 16:26:08 2007 http://www.host-11691.com/ Title: 11691 Mon May 14 16:26:17 2007 http://www.host-11692.com/ Title: 11692 Mon May 14 17:09:59 2007 http://www.host-11693.com/ Title: 11693 Mon May 14 17:10:04 2007 http://www.host-11694.com/ Title: 11694 Mon May 14 17:10:25 2007 http://host-11695.com/ Title: 11695 Mon May 14 17:10:53 2007 http://host-11696.com/ Title: 11696 Mon May 14 17:11:07 2007 http://host-11697.com/ Title: 11697 Mon May 14 17:11:24 2007 http://www.host-11698.com/ Title: 11698 Mon May 14 17:11:25 2007 http://host-11699.com/ Title: 11699 Mon May 14 17:11:31 2007 http://host-11700.com/ Title: 11700 Mon May 14 17:18:01 2007 http://www.host-11701.com/ Title: 11701 Mon May 14 17:18:07 2007 http://host-11702.com/ Title: 11702 Mon May 14 17:19:55 2007 http://www.host-11703.com/ Title: 11703 Tue May 15 08:56:10 2007 http://host-11704.com/ Title: 11704 Tue May 15 08:56:11 2007 http://www.host-11705.com/ Title: 11705 Tue May 15 08:56:44 2007 http://host-11706.com/ Title: 11706 Tue May 15 08:57:17 2007 http://www.host-11707.com/ Title: 11707 Tue May 15 08:58:56 2007 http://www.host-11708.com/ Title: 11708 Tue May 15 09:00:09 2007 http://host-11709.com/ Title: 11709 Tue May 15 09:00:09 2007 http://www.host-11710.com/ Title: 11710 Tue May 15 09:00:10 2007 http://host-11711.com/ Title: 11711 Tue May 15 09:00:10 2007 http://www.host-11712.com/ Title: 11712 Tue May 15 09:01:43 2007 http://host-11713.com/ Title: 11713 Tue May 15 09:25:03 2007 http://www.host-11714.com/ Title: 11714 Tue May 15 09:25:08 2007 http://www.host-11715.com/ Title: 11715 Tue May 15 09:58:37 2007 http://host-11716.com/ Title: 11716 Tue May 15 10:24:48 2007 http://host-11717.com/ Title: 11717 Tue May 15 10:24:53 2007 http://www.host-11718.com/ Title: 11718 Tue May 15 10:25:01 2007 http://www.host-11719.com/ Title: 11719 Tue May 15 10:25:02 2007 http://www.host-11720.com/ Title: 11720 Tue May 15 10:25:06 2007 http://host-11721.com/ Title: 11721 Tue May 15 10:29:32 2007 http://host-11722.com/ Title: 11722 Tue May 15 10:49:30 2007 http://host-11723.com/ Title: 11723 Tue May 15 10:49:34 2007 http://www.host-11724.com/ Title: 11724 Tue May 15 11:16:10 2007 http://www.host-11725.com/ Title: 11725 Tue May 15 11:20:16 2007 http://www.host-11726.com/ Title: 11726 Tue May 15 11:20:20 2007 http://www.host-11727.com/ Title: 11727 Tue May 15 11:20:23 2007 http://www.host-11728.com/ Title: 11728 Tue May 15 11:21:04 2007 http://www.host-11729.com/ Title: 11729 Tue May 15 11:21:13 2007 http://host-11730.com/ Title: 11730 Tue May 15 11:53:34 2007 http://host-11731.com/ Title: 11731 Tue May 15 12:07:04 2007 http://host-11732.com/ Title: 11732 Tue May 15 12:07:21 2007 http://host-11733.com/ Title: 11733 Tue May 15 12:08:06 2007 http://host-11734.com/ Title: 11734 Tue May 15 12:10:35 2007 http://www.host-11735.com/ Title: 11735 Tue May 15 13:50:15 2007 http://host-11736.com/ Title: 11736 Tue May 15 14:44:49 2007 http://host-11737.com/ Title: 11737 Tue May 15 15:09:18 2007 http://host-11738.com/ Title: 11738 Tue May 15 15:37:45 2007 http://www.host-11739.com/ Title: 11739 Tue May 15 15:37:52 2007 http://www.host-11740.com/ Title: 11740 Tue May 15 15:40:37 2007 http://host-11741.com/ Title: 11741 Tue May 15 15:40:42 2007 http://host-11742.com/ Title: 11742 Tue May 15 15:40:42 2007 http://www.host-11743.com/ Title: 11743 Tue May 15 15:40:45 2007 http://www.host-11744.com/ Title: 11744 Tue May 15 15:41:32 2007 http://www.host-11745.com/ Title: 11745 Tue May 15 15:41:38 2007 http://www.host-11746.com/ Title: 11746 Tue May 15 15:41:39 2007 http://www.host-11747.com/ Title: 11747 Tue May 15 16:17:34 2007 http://www.host-11748.com/ Title: 11748 Tue May 15 16:17:38 2007 http://host-11749.com/ Title: 11749 Tue May 15 16:17:51 2007 http://host-11750.com/ Title: 11750 Tue May 15 16:17:56 2007 http://www.host-11751.com/ Title: 11751 Tue May 15 16:17:58 2007 http://www.host-11752.com/ Title: 11752 Tue May 15 16:18:06 2007 http://host-11753.com/ Title: 11753 Tue May 15 16:44:24 2007 http://www.host-11754.com/ Title: 11754 Tue May 15 16:44:51 2007 http://host-11755.com/ Title: 11755 Wed May 16 09:13:07 2007 http://www.host-11756.com/ Title: 11756 Wed May 16 09:15:48 2007 http://www.host-11757.com/ Title: 11757 Wed May 16 09:15:57 2007 http://host-11758.com/ Title: 11758 Wed May 16 12:32:28 2007 http://www.host-11759.com/ Title: 11759 Wed May 16 12:33:00 2007 http://www.host-11760.com/ Title: 11760 Wed May 16 12:47:37 2007 http://host-11761.com/ Title: 11761 Wed May 16 12:47:43 2007 http://host-11762.com/ Title: 11762 Wed May 16 12:50:17 2007 http://host-11763.com/ Title: 11763 Wed May 16 12:50:21 2007 http://host-11764.com/ Title: 11764 Wed May 16 12:50:30 2007 http://host-11765.com/ Title: 11765 Wed May 16 12:50:33 2007 http://host-11766.com/ Title: 11766 Wed May 16 12:50:37 2007 http://host-11767.com/ Title: 11767 Wed May 16 13:36:09 2007 http://host-11768.com/ Title: 11768 Wed May 16 15:47:32 2007 http://host-11769.com/ Title: 11769 Fri May 18 09:14:05 2007 http://host-11770.com/ Title: 11770 Fri May 18 09:14:34 2007 http://host-11771.com/ Title: 11771 Fri May 18 09:14:42 2007 http://host-11772.com/ Title: 11772 Fri May 18 09:14:44 2007 http://host-11773.com/ Title: 11773 Fri May 18 09:14:48 2007 http://www.host-11774.com/ Title: 11774 Fri May 18 09:14:55 2007 http://www.host-11775.com/ Title: 11775 Fri May 18 09:15:03 2007 http://host-11776.com/ Title: 11776 Fri May 18 09:15:16 2007 http://www.host-11777.com/ Title: 11777 Fri May 18 09:15:20 2007 http://host-11778.com/ Title: 11778 Fri May 18 09:18:46 2007 http://host-11779.com/ Title: 11779 Fri May 18 09:18:51 2007 http://host-11780.com/ Title: 11780 Fri May 18 09:20:03 2007 http://host-11781.com/ Title: 11781 Fri May 18 09:21:26 2007 http://www.host-11782.com/ Title: 11782 Fri May 18 09:22:41 2007 http://host-11783.com/ Title: 11783 Fri May 18 09:22:57 2007 http://www.host-11784.com/ Title: 11784 Fri May 18 09:23:02 2007 http://host-11785.com/ Title: 11785 Fri May 18 09:26:55 2007 http://www.host-11786.com/ Title: 11786 Fri May 18 09:27:03 2007 http://host-11787.com/ Title: 11787 Fri May 18 09:27:24 2007 http://www.host-11788.com/ Title: 11788 Fri May 18 09:27:25 2007 http://www.host-11789.com/ Title: 11789 Fri May 18 09:49:01 2007 http://host-11790.com/ Title: 11790 Fri May 18 09:49:10 2007 http://www.host-11791.com/ Title: 11791 Fri May 18 09:50:24 2007 http://host-11792.com/ Title: 11792 Fri May 18 09:50:29 2007 http://www.host-11793.com/ Title: 11793 Fri May 18 09:50:33 2007 http://host-11794.com/ Title: 11794 Fri May 18 09:55:12 2007 http://host-11795.com/ Title: 11795 Fri May 18 09:57:18 2007 http://www.host-11796.com/ Title: 11796 Fri May 18 09:57:20 2007 http://www.host-11797.com/ Title: 11797 Fri May 18 09:58:40 2007 http://www.host-11798.com/ Title: 11798 Fri May 18 09:58:45 2007 http://host-11799.com/ Title: 11799 Fri May 18 10:00:31 2007 http://www.host-11800.com/ Title: 11800 Fri May 18 10:01:16 2007 http://host-11801.com/ Title: 11801 Fri May 18 10:01:17 2007 http://host-11802.com/ Title: 11802 Fri May 18 10:02:44 2007 http://host-11803.com/ Title: 11803 Fri May 18 10:02:48 2007 http://www.host-11804.com/ Title: 11804 Fri May 18 10:02:48 2007 http://www.host-11805.com/ Title: 11805 Fri May 18 10:02:49 2007 http://host-11806.com/ Title: 11806 Fri May 18 10:03:05 2007 http://www.host-11807.com/ Title: 11807 Fri May 18 10:06:49 2007 http://www.host-11808.com/ Title: 11808 Fri May 18 10:07:48 2007 http://www.host-11809.com/ Title: 11809 Fri May 18 10:09:37 2007 http://host-11810.com/ Title: 11810 Fri May 18 10:09:38 2007 http://host-11811.com/ Title: 11811 Fri May 18 10:09:38 2007 http://host-11812.com/ Title: 11812 Fri May 18 10:09:39 2007 http://host-11813.com/ Title: 11813 Fri May 18 10:20:38 2007 http://host-11814.com/ Title: 11814 Fri May 18 10:20:42 2007 http://www.host-11815.com/ Title: 11815 Fri May 18 10:20:49 2007 http://host-11816.com/ Title: 11816 Fri May 18 10:34:22 2007 http://host-11817.com/ Title: 11817 Fri May 18 10:34:35 2007 http://host-11818.com/ Title: 11818 Fri May 18 10:34:36 2007 http://host-11819.com/ Title: 11819 Fri May 18 10:34:39 2007 http://host-11820.com/ Title: 11820 Fri May 18 10:34:42 2007 http://www.host-11821.com/ Title: 11821 Fri May 18 10:34:42 2007 http://www.host-11822.com/ Title: 11822 Fri May 18 10:34:54 2007 http://host-11823.com/ Title: 11823 Fri May 18 10:35:26 2007 http://host-11824.com/ Title: 11824 Fri May 18 10:47:42 2007 http://host-11825.com/ Title: 11825 Fri May 18 10:57:58 2007 http://host-11826.com/ Title: 11826 Fri May 18 11:21:14 2007 http://host-11827.com/ Title: 11827 Fri May 18 11:39:52 2007 http://host-11828.com/ Title: 11828 Fri May 18 11:39:58 2007 http://www.host-11829.com/ Title: 11829 Fri May 18 12:32:34 2007 http://host-11830.com/ Title: 11830 Fri May 18 12:32:38 2007 http://www.host-11831.com/ Title: 11831 Fri May 18 12:32:47 2007 http://www.host-11832.com/ Title: 11832 Fri May 18 12:32:55 2007 http://host-11833.com/ Title: 11833 Fri May 18 12:33:16 2007 http://www.host-11834.com/ Title: 11834 Fri May 18 12:33:21 2007 http://www.host-11835.com/ Title: 11835 Fri May 18 12:34:53 2007 http://www.host-11836.com/ Title: 11836 Fri May 18 12:34:56 2007 http://host-11837.com/ Title: 11837 Fri May 18 12:36:48 2007 http://www.host-11838.com/ Title: 11838 Fri May 18 12:37:45 2007 http://host-11839.com/ Title: 11839 Fri May 18 12:54:30 2007 http://www.host-11840.com/ Title: 11840 Fri May 18 12:56:33 2007 http://www.host-11841.com/ Title: 11841 Fri May 18 13:04:41 2007 http://host-11842.com/ Title: 11842 Fri May 18 13:04:51 2007 http://host-11843.com/ Title: 11843 Fri May 18 13:05:00 2007 http://host-11844.com/ Title: 11844 Fri May 18 13:05:04 2007 http://www.host-11845.com/ Title: 11845 Fri May 18 13:05:13 2007 http://host-11846.com/ Title: 11846 Fri May 18 13:05:24 2007 http://www.host-11847.com/ Title: 11847 Fri May 18 15:50:54 2007 http://host-11848.com/ Title: 11848 Fri May 18 15:51:11 2007 http://www.host-11849.com/ Title: 11849 Fri May 18 15:51:25 2007 http://www.host-11850.com/ Title: 11850 Fri May 18 15:51:37 2007 http://host-11851.com/ Title: 11851 Fri May 18 15:52:03 2007 http://host-11852.com/ Title: 11852 Fri May 18 15:52:06 2007 http://www.host-11853.com/ Title: 11853 Fri May 18 15:53:14 2007 http://www.host-11854.com/ Title: 11854 Fri May 18 15:53:59 2007 http://host-11855.com/ Title: 11855 Fri May 18 15:55:31 2007 http://www.host-11856.com/ Title: 11856 Fri May 18 15:55:52 2007 http://www.host-11857.com/ Title: 11857 Fri May 18 15:56:11 2007 http://www.host-11858.com/ Title: 11858 Fri May 18 15:56:29 2007 http://host-11859.com/ Title: 11859 Fri May 18 15:57:14 2007 http://host-11860.com/ Title: 11860 Mon May 21 09:04:51 2007 http://www.host-11861.com/ Title: 11861 Mon May 21 09:44:36 2007 http://host-11862.com/ Title: 11862 Mon May 21 10:13:48 2007 http://host-11863.com/ Title: 11863 Mon May 21 10:14:15 2007 http://host-11864.com/ Title: 11864 Mon May 21 10:24:24 2007 http://www.host-11865.com/ Title: 11865 Mon May 21 10:44:20 2007 http://www.host-11866.com/ Title: 11866 Mon May 21 10:44:26 2007 http://host-11867.com/ Title: 11867 Mon May 21 10:45:10 2007 http://host-11868.com/ Title: 11868 Mon May 21 10:45:24 2007 http://www.host-11869.com/ Title: 11869 Mon May 21 10:45:28 2007 http://www.host-11870.com/ Title: 11870 Mon May 21 10:47:50 2007 http://www.host-11871.com/ Title: 11871 Mon May 21 10:48:20 2007 http://host-11872.com/ Title: 11872 Mon May 21 11:43:47 2007 http://www.host-11873.com/ Title: 11873 Mon May 21 11:43:52 2007 http://host-11874.com/ Title: 11874 Mon May 21 12:23:14 2007 http://www.host-11875.com/ Title: 11875 Mon May 21 12:23:15 2007 http://www.host-11876.com/ Title: 11876 Mon May 21 12:23:33 2007 http://www.host-11877.com/ Title: 11877 Mon May 21 12:23:39 2007 http://host-11878.com/ Title: 11878 Mon May 21 12:23:42 2007 http://host-11879.com/ Title: 11879 Mon May 21 12:23:44 2007 http://www.host-11880.com/ Title: 11880 Mon May 21 12:23:44 2007 http://www.host-11881.com/ Title: 11881 Mon May 21 12:23:46 2007 http://host-11882.com/ Title: 11882 Mon May 21 12:23:47 2007 http://www.host-11883.com/ Title: 11883 Mon May 21 12:26:07 2007 http://host-11884.com/ Title: 11884 Mon May 21 12:29:58 2007 http://www.host-11885.com/ Title: 11885 Mon May 21 12:30:01 2007 http://www.host-11886.com/ Title: 11886 Mon May 21 12:30:03 2007 http://www.host-11887.com/ Title: 11887 Mon May 21 12:30:10 2007 http://www.host-11888.com/ Title: 11888 Mon May 21 12:51:41 2007 http://www.host-11889.com/ Title: 11889 Mon May 21 12:52:43 2007 http://host-11890.com/ Title: 11890 Mon May 21 12:52:44 2007 http://www.host-11891.com/ Title: 11891 Mon May 21 12:53:14 2007 http://host-11892.com/ Title: 11892 Mon May 21 12:53:15 2007 http://www.host-11893.com/ Title: 11893 Mon May 21 12:53:18 2007 http://host-11894.com/ Title: 11894 Mon May 21 12:53:20 2007 http://www.host-11895.com/ Title: 11895 Mon May 21 12:53:22 2007 http://www.host-11896.com/ Title: 11896 Mon May 21 12:53:27 2007 http://www.host-11897.com/ Title: 11897 Mon May 21 12:53:27 2007 http://host-11898.com/ Title: 11898 Mon May 21 12:53:39 2007 http://host-11899.com/ Title: 11899 Mon May 21 12:53:40 2007 http://www.host-11900.com/ Title: 11900 Mon May 21 12:54:34 2007 http://host-11901.com/ Title: 11901 Mon May 21 12:54:37 2007 http://www.host-11902.com/ Title: 11902 Mon May 21 12:54:40 2007 http://host-11903.com/ Title: 11903 Mon May 21 12:54:43 2007 http://host-11904.com/ Title: 11904 Mon May 21 12:54:43 2007 http://www.host-11905.com/ Title: 11905 Mon May 21 12:54:49 2007 http://host-11906.com/ Title: 11906 Mon May 21 12:57:35 2007 http://host-11907.com/ Title: 11907 Mon May 21 12:58:46 2007 http://www.host-11908.com/ Title: 11908 Mon May 21 12:58:52 2007 http://www.host-11909.com/ Title: 11909 Mon May 21 13:00:29 2007 http://host-11910.com/ Title: 11910 Mon May 21 13:00:32 2007 http://www.host-11911.com/ Title: 11911 Mon May 21 13:00:36 2007 http://www.host-11912.com/ Title: 11912 Mon May 21 13:42:31 2007 http://host-11913.com/ Title: 11913 Mon May 21 13:42:41 2007 http://host-11914.com/ Title: 11914 Mon May 21 13:42:46 2007 http://www.host-11915.com/ Title: 11915 Mon May 21 13:45:56 2007 http://www.host-11916.com/ Title: 11916 Mon May 21 13:46:03 2007 http://www.host-11917.com/ Title: 11917 Mon May 21 13:49:34 2007 http://www.host-11918.com/ Title: 11918 Mon May 21 13:49:35 2007 http://host-11919.com/ Title: 11919 Mon May 21 13:49:39 2007 http://www.host-11920.com/ Title: 11920 Mon May 21 13:49:44 2007 http://www.host-11921.com/ Title: 11921 Mon May 21 14:26:45 2007 http://www.host-11922.com/ Title: 11922 Mon May 21 14:27:10 2007 http://www.host-11923.com/ Title: 11923 Mon May 21 15:01:25 2007 http://host-11924.com/ Title: 11924 Mon May 21 15:01:26 2007 http://www.host-11925.com/ Title: 11925 Mon May 21 15:10:04 2007 http://www.host-11926.com/ Title: 11926 Mon May 21 15:10:44 2007 http://www.host-11927.com/ Title: 11927 Mon May 21 15:16:11 2007 http://host-11928.com/ Title: 11928 Tue May 22 09:05:10 2007 http://www.host-11929.com/ Title: 11929 Tue May 22 09:05:18 2007 http://www.host-11930.com/ Title: 11930 Tue May 22 09:05:21 2007 http://host-11931.com/ Title: 11931 Tue May 22 09:05:21 2007 http://host-11932.com/ Title: 11932 Tue May 22 09:05:51 2007 http://host-11933.com/ Title: 11933 Tue May 22 09:05:56 2007 http://www.host-11934.com/ Title: 11934 Tue May 22 10:05:40 2007 http://www.host-11935.com/ Title: 11935 Tue May 22 10:05:51 2007 http://www.host-11936.com/ Title: 11936 Tue May 22 11:57:33 2007 http://www.host-11937.com/ Title: 11937 Tue May 22 11:59:20 2007 http://www.host-11938.com/ Title: 11938 Tue May 22 12:17:30 2007 http://host-11939.com/ Title: 11939 Tue May 22 12:35:59 2007 http://host-11940.com/ Title: 11940 Tue May 22 12:36:01 2007 http://www.host-11941.com/ Title: 11941 Tue May 22 12:36:06 2007 http://www.host-11942.com/ Title: 11942 Tue May 22 12:36:11 2007 http://host-11943.com/ Title: 11943 Tue May 22 12:36:12 2007 http://www.host-11944.com/ Title: 11944 Tue May 22 12:36:16 2007 http://host-11945.com/ Title: 11945 Tue May 22 12:36:21 2007 http://host-11946.com/ Title: 11946 Tue May 22 12:39:32 2007 http://host-11947.com/ Title: 11947 Tue May 22 12:40:13 2007 http://www.host-11948.com/ Title: 11948 Tue May 22 12:40:26 2007 http://host-11949.com/ Title: 11949 Tue May 22 12:41:35 2007 http://www.host-11950.com/ Title: 11950 Tue May 22 12:41:38 2007 http://host-11951.com/ Title: 11951 Tue May 22 12:44:35 2007 http://host-11952.com/ Title: 11952 Tue May 22 12:44:37 2007 http://www.host-11953.com/ Title: 11953 Tue May 22 12:44:45 2007 http://www.host-11954.com/ Title: 11954 Tue May 22 12:45:57 2007 http://www.host-11955.com/ Title: 11955 Tue May 22 12:46:19 2007 http://host-11956.com/ Title: 11956 Tue May 22 14:26:30 2007 http://www.host-11957.com/ Title: 11957 Tue May 22 14:26:45 2007 http://host-11958.com/ Title: 11958 Tue May 22 14:26:47 2007 http://www.host-11959.com/ Title: 11959 Tue May 22 14:26:48 2007 http://www.host-11960.com/ Title: 11960 Tue May 22 15:02:27 2007 http://host-11961.com/ Title: 11961 Tue May 22 16:03:54 2007 http://host-11962.com/ Title: 11962 Wed May 23 09:15:34 2007 http://host-11963.com/ Title: 11963 Wed May 23 09:15:35 2007 http://host-11964.com/ Title: 11964 Wed May 23 09:15:37 2007 http://www.host-11965.com/ Title: 11965 Wed May 23 09:15:55 2007 http://www.host-11966.com/ Title: 11966 Wed May 23 09:20:29 2007 http://host-11967.com/ Title: 11967 Wed May 23 09:20:35 2007 http://www.host-11968.com/ Title: 11968 Wed May 23 09:20:37 2007 http://host-11969.com/ Title: 11969 Wed May 23 09:20:53 2007 http://host-11970.com/ Title: 11970 Wed May 23 10:24:01 2007 http://host-11971.com/ Title: 11971 Wed May 23 10:24:14 2007 http://www.host-11972.com/ Title: 11972 Wed May 23 12:11:13 2007 http://www.host-11973.com/ Title: 11973 Wed May 23 13:30:42 2007 http://www.host-11974.com/ Title: 11974 Wed May 23 13:48:20 2007 http://host-11975.com/ Title: 11975 Wed May 23 13:48:26 2007 http://host-11976.com/ Title: 11976 Wed May 23 13:48:30 2007 http://www.host-11977.com/ Title: 11977 Wed May 23 13:50:10 2007 http://www.host-11978.com/ Title: 11978 Wed May 23 13:58:17 2007 http://www.host-11979.com/ Title: 11979 Wed May 23 13:58:24 2007 http://www.host-11980.com/ Title: 11980 Wed May 23 13:59:27 2007 http://host-11981.com/ Title: 11981 Wed May 23 13:59:30 2007 http://www.host-11982.com/ Title: 11982 Wed May 23 13:59:45 2007 http://host-11983.com/ Title: 11983 Wed May 23 13:59:47 2007 http://host-11984.com/ Title: 11984 Wed May 23 13:59:55 2007 http://www.host-11985.com/ Title: 11985 Wed May 23 14:17:49 2007 http://www.host-11986.com/ Title: 11986 Wed May 23 15:50:15 2007 http://host-11987.com/ Title: 11987 Wed May 23 15:51:21 2007 http://host-11988.com/ Title: 11988 Wed May 23 15:51:33 2007 http://host-11989.com/ Title: 11989 Wed May 23 15:51:38 2007 http://host-11990.com/ Title: 11990 Wed May 23 15:51:43 2007 http://host-11991.com/ Title: 11991 Wed May 23 16:40:22 2007 http://host-11992.com/ Title: 11992 Wed May 23 16:40:28 2007 http://www.host-11993.com/ Title: 11993 Wed May 23 16:40:31 2007 http://www.host-11994.com/ Title: 11994 Wed May 23 16:40:34 2007 http://host-11995.com/ Title: 11995 Wed May 23 16:40:37 2007 http://www.host-11996.com/ Title: 11996 Wed May 23 16:49:22 2007 http://www.host-11997.com/ Title: 11997 Wed May 23 16:49:26 2007 http://www.host-11998.com/ Title: 11998 Wed May 23 16:49:33 2007 http://www.host-11999.com/ Title: 11999 Wed May 23 16:49:44 2007 http://www.host-12000.com/ Title: 12000 Thu May 24 09:00:44 2007 http://www.host-12001.com/ Title: 12001 Thu May 24 09:00:47 2007 http://host-12002.com/ Title: 12002 Thu May 24 09:07:15 2007 http://host-12003.com/ Title: 12003 Thu May 24 09:07:19 2007 http://www.host-12004.com/ Title: 12004 Thu May 24 09:29:22 2007 http://www.host-12005.com/ Title: 12005 Thu May 24 09:40:19 2007 http://host-12006.com/ Title: 12006 Thu May 24 12:14:19 2007 http://www.host-12007.com/ Title: 12007 Thu May 24 14:03:47 2007 http://www.host-12008.com/ Title: 12008 Thu May 24 14:03:56 2007 http://host-12009.com/ Title: 12009 Thu May 24 15:27:36 2007 http://host-12010.com/ Title: 12010 Thu May 24 15:27:44 2007 http://www.host-12011.com/ Title: 12011 Thu May 24 15:28:14 2007 http://www.host-12012.com/ Title: 12012 Thu May 24 15:29:39 2007 http://host-12013.com/ Title: 12013 Thu May 24 15:29:40 2007 http://host-12014.com/ Title: 12014 Thu May 24 15:32:17 2007 http://host-12015.com/ Title: 12015 Thu May 24 15:32:20 2007 http://host-12016.com/ Title: 12016 Thu May 24 15:32:36 2007 http://www.host-12017.com/ Title: 12017 Thu May 24 15:44:23 2007 http://www.host-12018.com/ Title: 12018 Thu May 24 15:44:31 2007 http://host-12019.com/ Title: 12019 Thu May 24 15:44:32 2007 http://host-12020.com/ Title: 12020 Thu May 24 15:44:43 2007 http://www.host-12021.com/ Title: 12021 Thu May 24 15:45:15 2007 http://www.host-12022.com/ Title: 12022 Thu May 24 15:45:15 2007 http://www.host-12023.com/ Title: 12023 Thu May 24 15:45:28 2007 http://host-12024.com/ Title: 12024 Thu May 24 15:45:43 2007 http://www.host-12025.com/ Title: 12025 Thu May 24 15:45:47 2007 http://host-12026.com/ Title: 12026 Thu May 24 15:46:11 2007 http://www.host-12027.com/ Title: 12027 Thu May 24 16:39:17 2007 http://host-12028.com/ Title: 12028 Thu May 24 16:51:10 2007 http://www.host-12029.com/ Title: 12029 Thu May 24 16:51:14 2007 http://www.host-12030.com/ Title: 12030 Thu May 24 16:51:14 2007 http://www.host-12031.com/ Title: 12031 Fri May 25 09:32:43 2007 http://www.host-12032.com/ Title: 12032 Fri May 25 09:32:43 2007 http://host-12033.com/ Title: 12033 Fri May 25 09:32:52 2007 http://www.host-12034.com/ Title: 12034 Fri May 25 09:44:40 2007 http://host-12035.com/ Title: 12035 Fri May 25 09:44:47 2007 http://host-12036.com/ Title: 12036 Fri May 25 09:47:11 2007 http://host-12037.com/ Title: 12037 Fri May 25 09:47:20 2007 http://host-12038.com/ Title: 12038 Fri May 25 09:47:37 2007 http://www.host-12039.com/ Title: 12039 Fri May 25 09:49:19 2007 http://host-12040.com/ Title: 12040 Fri May 25 10:00:32 2007 http://host-12041.com/ Title: 12041 Fri May 25 10:02:27 2007 http://www.host-12042.com/ Title: 12042 Fri May 25 10:03:02 2007 http://www.host-12043.com/ Title: 12043 Fri May 25 10:26:51 2007 http://www.host-12044.com/ Title: 12044 Fri May 25 10:29:14 2007 http://www.host-12045.com/ Title: 12045 Fri May 25 10:29:15 2007 http://www.host-12046.com/ Title: 12046 Fri May 25 10:36:50 2007 http://www.host-12047.com/ Title: 12047 Fri May 25 10:37:05 2007 http://www.host-12048.com/ Title: 12048 Fri May 25 10:37:28 2007 http://www.host-12049.com/ Title: 12049 Fri May 25 11:13:49 2007 http://www.host-12050.com/ Title: 12050 Fri May 25 11:14:07 2007 http://www.host-12051.com/ Title: 12051 Fri May 25 11:14:11 2007 http://host-12052.com/ Title: 12052 Fri May 25 12:21:58 2007 http://host-12053.com/ Title: 12053 Fri May 25 12:21:59 2007 http://host-12054.com/ Title: 12054 Fri May 25 12:57:05 2007 http://host-12055.com/ Title: 12055 Fri May 25 12:57:08 2007 http://www.host-12056.com/ Title: 12056 Fri May 25 12:59:56 2007 http://host-12057.com/ Title: 12057 Fri May 25 13:00:07 2007 http://host-12058.com/ Title: 12058 Tue May 29 09:10:48 2007 http://www.host-12059.com/ Title: 12059 Tue May 29 09:10:53 2007 http://host-12060.com/ Title: 12060 Tue May 29 09:11:43 2007 http://host-12061.com/ Title: 12061 Tue May 29 09:11:53 2007 http://www.host-12062.com/ Title: 12062 Tue May 29 09:11:55 2007 http://host-12063.com/ Title: 12063 Tue May 29 09:11:58 2007 http://www.host-12064.com/ Title: 12064 Tue May 29 09:12:16 2007 http://host-12065.com/ Title: 12065 Tue May 29 09:12:22 2007 http://host-12066.com/ Title: 12066 Tue May 29 09:12:28 2007 http://host-12067.com/ Title: 12067 Tue May 29 09:12:32 2007 http://host-12068.com/ Title: 12068 Tue May 29 09:12:38 2007 http://host-12069.com/ Title: 12069 Tue May 29 09:12:44 2007 http://www.host-12070.com/ Title: 12070 Tue May 29 09:12:47 2007 http://www.host-12071.com/ Title: 12071 Tue May 29 09:12:52 2007 http://host-12072.com/ Title: 12072 Tue May 29 09:13:12 2007 http://host-12073.com/ Title: 12073 Tue May 29 09:13:14 2007 http://www.host-12074.com/ Title: 12074 Tue May 29 09:22:40 2007 http://www.host-12075.com/ Title: 12075 Tue May 29 09:28:30 2007 http://www.host-12076.com/ Title: 12076 Tue May 29 09:28:40 2007 http://www.host-12077.com/ Title: 12077 Tue May 29 09:28:58 2007 http://host-12078.com/ Title: 12078 Tue May 29 09:28:59 2007 http://www.host-12079.com/ Title: 12079 Tue May 29 09:29:13 2007 http://host-12080.com/ Title: 12080 Tue May 29 09:56:34 2007 http://www.host-12081.com/ Title: 12081 Tue May 29 09:56:40 2007 http://www.host-12082.com/ Title: 12082 Tue May 29 10:34:05 2007 http://www.host-12083.com/ Title: 12083 Tue May 29 10:34:53 2007 http://host-12084.com/ Title: 12084 Tue May 29 10:34:54 2007 http://host-12085.com/ Title: 12085 Tue May 29 10:34:59 2007 http://host-12086.com/ Title: 12086 Tue May 29 10:35:03 2007 http://www.host-12087.com/ Title: 12087 Tue May 29 10:35:22 2007 http://host-12088.com/ Title: 12088 Tue May 29 10:36:08 2007 http://host-12089.com/ Title: 12089 Tue May 29 10:36:11 2007 http://host-12090.com/ Title: 12090 Tue May 29 10:36:24 2007 http://host-12091.com/ Title: 12091 Tue May 29 10:44:57 2007 http://host-12092.com/ Title: 12092 Tue May 29 10:45:47 2007 http://host-12093.com/ Title: 12093 Tue May 29 10:51:47 2007 http://www.host-12094.com/ Title: 12094 Tue May 29 10:51:51 2007 http://www.host-12095.com/ Title: 12095 Tue May 29 10:52:00 2007 http://www.host-12096.com/ Title: 12096 Tue May 29 10:52:21 2007 http://host-12097.com/ Title: 12097 Tue May 29 10:54:14 2007 http://host-12098.com/ Title: 12098 Tue May 29 10:58:29 2007 http://www.host-12099.com/ Title: 12099 Tue May 29 10:59:09 2007 http://www.host-12100.com/ Title: 12100 Tue May 29 10:59:28 2007 http://www.host-12101.com/ Title: 12101 Tue May 29 11:00:39 2007 http://host-12102.com/ Title: 12102 Tue May 29 11:00:51 2007 http://host-12103.com/ Title: 12103 Tue May 29 11:02:43 2007 http://host-12104.com/ Title: 12104 Tue May 29 11:02:47 2007 http://host-12105.com/ Title: 12105 Tue May 29 11:03:19 2007 http://host-12106.com/ Title: 12106 Tue May 29 11:04:01 2007 http://host-12107.com/ Title: 12107 Tue May 29 11:04:08 2007 http://www.host-12108.com/ Title: 12108 Tue May 29 11:34:15 2007 http://www.host-12109.com/ Title: 12109 Tue May 29 11:34:19 2007 http://www.host-12110.com/ Title: 12110 Tue May 29 11:34:38 2007 http://www.host-12111.com/ Title: 12111 Tue May 29 11:34:40 2007 http://www.host-12112.com/ Title: 12112 Tue May 29 11:34:43 2007 http://host-12113.com/ Title: 12113 Tue May 29 11:53:24 2007 http://host-12114.com/ Title: 12114 Tue May 29 12:55:40 2007 http://www.host-12115.com/ Title: 12115 Tue May 29 12:55:42 2007 http://host-12116.com/ Title: 12116 Tue May 29 13:01:51 2007 http://host-12117.com/ Title: 12117 Tue May 29 13:02:04 2007 http://host-12118.com/ Title: 12118 Tue May 29 13:02:21 2007 http://host-12119.com/ Title: 12119 Tue May 29 13:02:26 2007 http://host-12120.com/ Title: 12120 Tue May 29 13:02:32 2007 http://www.host-12121.com/ Title: 12121 Tue May 29 14:07:12 2007 http://host-12122.com/ Title: 12122 Tue May 29 14:07:15 2007 http://host-12123.com/ Title: 12123 Tue May 29 14:07:20 2007 http://www.host-12124.com/ Title: 12124 Tue May 29 14:07:32 2007 http://www.host-12125.com/ Title: 12125 Tue May 29 14:08:46 2007 http://host-12126.com/ Title: 12126 Tue May 29 14:08:50 2007 http://host-12127.com/ Title: 12127 Tue May 29 14:09:01 2007 http://www.host-12128.com/ Title: 12128 Tue May 29 14:09:07 2007 http://host-12129.com/ Title: 12129 Tue May 29 14:09:15 2007 http://www.host-12130.com/ Title: 12130 Tue May 29 14:09:40 2007 http://www.host-12131.com/ Title: 12131 Tue May 29 14:09:45 2007 http://host-12132.com/ Title: 12132 Tue May 29 14:09:57 2007 http://host-12133.com/ Title: 12133 Tue May 29 14:10:12 2007 http://www.host-12134.com/ Title: 12134 Tue May 29 14:10:24 2007 http://www.host-12135.com/ Title: 12135 Tue May 29 14:11:26 2007 http://www.host-12136.com/ Title: 12136 Tue May 29 14:11:32 2007 http://host-12137.com/ Title: 12137 Tue May 29 14:11:47 2007 http://www.host-12138.com/ Title: 12138 Tue May 29 14:12:06 2007 http://host-12139.com/ Title: 12139 Tue May 29 14:12:39 2007 http://host-12140.com/ Title: 12140 Tue May 29 14:12:45 2007 http://host-12141.com/ Title: 12141 Tue May 29 14:12:49 2007 http://host-12142.com/ Title: 12142 Tue May 29 14:12:56 2007 http://www.host-12143.com/ Title: 12143 Tue May 29 14:13:00 2007 http://host-12144.com/ Title: 12144 Tue May 29 14:13:08 2007 http://www.host-12145.com/ Title: 12145 Tue May 29 14:13:45 2007 http://host-12146.com/ Title: 12146 Tue May 29 14:13:47 2007 http://www.host-12147.com/ Title: 12147 Tue May 29 14:13:57 2007 http://www.host-12148.com/ Title: 12148 Tue May 29 14:14:02 2007 http://host-12149.com/ Title: 12149 Tue May 29 14:14:36 2007 http://www.host-12150.com/ Title: 12150 Tue May 29 14:14:41 2007 http://www.host-12151.com/ Title: 12151 Tue May 29 14:14:57 2007 http://www.host-12152.com/ Title: 12152 Tue May 29 14:15:00 2007 http://www.host-12153.com/ Title: 12153 Tue May 29 14:15:04 2007 http://host-12154.com/ Title: 12154 Tue May 29 14:15:16 2007 http://host-12155.com/ Title: 12155 Tue May 29 14:15:34 2007 http://host-12156.com/ Title: 12156 Tue May 29 14:15:56 2007 http://host-12157.com/ Title: 12157 Tue May 29 14:20:58 2007 http://www.host-12158.com/ Title: 12158 Tue May 29 14:21:26 2007 http://host-12159.com/ Title: 12159 Tue May 29 14:21:41 2007 http://host-12160.com/ Title: 12160 Tue May 29 14:46:22 2007 http://www.host-12161.com/ Title: 12161 Tue May 29 14:53:13 2007 http://host-12162.com/ Title: 12162 Tue May 29 16:23:32 2007 http://www.host-12163.com/ Title: 12163 Tue May 29 16:23:59 2007 http://host-12164.com/ Title: 12164 Wed May 30 09:04:19 2007 http://www.host-12165.com/ Title: 12165 Wed May 30 09:04:40 2007 http://host-12166.com/ Title: 12166 Wed May 30 09:06:56 2007 http://www.host-12167.com/ Title: 12167 Wed May 30 09:15:05 2007 http://host-12168.com/ Title: 12168 Wed May 30 09:16:41 2007 http://host-12169.com/ Title: 12169 Wed May 30 09:20:49 2007 http://host-12170.com/ Title: 12170 Wed May 30 09:21:24 2007 http://host-12171.com/ Title: 12171 Wed May 30 13:18:21 2007 http://host-12172.com/ Title: 12172 Wed May 30 13:18:24 2007 http://www.host-12173.com/ Title: 12173 Wed May 30 13:18:25 2007 http://www.host-12174.com/ Title: 12174 Wed May 30 13:18:37 2007 http://host-12175.com/ Title: 12175 Wed May 30 13:18:40 2007 http://www.host-12176.com/ Title: 12176 Wed May 30 13:18:42 2007 http://host-12177.com/ Title: 12177 Wed May 30 13:33:36 2007 http://host-12178.com/ Title: 12178 Wed May 30 13:36:07 2007 http://www.host-12179.com/ Title: 12179 Wed May 30 13:56:25 2007 http://host-12180.com/ Title: 12180 Wed May 30 13:56:25 2007 http://host-12181.com/ Title: 12181 Wed May 30 13:56:52 2007 http://www.host-12182.com/ Title: 12182 Wed May 30 13:58:11 2007 http://www.host-12183.com/ Title: 12183 Wed May 30 14:03:00 2007 http://www.host-12184.com/ Title: 12184 Wed May 30 14:03:31 2007 http://host-12185.com/ Title: 12185 Wed May 30 14:03:42 2007 http://www.host-12186.com/ Title: 12186 Wed May 30 14:04:43 2007 http://host-12187.com/ Title: 12187 Wed May 30 14:04:49 2007 http://host-12188.com/ Title: 12188 Wed May 30 14:09:21 2007 http://host-12189.com/ Title: 12189 Wed May 30 14:09:51 2007 http://host-12190.com/ Title: 12190 Wed May 30 14:09:52 2007 http://host-12191.com/ Title: 12191 Wed May 30 14:10:45 2007 http://host-12192.com/ Title: 12192 Wed May 30 14:10:55 2007 http://host-12193.com/ Title: 12193 Wed May 30 14:11:15 2007 http://host-12194.com/ Title: 12194 Wed May 30 14:11:23 2007 http://www.host-12195.com/ Title: 12195 Wed May 30 14:11:35 2007 http://host-12196.com/ Title: 12196 Wed May 30 14:20:24 2007 http://host-12197.com/ Title: 12197 Wed May 30 14:20:31 2007 http://host-12198.com/ Title: 12198 Wed May 30 14:20:33 2007 http://host-12199.com/ Title: 12199 Wed May 30 14:20:48 2007 http://host-12200.com/ Title: 12200 Wed May 30 14:20:51 2007 http://www.host-12201.com/ Title: 12201 Wed May 30 14:25:12 2007 http://www.host-12202.com/ Title: 12202 Wed May 30 14:25:16 2007 http://www.host-12203.com/ Title: 12203 Wed May 30 14:25:48 2007 http://www.host-12204.com/ Title: 12204 Wed May 30 14:25:50 2007 http://www.host-12205.com/ Title: 12205 Wed May 30 14:27:46 2007 http://www.host-12206.com/ Title: 12206 Wed May 30 14:28:34 2007 http://host-12207.com/ Title: 12207 Wed May 30 14:42:02 2007 http://www.host-12208.com/ Title: 12208 Wed May 30 14:42:54 2007 http://host-12209.com/ Title: 12209 Wed May 30 14:49:26 2007 http://host-12210.com/ Title: 12210 Wed May 30 14:50:02 2007 http://www.host-12211.com/ Title: 12211 Wed May 30 14:51:10 2007 http://www.host-12212.com/ Title: 12212 Wed May 30 14:51:21 2007 http://www.host-12213.com/ Title: 12213 Wed May 30 14:51:38 2007 http://www.host-12214.com/ Title: 12214 Wed May 30 14:52:41 2007 http://www.host-12215.com/ Title: 12215 Wed May 30 14:53:18 2007 http://www.host-12216.com/ Title: 12216 Wed May 30 14:53:20 2007 http://host-12217.com/ Title: 12217 Wed May 30 14:53:28 2007 http://www.host-12218.com/ Title: 12218 Wed May 30 14:53:32 2007 http://host-12219.com/ Title: 12219 Wed May 30 14:53:36 2007 http://host-12220.com/ Title: 12220 Wed May 30 14:53:46 2007 http://www.host-12221.com/ Title: 12221 Wed May 30 14:53:51 2007 http://host-12222.com/ Title: 12222 Wed May 30 14:54:14 2007 http://www.host-12223.com/ Title: 12223 Wed May 30 14:54:26 2007 http://host-12224.com/ Title: 12224 Wed May 30 14:54:32 2007 http://host-12225.com/ Title: 12225 Wed May 30 14:54:32 2007 http://www.host-12226.com/ Title: 12226 Wed May 30 14:54:36 2007 http://host-12227.com/ Title: 12227 Wed May 30 14:54:37 2007 http://www.host-12228.com/ Title: 12228 Wed May 30 14:54:37 2007 http://www.host-12229.com/ Title: 12229 Wed May 30 14:55:37 2007 http://www.host-12230.com/ Title: 12230 Wed May 30 14:55:39 2007 http://www.host-12231.com/ Title: 12231 Wed May 30 14:55:52 2007 http://host-12232.com/ Title: 12232 Wed May 30 14:57:19 2007 http://host-12233.com/ Title: 12233 Wed May 30 14:58:22 2007 http://www.host-12234.com/ Title: 12234 Wed May 30 14:59:56 2007 http://host-12235.com/ Title: 12235 Wed May 30 15:00:55 2007 http://host-12236.com/ Title: 12236 Wed May 30 15:01:38 2007 http://www.host-12237.com/ Title: 12237 Wed May 30 15:01:59 2007 http://www.host-12238.com/ Title: 12238 Wed May 30 15:02:15 2007 http://www.host-12239.com/ Title: 12239 Wed May 30 15:02:18 2007 http://host-12240.com/ Title: 12240 Wed May 30 15:24:32 2007 http://host-12241.com/ Title: 12241 Wed May 30 15:24:38 2007 http://www.host-12242.com/ Title: 12242 Wed May 30 15:24:46 2007 http://www.host-12243.com/ Title: 12243 Wed May 30 15:24:48 2007 http://www.host-12244.com/ Title: 12244 Wed May 30 15:24:52 2007 http://host-12245.com/ Title: 12245 Wed May 30 15:26:01 2007 http://host-12246.com/ Title: 12246 Wed May 30 15:31:47 2007 http://www.host-12247.com/ Title: 12247 Wed May 30 15:31:54 2007 http://www.host-12248.com/ Title: 12248 Wed May 30 15:32:20 2007 http://host-12249.com/ Title: 12249 Wed May 30 15:33:46 2007 http://www.host-12250.com/ Title: 12250 Wed May 30 15:48:10 2007 http://host-12251.com/ Title: 12251 Wed May 30 15:48:11 2007 http://www.host-12252.com/ Title: 12252 Wed May 30 15:49:30 2007 http://www.host-12253.com/ Title: 12253 Wed May 30 15:49:38 2007 http://www.host-12254.com/ Title: 12254 Wed May 30 15:49:50 2007 http://www.host-12255.com/ Title: 12255 Wed May 30 15:49:52 2007 http://host-12256.com/ Title: 12256 Wed May 30 15:50:16 2007 http://www.host-12257.com/ Title: 12257 Wed May 30 15:51:02 2007 http://www.host-12258.com/ Title: 12258 Wed May 30 15:51:07 2007 http://www.host-12259.com/ Title: 12259 Wed May 30 15:56:27 2007 http://host-12260.com/ Title: 12260 Wed May 30 15:56:35 2007 http://www.host-12261.com/ Title: 12261 Wed May 30 15:59:22 2007 http://host-12262.com/ Title: 12262 Wed May 30 15:59:27 2007 http://host-12263.com/ Title: 12263 Wed May 30 15:59:35 2007 http://www.host-12264.com/ Title: 12264 Wed May 30 15:59:40 2007 http://host-12265.com/ Title: 12265 Wed May 30 15:59:52 2007 http://www.host-12266.com/ Title: 12266 Wed May 30 16:03:34 2007 http://www.host-12267.com/ Title: 12267 Wed May 30 16:06:40 2007 http://www.host-12268.com/ Title: 12268 Wed May 30 16:23:29 2007 http://www.host-12269.com/ Title: 12269 Wed May 30 16:23:49 2007 http://host-12270.com/ Title: 12270 Wed May 30 16:24:02 2007 http://www.host-12271.com/ Title: 12271 Wed May 30 16:24:09 2007 http://host-12272.com/ Title: 12272 Wed May 30 16:24:15 2007 http://www.host-12273.com/ Title: 12273 Wed May 30 16:24:24 2007 http://www.host-12274.com/ Title: 12274 Wed May 30 16:24:30 2007 http://host-12275.com/ Title: 12275 Wed May 30 16:24:36 2007 http://www.host-12276.com/ Title: 12276 Wed May 30 16:44:09 2007 http://www.host-12277.com/ Title: 12277 Wed May 30 16:44:41 2007 http://host-12278.com/ Title: 12278 Thu May 31 09:24:29 2007 http://host-12279.com/ Title: 12279 Thu May 31 09:25:00 2007 http://host-12280.com/ Title: 12280 Thu May 31 10:42:49 2007 http://www.host-12281.com/ Title: 12281 Thu May 31 10:45:31 2007 http://host-12282.com/ Title: 12282 Thu May 31 10:45:32 2007 http://www.host-12283.com/ Title: 12283 Thu May 31 10:45:39 2007 http://www.host-12284.com/ Title: 12284 Thu May 31 10:51:05 2007 http://www.host-12285.com/ Title: 12285 Thu May 31 10:55:03 2007 http://host-12286.com/ Title: 12286 Thu May 31 10:55:05 2007 http://www.host-12287.com/ Title: 12287 Thu May 31 10:55:16 2007 http://www.host-12288.com/ Title: 12288 Thu May 31 12:03:32 2007 http://host-12289.com/ Title: 12289 Thu May 31 12:04:03 2007 http://www.host-12290.com/ Title: 12290 Thu May 31 12:04:12 2007 http://www.host-12291.com/ Title: 12291 Thu May 31 12:29:10 2007 http://www.host-12292.com/ Title: 12292 Thu May 31 12:32:51 2007 http://host-12293.com/ Title: 12293 Thu May 31 12:32:54 2007 http://host-12294.com/ Title: 12294 Thu May 31 13:02:23 2007 http://www.host-12295.com/ Title: 12295 Thu May 31 13:02:30 2007 http://host-12296.com/ Title: 12296 Thu May 31 13:13:43 2007 http://www.host-12297.com/ Title: 12297 Thu May 31 13:25:49 2007 http://www.host-12298.com/ Title: 12298 Thu May 31 13:25:55 2007 http://www.host-12299.com/ Title: 12299 Thu May 31 13:25:57 2007 http://host-12300.com/ Title: 12300 Thu May 31 13:27:15 2007 http://www.host-12301.com/ Title: 12301 Thu May 31 13:27:18 2007 http://www.host-12302.com/ Title: 12302 Thu May 31 13:27:22 2007 http://host-12303.com/ Title: 12303 Thu May 31 13:27:25 2007 http://host-12304.com/ Title: 12304 Thu May 31 13:27:27 2007 http://host-12305.com/ Title: 12305 Thu May 31 13:31:29 2007 http://host-12306.com/ Title: 12306 Thu May 31 13:31:33 2007 http://host-12307.com/ Title: 12307 Thu May 31 13:34:04 2007 http://host-12308.com/ Title: 12308 Thu May 31 13:39:08 2007 http://www.host-12309.com/ Title: 12309 Thu May 31 13:48:43 2007 http://host-12310.com/ Title: 12310 Thu May 31 13:49:06 2007 http://www.host-12311.com/ Title: 12311 Thu May 31 13:49:10 2007 http://www.host-12312.com/ Title: 12312 Thu May 31 13:49:11 2007 http://www.host-12313.com/ Title: 12313 Thu May 31 13:49:27 2007 http://host-12314.com/ Title: 12314 Thu May 31 13:49:30 2007 http://host-12315.com/ Title: 12315 Thu May 31 13:56:10 2007 http://host-12316.com/ Title: 12316 Thu May 31 13:56:13 2007 http://www.host-12317.com/ Title: 12317 Thu May 31 14:04:02 2007 http://host-12318.com/ Title: 12318 Thu May 31 14:45:52 2007 http://host-12319.com/ Title: 12319 Thu May 31 14:46:45 2007 http://host-12320.com/ Title: 12320 Thu May 31 14:46:51 2007 http://host-12321.com/ Title: 12321 Thu May 31 14:46:52 2007 http://www.host-12322.com/ Title: 12322 Thu May 31 14:47:08 2007 http://www.host-12323.com/ Title: 12323 Thu May 31 14:48:09 2007 http://host-12324.com/ Title: 12324 Thu May 31 14:48:10 2007 http://host-12325.com/ Title: 12325 Thu May 31 15:12:50 2007 http://www.host-12326.com/ Title: 12326 Thu May 31 15:17:15 2007 http://host-12327.com/ Title: 12327 Thu May 31 15:17:26 2007 http://www.host-12328.com/ Title: 12328 Thu May 31 15:18:47 2007 http://www.host-12329.com/ Title: 12329 Thu May 31 15:29:16 2007 http://www.host-12330.com/ Title: 12330 Thu May 31 15:29:19 2007 http://host-12331.com/ Title: 12331 Thu May 31 15:29:28 2007 http://www.host-12332.com/ Title: 12332 Thu May 31 15:29:33 2007 http://www.host-12333.com/ Title: 12333 Thu May 31 15:38:46 2007 http://www.host-12334.com/ Title: 12334 Thu May 31 15:40:28 2007 http://host-12335.com/ Title: 12335 Thu May 31 15:40:51 2007 http://www.host-12336.com/ Title: 12336 Thu May 31 15:40:54 2007 http://host-12337.com/ Title: 12337 Thu May 31 15:41:49 2007 http://host-12338.com/ Title: 12338 Thu May 31 15:46:23 2007 http://host-12339.com/ Title: 12339 Thu May 31 15:50:44 2007 http://www.host-12340.com/ Title: 12340 Thu May 31 15:58:17 2007 http://www.host-12341.com/ Title: 12341 Thu May 31 15:58:23 2007 http://www.host-12342.com/ Title: 12342 Thu May 31 16:32:49 2007 http://host-12343.com/ Title: 12343 Thu May 31 16:33:28 2007 http://host-12344.com/ Title: 12344 Thu May 31 16:43:30 2007 http://www.host-12345.com/ Title: 12345 Thu May 31 16:44:04 2007 http://www.host-12346.com/ Title: 12346 Thu May 31 16:50:17 2007 http://www.host-12347.com/ Title: 12347 Thu May 31 16:59:37 2007 http://www.host-12348.com/ Title: 12348 Thu May 31 16:59:46 2007 http://www.host-12349.com/ Title: 12349 Thu May 31 17:11:40 2007 http://host-12350.com/ Title: 12350 Thu May 31 17:11:44 2007 http://host-12351.com/ Title: 12351 Thu May 31 17:38:27 2007 http://www.host-12352.com/ Title: 12352 Thu May 31 17:38:40 2007 http://www.host-12353.com/ Title: 12353 Thu May 31 17:41:43 2007 http://www.host-12354.com/ Title: 12354 Fri Jun 1 09:40:18 2007 http://www.host-12355.com/ Title: 12355 Fri Jun 1 09:40:22 2007 http://host-12356.com/ Title: 12356 Fri Jun 1 09:40:34 2007 http://host-12357.com/ Title: 12357 Fri Jun 1 09:40:36 2007 http://www.host-12358.com/ Title: 12358 Fri Jun 1 09:40:49 2007 http://host-12359.com/ Title: 12359 Fri Jun 1 09:46:24 2007 http://www.host-12360.com/ Title: 12360 Fri Jun 1 10:00:26 2007 http://host-12361.com/ Title: 12361 Fri Jun 1 10:00:39 2007 http://www.host-12362.com/ Title: 12362 Fri Jun 1 10:00:52 2007 http://host-12363.com/ Title: 12363 Fri Jun 1 10:00:58 2007 http://www.host-12364.com/ Title: 12364 Fri Jun 1 10:00:58 2007 http://www.host-12365.com/ Title: 12365 Fri Jun 1 10:01:03 2007 http://host-12366.com/ Title: 12366 Fri Jun 1 10:01:07 2007 http://host-12367.com/ Title: 12367 Fri Jun 1 10:01:14 2007 http://host-12368.com/ Title: 12368 Fri Jun 1 10:01:20 2007 http://host-12369.com/ Title: 12369 Fri Jun 1 10:02:43 2007 http://www.host-12370.com/ Title: 12370 Fri Jun 1 10:02:47 2007 http://www.host-12371.com/ Title: 12371 Fri Jun 1 10:03:05 2007 http://host-12372.com/ Title: 12372 Fri Jun 1 10:04:37 2007 http://host-12373.com/ Title: 12373 Fri Jun 1 10:04:51 2007 http://www.host-12374.com/ Title: 12374 Fri Jun 1 10:07:46 2007 http://www.host-12375.com/ Title: 12375 Fri Jun 1 10:08:08 2007 http://www.host-12376.com/ Title: 12376 Fri Jun 1 10:08:26 2007 http://host-12377.com/ Title: 12377 Fri Jun 1 10:08:31 2007 http://www.host-12378.com/ Title: 12378 Fri Jun 1 10:11:37 2007 http://host-12379.com/ Title: 12379 Fri Jun 1 10:11:42 2007 http://host-12380.com/ Title: 12380 Fri Jun 1 10:11:45 2007 http://www.host-12381.com/ Title: 12381 Fri Jun 1 10:12:38 2007 http://host-12382.com/ Title: 12382 Fri Jun 1 10:26:21 2007 http://host-12383.com/ Title: 12383 Fri Jun 1 10:26:35 2007 http://host-12384.com/ Title: 12384 Fri Jun 1 10:26:44 2007 http://www.host-12385.com/ Title: 12385 Fri Jun 1 10:36:22 2007 http://www.host-12386.com/ Title: 12386 Fri Jun 1 10:36:25 2007 http://www.host-12387.com/ Title: 12387 Fri Jun 1 10:36:30 2007 http://www.host-12388.com/ Title: 12388 Fri Jun 1 10:36:32 2007 http://www.host-12389.com/ Title: 12389 Fri Jun 1 10:36:32 2007 http://host-12390.com/ Title: 12390 Fri Jun 1 10:36:36 2007 http://host-12391.com/ Title: 12391 Fri Jun 1 10:36:40 2007 http://host-12392.com/ Title: 12392 Fri Jun 1 10:36:40 2007 http://host-12393.com/ Title: 12393 Fri Jun 1 10:36:41 2007 http://host-12394.com/ Title: 12394 Fri Jun 1 10:36:51 2007 http://host-12395.com/ Title: 12395 Fri Jun 1 10:36:53 2007 http://www.host-12396.com/ Title: 12396 Fri Jun 1 10:36:53 2007 http://www.host-12397.com/ Title: 12397 Fri Jun 1 10:36:55 2007 http://host-12398.com/ Title: 12398 Fri Jun 1 10:36:59 2007 http://www.host-12399.com/ Title: 12399 Fri Jun 1 10:36:59 2007 http://host-12400.com/ Title: 12400 Fri Jun 1 10:37:01 2007 http://www.host-12401.com/ Title: 12401 Fri Jun 1 10:37:02 2007 http://host-12402.com/ Title: 12402 Fri Jun 1 10:37:03 2007 http://host-12403.com/ Title: 12403 Fri Jun 1 10:37:03 2007 http://host-12404.com/ Title: 12404 Fri Jun 1 10:37:04 2007 http://host-12405.com/ Title: 12405 Fri Jun 1 10:37:05 2007 http://host-12406.com/ Title: 12406 Fri Jun 1 10:37:07 2007 http://www.host-12407.com/ Title: 12407 Fri Jun 1 10:37:10 2007 http://host-12408.com/ Title: 12408 Fri Jun 1 10:37:10 2007 http://www.host-12409.com/ Title: 12409 Fri Jun 1 10:38:13 2007 http://host-12410.com/ Title: 12410 Fri Jun 1 10:38:13 2007 http://host-12411.com/ Title: 12411 Fri Jun 1 10:38:14 2007 http://host-12412.com/ Title: 12412 Fri Jun 1 10:38:17 2007 http://www.host-12413.com/ Title: 12413 Fri Jun 1 10:42:31 2007 http://host-12414.com/ Title: 12414 Fri Jun 1 10:43:52 2007 http://host-12415.com/ Title: 12415 Fri Jun 1 10:50:03 2007 http://www.host-12416.com/ Title: 12416 Fri Jun 1 10:50:05 2007 http://host-12417.com/ Title: 12417 Fri Jun 1 10:50:07 2007 http://host-12418.com/ Title: 12418 Fri Jun 1 10:54:12 2007 http://host-12419.com/ Title: 12419 Fri Jun 1 10:57:51 2007 http://host-12420.com/ Title: 12420 Fri Jun 1 11:46:46 2007 http://www.host-12421.com/ Title: 12421 Fri Jun 1 11:48:00 2007 http://www.host-12422.com/ Title: 12422 Fri Jun 1 11:48:40 2007 http://host-12423.com/ Title: 12423 Fri Jun 1 11:48:45 2007 http://www.host-12424.com/ Title: 12424 Fri Jun 1 11:49:01 2007 http://www.host-12425.com/ Title: 12425 Fri Jun 1 11:49:04 2007 http://host-12426.com/ Title: 12426 Fri Jun 1 11:49:36 2007 http://www.host-12427.com/ Title: 12427 Fri Jun 1 11:49:37 2007 http://host-12428.com/ Title: 12428 Fri Jun 1 11:49:56 2007 http://www.host-12429.com/ Title: 12429 Fri Jun 1 11:50:01 2007 http://www.host-12430.com/ Title: 12430 Fri Jun 1 11:58:29 2007 http://host-12431.com/ Title: 12431 Fri Jun 1 11:58:31 2007 http://host-12432.com/ Title: 12432 Fri Jun 1 11:58:45 2007 http://www.host-12433.com/ Title: 12433 Fri Jun 1 12:26:31 2007 http://host-12434.com/ Title: 12434 Fri Jun 1 13:05:52 2007 http://www.host-12435.com/ Title: 12435 Fri Jun 1 13:06:14 2007 http://www.host-12436.com/ Title: 12436 Fri Jun 1 13:06:23 2007 http://host-12437.com/ Title: 12437 Fri Jun 1 13:16:06 2007 http://www.host-12438.com/ Title: 12438 Fri Jun 1 13:16:12 2007 http://host-12439.com/ Title: 12439 Fri Jun 1 13:17:08 2007 http://www.host-12440.com/ Title: 12440 Fri Jun 1 13:19:03 2007 http://host-12441.com/ Title: 12441 Fri Jun 1 13:39:55 2007 http://host-12442.com/ Title: 12442 Fri Jun 1 13:40:29 2007 http://host-12443.com/ Title: 12443 Fri Jun 1 13:40:43 2007 http://host-12444.com/ Title: 12444 Fri Jun 1 13:40:56 2007 http://host-12445.com/ Title: 12445 Fri Jun 1 14:34:35 2007 http://www.host-12446.com/ Title: 12446 Fri Jun 1 15:11:43 2007 http://host-12447.com/ Title: 12447 Fri Jun 1 15:14:14 2007 http://host-12448.com/ Title: 12448 Fri Jun 1 15:19:32 2007 http://host-12449.com/ Title: 12449 Fri Jun 1 15:19:41 2007 http://host-12450.com/ Title: 12450 Fri Jun 1 15:28:30 2007 http://host-12451.com/ Title: 12451 Fri Jun 1 15:28:32 2007 http://host-12452.com/ Title: 12452 Fri Jun 1 15:28:44 2007 http://host-12453.com/ Title: 12453 Fri Jun 1 16:01:07 2007 http://www.host-12454.com/ Title: 12454 Fri Jun 1 16:23:43 2007 http://www.host-12455.com/ Title: 12455 Fri Jun 1 16:23:48 2007 http://www.host-12456.com/ Title: 12456 Mon Jun 4 09:17:21 2007 http://www.host-12457.com/ Title: 12457 Mon Jun 4 09:17:26 2007 http://host-12458.com/ Title: 12458 Mon Jun 4 09:17:26 2007 http://host-12459.com/ Title: 12459 Mon Jun 4 09:17:28 2007 http://www.host-12460.com/ Title: 12460 Mon Jun 4 09:17:30 2007 http://host-12461.com/ Title: 12461 Mon Jun 4 09:17:31 2007 http://www.host-12462.com/ Title: 12462 Mon Jun 4 09:17:36 2007 http://www.host-12463.com/ Title: 12463 Mon Jun 4 09:17:38 2007 http://www.host-12464.com/ Title: 12464 Mon Jun 4 09:17:41 2007 http://host-12465.com/ Title: 12465 Mon Jun 4 09:18:21 2007 http://host-12466.com/ Title: 12466 Mon Jun 4 09:36:51 2007 http://host-12467.com/ Title: 12467 Mon Jun 4 09:37:14 2007 http://host-12468.com/ Title: 12468 Mon Jun 4 09:37:17 2007 http://host-12469.com/ Title: 12469 Mon Jun 4 09:37:37 2007 http://www.host-12470.com/ Title: 12470 Mon Jun 4 09:37:49 2007 http://host-12471.com/ Title: 12471 Mon Jun 4 09:39:38 2007 http://host-12472.com/ Title: 12472 Mon Jun 4 09:39:45 2007 http://www.host-12473.com/ Title: 12473 Mon Jun 4 10:04:01 2007 http://www.host-12474.com/ Title: 12474 Mon Jun 4 10:05:49 2007 http://host-12475.com/ Title: 12475 Mon Jun 4 10:05:50 2007 http://www.host-12476.com/ Title: 12476 Mon Jun 4 10:06:12 2007 http://host-12477.com/ Title: 12477 Mon Jun 4 10:06:15 2007 http://host-12478.com/ Title: 12478 Mon Jun 4 10:07:01 2007 http://host-12479.com/ Title: 12479 Mon Jun 4 10:07:03 2007 http://www.host-12480.com/ Title: 12480 Mon Jun 4 10:09:56 2007 http://host-12481.com/ Title: 12481 Mon Jun 4 10:10:06 2007 http://www.host-12482.com/ Title: 12482 Mon Jun 4 10:10:06 2007 http://www.host-12483.com/ Title: 12483 Mon Jun 4 10:10:09 2007 http://host-12484.com/ Title: 12484 Mon Jun 4 10:10:12 2007 http://www.host-12485.com/ Title: 12485 Mon Jun 4 10:10:19 2007 http://www.host-12486.com/ Title: 12486 Mon Jun 4 10:10:32 2007 http://host-12487.com/ Title: 12487 Mon Jun 4 10:10:35 2007 http://www.host-12488.com/ Title: 12488 Mon Jun 4 10:10:35 2007 http://host-12489.com/ Title: 12489 Mon Jun 4 10:10:39 2007 http://host-12490.com/ Title: 12490 Mon Jun 4 10:13:01 2007 http://host-12491.com/ Title: 12491 Mon Jun 4 10:13:59 2007 http://www.host-12492.com/ Title: 12492 Mon Jun 4 10:14:01 2007 http://www.host-12493.com/ Title: 12493 Mon Jun 4 10:15:00 2007 http://host-12494.com/ Title: 12494 Mon Jun 4 10:15:07 2007 http://www.host-12495.com/ Title: 12495 Mon Jun 4 10:15:08 2007 http://host-12496.com/ Title: 12496 Mon Jun 4 10:43:56 2007 http://www.host-12497.com/ Title: 12497 Mon Jun 4 10:44:14 2007 http://www.host-12498.com/ Title: 12498 Mon Jun 4 10:44:18 2007 http://www.host-12499.com/ Title: 12499 Mon Jun 4 10:59:30 2007 http://www.host-12500.com/ Title: 12500 Mon Jun 4 11:28:15 2007 http://host-12501.com/ Title: 12501 Mon Jun 4 11:30:34 2007 http://www.host-12502.com/ Title: 12502 Mon Jun 4 11:30:56 2007 http://www.host-12503.com/ Title: 12503 Mon Jun 4 11:31:04 2007 http://host-12504.com/ Title: 12504 Mon Jun 4 11:31:45 2007 http://host-12505.com/ Title: 12505 Mon Jun 4 11:34:12 2007 http://host-12506.com/ Title: 12506 Mon Jun 4 12:04:55 2007 http://www.host-12507.com/ Title: 12507 Mon Jun 4 12:05:30 2007 http://host-12508.com/ Title: 12508 Mon Jun 4 12:05:30 2007 http://host-12509.com/ Title: 12509 Mon Jun 4 12:05:34 2007 http://www.host-12510.com/ Title: 12510 Mon Jun 4 12:38:38 2007 http://www.host-12511.com/ Title: 12511 Mon Jun 4 12:52:55 2007 http://host-12512.com/ Title: 12512 Mon Jun 4 13:14:00 2007 http://www.host-12513.com/ Title: 12513 Mon Jun 4 13:30:43 2007 http://host-12514.com/ Title: 12514 Mon Jun 4 13:30:52 2007 http://host-12515.com/ Title: 12515 Mon Jun 4 14:07:50 2007 http://host-12516.com/ Title: 12516 Mon Jun 4 14:08:06 2007 http://www.host-12517.com/ Title: 12517 Mon Jun 4 14:17:25 2007 http://host-12518.com/ Title: 12518 Mon Jun 4 14:34:02 2007 http://host-12519.com/ Title: 12519 Mon Jun 4 14:34:09 2007 http://host-12520.com/ Title: 12520 Mon Jun 4 14:34:13 2007 http://www.host-12521.com/ Title: 12521 Mon Jun 4 14:34:23 2007 http://www.host-12522.com/ Title: 12522 Mon Jun 4 14:35:58 2007 http://host-12523.com/ Title: 12523 Mon Jun 4 14:35:59 2007 http://host-12524.com/ Title: 12524 Mon Jun 4 14:37:24 2007 http://host-12525.com/ Title: 12525 Mon Jun 4 14:42:50 2007 http://www.host-12526.com/ Title: 12526 Mon Jun 4 14:45:48 2007 http://www.host-12527.com/ Title: 12527 Mon Jun 4 14:45:50 2007 http://host-12528.com/ Title: 12528 Mon Jun 4 14:45:59 2007 http://host-12529.com/ Title: 12529 Mon Jun 4 14:46:02 2007 http://www.host-12530.com/ Title: 12530 Mon Jun 4 16:21:09 2007 http://host-12531.com/ Title: 12531 Mon Jun 4 16:21:32 2007 http://www.host-12532.com/ Title: 12532 Mon Jun 4 16:29:01 2007 http://host-12533.com/ Title: 12533 Mon Jun 4 16:35:31 2007 http://host-12534.com/ Title: 12534 Mon Jun 4 16:35:49 2007 http://host-12535.com/ Title: 12535 Mon Jun 4 16:35:52 2007 http://host-12536.com/ Title: 12536 Mon Jun 4 16:35:52 2007 http://host-12537.com/ Title: 12537 Mon Jun 4 16:42:16 2007 http://host-12538.com/ Title: 12538 Mon Jun 4 16:42:29 2007 http://host-12539.com/ Title: 12539 Tue Jun 5 09:04:44 2007 http://host-12540.com/ Title: 12540 Tue Jun 5 09:06:03 2007 http://www.host-12541.com/ Title: 12541 Tue Jun 5 09:06:11 2007 http://host-12542.com/ Title: 12542 Tue Jun 5 09:07:23 2007 http://host-12543.com/ Title: 12543 Tue Jun 5 09:07:32 2007 http://host-12544.com/ Title: 12544 Tue Jun 5 09:08:56 2007 http://www.host-12545.com/ Title: 12545 Tue Jun 5 09:08:59 2007 http://host-12546.com/ Title: 12546 Tue Jun 5 09:19:02 2007 http://www.host-12547.com/ Title: 12547 Tue Jun 5 09:19:05 2007 http://host-12548.com/ Title: 12548 Tue Jun 5 09:19:38 2007 http://www.host-12549.com/ Title: 12549 Tue Jun 5 09:19:39 2007 http://www.host-12550.com/ Title: 12550 Tue Jun 5 09:20:00 2007 http://host-12551.com/ Title: 12551 Tue Jun 5 09:21:27 2007 http://host-12552.com/ Title: 12552 Tue Jun 5 09:21:49 2007 http://www.host-12553.com/ Title: 12553 Tue Jun 5 09:21:51 2007 http://host-12554.com/ Title: 12554 Tue Jun 5 09:27:51 2007 http://host-12555.com/ Title: 12555 Tue Jun 5 09:40:21 2007 http://host-12556.com/ Title: 12556 Tue Jun 5 09:59:58 2007 http://www.host-12557.com/ Title: 12557 Tue Jun 5 10:49:30 2007 http://host-12558.com/ Title: 12558 Tue Jun 5 10:50:11 2007 http://host-12559.com/ Title: 12559 Tue Jun 5 12:24:32 2007 http://host-12560.com/ Title: 12560 Tue Jun 5 12:25:06 2007 http://www.host-12561.com/ Title: 12561 Tue Jun 5 12:49:36 2007 http://host-12562.com/ Title: 12562 Tue Jun 5 12:50:15 2007 http://www.host-12563.com/ Title: 12563 Tue Jun 5 12:50:18 2007 http://host-12564.com/ Title: 12564 Tue Jun 5 12:50:19 2007 http://host-12565.com/ Title: 12565 Tue Jun 5 12:50:24 2007 http://host-12566.com/ Title: 12566 Tue Jun 5 12:50:29 2007 http://host-12567.com/ Title: 12567 Tue Jun 5 12:51:43 2007 http://www.host-12568.com/ Title: 12568 Tue Jun 5 12:52:37 2007 http://host-12569.com/ Title: 12569 Tue Jun 5 12:53:11 2007 http://www.host-12570.com/ Title: 12570 Tue Jun 5 13:34:31 2007 http://www.host-12571.com/ Title: 12571 Tue Jun 5 13:34:41 2007 http://host-12572.com/ Title: 12572 Tue Jun 5 13:37:51 2007 http://www.host-12573.com/ Title: 12573 Tue Jun 5 13:37:54 2007 http://host-12574.com/ Title: 12574 Tue Jun 5 13:37:55 2007 http://www.host-12575.com/ Title: 12575 Tue Jun 5 13:41:59 2007 http://www.host-12576.com/ Title: 12576 Tue Jun 5 13:42:13 2007 http://www.host-12577.com/ Title: 12577 Tue Jun 5 13:42:15 2007 http://host-12578.com/ Title: 12578 Tue Jun 5 13:42:16 2007 http://www.host-12579.com/ Title: 12579 Tue Jun 5 13:42:25 2007 http://host-12580.com/ Title: 12580 Tue Jun 5 13:42:27 2007 http://host-12581.com/ Title: 12581 Tue Jun 5 13:59:05 2007 http://www.host-12582.com/ Title: 12582 Tue Jun 5 14:29:43 2007 http://host-12583.com/ Title: 12583 Tue Jun 5 15:15:38 2007 http://host-12584.com/ Title: 12584 Tue Jun 5 15:15:40 2007 http://host-12585.com/ Title: 12585 Tue Jun 5 15:15:44 2007 http://www.host-12586.com/ Title: 12586 Tue Jun 5 15:22:42 2007 http://www.host-12587.com/ Title: 12587 Tue Jun 5 15:22:45 2007 http://host-12588.com/ Title: 12588 Tue Jun 5 15:33:59 2007 http://host-12589.com/ Title: 12589 Tue Jun 5 15:34:34 2007 http://www.host-12590.com/ Title: 12590 Tue Jun 5 16:03:55 2007 http://host-12591.com/ Title: 12591 Tue Jun 5 16:45:42 2007 http://www.host-12592.com/ Title: 12592 Tue Jun 5 16:45:44 2007 http://host-12593.com/ Title: 12593 Tue Jun 5 16:45:45 2007 http://www.host-12594.com/ Title: 12594 Tue Jun 5 16:45:52 2007 http://host-12595.com/ Title: 12595 Tue Jun 5 16:46:27 2007 http://www.host-12596.com/ Title: 12596 Tue Jun 5 17:05:10 2007 http://www.host-12597.com/ Title: 12597 Tue Jun 5 17:05:15 2007 http://host-12598.com/ Title: 12598 Tue Jun 5 17:05:29 2007 http://www.host-12599.com/ Title: 12599 Tue Jun 5 17:05:37 2007 http://host-12600.com/ Title: 12600 Tue Jun 5 17:06:10 2007 http://host-12601.com/ Title: 12601 Tue Jun 5 17:06:12 2007 http://host-12602.com/ Title: 12602 Tue Jun 5 17:06:13 2007 http://www.host-12603.com/ Title: 12603 Tue Jun 5 17:06:33 2007 http://host-12604.com/ Title: 12604 Tue Jun 5 17:06:53 2007 http://host-12605.com/ Title: 12605 Tue Jun 5 17:07:27 2007 http://host-12606.com/ Title: 12606 Tue Jun 5 17:08:03 2007 http://host-12607.com/ Title: 12607 Tue Jun 5 17:08:09 2007 http://www.host-12608.com/ Title: 12608 Tue Jun 5 17:08:22 2007 http://host-12609.com/ Title: 12609 Tue Jun 5 17:08:41 2007 http://www.host-12610.com/ Title: 12610 Tue Jun 5 17:08:42 2007 http://www.host-12611.com/ Title: 12611 Tue Jun 5 17:08:47 2007 http://www.host-12612.com/ Title: 12612 Tue Jun 5 17:08:55 2007 http://host-12613.com/ Title: 12613 Tue Jun 5 17:09:01 2007 http://host-12614.com/ Title: 12614 Tue Jun 5 17:09:02 2007 http://www.host-12615.com/ Title: 12615 Tue Jun 5 17:09:42 2007 http://www.host-12616.com/ Title: 12616 Tue Jun 5 17:09:43 2007 http://www.host-12617.com/ Title: 12617 Tue Jun 5 17:09:49 2007 http://www.host-12618.com/ Title: 12618 Tue Jun 5 17:09:50 2007 http://host-12619.com/ Title: 12619 Tue Jun 5 17:09:56 2007 http://www.host-12620.com/ Title: 12620 Tue Jun 5 17:10:05 2007 http://www.host-12621.com/ Title: 12621 Tue Jun 5 17:10:19 2007 http://www.host-12622.com/ Title: 12622 Tue Jun 5 17:10:32 2007 http://host-12623.com/ Title: 12623 Tue Jun 5 17:11:04 2007 http://www.host-12624.com/ Title: 12624 Tue Jun 5 17:11:18 2007 http://host-12625.com/ Title: 12625 Tue Jun 5 17:11:40 2007 http://www.host-12626.com/ Title: 12626 Tue Jun 5 17:11:59 2007 http://www.host-12627.com/ Title: 12627 Tue Jun 5 17:12:13 2007 http://www.host-12628.com/ Title: 12628 Tue Jun 5 17:12:22 2007 http://www.host-12629.com/ Title: 12629 Tue Jun 5 17:12:33 2007 http://www.host-12630.com/ Title: 12630 Wed Jun 6 09:22:03 2007 http://www.host-12631.com/ Title: 12631 Wed Jun 6 09:22:31 2007 http://www.host-12632.com/ Title: 12632 Wed Jun 6 09:22:42 2007 http://host-12633.com/ Title: 12633 Wed Jun 6 09:23:01 2007 http://host-12634.com/ Title: 12634 Wed Jun 6 09:26:12 2007 http://www.host-12635.com/ Title: 12635 Wed Jun 6 09:26:12 2007 http://www.host-12636.com/ Title: 12636 Wed Jun 6 09:26:13 2007 http://www.host-12637.com/ Title: 12637 Wed Jun 6 09:26:13 2007 http://www.host-12638.com/ Title: 12638 Wed Jun 6 09:26:14 2007 http://host-12639.com/ Title: 12639 Wed Jun 6 09:26:14 2007 http://host-12640.com/ Title: 12640 Wed Jun 6 09:26:15 2007 http://host-12641.com/ Title: 12641 Wed Jun 6 09:26:15 2007 http://host-12642.com/ Title: 12642 Wed Jun 6 09:26:16 2007 http://www.host-12643.com/ Title: 12643 Wed Jun 6 09:26:16 2007 http://host-12644.com/ Title: 12644 Wed Jun 6 09:26:20 2007 http://host-12645.com/ Title: 12645 Wed Jun 6 09:26:33 2007 http://host-12646.com/ Title: 12646 Wed Jun 6 09:33:49 2007 http://www.host-12647.com/ Title: 12647 Wed Jun 6 09:37:51 2007 http://host-12648.com/ Title: 12648 Wed Jun 6 09:38:04 2007 http://www.host-12649.com/ Title: 12649 Wed Jun 6 09:39:28 2007 http://host-12650.com/ Title: 12650 Wed Jun 6 09:47:03 2007 http://www.host-12651.com/ Title: 12651 Wed Jun 6 09:48:20 2007 http://www.host-12652.com/ Title: 12652 Wed Jun 6 09:49:11 2007 http://host-12653.com/ Title: 12653 Wed Jun 6 09:49:17 2007 http://host-12654.com/ Title: 12654 Wed Jun 6 09:49:18 2007 http://www.host-12655.com/ Title: 12655 Wed Jun 6 09:49:21 2007 http://host-12656.com/ Title: 12656 Wed Jun 6 09:49:27 2007 http://www.host-12657.com/ Title: 12657 Wed Jun 6 09:49:35 2007 http://www.host-12658.com/ Title: 12658 Wed Jun 6 09:49:37 2007 http://host-12659.com/ Title: 12659 Wed Jun 6 09:51:41 2007 http://host-12660.com/ Title: 12660 Wed Jun 6 09:53:03 2007 http://www.host-12661.com/ Title: 12661 Wed Jun 6 09:53:25 2007 http://www.host-12662.com/ Title: 12662 Wed Jun 6 09:53:26 2007 http://www.host-12663.com/ Title: 12663 Wed Jun 6 10:05:49 2007 http://www.host-12664.com/ Title: 12664 Wed Jun 6 10:14:26 2007 http://www.host-12665.com/ Title: 12665 Wed Jun 6 10:14:45 2007 http://host-12666.com/ Title: 12666 Wed Jun 6 10:18:14 2007 http://www.host-12667.com/ Title: 12667 Wed Jun 6 10:24:23 2007 http://www.host-12668.com/ Title: 12668 Wed Jun 6 10:26:54 2007 http://www.host-12669.com/ Title: 12669 Wed Jun 6 10:27:13 2007 http://www.host-12670.com/ Title: 12670 Wed Jun 6 10:27:16 2007 http://host-12671.com/ Title: 12671 Wed Jun 6 10:27:18 2007 http://www.host-12672.com/ Title: 12672 Wed Jun 6 10:27:23 2007 http://host-12673.com/ Title: 12673 Wed Jun 6 10:29:38 2007 http://www.host-12674.com/ Title: 12674 Wed Jun 6 10:34:45 2007 http://www.host-12675.com/ Title: 12675 Wed Jun 6 10:34:51 2007 http://www.host-12676.com/ Title: 12676 Wed Jun 6 10:47:58 2007 http://host-12677.com/ Title: 12677 Wed Jun 6 10:51:18 2007 http://www.host-12678.com/ Title: 12678 Wed Jun 6 10:51:23 2007 http://www.host-12679.com/ Title: 12679 Wed Jun 6 10:52:19 2007 http://host-12680.com/ Title: 12680 Wed Jun 6 10:52:21 2007 http://host-12681.com/ Title: 12681 Wed Jun 6 10:52:26 2007 http://www.host-12682.com/ Title: 12682 Wed Jun 6 10:52:27 2007 http://host-12683.com/ Title: 12683 Wed Jun 6 10:52:37 2007 http://host-12684.com/ Title: 12684 Wed Jun 6 10:52:39 2007 http://www.host-12685.com/ Title: 12685 Wed Jun 6 10:52:42 2007 http://host-12686.com/ Title: 12686 Wed Jun 6 10:52:45 2007 http://host-12687.com/ Title: 12687 Wed Jun 6 10:52:52 2007 http://host-12688.com/ Title: 12688 Wed Jun 6 10:52:52 2007 http://www.host-12689.com/ Title: 12689 Wed Jun 6 10:52:58 2007 http://www.host-12690.com/ Title: 12690 Wed Jun 6 10:53:17 2007 http://host-12691.com/ Title: 12691 Wed Jun 6 11:53:44 2007 http://host-12692.com/ Title: 12692 Wed Jun 6 11:53:53 2007 http://www.host-12693.com/ Title: 12693 Wed Jun 6 11:54:19 2007 http://www.host-12694.com/ Title: 12694 Wed Jun 6 11:54:21 2007 http://www.host-12695.com/ Title: 12695 Wed Jun 6 11:59:16 2007 http://www.host-12696.com/ Title: 12696 Wed Jun 6 11:59:25 2007 http://www.host-12697.com/ Title: 12697 Wed Jun 6 11:59:37 2007 http://www.host-12698.com/ Title: 12698 Wed Jun 6 11:59:40 2007 http://www.host-12699.com/ Title: 12699 Wed Jun 6 12:03:38 2007 http://host-12700.com/ Title: 12700 Wed Jun 6 12:03:44 2007 http://www.host-12701.com/ Title: 12701 Wed Jun 6 12:03:52 2007 http://host-12702.com/ Title: 12702 Wed Jun 6 12:13:01 2007 http://host-12703.com/ Title: 12703 Wed Jun 6 12:13:12 2007 http://www.host-12704.com/ Title: 12704 Wed Jun 6 12:14:28 2007 http://host-12705.com/ Title: 12705 Wed Jun 6 12:18:27 2007 http://www.host-12706.com/ Title: 12706 Wed Jun 6 12:18:31 2007 http://www.host-12707.com/ Title: 12707 Wed Jun 6 12:18:32 2007 http://host-12708.com/ Title: 12708 Wed Jun 6 12:18:38 2007 http://host-12709.com/ Title: 12709 Wed Jun 6 12:18:38 2007 http://host-12710.com/ Title: 12710 Wed Jun 6 12:19:53 2007 http://www.host-12711.com/ Title: 12711 Wed Jun 6 12:20:03 2007 http://host-12712.com/ Title: 12712 Wed Jun 6 12:21:40 2007 http://host-12713.com/ Title: 12713 Wed Jun 6 12:22:02 2007 http://host-12714.com/ Title: 12714 Wed Jun 6 12:22:03 2007 http://www.host-12715.com/ Title: 12715 Wed Jun 6 12:26:06 2007 http://www.host-12716.com/ Title: 12716 Wed Jun 6 12:26:16 2007 http://host-12717.com/ Title: 12717 Wed Jun 6 12:26:29 2007 http://host-12718.com/ Title: 12718 Wed Jun 6 12:26:39 2007 http://host-12719.com/ Title: 12719 Wed Jun 6 12:26:41 2007 http://host-12720.com/ Title: 12720 Wed Jun 6 12:32:06 2007 http://www.host-12721.com/ Title: 12721 Wed Jun 6 12:32:13 2007 http://www.host-12722.com/ Title: 12722 Wed Jun 6 12:36:07 2007 http://host-12723.com/ Title: 12723 Wed Jun 6 12:36:10 2007 http://www.host-12724.com/ Title: 12724 Wed Jun 6 12:41:50 2007 http://host-12725.com/ Title: 12725 Wed Jun 6 12:41:51 2007 http://host-12726.com/ Title: 12726 Wed Jun 6 12:41:54 2007 http://host-12727.com/ Title: 12727 Wed Jun 6 12:41:58 2007 http://host-12728.com/ Title: 12728 Wed Jun 6 12:42:03 2007 http://host-12729.com/ Title: 12729 Wed Jun 6 12:42:06 2007 http://www.host-12730.com/ Title: 12730 Wed Jun 6 12:42:53 2007 http://www.host-12731.com/ Title: 12731 Wed Jun 6 12:42:55 2007 http://www.host-12732.com/ Title: 12732 Wed Jun 6 12:43:02 2007 http://host-12733.com/ Title: 12733 Wed Jun 6 12:44:03 2007 http://www.host-12734.com/ Title: 12734 Wed Jun 6 12:44:40 2007 http://host-12735.com/ Title: 12735 Wed Jun 6 12:48:21 2007 http://host-12736.com/ Title: 12736 Wed Jun 6 12:52:10 2007 http://www.host-12737.com/ Title: 12737 Wed Jun 6 12:52:20 2007 http://www.host-12738.com/ Title: 12738 Wed Jun 6 12:52:49 2007 http://www.host-12739.com/ Title: 12739 Wed Jun 6 12:53:06 2007 http://host-12740.com/ Title: 12740 Wed Jun 6 12:53:11 2007 http://host-12741.com/ Title: 12741 Wed Jun 6 12:53:57 2007 http://host-12742.com/ Title: 12742 Wed Jun 6 12:54:03 2007 http://www.host-12743.com/ Title: 12743 Wed Jun 6 12:54:08 2007 http://www.host-12744.com/ Title: 12744 Wed Jun 6 12:54:26 2007 http://www.host-12745.com/ Title: 12745 Wed Jun 6 12:54:29 2007 http://www.host-12746.com/ Title: 12746 Wed Jun 6 12:54:31 2007 http://www.host-12747.com/ Title: 12747 Wed Jun 6 12:54:35 2007 http://www.host-12748.com/ Title: 12748 Wed Jun 6 12:54:43 2007 http://www.host-12749.com/ Title: 12749 Wed Jun 6 12:54:44 2007 http://www.host-12750.com/ Title: 12750 Wed Jun 6 12:54:47 2007 http://www.host-12751.com/ Title: 12751 Wed Jun 6 12:54:49 2007 http://host-12752.com/ Title: 12752 Wed Jun 6 12:54:49 2007 http://www.host-12753.com/ Title: 12753 Wed Jun 6 12:57:28 2007 http://www.host-12754.com/ Title: 12754 Wed Jun 6 12:57:34 2007 http://www.host-12755.com/ Title: 12755 Wed Jun 6 13:23:00 2007 http://host-12756.com/ Title: 12756 Wed Jun 6 13:24:07 2007 http://host-12757.com/ Title: 12757 Wed Jun 6 13:24:12 2007 http://host-12758.com/ Title: 12758 Wed Jun 6 13:26:01 2007 http://host-12759.com/ Title: 12759 Wed Jun 6 13:26:07 2007 http://www.host-12760.com/ Title: 12760 Wed Jun 6 13:26:08 2007 http://host-12761.com/ Title: 12761 Wed Jun 6 13:27:38 2007 http://www.host-12762.com/ Title: 12762 Wed Jun 6 13:28:47 2007 http://host-12763.com/ Title: 12763 Wed Jun 6 13:29:06 2007 http://www.host-12764.com/ Title: 12764 Wed Jun 6 13:29:13 2007 http://host-12765.com/ Title: 12765 Wed Jun 6 13:29:17 2007 http://www.host-12766.com/ Title: 12766 Wed Jun 6 13:29:47 2007 http://host-12767.com/ Title: 12767 Wed Jun 6 13:29:48 2007 http://www.host-12768.com/ Title: 12768 Wed Jun 6 13:29:55 2007 http://www.host-12769.com/ Title: 12769 Wed Jun 6 13:39:28 2007 http://www.host-12770.com/ Title: 12770 Wed Jun 6 13:39:41 2007 http://www.host-12771.com/ Title: 12771 Wed Jun 6 13:41:28 2007 http://host-12772.com/ Title: 12772 Wed Jun 6 13:43:07 2007 http://host-12773.com/ Title: 12773 Wed Jun 6 13:43:20 2007 http://host-12774.com/ Title: 12774 Wed Jun 6 13:43:36 2007 http://www.host-12775.com/ Title: 12775 Wed Jun 6 13:45:02 2007 http://host-12776.com/ Title: 12776 Wed Jun 6 13:56:41 2007 http://www.host-12777.com/ Title: 12777 Wed Jun 6 13:56:43 2007 http://host-12778.com/ Title: 12778 Wed Jun 6 14:03:09 2007 http://www.host-12779.com/ Title: 12779 Wed Jun 6 16:54:37 2007 http://host-12780.com/ Title: 12780 Wed Jun 6 16:54:40 2007 http://host-12781.com/ Title: 12781 Wed Jun 6 16:54:46 2007 http://www.host-12782.com/ Title: 12782 Wed Jun 6 16:54:47 2007 http://www.host-12783.com/ Title: 12783 Thu Jun 7 09:03:51 2007 http://www.host-12784.com/ Title: 12784 Thu Jun 7 09:04:08 2007 http://www.host-12785.com/ Title: 12785 Thu Jun 7 09:10:12 2007 http://www.host-12786.com/ Title: 12786 Thu Jun 7 09:25:49 2007 http://www.host-12787.com/ Title: 12787 Thu Jun 7 09:30:03 2007 http://www.host-12788.com/ Title: 12788 Thu Jun 7 09:30:08 2007 http://www.host-12789.com/ Title: 12789 Thu Jun 7 09:30:11 2007 http://www.host-12790.com/ Title: 12790 Thu Jun 7 09:30:14 2007 http://www.host-12791.com/ Title: 12791 Thu Jun 7 09:30:18 2007 http://www.host-12792.com/ Title: 12792 Thu Jun 7 09:30:20 2007 http://www.host-12793.com/ Title: 12793 Thu Jun 7 09:30:28 2007 http://www.host-12794.com/ Title: 12794 Thu Jun 7 09:30:33 2007 http://host-12795.com/ Title: 12795 Thu Jun 7 09:30:47 2007 http://www.host-12796.com/ Title: 12796 Thu Jun 7 09:31:25 2007 http://www.host-12797.com/ Title: 12797 Thu Jun 7 09:31:29 2007 http://host-12798.com/ Title: 12798 Thu Jun 7 09:32:38 2007 http://www.host-12799.com/ Title: 12799 Thu Jun 7 09:33:08 2007 http://www.host-12800.com/ Title: 12800 Thu Jun 7 09:33:11 2007 http://www.host-12801.com/ Title: 12801 Thu Jun 7 09:33:14 2007 http://host-12802.com/ Title: 12802 Thu Jun 7 09:34:45 2007 http://host-12803.com/ Title: 12803 Thu Jun 7 09:36:27 2007 http://host-12804.com/ Title: 12804 Thu Jun 7 09:39:37 2007 http://www.host-12805.com/ Title: 12805 Thu Jun 7 09:39:39 2007 http://host-12806.com/ Title: 12806 Thu Jun 7 09:48:44 2007 http://host-12807.com/ Title: 12807 Thu Jun 7 09:48:47 2007 http://www.host-12808.com/ Title: 12808 Thu Jun 7 09:48:54 2007 http://host-12809.com/ Title: 12809 Thu Jun 7 09:49:01 2007 http://www.host-12810.com/ Title: 12810 Thu Jun 7 10:13:28 2007 http://www.host-12811.com/ Title: 12811 Thu Jun 7 10:13:29 2007 http://host-12812.com/ Title: 12812 Thu Jun 7 10:13:35 2007 http://www.host-12813.com/ Title: 12813 Thu Jun 7 10:13:51 2007 http://www.host-12814.com/ Title: 12814 Thu Jun 7 10:14:43 2007 http://host-12815.com/ Title: 12815 Thu Jun 7 10:14:45 2007 http://www.host-12816.com/ Title: 12816 Thu Jun 7 10:14:48 2007 http://www.host-12817.com/ Title: 12817 Thu Jun 7 10:14:48 2007 http://www.host-12818.com/ Title: 12818 Thu Jun 7 10:14:48 2007 http://host-12819.com/ Title: 12819 Thu Jun 7 10:15:54 2007 http://www.host-12820.com/ Title: 12820 Thu Jun 7 10:16:06 2007 http://host-12821.com/ Title: 12821 Thu Jun 7 10:16:19 2007 http://www.host-12822.com/ Title: 12822 Thu Jun 7 10:16:31 2007 http://www.host-12823.com/ Title: 12823 Thu Jun 7 10:16:33 2007 http://host-12824.com/ Title: 12824 Thu Jun 7 10:17:57 2007 http://www.host-12825.com/ Title: 12825 Thu Jun 7 10:18:14 2007 http://host-12826.com/ Title: 12826 Thu Jun 7 10:45:18 2007 http://www.host-12827.com/ Title: 12827 Thu Jun 7 10:47:40 2007 http://host-12828.com/ Title: 12828 Thu Jun 7 10:47:50 2007 http://host-12829.com/ Title: 12829 Thu Jun 7 10:53:16 2007 http://www.host-12830.com/ Title: 12830 Thu Jun 7 10:53:21 2007 http://host-12831.com/ Title: 12831 Thu Jun 7 10:53:59 2007 http://www.host-12832.com/ Title: 12832 Thu Jun 7 10:54:19 2007 http://host-12833.com/ Title: 12833 Thu Jun 7 10:54:31 2007 http://www.host-12834.com/ Title: 12834 Thu Jun 7 10:55:00 2007 http://www.host-12835.com/ Title: 12835 Thu Jun 7 10:55:00 2007 http://host-12836.com/ Title: 12836 Thu Jun 7 10:55:08 2007 http://www.host-12837.com/ Title: 12837 Thu Jun 7 10:55:22 2007 http://host-12838.com/ Title: 12838 Thu Jun 7 10:55:27 2007 http://www.host-12839.com/ Title: 12839 Thu Jun 7 10:55:32 2007 http://host-12840.com/ Title: 12840 Thu Jun 7 10:55:40 2007 http://www.host-12841.com/ Title: 12841 Thu Jun 7 10:56:08 2007 http://host-12842.com/ Title: 12842 Thu Jun 7 10:56:12 2007 http://www.host-12843.com/ Title: 12843 Thu Jun 7 10:56:19 2007 http://host-12844.com/ Title: 12844 Thu Jun 7 10:56:22 2007 http://host-12845.com/ Title: 12845 Thu Jun 7 10:56:29 2007 http://host-12846.com/ Title: 12846 Thu Jun 7 10:56:44 2007 http://www.host-12847.com/ Title: 12847 Thu Jun 7 10:57:04 2007 http://www.host-12848.com/ Title: 12848 Thu Jun 7 10:57:16 2007 http://host-12849.com/ Title: 12849 Thu Jun 7 10:57:26 2007 http://www.host-12850.com/ Title: 12850 Thu Jun 7 11:01:27 2007 http://www.host-12851.com/ Title: 12851 Thu Jun 7 11:01:45 2007 http://www.host-12852.com/ Title: 12852 Thu Jun 7 11:01:47 2007 http://www.host-12853.com/ Title: 12853 Thu Jun 7 11:02:47 2007 http://host-12854.com/ Title: 12854 Thu Jun 7 11:03:03 2007 http://www.host-12855.com/ Title: 12855 Thu Jun 7 11:03:06 2007 http://host-12856.com/ Title: 12856 Thu Jun 7 11:04:26 2007 http://host-12857.com/ Title: 12857 Thu Jun 7 11:35:17 2007 http://host-12858.com/ Title: 12858 Thu Jun 7 11:35:22 2007 http://www.host-12859.com/ Title: 12859 Thu Jun 7 11:36:25 2007 http://host-12860.com/ Title: 12860 Thu Jun 7 11:36:32 2007 http://www.host-12861.com/ Title: 12861 Thu Jun 7 11:36:36 2007 http://host-12862.com/ Title: 12862 Thu Jun 7 11:38:28 2007 http://www.host-12863.com/ Title: 12863 Thu Jun 7 12:20:01 2007 http://www.host-12864.com/ Title: 12864 Thu Jun 7 12:20:02 2007 http://host-12865.com/ Title: 12865 Thu Jun 7 12:20:12 2007 http://www.host-12866.com/ Title: 12866 Thu Jun 7 12:20:22 2007 http://host-12867.com/ Title: 12867 Thu Jun 7 13:18:13 2007 http://www.host-12868.com/ Title: 12868 Thu Jun 7 13:18:23 2007 http://www.host-12869.com/ Title: 12869 Thu Jun 7 13:18:38 2007 http://www.host-12870.com/ Title: 12870 Thu Jun 7 13:18:42 2007 http://www.host-12871.com/ Title: 12871 Thu Jun 7 13:19:14 2007 http://www.host-12872.com/ Title: 12872 Thu Jun 7 13:37:55 2007 http://www.host-12873.com/ Title: 12873 Thu Jun 7 14:00:03 2007 http://www.host-12874.com/ Title: 12874 Thu Jun 7 14:00:04 2007 http://host-12875.com/ Title: 12875 Thu Jun 7 14:00:05 2007 http://host-12876.com/ Title: 12876 Thu Jun 7 14:00:40 2007 http://host-12877.com/ Title: 12877 Thu Jun 7 14:00:47 2007 http://host-12878.com/ Title: 12878 Thu Jun 7 14:00:59 2007 http://www.host-12879.com/ Title: 12879 Thu Jun 7 14:01:07 2007 http://www.host-12880.com/ Title: 12880 Thu Jun 7 14:01:12 2007 http://www.host-12881.com/ Title: 12881 Thu Jun 7 14:01:17 2007 http://host-12882.com/ Title: 12882 Thu Jun 7 14:01:18 2007 http://host-12883.com/ Title: 12883 Thu Jun 7 14:01:25 2007 http://www.host-12884.com/ Title: 12884 Thu Jun 7 14:01:31 2007 http://host-12885.com/ Title: 12885 Thu Jun 7 14:03:19 2007 http://www.host-12886.com/ Title: 12886 Thu Jun 7 14:28:49 2007 http://www.host-12887.com/ Title: 12887 Thu Jun 7 14:29:20 2007 http://host-12888.com/ Title: 12888 Thu Jun 7 14:31:33 2007 http://host-12889.com/ Title: 12889 Thu Jun 7 14:42:14 2007 http://www.host-12890.com/ Title: 12890 Thu Jun 7 14:42:53 2007 http://www.host-12891.com/ Title: 12891 Thu Jun 7 14:42:56 2007 http://host-12892.com/ Title: 12892 Thu Jun 7 14:47:18 2007 http://www.host-12893.com/ Title: 12893 Thu Jun 7 14:49:40 2007 http://host-12894.com/ Title: 12894 Thu Jun 7 14:52:48 2007 http://www.host-12895.com/ Title: 12895 Thu Jun 7 14:55:44 2007 http://www.host-12896.com/ Title: 12896 Thu Jun 7 15:25:26 2007 http://www.host-12897.com/ Title: 12897 Thu Jun 7 15:26:36 2007 http://www.host-12898.com/ Title: 12898 Thu Jun 7 15:35:48 2007 http://host-12899.com/ Title: 12899 Thu Jun 7 15:36:03 2007 http://www.host-12900.com/ Title: 12900 Thu Jun 7 15:36:04 2007 http://www.host-12901.com/ Title: 12901 Thu Jun 7 15:36:16 2007 http://www.host-12902.com/ Title: 12902 Thu Jun 7 15:36:26 2007 http://www.host-12903.com/ Title: 12903 Thu Jun 7 15:36:32 2007 http://host-12904.com/ Title: 12904 Thu Jun 7 16:16:20 2007 http://www.host-12905.com/ Title: 12905 Thu Jun 7 16:16:31 2007 http://host-12906.com/ Title: 12906 Thu Jun 7 16:16:33 2007 http://host-12907.com/ Title: 12907 Thu Jun 7 16:16:38 2007 http://host-12908.com/ Title: 12908 Fri Jun 8 09:19:14 2007 http://www.host-12909.com/ Title: 12909 Fri Jun 8 09:19:14 2007 http://host-12910.com/ Title: 12910 Fri Jun 8 09:19:16 2007 http://www.host-12911.com/ Title: 12911 Fri Jun 8 09:23:29 2007 http://host-12912.com/ Title: 12912 Fri Jun 8 09:24:07 2007 http://host-12913.com/ Title: 12913 Fri Jun 8 09:24:10 2007 http://www.host-12914.com/ Title: 12914 Fri Jun 8 09:24:11 2007 http://www.host-12915.com/ Title: 12915 Fri Jun 8 09:24:33 2007 http://host-12916.com/ Title: 12916 Fri Jun 8 09:26:07 2007 http://host-12917.com/ Title: 12917 Fri Jun 8 09:28:15 2007 http://host-12918.com/ Title: 12918 Fri Jun 8 09:28:16 2007 http://host-12919.com/ Title: 12919 Fri Jun 8 09:30:20 2007 http://www.host-12920.com/ Title: 12920 Fri Jun 8 09:30:26 2007 http://www.host-12921.com/ Title: 12921 Fri Jun 8 09:30:30 2007 http://www.host-12922.com/ Title: 12922 Fri Jun 8 09:30:36 2007 http://www.host-12923.com/ Title: 12923 Fri Jun 8 09:32:05 2007 http://host-12924.com/ Title: 12924 Fri Jun 8 09:32:19 2007 http://host-12925.com/ Title: 12925 Fri Jun 8 09:32:20 2007 http://host-12926.com/ Title: 12926 Fri Jun 8 09:32:23 2007 http://www.host-12927.com/ Title: 12927 Fri Jun 8 09:32:37 2007 http://www.host-12928.com/ Title: 12928 Fri Jun 8 09:32:46 2007 http://www.host-12929.com/ Title: 12929 Fri Jun 8 09:32:50 2007 http://www.host-12930.com/ Title: 12930 Fri Jun 8 09:33:59 2007 http://host-12931.com/ Title: 12931 Fri Jun 8 09:35:00 2007 http://www.host-12932.com/ Title: 12932 Fri Jun 8 09:35:58 2007 http://www.host-12933.com/ Title: 12933 Fri Jun 8 09:36:07 2007 http://www.host-12934.com/ Title: 12934 Fri Jun 8 09:36:08 2007 http://www.host-12935.com/ Title: 12935 Fri Jun 8 09:36:09 2007 http://www.host-12936.com/ Title: 12936 Fri Jun 8 09:45:18 2007 http://host-12937.com/ Title: 12937 Fri Jun 8 09:45:31 2007 http://www.host-12938.com/ Title: 12938 Fri Jun 8 09:45:31 2007 http://host-12939.com/ Title: 12939 Fri Jun 8 09:48:47 2007 http://host-12940.com/ Title: 12940 Fri Jun 8 09:55:50 2007 http://www.host-12941.com/ Title: 12941 Fri Jun 8 09:58:52 2007 http://host-12942.com/ Title: 12942 Fri Jun 8 09:58:54 2007 http://www.host-12943.com/ Title: 12943 Fri Jun 8 09:58:56 2007 http://host-12944.com/ Title: 12944 Fri Jun 8 09:59:14 2007 http://www.host-12945.com/ Title: 12945 Fri Jun 8 09:59:14 2007 http://host-12946.com/ Title: 12946 Fri Jun 8 10:03:59 2007 http://host-12947.com/ Title: 12947 Fri Jun 8 10:04:16 2007 http://www.host-12948.com/ Title: 12948 Fri Jun 8 10:04:17 2007 http://www.host-12949.com/ Title: 12949 Fri Jun 8 10:04:18 2007 http://www.host-12950.com/ Title: 12950 Fri Jun 8 10:04:19 2007 http://www.host-12951.com/ Title: 12951 Fri Jun 8 10:04:20 2007 http://www.host-12952.com/ Title: 12952 Fri Jun 8 10:13:58 2007 http://host-12953.com/ Title: 12953 Fri Jun 8 10:14:12 2007 http://host-12954.com/ Title: 12954 Fri Jun 8 10:14:16 2007 http://www.host-12955.com/ Title: 12955 Fri Jun 8 10:54:03 2007 http://www.host-12956.com/ Title: 12956 Fri Jun 8 11:54:28 2007 http://host-12957.com/ Title: 12957 Fri Jun 8 11:58:15 2007 http://www.host-12958.com/ Title: 12958 Fri Jun 8 11:58:44 2007 http://www.host-12959.com/ Title: 12959 Fri Jun 8 11:58:56 2007 http://host-12960.com/ Title: 12960 Fri Jun 8 11:58:58 2007 http://host-12961.com/ Title: 12961 Fri Jun 8 11:59:01 2007 http://www.host-12962.com/ Title: 12962 Fri Jun 8 11:59:56 2007 http://host-12963.com/ Title: 12963 Fri Jun 8 11:59:58 2007 http://www.host-12964.com/ Title: 12964 Fri Jun 8 12:06:37 2007 http://host-12965.com/ Title: 12965 Fri Jun 8 12:06:56 2007 http://host-12966.com/ Title: 12966 Fri Jun 8 13:50:13 2007 http://www.host-12967.com/ Title: 12967 Fri Jun 8 14:03:56 2007 http://host-12968.com/ Title: 12968 Fri Jun 8 14:04:35 2007 http://www.host-12969.com/ Title: 12969 Fri Jun 8 14:04:39 2007 http://www.host-12970.com/ Title: 12970 Fri Jun 8 14:06:21 2007 http://host-12971.com/ Title: 12971 Fri Jun 8 14:33:19 2007 http://www.host-12972.com/ Title: 12972 Fri Jun 8 14:33:22 2007 http://www.host-12973.com/ Title: 12973 Fri Jun 8 14:33:23 2007 http://host-12974.com/ Title: 12974 Fri Jun 8 14:33:25 2007 http://www.host-12975.com/ Title: 12975 Fri Jun 8 14:33:26 2007 http://www.host-12976.com/ Title: 12976 Fri Jun 8 14:33:28 2007 http://www.host-12977.com/ Title: 12977 Fri Jun 8 14:33:29 2007 http://host-12978.com/ Title: 12978 Fri Jun 8 14:33:30 2007 http://www.host-12979.com/ Title: 12979 Fri Jun 8 14:33:32 2007 http://host-12980.com/ Title: 12980 Fri Jun 8 14:33:33 2007 http://host-12981.com/ Title: 12981 Fri Jun 8 14:33:34 2007 http://www.host-12982.com/ Title: 12982 Fri Jun 8 14:44:13 2007 http://host-12983.com/ Title: 12983 Fri Jun 8 15:21:11 2007 http://host-12984.com/ Title: 12984 Fri Jun 8 15:21:13 2007 http://host-12985.com/ Title: 12985 Fri Jun 8 15:21:14 2007 http://host-12986.com/ Title: 12986 Fri Jun 8 16:12:31 2007 http://www.host-12987.com/ Title: 12987 Fri Jun 8 16:12:32 2007 http://www.host-12988.com/ Title: 12988 Fri Jun 8 16:12:37 2007 http://www.host-12989.com/ Title: 12989 Fri Jun 8 16:12:49 2007 http://www.host-12990.com/ Title: 12990 Fri Jun 8 16:14:09 2007 http://host-12991.com/ Title: 12991 Fri Jun 8 16:14:18 2007 http://www.host-12992.com/ Title: 12992 Fri Jun 8 16:14:19 2007 http://host-12993.com/ Title: 12993 Fri Jun 8 17:09:41 2007 http://www.host-12994.com/ Title: 12994 Fri Jun 8 17:09:44 2007 http://www.host-12995.com/ Title: 12995 Fri Jun 8 17:09:48 2007 http://www.host-12996.com/ Title: 12996 Fri Jun 8 17:09:50 2007 http://www.host-12997.com/ Title: 12997 Sun Jun 10 15:19:30 2007 http://host-12998.com/ Title: 12998 Sun Jun 10 15:21:29 2007 http://www.host-12999.com/ Title: 12999 Sun Jun 10 15:21:36 2007 http://host-13000.com/ Title: 13000 Sun Jun 10 15:24:19 2007 http://www.host-13001.com/ Title: 13001 Sun Jun 10 15:25:58 2007 http://www.host-13002.com/ Title: 13002 Sun Jun 10 15:27:21 2007 http://www.host-13003.com/ Title: 13003 Sun Jun 10 15:30:03 2007 http://host-13004.com/ Title: 13004 Sun Jun 10 15:30:11 2007 http://host-13005.com/ Title: 13005 Sun Jun 10 15:30:16 2007 http://host-13006.com/ Title: 13006 Sun Jun 10 15:30:34 2007 http://host-13007.com/ Title: 13007 Sun Jun 10 15:48:08 2007 http://www.host-13008.com/ Title: 13008 Sun Jun 10 15:48:16 2007 http://www.host-13009.com/ Title: 13009 Sun Jun 10 15:50:23 2007 http://host-13010.com/ Title: 13010 Sun Jun 10 15:50:24 2007 http://www.host-13011.com/ Title: 13011 Sun Jun 10 15:50:25 2007 http://www.host-13012.com/ Title: 13012 Sun Jun 10 15:50:27 2007 http://host-13013.com/ Title: 13013 Sun Jun 10 15:52:25 2007 http://www.host-13014.com/ Title: 13014 Sun Jun 10 15:52:31 2007 http://host-13015.com/ Title: 13015 Sun Jun 10 15:56:23 2007 http://host-13016.com/ Title: 13016 Sun Jun 10 15:59:59 2007 http://www.host-13017.com/ Title: 13017 Sun Jun 10 16:00:09 2007 http://host-13018.com/ Title: 13018 Sun Jun 10 16:02:23 2007 http://www.host-13019.com/ Title: 13019 Sun Jun 10 16:02:36 2007 http://host-13020.com/ Title: 13020 Sun Jun 10 16:06:50 2007 http://www.host-13021.com/ Title: 13021 Sun Jun 10 16:07:43 2007 http://host-13022.com/ Title: 13022 Sun Jun 10 16:07:46 2007 http://host-13023.com/ Title: 13023 Sun Jun 10 16:08:39 2007 http://www.host-13024.com/ Title: 13024 Sun Jun 10 16:10:39 2007 http://host-13025.com/ Title: 13025 Sun Jun 10 16:10:43 2007 http://www.host-13026.com/ Title: 13026 Sun Jun 10 16:10:50 2007 http://www.host-13027.com/ Title: 13027 Sun Jun 10 16:10:59 2007 http://host-13028.com/ Title: 13028 Sun Jun 10 16:11:15 2007 http://host-13029.com/ Title: 13029 Sun Jun 10 16:11:23 2007 http://www.host-13030.com/ Title: 13030 Sun Jun 10 16:11:27 2007 http://host-13031.com/ Title: 13031 Sun Jun 10 16:11:35 2007 http://www.host-13032.com/ Title: 13032 Sun Jun 10 16:12:03 2007 http://www.host-13033.com/ Title: 13033 Sun Jun 10 16:12:06 2007 http://www.host-13034.com/ Title: 13034 Sun Jun 10 16:12:10 2007 http://www.host-13035.com/ Title: 13035 Sun Jun 10 16:12:14 2007 http://www.host-13036.com/ Title: 13036 Sun Jun 10 16:12:28 2007 http://www.host-13037.com/ Title: 13037 Sun Jun 10 16:12:33 2007 http://www.host-13038.com/ Title: 13038 Sun Jun 10 16:12:42 2007 http://www.host-13039.com/ Title: 13039 Sun Jun 10 16:16:36 2007 http://host-13040.com/ Title: 13040 Sun Jun 10 16:27:26 2007 http://www.host-13041.com/ Title: 13041 Sun Jun 10 17:09:32 2007 http://host-13042.com/ Title: 13042 Sun Jun 10 17:09:41 2007 http://www.host-13043.com/ Title: 13043 Sun Jun 10 17:10:29 2007 http://host-13044.com/ Title: 13044 Sun Jun 10 17:10:40 2007 http://host-13045.com/ Title: 13045 Mon Jun 11 08:14:39 2007 http://host-13046.com/ Title: 13046 Mon Jun 11 08:14:56 2007 http://host-13047.com/ Title: 13047 Mon Jun 11 08:15:02 2007 http://www.host-13048.com/ Title: 13048 Mon Jun 11 08:15:23 2007 http://host-13049.com/ Title: 13049 Mon Jun 11 08:16:56 2007 http://host-13050.com/ Title: 13050 Mon Jun 11 08:17:08 2007 http://host-13051.com/ Title: 13051 Mon Jun 11 08:17:11 2007 http://www.host-13052.com/ Title: 13052 Mon Jun 11 08:19:03 2007 http://www.host-13053.com/ Title: 13053 Mon Jun 11 08:19:07 2007 http://host-13054.com/ Title: 13054 Mon Jun 11 08:19:08 2007 http://www.host-13055.com/ Title: 13055 Mon Jun 11 08:19:29 2007 http://host-13056.com/ Title: 13056 Mon Jun 11 08:21:37 2007 http://host-13057.com/ Title: 13057 Mon Jun 11 08:21:44 2007 http://www.host-13058.com/ Title: 13058 Mon Jun 11 08:21:45 2007 http://www.host-13059.com/ Title: 13059 Mon Jun 11 08:21:52 2007 http://www.host-13060.com/ Title: 13060 Mon Jun 11 08:22:22 2007 http://www.host-13061.com/ Title: 13061 Mon Jun 11 08:22:23 2007 http://host-13062.com/ Title: 13062 Mon Jun 11 08:23:52 2007 http://host-13063.com/ Title: 13063 Mon Jun 11 08:23:53 2007 http://www.host-13064.com/ Title: 13064 Mon Jun 11 08:23:57 2007 http://www.host-13065.com/ Title: 13065 Mon Jun 11 08:24:03 2007 http://host-13066.com/ Title: 13066 Mon Jun 11 08:33:04 2007 http://www.host-13067.com/ Title: 13067 Mon Jun 11 08:33:07 2007 http://www.host-13068.com/ Title: 13068 Mon Jun 11 08:33:12 2007 http://host-13069.com/ Title: 13069 Mon Jun 11 08:33:17 2007 http://www.host-13070.com/ Title: 13070 Mon Jun 11 08:56:12 2007 http://www.host-13071.com/ Title: 13071 Mon Jun 11 08:56:13 2007 http://host-13072.com/ Title: 13072 Mon Jun 11 08:56:50 2007 http://www.host-13073.com/ Title: 13073 Mon Jun 11 10:10:23 2007 http://host-13074.com/ Title: 13074 Mon Jun 11 10:10:45 2007 http://www.host-13075.com/ Title: 13075 Mon Jun 11 10:11:24 2007 http://www.host-13076.com/ Title: 13076 Mon Jun 11 10:11:29 2007 http://www.host-13077.com/ Title: 13077 Mon Jun 11 11:09:11 2007 http://www.host-13078.com/ Title: 13078 Mon Jun 11 11:10:03 2007 http://host-13079.com/ Title: 13079 Mon Jun 11 11:10:09 2007 http://host-13080.com/ Title: 13080 Mon Jun 11 11:12:01 2007 http://host-13081.com/ Title: 13081 Mon Jun 11 11:12:04 2007 http://host-13082.com/ Title: 13082 Mon Jun 11 11:12:10 2007 http://www.host-13083.com/ Title: 13083 Mon Jun 11 12:42:43 2007 http://www.host-13084.com/ Title: 13084 Mon Jun 11 12:42:45 2007 http://www.host-13085.com/ Title: 13085 Mon Jun 11 12:42:45 2007 http://host-13086.com/ Title: 13086 Mon Jun 11 12:46:13 2007 http://www.host-13087.com/ Title: 13087 Mon Jun 11 12:46:36 2007 http://host-13088.com/ Title: 13088 Mon Jun 11 12:46:38 2007 http://www.host-13089.com/ Title: 13089 Mon Jun 11 12:46:40 2007 http://www.host-13090.com/ Title: 13090 Mon Jun 11 14:50:28 2007 http://www.host-13091.com/ Title: 13091 Mon Jun 11 14:50:41 2007 http://www.host-13092.com/ Title: 13092 Mon Jun 11 14:50:42 2007 http://host-13093.com/ Title: 13093 Mon Jun 11 14:50:43 2007 http://host-13094.com/ Title: 13094 Mon Jun 11 14:50:46 2007 http://www.host-13095.com/ Title: 13095 Mon Jun 11 15:20:19 2007 http://www.host-13096.com/ Title: 13096 Mon Jun 11 15:20:21 2007 http://host-13097.com/ Title: 13097 Mon Jun 11 15:20:38 2007 http://host-13098.com/ Title: 13098 Mon Jun 11 15:20:40 2007 http://www.host-13099.com/ Title: 13099 Tue Jun 12 10:16:18 2007 http://host-13100.com/ Title: 13100 Tue Jun 12 11:07:49 2007 http://host-13101.com/ Title: 13101 Tue Jun 12 11:10:49 2007 http://host-13102.com/ Title: 13102 Tue Jun 12 11:11:09 2007 http://host-13103.com/ Title: 13103 Tue Jun 12 11:11:11 2007 http://www.host-13104.com/ Title: 13104 Tue Jun 12 11:59:22 2007 http://www.host-13105.com/ Title: 13105 Tue Jun 12 11:59:32 2007 http://host-13106.com/ Title: 13106 Tue Jun 12 12:36:32 2007 http://host-13107.com/ Title: 13107 Tue Jun 12 12:36:53 2007 http://host-13108.com/ Title: 13108 Tue Jun 12 12:37:03 2007 http://host-13109.com/ Title: 13109 Tue Jun 12 12:53:51 2007 http://www.host-13110.com/ Title: 13110 Tue Jun 12 14:34:52 2007 http://host-13111.com/ Title: 13111 Tue Jun 12 14:34:55 2007 http://host-13112.com/ Title: 13112 Tue Jun 12 14:34:56 2007 http://host-13113.com/ Title: 13113 Tue Jun 12 15:32:54 2007 http://host-13114.com/ Title: 13114 Tue Jun 12 16:15:34 2007 http://www.host-13115.com/ Title: 13115 Tue Jun 12 16:15:41 2007 http://www.host-13116.com/ Title: 13116 Tue Jun 12 16:15:47 2007 http://www.host-13117.com/ Title: 13117 Tue Jun 12 16:15:48 2007 http://host-13118.com/ Title: 13118 Tue Jun 12 16:15:56 2007 http://www.host-13119.com/ Title: 13119 Tue Jun 12 16:16:03 2007 http://host-13120.com/ Title: 13120 Tue Jun 12 16:16:34 2007 http://host-13121.com/ Title: 13121 Tue Jun 12 16:26:14 2007 http://www.host-13122.com/ Title: 13122 Tue Jun 12 16:26:37 2007 http://host-13123.com/ Title: 13123 Tue Jun 12 16:26:55 2007 http://www.host-13124.com/ Title: 13124 Tue Jun 12 16:27:13 2007 http://host-13125.com/ Title: 13125 Wed Jun 13 09:36:42 2007 http://host-13126.com/ Title: 13126 Wed Jun 13 09:36:44 2007 http://host-13127.com/ Title: 13127 Wed Jun 13 09:40:36 2007 http://www.host-13128.com/ Title: 13128 Wed Jun 13 09:40:39 2007 http://host-13129.com/ Title: 13129 Wed Jun 13 09:40:41 2007 http://host-13130.com/ Title: 13130 Wed Jun 13 09:55:35 2007 http://host-13131.com/ Title: 13131 Wed Jun 13 09:56:20 2007 http://www.host-13132.com/ Title: 13132 Wed Jun 13 09:56:21 2007 http://host-13133.com/ Title: 13133 Wed Jun 13 09:57:00 2007 http://host-13134.com/ Title: 13134 Wed Jun 13 09:57:53 2007 http://www.host-13135.com/ Title: 13135 Wed Jun 13 10:10:48 2007 http://host-13136.com/ Title: 13136 Wed Jun 13 10:12:28 2007 http://host-13137.com/ Title: 13137 Wed Jun 13 10:12:30 2007 http://www.host-13138.com/ Title: 13138 Wed Jun 13 10:12:39 2007 http://www.host-13139.com/ Title: 13139 Wed Jun 13 10:12:42 2007 http://host-13140.com/ Title: 13140 Wed Jun 13 11:31:36 2007 http://host-13141.com/ Title: 13141 Wed Jun 13 11:31:38 2007 http://www.host-13142.com/ Title: 13142 Wed Jun 13 11:32:35 2007 http://www.host-13143.com/ Title: 13143 Wed Jun 13 11:32:38 2007 http://www.host-13144.com/ Title: 13144 Wed Jun 13 11:32:45 2007 http://www.host-13145.com/ Title: 13145 Wed Jun 13 11:32:51 2007 http://www.host-13146.com/ Title: 13146 Wed Jun 13 11:38:28 2007 http://www.host-13147.com/ Title: 13147 Wed Jun 13 11:38:29 2007 http://www.host-13148.com/ Title: 13148 Wed Jun 13 11:40:19 2007 http://host-13149.com/ Title: 13149 Wed Jun 13 11:43:07 2007 http://host-13150.com/ Title: 13150 Wed Jun 13 13:19:29 2007 http://www.host-13151.com/ Title: 13151 Wed Jun 13 13:55:08 2007 http://www.host-13152.com/ Title: 13152 Wed Jun 13 14:02:35 2007 http://host-13153.com/ Title: 13153 Wed Jun 13 14:02:40 2007 http://host-13154.com/ Title: 13154 Wed Jun 13 14:02:43 2007 http://www.host-13155.com/ Title: 13155 Wed Jun 13 15:05:43 2007 http://www.host-13156.com/ Title: 13156 Thu Jun 14 09:05:35 2007 http://host-13157.com/ Title: 13157 Thu Jun 14 09:05:40 2007 http://www.host-13158.com/ Title: 13158 Thu Jun 14 09:05:42 2007 http://www.host-13159.com/ Title: 13159 Thu Jun 14 09:06:46 2007 http://host-13160.com/ Title: 13160 Thu Jun 14 09:06:53 2007 http://host-13161.com/ Title: 13161 Thu Jun 14 09:07:21 2007 http://host-13162.com/ Title: 13162 Thu Jun 14 09:07:23 2007 http://host-13163.com/ Title: 13163 Thu Jun 14 09:07:24 2007 http://www.host-13164.com/ Title: 13164 Thu Jun 14 09:07:25 2007 http://host-13165.com/ Title: 13165 Thu Jun 14 09:07:28 2007 http://www.host-13166.com/ Title: 13166 Thu Jun 14 09:07:31 2007 http://host-13167.com/ Title: 13167 Thu Jun 14 09:07:52 2007 http://www.host-13168.com/ Title: 13168 Thu Jun 14 09:07:54 2007 http://www.host-13169.com/ Title: 13169 Thu Jun 14 09:09:23 2007 http://www.host-13170.com/ Title: 13170 Thu Jun 14 09:09:36 2007 http://host-13171.com/ Title: 13171 Thu Jun 14 09:09:38 2007 http://host-13172.com/ Title: 13172 Thu Jun 14 09:09:40 2007 http://www.host-13173.com/ Title: 13173 Thu Jun 14 09:09:42 2007 http://www.host-13174.com/ Title: 13174 Thu Jun 14 09:09:46 2007 http://host-13175.com/ Title: 13175 Thu Jun 14 09:09:48 2007 http://www.host-13176.com/ Title: 13176 Thu Jun 14 09:09:50 2007 http://www.host-13177.com/ Title: 13177 Thu Jun 14 09:14:28 2007 http://host-13178.com/ Title: 13178 Thu Jun 14 10:15:40 2007 http://host-13179.com/ Title: 13179 Thu Jun 14 14:30:11 2007 http://host-13180.com/ Title: 13180 Thu Jun 14 16:46:57 2007 http://www.host-13181.com/ Title: 13181 Thu Jun 14 16:49:08 2007 http://www.host-13182.com/ Title: 13182 Thu Jun 14 16:49:15 2007 http://www.host-13183.com/ Title: 13183 Thu Jun 14 16:49:26 2007 http://host-13184.com/ Title: 13184 Thu Jun 14 16:49:43 2007 http://host-13185.com/ Title: 13185 Thu Jun 14 16:49:47 2007 http://www.host-13186.com/ Title: 13186 Thu Jun 14 16:50:08 2007 http://host-13187.com/ Title: 13187 Thu Jun 14 16:50:09 2007 http://www.host-13188.com/ Title: 13188 Thu Jun 14 16:50:31 2007 http://www.host-13189.com/ Title: 13189 Fri Jun 15 10:59:46 2007 http://www.host-13190.com/ Title: 13190 Fri Jun 15 10:59:55 2007 http://host-13191.com/ Title: 13191 Fri Jun 15 11:20:02 2007 http://www.host-13192.com/ Title: 13192 Fri Jun 15 11:20:05 2007 http://www.host-13193.com/ Title: 13193 Fri Jun 15 11:25:37 2007 http://host-13194.com/ Title: 13194 Fri Jun 15 11:26:00 2007 http://host-13195.com/ Title: 13195 Fri Jun 15 11:26:03 2007 http://host-13196.com/ Title: 13196 Fri Jun 15 11:28:49 2007 http://www.host-13197.com/ Title: 13197 Fri Jun 15 11:28:51 2007 http://host-13198.com/ Title: 13198 Fri Jun 15 11:29:45 2007 http://www.host-13199.com/ Title: 13199 Fri Jun 15 11:32:23 2007 http://host-13200.com/ Title: 13200 Fri Jun 15 11:32:27 2007 http://host-13201.com/ Title: 13201 Fri Jun 15 11:33:23 2007 http://host-13202.com/ Title: 13202 Fri Jun 15 11:33:29 2007 http://www.host-13203.com/ Title: 13203 Fri Jun 15 11:44:20 2007 http://www.host-13204.com/ Title: 13204 Fri Jun 15 11:44:28 2007 http://host-13205.com/ Title: 13205 Fri Jun 15 11:44:31 2007 http://host-13206.com/ Title: 13206 Fri Jun 15 11:45:23 2007 http://host-13207.com/ Title: 13207 Fri Jun 15 11:45:25 2007 http://www.host-13208.com/ Title: 13208 Fri Jun 15 11:46:16 2007 http://www.host-13209.com/ Title: 13209 Fri Jun 15 11:46:18 2007 http://host-13210.com/ Title: 13210 Mon Jun 18 09:38:14 2007 http://www.host-13211.com/ Title: 13211 Mon Jun 18 15:04:29 2007 http://host-13212.com/ Title: 13212 Mon Jun 18 15:05:02 2007 http://www.host-13213.com/ Title: 13213 Mon Jun 18 15:05:07 2007 http://host-13214.com/ Title: 13214 Mon Jun 18 15:05:09 2007 http://www.host-13215.com/ Title: 13215 Mon Jun 18 15:05:11 2007 http://www.host-13216.com/ Title: 13216 Mon Jun 18 15:05:14 2007 http://host-13217.com/ Title: 13217 Mon Jun 18 15:23:44 2007 http://host-13218.com/ Title: 13218 Mon Jun 18 15:26:20 2007 http://www.host-13219.com/ Title: 13219 Mon Jun 18 15:26:21 2007 http://www.host-13220.com/ Title: 13220 Mon Jun 18 15:28:29 2007 http://host-13221.com/ Title: 13221 Mon Jun 18 15:28:59 2007 http://host-13222.com/ Title: 13222 Mon Jun 18 15:35:21 2007 http://www.host-13223.com/ Title: 13223 Mon Jun 18 15:35:26 2007 http://host-13224.com/ Title: 13224 Mon Jun 18 15:35:29 2007 http://www.host-13225.com/ Title: 13225 Mon Jun 18 15:35:35 2007 http://www.host-13226.com/ Title: 13226 Mon Jun 18 15:35:39 2007 http://host-13227.com/ Title: 13227 Mon Jun 18 15:35:42 2007 http://host-13228.com/ Title: 13228 Mon Jun 18 15:35:49 2007 http://www.host-13229.com/ Title: 13229 Mon Jun 18 15:35:54 2007 http://host-13230.com/ Title: 13230 Mon Jun 18 15:35:57 2007 http://www.host-13231.com/ Title: 13231 Mon Jun 18 15:36:01 2007 http://www.host-13232.com/ Title: 13232 Mon Jun 18 15:36:03 2007 http://host-13233.com/ Title: 13233 Tue Jun 19 15:04:00 2007 http://host-13234.com/ Title: 13234 Tue Jun 19 15:04:01 2007 http://host-13235.com/ Title: 13235 Tue Jun 19 15:04:03 2007 http://www.host-13236.com/ Title: 13236 Tue Jun 19 16:26:18 2007 http://www.host-13237.com/ Title: 13237 Tue Jun 19 16:47:03 2007 http://www.host-13238.com/ Title: 13238 Wed Jun 20 09:17:21 2007 http://www.host-13239.com/ Title: 13239 Wed Jun 20 09:17:31 2007 http://www.host-13240.com/ Title: 13240 Wed Jun 20 09:20:23 2007 http://host-13241.com/ Title: 13241 Wed Jun 20 09:20:32 2007 http://www.host-13242.com/ Title: 13242 Wed Jun 20 09:21:08 2007 http://host-13243.com/ Title: 13243 Wed Jun 20 09:26:04 2007 http://host-13244.com/ Title: 13244 Wed Jun 20 09:26:07 2007 http://www.host-13245.com/ Title: 13245 Wed Jun 20 09:27:00 2007 http://host-13246.com/ Title: 13246 Wed Jun 20 09:27:00 2007 http://host-13247.com/ Title: 13247 Wed Jun 20 09:27:01 2007 http://host-13248.com/ Title: 13248 Wed Jun 20 09:27:06 2007 http://www.host-13249.com/ Title: 13249 Wed Jun 20 09:27:12 2007 http://host-13250.com/ Title: 13250 Wed Jun 20 09:27:17 2007 http://host-13251.com/ Title: 13251 Wed Jun 20 09:30:24 2007 http://host-13252.com/ Title: 13252 Wed Jun 20 09:34:50 2007 http://www.host-13253.com/ Title: 13253 Wed Jun 20 09:34:53 2007 http://www.host-13254.com/ Title: 13254 Wed Jun 20 09:35:03 2007 http://www.host-13255.com/ Title: 13255 Wed Jun 20 09:36:12 2007 http://www.host-13256.com/ Title: 13256 Wed Jun 20 09:59:33 2007 http://host-13257.com/ Title: 13257 Wed Jun 20 09:59:41 2007 http://www.host-13258.com/ Title: 13258 Wed Jun 20 10:00:41 2007 http://www.host-13259.com/ Title: 13259 Wed Jun 20 10:00:48 2007 http://host-13260.com/ Title: 13260 Wed Jun 20 10:00:50 2007 http://host-13261.com/ Title: 13261 Wed Jun 20 10:00:56 2007 http://www.host-13262.com/ Title: 13262 Wed Jun 20 10:03:16 2007 http://host-13263.com/ Title: 13263 Wed Jun 20 10:03:21 2007 http://www.host-13264.com/ Title: 13264 Wed Jun 20 10:03:22 2007 http://www.host-13265.com/ Title: 13265 Wed Jun 20 10:05:20 2007 http://www.host-13266.com/ Title: 13266 Wed Jun 20 10:05:23 2007 http://www.host-13267.com/ Title: 13267 Wed Jun 20 10:05:43 2007 http://www.host-13268.com/ Title: 13268 Wed Jun 20 10:06:07 2007 http://host-13269.com/ Title: 13269 Wed Jun 20 10:06:14 2007 http://host-13270.com/ Title: 13270 Wed Jun 20 10:06:17 2007 http://host-13271.com/ Title: 13271 Wed Jun 20 10:06:34 2007 http://www.host-13272.com/ Title: 13272 Wed Jun 20 10:06:38 2007 http://host-13273.com/ Title: 13273 Wed Jun 20 10:07:55 2007 http://www.host-13274.com/ Title: 13274 Wed Jun 20 10:08:06 2007 http://host-13275.com/ Title: 13275 Wed Jun 20 10:08:08 2007 http://host-13276.com/ Title: 13276 Wed Jun 20 10:08:20 2007 http://www.host-13277.com/ Title: 13277 Wed Jun 20 10:09:36 2007 http://host-13278.com/ Title: 13278 Wed Jun 20 10:10:02 2007 http://www.host-13279.com/ Title: 13279 Wed Jun 20 10:10:30 2007 http://www.host-13280.com/ Title: 13280 Wed Jun 20 10:10:32 2007 http://host-13281.com/ Title: 13281 Wed Jun 20 10:10:56 2007 http://www.host-13282.com/ Title: 13282 Wed Jun 20 10:11:01 2007 http://www.host-13283.com/ Title: 13283 Wed Jun 20 10:13:21 2007 http://host-13284.com/ Title: 13284 Wed Jun 20 12:37:34 2007 http://host-13285.com/ Title: 13285 Wed Jun 20 12:37:36 2007 http://host-13286.com/ Title: 13286 Wed Jun 20 12:37:38 2007 http://host-13287.com/ Title: 13287 Wed Jun 20 12:37:43 2007 http://host-13288.com/ Title: 13288 Wed Jun 20 12:45:48 2007 http://www.host-13289.com/ Title: 13289 Wed Jun 20 12:50:38 2007 http://host-13290.com/ Title: 13290 Wed Jun 20 13:23:59 2007 http://www.host-13291.com/ Title: 13291 Wed Jun 20 13:24:01 2007 http://host-13292.com/ Title: 13292 Wed Jun 20 13:24:05 2007 http://host-13293.com/ Title: 13293 Wed Jun 20 13:24:10 2007 http://host-13294.com/ Title: 13294 Wed Jun 20 13:24:12 2007 http://host-13295.com/ Title: 13295 Wed Jun 20 13:24:20 2007 http://www.host-13296.com/ Title: 13296 Wed Jun 20 13:28:49 2007 http://host-13297.com/ Title: 13297 Wed Jun 20 13:45:22 2007 http://www.host-13298.com/ Title: 13298 Wed Jun 20 13:45:36 2007 http://host-13299.com/ Title: 13299 Wed Jun 20 14:12:29 2007 http://www.host-13300.com/ Title: 13300 Wed Jun 20 14:12:34 2007 http://host-13301.com/ Title: 13301 Wed Jun 20 14:19:22 2007 http://www.host-13302.com/ Title: 13302 Wed Jun 20 14:49:37 2007 http://host-13303.com/ Title: 13303 Wed Jun 20 14:49:42 2007 http://www.host-13304.com/ Title: 13304 Wed Jun 20 14:49:43 2007 http://host-13305.com/ Title: 13305 Wed Jun 20 14:49:44 2007 http://host-13306.com/ Title: 13306 Thu Jun 21 09:21:45 2007 http://www.host-13307.com/ Title: 13307 Thu Jun 21 11:24:19 2007 http://host-13308.com/ Title: 13308 Fri Jun 22 09:34:38 2007 http://host-13309.com/ Title: 13309 Fri Jun 22 09:38:11 2007 http://host-13310.com/ Title: 13310 Fri Jun 22 09:38:33 2007 http://host-13311.com/ Title: 13311 Fri Jun 22 09:59:21 2007 http://www.host-13312.com/ Title: 13312 Fri Jun 22 09:59:57 2007 http://host-13313.com/ Title: 13313 Fri Jun 22 10:00:17 2007 http://www.host-13314.com/ Title: 13314 Fri Jun 22 10:00:18 2007 http://www.host-13315.com/ Title: 13315 Fri Jun 22 10:00:18 2007 http://host-13316.com/ Title: 13316 Fri Jun 22 10:01:02 2007 http://www.host-13317.com/ Title: 13317 Fri Jun 22 10:01:13 2007 http://www.host-13318.com/ Title: 13318 Fri Jun 22 10:02:09 2007 http://www.host-13319.com/ Title: 13319 Fri Jun 22 10:02:22 2007 http://www.host-13320.com/ Title: 13320 Fri Jun 22 10:02:24 2007 http://www.host-13321.com/ Title: 13321 Fri Jun 22 10:02:30 2007 http://host-13322.com/ Title: 13322 Fri Jun 22 10:02:35 2007 http://www.host-13323.com/ Title: 13323 Fri Jun 22 10:03:07 2007 http://host-13324.com/ Title: 13324 Fri Jun 22 10:03:45 2007 http://host-13325.com/ Title: 13325 Fri Jun 22 10:03:49 2007 http://www.host-13326.com/ Title: 13326 Fri Jun 22 10:04:27 2007 http://host-13327.com/ Title: 13327 Fri Jun 22 10:05:01 2007 http://www.host-13328.com/ Title: 13328 Fri Jun 22 10:06:34 2007 http://www.host-13329.com/ Title: 13329 Fri Jun 22 10:26:34 2007 http://host-13330.com/ Title: 13330 Fri Jun 22 11:20:57 2007 http://host-13331.com/ Title: 13331 Fri Jun 22 11:21:26 2007 http://host-13332.com/ Title: 13332 Fri Jun 22 11:21:29 2007 http://host-13333.com/ Title: 13333 Fri Jun 22 11:24:55 2007 http://www.host-13334.com/ Title: 13334 Fri Jun 22 11:25:14 2007 http://host-13335.com/ Title: 13335 Fri Jun 22 11:25:31 2007 http://www.host-13336.com/ Title: 13336 Fri Jun 22 11:25:32 2007 http://host-13337.com/ Title: 13337 Fri Jun 22 11:26:02 2007 http://www.host-13338.com/ Title: 13338 Fri Jun 22 11:27:21 2007 http://www.host-13339.com/ Title: 13339 Fri Jun 22 11:29:07 2007 http://host-13340.com/ Title: 13340 Fri Jun 22 11:29:12 2007 http://host-13341.com/ Title: 13341 Fri Jun 22 11:29:17 2007 http://host-13342.com/ Title: 13342 Fri Jun 22 11:30:57 2007 http://www.host-13343.com/ Title: 13343 Fri Jun 22 11:30:57 2007 http://host-13344.com/ Title: 13344 Fri Jun 22 11:31:20 2007 http://www.host-13345.com/ Title: 13345 Fri Jun 22 11:32:31 2007 http://host-13346.com/ Title: 13346 Fri Jun 22 11:32:46 2007 http://www.host-13347.com/ Title: 13347 Fri Jun 22 11:32:51 2007 http://www.host-13348.com/ Title: 13348 Fri Jun 22 11:34:35 2007 http://host-13349.com/ Title: 13349 Fri Jun 22 11:35:39 2007 http://www.host-13350.com/ Title: 13350 Fri Jun 22 11:36:06 2007 http://host-13351.com/ Title: 13351 Fri Jun 22 11:37:17 2007 http://www.host-13352.com/ Title: 13352 Fri Jun 22 14:04:27 2007 http://host-13353.com/ Title: 13353 Fri Jun 22 14:05:22 2007 http://host-13354.com/ Title: 13354 Fri Jun 22 15:53:49 2007 http://www.host-13355.com/ Title: 13355 Fri Jun 22 16:24:00 2007 http://www.host-13356.com/ Title: 13356 Fri Jun 22 16:24:03 2007 http://www.host-13357.com/ Title: 13357 Fri Jun 22 16:24:14 2007 http://host-13358.com/ Title: 13358 Fri Jun 22 16:26:35 2007 http://www.host-13359.com/ Title: 13359 Fri Jun 22 16:26:36 2007 http://host-13360.com/ Title: 13360 Fri Jun 22 16:30:28 2007 http://host-13361.com/ Title: 13361 Fri Jun 22 16:38:13 2007 http://host-13362.com/ Title: 13362 Fri Jun 22 16:43:15 2007 http://host-13363.com/ Title: 13363 Fri Jun 22 16:43:16 2007 http://host-13364.com/ Title: 13364 Fri Jun 22 17:17:54 2007 http://host-13365.com/ Title: 13365 Fri Jun 22 17:18:01 2007 http://host-13366.com/ Title: 13366 Fri Jun 22 17:18:03 2007 http://www.host-13367.com/ Title: 13367 Fri Jun 22 17:18:03 2007 http://www.host-13368.com/ Title: 13368 Fri Jun 22 17:18:06 2007 http://host-13369.com/ Title: 13369 Fri Jun 22 17:18:09 2007 http://host-13370.com/ Title: 13370 Fri Jun 22 17:18:12 2007 http://www.host-13371.com/ Title: 13371 Fri Jun 22 17:18:15 2007 http://host-13372.com/ Title: 13372 Fri Jun 22 17:20:45 2007 http://www.host-13373.com/ Title: 13373 Mon Jun 25 09:05:04 2007 http://www.host-13374.com/ Title: 13374 Mon Jun 25 09:09:28 2007 http://host-13375.com/ Title: 13375 Mon Jun 25 09:12:08 2007 http://www.host-13376.com/ Title: 13376 Mon Jun 25 09:17:52 2007 http://www.host-13377.com/ Title: 13377 Mon Jun 25 09:17:54 2007 http://host-13378.com/ Title: 13378 Mon Jun 25 09:52:16 2007 http://www.host-13379.com/ Title: 13379 Mon Jun 25 10:53:26 2007 http://www.host-13380.com/ Title: 13380 Mon Jun 25 12:33:35 2007 http://host-13381.com/ Title: 13381 Mon Jun 25 12:34:16 2007 http://www.host-13382.com/ Title: 13382 Mon Jun 25 12:38:11 2007 http://www.host-13383.com/ Title: 13383 Mon Jun 25 12:38:13 2007 http://host-13384.com/ Title: 13384 Mon Jun 25 12:38:45 2007 http://host-13385.com/ Title: 13385 Mon Jun 25 12:39:54 2007 http://host-13386.com/ Title: 13386 Mon Jun 25 12:39:58 2007 http://www.host-13387.com/ Title: 13387 Mon Jun 25 12:40:00 2007 http://host-13388.com/ Title: 13388 Mon Jun 25 12:40:02 2007 http://host-13389.com/ Title: 13389 Mon Jun 25 12:47:41 2007 http://www.host-13390.com/ Title: 13390 Mon Jun 25 13:26:30 2007 http://www.host-13391.com/ Title: 13391 Mon Jun 25 13:26:44 2007 http://host-13392.com/ Title: 13392 Mon Jun 25 13:31:56 2007 http://www.host-13393.com/ Title: 13393 Mon Jun 25 13:32:44 2007 http://host-13394.com/ Title: 13394 Mon Jun 25 13:35:40 2007 http://host-13395.com/ Title: 13395 Mon Jun 25 13:35:41 2007 http://host-13396.com/ Title: 13396 Mon Jun 25 13:36:25 2007 http://host-13397.com/ Title: 13397 Mon Jun 25 13:36:39 2007 http://www.host-13398.com/ Title: 13398 Mon Jun 25 13:39:12 2007 http://www.host-13399.com/ Title: 13399 Mon Jun 25 13:40:17 2007 http://www.host-13400.com/ Title: 13400 Mon Jun 25 13:40:22 2007 http://www.host-13401.com/ Title: 13401 Mon Jun 25 13:40:33 2007 http://www.host-13402.com/ Title: 13402 Mon Jun 25 13:40:51 2007 http://host-13403.com/ Title: 13403 Mon Jun 25 13:40:57 2007 http://www.host-13404.com/ Title: 13404 Mon Jun 25 13:41:10 2007 http://www.host-13405.com/ Title: 13405 Mon Jun 25 13:48:31 2007 http://www.host-13406.com/ Title: 13406 Mon Jun 25 13:48:37 2007 http://host-13407.com/ Title: 13407 Mon Jun 25 13:48:44 2007 http://host-13408.com/ Title: 13408 Mon Jun 25 13:48:50 2007 http://www.host-13409.com/ Title: 13409 Mon Jun 25 13:50:41 2007 http://host-13410.com/ Title: 13410 Mon Jun 25 13:50:53 2007 http://host-13411.com/ Title: 13411 Mon Jun 25 13:50:55 2007 http://host-13412.com/ Title: 13412 Mon Jun 25 13:51:05 2007 http://host-13413.com/ Title: 13413 Mon Jun 25 13:51:31 2007 http://host-13414.com/ Title: 13414 Mon Jun 25 14:02:14 2007 http://www.host-13415.com/ Title: 13415 Mon Jun 25 14:03:06 2007 http://host-13416.com/ Title: 13416 Mon Jun 25 14:03:34 2007 http://host-13417.com/ Title: 13417 Mon Jun 25 14:05:33 2007 http://www.host-13418.com/ Title: 13418 Mon Jun 25 16:03:46 2007 http://host-13419.com/ Title: 13419 Tue Jun 26 12:02:58 2007 http://host-13420.com/ Title: 13420 Tue Jun 26 14:52:47 2007 http://www.host-13421.com/ Title: 13421 Tue Jun 26 14:52:49 2007 http://host-13422.com/ Title: 13422 Tue Jun 26 14:53:16 2007 http://www.host-13423.com/ Title: 13423 Tue Jun 26 14:53:18 2007 http://host-13424.com/ Title: 13424 Tue Jun 26 14:53:28 2007 http://www.host-13425.com/ Title: 13425 Tue Jun 26 14:54:09 2007 http://www.host-13426.com/ Title: 13426 Wed Jun 27 09:25:42 2007 http://host-13427.com/ Title: 13427 Wed Jun 27 09:26:20 2007 http://www.host-13428.com/ Title: 13428 Wed Jun 27 09:26:26 2007 http://host-13429.com/ Title: 13429 Wed Jun 27 09:26:54 2007 http://www.host-13430.com/ Title: 13430 Wed Jun 27 09:27:38 2007 http://www.host-13431.com/ Title: 13431 Wed Jun 27 09:28:01 2007 http://host-13432.com/ Title: 13432 Wed Jun 27 09:28:04 2007 http://www.host-13433.com/ Title: 13433 Wed Jun 27 09:28:34 2007 http://host-13434.com/ Title: 13434 Wed Jun 27 09:29:52 2007 http://host-13435.com/ Title: 13435 Wed Jun 27 09:30:24 2007 http://www.host-13436.com/ Title: 13436 Wed Jun 27 09:30:28 2007 http://host-13437.com/ Title: 13437 Wed Jun 27 09:33:32 2007 http://www.host-13438.com/ Title: 13438 Wed Jun 27 09:35:43 2007 http://host-13439.com/ Title: 13439 Wed Jun 27 09:35:47 2007 http://host-13440.com/ Title: 13440 Wed Jun 27 09:36:14 2007 http://www.host-13441.com/ Title: 13441 Wed Jun 27 09:39:55 2007 http://host-13442.com/ Title: 13442 Wed Jun 27 09:40:24 2007 http://host-13443.com/ Title: 13443 Wed Jun 27 09:46:01 2007 http://www.host-13444.com/ Title: 13444 Wed Jun 27 09:48:17 2007 http://host-13445.com/ Title: 13445 Wed Jun 27 09:48:25 2007 http://www.host-13446.com/ Title: 13446 Wed Jun 27 09:50:18 2007 http://www.host-13447.com/ Title: 13447 Wed Jun 27 09:50:23 2007 http://www.host-13448.com/ Title: 13448 Wed Jun 27 09:50:42 2007 http://www.host-13449.com/ Title: 13449 Wed Jun 27 09:50:47 2007 http://www.host-13450.com/ Title: 13450 Wed Jun 27 09:52:17 2007 http://host-13451.com/ Title: 13451 Wed Jun 27 10:11:13 2007 http://host-13452.com/ Title: 13452 Wed Jun 27 10:30:45 2007 http://host-13453.com/ Title: 13453 Wed Jun 27 10:30:48 2007 http://www.host-13454.com/ Title: 13454 Wed Jun 27 10:47:07 2007 http://host-13455.com/ Title: 13455 Wed Jun 27 10:47:09 2007 http://www.host-13456.com/ Title: 13456 Wed Jun 27 10:48:00 2007 http://host-13457.com/ Title: 13457 Wed Jun 27 10:48:06 2007 http://host-13458.com/ Title: 13458 Wed Jun 27 10:48:11 2007 http://host-13459.com/ Title: 13459 Wed Jun 27 12:54:43 2007 http://host-13460.com/ Title: 13460 Wed Jun 27 12:54:45 2007 http://www.host-13461.com/ Title: 13461 Wed Jun 27 12:56:39 2007 http://host-13462.com/ Title: 13462 Wed Jun 27 12:56:58 2007 http://host-13463.com/ Title: 13463 Wed Jun 27 12:57:04 2007 http://host-13464.com/ Title: 13464 Wed Jun 27 12:57:08 2007 http://www.host-13465.com/ Title: 13465 Wed Jun 27 12:57:11 2007 http://host-13466.com/ Title: 13466 Wed Jun 27 13:18:01 2007 http://www.host-13467.com/ Title: 13467 Wed Jun 27 14:29:57 2007 http://host-13468.com/ Title: 13468 Wed Jun 27 14:31:26 2007 http://www.host-13469.com/ Title: 13469 Wed Jun 27 14:31:27 2007 http://www.host-13470.com/ Title: 13470 Wed Jun 27 14:31:27 2007 http://host-13471.com/ Title: 13471 Wed Jun 27 15:52:10 2007 http://host-13472.com/ Title: 13472 Wed Jun 27 15:52:28 2007 http://host-13473.com/ Title: 13473 Wed Jun 27 15:54:55 2007 http://host-13474.com/ Title: 13474 Thu Jun 28 10:01:49 2007 http://host-13475.com/ Title: 13475 Thu Jun 28 10:05:39 2007 http://www.host-13476.com/ Title: 13476 Thu Jun 28 10:05:40 2007 http://www.host-13477.com/ Title: 13477 Thu Jun 28 10:06:58 2007 http://www.host-13478.com/ Title: 13478 Thu Jun 28 10:08:39 2007 http://www.host-13479.com/ Title: 13479 Thu Jun 28 10:09:51 2007 http://www.host-13480.com/ Title: 13480 Thu Jun 28 10:09:53 2007 http://www.host-13481.com/ Title: 13481 Thu Jun 28 10:10:21 2007 http://www.host-13482.com/ Title: 13482 Thu Jun 28 10:10:22 2007 http://www.host-13483.com/ Title: 13483 Thu Jun 28 10:10:23 2007 http://host-13484.com/ Title: 13484 Thu Jun 28 10:12:22 2007 http://www.host-13485.com/ Title: 13485 Thu Jun 28 10:12:28 2007 http://host-13486.com/ Title: 13486 Thu Jun 28 10:12:28 2007 http://www.host-13487.com/ Title: 13487 Thu Jun 28 10:12:29 2007 http://host-13488.com/ Title: 13488 Thu Jun 28 10:12:31 2007 http://www.host-13489.com/ Title: 13489 Thu Jun 28 10:14:40 2007 http://www.host-13490.com/ Title: 13490 Thu Jun 28 10:14:46 2007 http://www.host-13491.com/ Title: 13491 Thu Jun 28 10:16:13 2007 http://www.host-13492.com/ Title: 13492 Thu Jun 28 10:16:16 2007 http://host-13493.com/ Title: 13493 Thu Jun 28 10:16:17 2007 http://www.host-13494.com/ Title: 13494 Thu Jun 28 10:17:09 2007 http://www.host-13495.com/ Title: 13495 Thu Jun 28 10:17:57 2007 http://host-13496.com/ Title: 13496 Thu Jun 28 10:18:04 2007 http://host-13497.com/ Title: 13497 Thu Jun 28 10:20:15 2007 http://host-13498.com/ Title: 13498 Thu Jun 28 10:20:16 2007 http://host-13499.com/ Title: 13499 Thu Jun 28 10:44:24 2007 http://www.host-13500.com/ Title: 13500 Thu Jun 28 10:47:31 2007 http://www.host-13501.com/ Title: 13501 Thu Jun 28 10:47:41 2007 http://host-13502.com/ Title: 13502 Thu Jun 28 11:00:17 2007 http://host-13503.com/ Title: 13503 Thu Jun 28 11:28:45 2007 http://www.host-13504.com/ Title: 13504 Thu Jun 28 11:48:45 2007 http://www.host-13505.com/ Title: 13505 Thu Jun 28 11:55:03 2007 http://www.host-13506.com/ Title: 13506 Thu Jun 28 11:55:06 2007 http://host-13507.com/ Title: 13507 Thu Jun 28 12:02:04 2007 http://www.host-13508.com/ Title: 13508 Thu Jun 28 12:02:21 2007 http://www.host-13509.com/ Title: 13509 Thu Jun 28 12:23:13 2007 http://host-13510.com/ Title: 13510 Thu Jun 28 12:23:23 2007 http://host-13511.com/ Title: 13511 Thu Jun 28 12:23:32 2007 http://www.host-13512.com/ Title: 13512 Thu Jun 28 12:23:40 2007 http://www.host-13513.com/ Title: 13513 Thu Jun 28 12:23:57 2007 http://www.host-13514.com/ Title: 13514 Thu Jun 28 12:43:20 2007 http://www.host-13515.com/ Title: 13515 Thu Jun 28 13:46:40 2007 http://www.host-13516.com/ Title: 13516 Thu Jun 28 14:06:10 2007 http://www.host-13517.com/ Title: 13517 Thu Jun 28 14:06:13 2007 http://host-13518.com/ Title: 13518 Thu Jun 28 14:07:16 2007 http://www.host-13519.com/ Title: 13519 Thu Jun 28 14:07:30 2007 http://www.host-13520.com/ Title: 13520 Thu Jun 28 14:11:55 2007 http://www.host-13521.com/ Title: 13521 Thu Jun 28 14:12:02 2007 http://host-13522.com/ Title: 13522 Thu Jun 28 14:12:06 2007 http://host-13523.com/ Title: 13523 Thu Jun 28 14:12:31 2007 http://host-13524.com/ Title: 13524 Thu Jun 28 14:12:56 2007 http://host-13525.com/ Title: 13525 Thu Jun 28 14:13:03 2007 http://host-13526.com/ Title: 13526 Thu Jun 28 14:13:18 2007 http://www.host-13527.com/ Title: 13527 Thu Jun 28 14:13:21 2007 http://host-13528.com/ Title: 13528 Thu Jun 28 14:13:38 2007 http://www.host-13529.com/ Title: 13529 Thu Jun 28 14:13:51 2007 http://www.host-13530.com/ Title: 13530 Thu Jun 28 14:14:01 2007 http://www.host-13531.com/ Title: 13531 Thu Jun 28 14:14:03 2007 http://host-13532.com/ Title: 13532 Thu Jun 28 14:15:24 2007 http://host-13533.com/ Title: 13533 Thu Jun 28 14:15:29 2007 http://www.host-13534.com/ Title: 13534 Thu Jun 28 14:40:03 2007 http://host-13535.com/ Title: 13535 Thu Jun 28 14:56:00 2007 http://www.host-13536.com/ Title: 13536 Thu Jun 28 14:56:17 2007 http://host-13537.com/ Title: 13537 Thu Jun 28 14:56:36 2007 http://www.host-13538.com/ Title: 13538 Thu Jun 28 14:56:50 2007 http://www.host-13539.com/ Title: 13539 Thu Jun 28 14:56:53 2007 http://host-13540.com/ Title: 13540 Thu Jun 28 14:56:56 2007 http://www.host-13541.com/ Title: 13541 Thu Jun 28 14:58:33 2007 http://host-13542.com/ Title: 13542 Thu Jun 28 15:20:26 2007 http://host-13543.com/ Title: 13543 Thu Jun 28 15:21:13 2007 http://host-13544.com/ Title: 13544 Thu Jun 28 15:21:39 2007 http://www.host-13545.com/ Title: 13545 Thu Jun 28 15:21:49 2007 http://host-13546.com/ Title: 13546 Thu Jun 28 15:21:51 2007 http://www.host-13547.com/ Title: 13547 Thu Jun 28 15:21:52 2007 http://www.host-13548.com/ Title: 13548 Thu Jun 28 15:21:54 2007 http://www.host-13549.com/ Title: 13549 Thu Jun 28 15:21:57 2007 http://www.host-13550.com/ Title: 13550 Thu Jun 28 15:23:28 2007 http://www.host-13551.com/ Title: 13551 Thu Jun 28 15:23:35 2007 http://host-13552.com/ Title: 13552 Thu Jun 28 15:23:45 2007 http://host-13553.com/ Title: 13553 Thu Jun 28 15:26:08 2007 http://www.host-13554.com/ Title: 13554 Thu Jun 28 15:26:12 2007 http://host-13555.com/ Title: 13555 Thu Jun 28 15:27:12 2007 http://www.host-13556.com/ Title: 13556 Thu Jun 28 15:27:13 2007 http://www.host-13557.com/ Title: 13557 Thu Jun 28 16:57:22 2007 http://host-13558.com/ Title: 13558 Thu Jun 28 17:00:18 2007 http://host-13559.com/ Title: 13559 Thu Jun 28 17:00:22 2007 http://host-13560.com/ Title: 13560 Thu Jun 28 17:00:36 2007 http://host-13561.com/ Title: 13561 Thu Jun 28 17:00:42 2007 http://www.host-13562.com/ Title: 13562 Thu Jun 28 17:00:48 2007 http://host-13563.com/ Title: 13563 Thu Jun 28 17:01:06 2007 http://host-13564.com/ Title: 13564 Mon Jul 9 09:11:12 2007 http://host-13565.com/ Title: 13565 Mon Jul 9 09:11:37 2007 http://www.host-13566.com/ Title: 13566 Mon Jul 9 09:11:43 2007 http://host-13567.com/ Title: 13567 Mon Jul 9 09:13:53 2007 http://www.host-13568.com/ Title: 13568 Mon Jul 9 09:15:45 2007 http://host-13569.com/ Title: 13569 Mon Jul 9 09:16:41 2007 http://www.host-13570.com/ Title: 13570 Mon Jul 9 09:16:54 2007 http://www.host-13571.com/ Title: 13571 Mon Jul 9 09:22:52 2007 http://www.host-13572.com/ Title: 13572 Mon Jul 9 09:22:53 2007 http://www.host-13573.com/ Title: 13573 Mon Jul 9 09:22:56 2007 http://host-13574.com/ Title: 13574 Mon Jul 9 09:24:03 2007 http://host-13575.com/ Title: 13575 Mon Jul 9 09:24:05 2007 http://host-13576.com/ Title: 13576 Mon Jul 9 09:24:10 2007 http://www.host-13577.com/ Title: 13577 Mon Jul 9 09:24:12 2007 http://host-13578.com/ Title: 13578 Mon Jul 9 09:24:15 2007 http://www.host-13579.com/ Title: 13579 Mon Jul 9 10:58:52 2007 http://www.host-13580.com/ Title: 13580 Mon Jul 9 10:58:54 2007 http://host-13581.com/ Title: 13581 Mon Jul 9 10:59:16 2007 http://host-13582.com/ Title: 13582 Mon Jul 9 10:59:22 2007 http://host-13583.com/ Title: 13583 Mon Jul 9 10:59:24 2007 http://host-13584.com/ Title: 13584 Mon Jul 9 10:59:34 2007 http://host-13585.com/ Title: 13585 Mon Jul 9 10:59:34 2007 http://host-13586.com/ Title: 13586 Mon Jul 9 10:59:35 2007 http://www.host-13587.com/ Title: 13587 Mon Jul 9 11:01:45 2007 http://www.host-13588.com/ Title: 13588 Mon Jul 9 11:31:53 2007 http://host-13589.com/ Title: 13589 Mon Jul 9 11:31:53 2007 http://www.host-13590.com/ Title: 13590 Mon Jul 9 11:33:44 2007 http://www.host-13591.com/ Title: 13591 Mon Jul 9 11:37:38 2007 http://host-13592.com/ Title: 13592 Mon Jul 9 11:41:19 2007 http://host-13593.com/ Title: 13593 Mon Jul 9 11:41:58 2007 http://www.host-13594.com/ Title: 13594 Mon Jul 9 13:34:38 2007 http://www.host-13595.com/ Title: 13595 Mon Jul 9 13:34:40 2007 http://host-13596.com/ Title: 13596 Mon Jul 9 13:34:40 2007 http://host-13597.com/ Title: 13597 Mon Jul 9 13:34:59 2007 http://www.host-13598.com/ Title: 13598 Mon Jul 9 13:35:00 2007 http://www.host-13599.com/ Title: 13599 Mon Jul 9 13:35:00 2007 http://www.host-13600.com/ Title: 13600 Mon Jul 9 14:07:09 2007 http://host-13601.com/ Title: 13601 Mon Jul 9 15:14:38 2007 http://host-13602.com/ Title: 13602 Mon Jul 9 15:14:57 2007 http://host-13603.com/ Title: 13603 Mon Jul 9 15:14:59 2007 http://host-13604.com/ Title: 13604 Mon Jul 9 15:17:09 2007 http://host-13605.com/ Title: 13605 Mon Jul 9 15:31:21 2007 http://host-13606.com/ Title: 13606 Mon Jul 9 15:31:23 2007 http://host-13607.com/ Title: 13607 Mon Jul 9 15:31:29 2007 http://host-13608.com/ Title: 13608 Mon Jul 9 15:31:33 2007 http://host-13609.com/ Title: 13609 Mon Jul 9 15:31:36 2007 http://host-13610.com/ Title: 13610 Mon Jul 9 15:31:39 2007 http://host-13611.com/ Title: 13611 Mon Jul 9 15:31:41 2007 http://host-13612.com/ Title: 13612 Mon Jul 9 15:31:50 2007 http://www.host-13613.com/ Title: 13613 Mon Jul 9 15:31:52 2007 http://www.host-13614.com/ Title: 13614 Mon Jul 9 15:33:57 2007 http://www.host-13615.com/ Title: 13615 Mon Jul 9 15:35:56 2007 http://www.host-13616.com/ Title: 13616 Mon Jul 9 15:40:22 2007 http://www.host-13617.com/ Title: 13617 Mon Jul 9 16:18:07 2007 http://host-13618.com/ Title: 13618 Mon Jul 9 16:19:56 2007 http://www.host-13619.com/ Title: 13619 Mon Jul 9 16:19:57 2007 http://host-13620.com/ Title: 13620 Mon Jul 9 17:05:22 2007 http://www.host-13621.com/ Title: 13621 Tue Jul 10 09:19:09 2007 http://host-13622.com/ Title: 13622 Tue Jul 10 09:20:06 2007 http://www.host-13623.com/ Title: 13623 Tue Jul 10 09:20:13 2007 http://host-13624.com/ Title: 13624 Tue Jul 10 09:41:57 2007 http://host-13625.com/ Title: 13625 Tue Jul 10 09:42:29 2007 http://host-13626.com/ Title: 13626 Tue Jul 10 09:45:29 2007 http://host-13627.com/ Title: 13627 Tue Jul 10 09:45:33 2007 http://www.host-13628.com/ Title: 13628 Tue Jul 10 09:45:46 2007 http://www.host-13629.com/ Title: 13629 Tue Jul 10 09:46:03 2007 http://host-13630.com/ Title: 13630 Tue Jul 10 09:46:04 2007 http://www.host-13631.com/ Title: 13631 Tue Jul 10 09:46:06 2007 http://www.host-13632.com/ Title: 13632 Tue Jul 10 12:34:37 2007 http://host-13633.com/ Title: 13633 Tue Jul 10 16:47:52 2007 http://host-13634.com/ Title: 13634 Wed Jul 11 10:16:15 2007 http://www.host-13635.com/ Title: 13635 Wed Jul 11 10:17:12 2007 http://host-13636.com/ Title: 13636 Wed Jul 11 10:17:20 2007 http://host-13637.com/ Title: 13637 Wed Jul 11 10:17:48 2007 http://host-13638.com/ Title: 13638 Wed Jul 11 10:17:56 2007 http://host-13639.com/ Title: 13639 Wed Jul 11 10:19:55 2007 http://www.host-13640.com/ Title: 13640 Wed Jul 11 10:19:57 2007 http://host-13641.com/ Title: 13641 Wed Jul 11 10:20:10 2007 http://www.host-13642.com/ Title: 13642 Wed Jul 11 10:20:29 2007 http://www.host-13643.com/ Title: 13643 Wed Jul 11 10:22:44 2007 http://www.host-13644.com/ Title: 13644 Wed Jul 11 10:26:48 2007 http://www.host-13645.com/ Title: 13645 Wed Jul 11 10:26:54 2007 http://www.host-13646.com/ Title: 13646 Wed Jul 11 10:27:03 2007 http://www.host-13647.com/ Title: 13647 Wed Jul 11 10:28:59 2007 http://host-13648.com/ Title: 13648 Wed Jul 11 10:29:00 2007 http://www.host-13649.com/ Title: 13649 Wed Jul 11 10:50:26 2007 http://www.host-13650.com/ Title: 13650 Wed Jul 11 10:56:46 2007 http://host-13651.com/ Title: 13651 Wed Jul 11 11:45:49 2007 http://host-13652.com/ Title: 13652 Wed Jul 11 11:46:22 2007 http://host-13653.com/ Title: 13653 Wed Jul 11 11:46:26 2007 http://www.host-13654.com/ Title: 13654 Wed Jul 11 11:46:28 2007 http://www.host-13655.com/ Title: 13655 Wed Jul 11 11:46:31 2007 http://www.host-13656.com/ Title: 13656 Wed Jul 11 11:46:33 2007 http://host-13657.com/ Title: 13657 Wed Jul 11 12:42:41 2007 http://host-13658.com/ Title: 13658 Wed Jul 11 12:54:30 2007 http://host-13659.com/ Title: 13659 Wed Jul 11 12:56:01 2007 http://www.host-13660.com/ Title: 13660 Wed Jul 11 12:56:36 2007 http://www.host-13661.com/ Title: 13661 Wed Jul 11 12:56:41 2007 http://www.host-13662.com/ Title: 13662 Wed Jul 11 12:56:48 2007 http://www.host-13663.com/ Title: 13663 Wed Jul 11 13:52:53 2007 http://www.host-13664.com/ Title: 13664 Wed Jul 11 13:52:56 2007 http://www.host-13665.com/ Title: 13665 Wed Jul 11 13:52:59 2007 http://www.host-13666.com/ Title: 13666 Wed Jul 11 14:25:49 2007 http://host-13667.com/ Title: 13667 Wed Jul 11 14:25:50 2007 http://host-13668.com/ Title: 13668 Wed Jul 11 14:25:51 2007 http://www.host-13669.com/ Title: 13669 Wed Jul 11 14:29:40 2007 http://host-13670.com/ Title: 13670 Wed Jul 11 14:29:43 2007 http://www.host-13671.com/ Title: 13671 Wed Jul 11 14:29:51 2007 http://www.host-13672.com/ Title: 13672 Wed Jul 11 14:30:06 2007 http://www.host-13673.com/ Title: 13673 Wed Jul 11 14:30:09 2007 http://host-13674.com/ Title: 13674 Wed Jul 11 14:30:11 2007 http://www.host-13675.com/ Title: 13675 Wed Jul 11 14:30:11 2007 http://www.host-13676.com/ Title: 13676 Wed Jul 11 14:30:11 2007 http://host-13677.com/ Title: 13677 Wed Jul 11 14:35:21 2007 http://www.host-13678.com/ Title: 13678 Wed Jul 11 14:35:26 2007 http://www.host-13679.com/ Title: 13679 Wed Jul 11 14:35:55 2007 http://www.host-13680.com/ Title: 13680 Wed Jul 11 14:36:05 2007 http://www.host-13681.com/ Title: 13681 Wed Jul 11 15:12:57 2007 http://www.host-13682.com/ Title: 13682 Wed Jul 11 15:13:49 2007 http://www.host-13683.com/ Title: 13683 Wed Jul 11 15:15:42 2007 http://host-13684.com/ Title: 13684 Wed Jul 11 15:15:48 2007 http://www.host-13685.com/ Title: 13685 Wed Jul 11 15:47:01 2007 http://www.host-13686.com/ Title: 13686 Wed Jul 11 15:54:52 2007 http://host-13687.com/ Title: 13687 Wed Jul 11 15:54:55 2007 http://www.host-13688.com/ Title: 13688 Wed Jul 11 15:54:57 2007 http://www.host-13689.com/ Title: 13689 Wed Jul 11 15:55:02 2007 http://www.host-13690.com/ Title: 13690 Wed Jul 11 15:55:27 2007 http://host-13691.com/ Title: 13691 Wed Jul 11 15:55:29 2007 http://host-13692.com/ Title: 13692 Wed Jul 11 15:55:37 2007 http://www.host-13693.com/ Title: 13693 Wed Jul 11 15:55:51 2007 http://host-13694.com/ Title: 13694 Wed Jul 11 15:56:03 2007 http://host-13695.com/ Title: 13695 Wed Jul 11 15:56:13 2007 http://www.host-13696.com/ Title: 13696 Wed Jul 11 15:56:21 2007 http://host-13697.com/ Title: 13697 Wed Jul 11 15:56:25 2007 http://www.host-13698.com/ Title: 13698 Wed Jul 11 15:56:28 2007 http://host-13699.com/ Title: 13699 Wed Jul 11 15:56:30 2007 http://www.host-13700.com/ Title: 13700 Wed Jul 11 17:08:53 2007 http://www.host-13701.com/ Title: 13701 Wed Jul 11 17:09:12 2007 http://host-13702.com/ Title: 13702 Wed Jul 11 17:09:23 2007 http://www.host-13703.com/ Title: 13703 Wed Jul 11 17:09:24 2007 http://host-13704.com/ Title: 13704 Wed Jul 11 17:09:52 2007 http://www.host-13705.com/ Title: 13705 Wed Jul 11 17:09:54 2007 http://www.host-13706.com/ Title: 13706 Wed Jul 11 17:09:57 2007 http://www.host-13707.com/ Title: 13707 Wed Jul 11 17:16:57 2007 http://host-13708.com/ Title: 13708 Thu Jul 12 10:06:06 2007 http://www.host-13709.com/ Title: 13709 Thu Jul 12 10:06:38 2007 http://www.host-13710.com/ Title: 13710 Thu Jul 12 10:19:25 2007 http://host-13711.com/ Title: 13711 Thu Jul 12 12:42:48 2007 http://www.host-13712.com/ Title: 13712 Thu Jul 12 12:43:13 2007 http://www.host-13713.com/ Title: 13713 Thu Jul 12 12:45:21 2007 http://www.host-13714.com/ Title: 13714 Thu Jul 12 13:36:36 2007 http://www.host-13715.com/ Title: 13715 Thu Jul 12 13:55:42 2007 http://host-13716.com/ Title: 13716 Thu Jul 12 14:11:30 2007 http://www.host-13717.com/ Title: 13717 Thu Jul 12 14:11:42 2007 http://host-13718.com/ Title: 13718 Thu Jul 12 14:44:51 2007 http://host-13719.com/ Title: 13719 Thu Jul 12 15:40:49 2007 http://host-13720.com/ Title: 13720 Thu Jul 12 15:42:53 2007 http://host-13721.com/ Title: 13721 Thu Jul 12 15:43:51 2007 http://host-13722.com/ Title: 13722 Thu Jul 12 16:03:15 2007 http://www.host-13723.com/ Title: 13723 Thu Jul 12 16:34:27 2007 http://www.host-13724.com/ Title: 13724 Thu Jul 12 16:35:22 2007 http://host-13725.com/ Title: 13725 Thu Jul 12 17:00:31 2007 http://host-13726.com/ Title: 13726 Thu Jul 12 17:10:36 2007 http://www.host-13727.com/ Title: 13727 Fri Jul 13 10:04:01 2007 http://host-13728.com/ Title: 13728 Fri Jul 13 10:05:42 2007 http://host-13729.com/ Title: 13729 Fri Jul 13 10:11:00 2007 http://www.host-13730.com/ Title: 13730 Fri Jul 13 10:11:05 2007 http://host-13731.com/ Title: 13731 Fri Jul 13 10:11:13 2007 http://host-13732.com/ Title: 13732 Fri Jul 13 10:11:27 2007 http://www.host-13733.com/ Title: 13733 Fri Jul 13 10:12:22 2007 http://host-13734.com/ Title: 13734 Fri Jul 13 10:12:34 2007 http://host-13735.com/ Title: 13735 Fri Jul 13 10:12:43 2007 http://host-13736.com/ Title: 13736 Fri Jul 13 10:12:48 2007 http://host-13737.com/ Title: 13737 Fri Jul 13 10:13:36 2007 http://host-13738.com/ Title: 13738 Fri Jul 13 10:13:41 2007 http://host-13739.com/ Title: 13739 Fri Jul 13 10:13:43 2007 http://host-13740.com/ Title: 13740 Fri Jul 13 10:13:46 2007 http://www.host-13741.com/ Title: 13741 Fri Jul 13 10:13:49 2007 http://host-13742.com/ Title: 13742 Fri Jul 13 10:13:57 2007 http://www.host-13743.com/ Title: 13743 Fri Jul 13 10:14:02 2007 http://host-13744.com/ Title: 13744 Fri Jul 13 10:14:06 2007 http://www.host-13745.com/ Title: 13745 Fri Jul 13 10:14:12 2007 http://www.host-13746.com/ Title: 13746 Fri Jul 13 10:14:18 2007 http://host-13747.com/ Title: 13747 Fri Jul 13 10:14:27 2007 http://www.host-13748.com/ Title: 13748 Fri Jul 13 10:14:31 2007 http://www.host-13749.com/ Title: 13749 Fri Jul 13 10:14:38 2007 http://www.host-13750.com/ Title: 13750 Fri Jul 13 10:14:41 2007 http://www.host-13751.com/ Title: 13751 Fri Jul 13 10:14:51 2007 http://host-13752.com/ Title: 13752 Fri Jul 13 10:16:00 2007 http://host-13753.com/ Title: 13753 Fri Jul 13 10:16:01 2007 http://host-13754.com/ Title: 13754 Fri Jul 13 10:16:02 2007 http://host-13755.com/ Title: 13755 Fri Jul 13 10:17:17 2007 http://host-13756.com/ Title: 13756 Fri Jul 13 10:17:44 2007 http://www.host-13757.com/ Title: 13757 Fri Jul 13 10:18:19 2007 http://www.host-13758.com/ Title: 13758 Fri Jul 13 10:18:23 2007 http://www.host-13759.com/ Title: 13759 Fri Jul 13 10:18:26 2007 http://www.host-13760.com/ Title: 13760 Fri Jul 13 10:18:36 2007 http://www.host-13761.com/ Title: 13761 Fri Jul 13 10:18:49 2007 http://host-13762.com/ Title: 13762 Fri Jul 13 10:18:52 2007 http://www.host-13763.com/ Title: 13763 Fri Jul 13 10:20:03 2007 http://www.host-13764.com/ Title: 13764 Fri Jul 13 10:21:15 2007 http://host-13765.com/ Title: 13765 Fri Jul 13 10:22:02 2007 http://host-13766.com/ Title: 13766 Fri Jul 13 10:22:51 2007 http://host-13767.com/ Title: 13767 Fri Jul 13 10:22:57 2007 http://www.host-13768.com/ Title: 13768 Fri Jul 13 10:23:34 2007 http://www.host-13769.com/ Title: 13769 Fri Jul 13 10:23:39 2007 http://www.host-13770.com/ Title: 13770 Fri Jul 13 10:23:56 2007 http://host-13771.com/ Title: 13771 Fri Jul 13 10:26:32 2007 http://host-13772.com/ Title: 13772 Fri Jul 13 10:37:41 2007 http://host-13773.com/ Title: 13773 Fri Jul 13 10:37:53 2007 http://host-13774.com/ Title: 13774 Fri Jul 13 10:38:54 2007 http://www.host-13775.com/ Title: 13775 Fri Jul 13 10:38:59 2007 http://host-13776.com/ Title: 13776 Fri Jul 13 10:39:13 2007 http://host-13777.com/ Title: 13777 Fri Jul 13 11:34:33 2007 http://host-13778.com/ Title: 13778 Fri Jul 13 12:00:00 2007 http://host-13779.com/ Title: 13779 Fri Jul 13 12:00:20 2007 http://host-13780.com/ Title: 13780 Fri Jul 13 12:00:26 2007 http://host-13781.com/ Title: 13781 Fri Jul 13 12:07:19 2007 http://www.host-13782.com/ Title: 13782 Fri Jul 13 12:50:29 2007 http://www.host-13783.com/ Title: 13783 Fri Jul 13 13:48:50 2007 http://host-13784.com/ Title: 13784 Fri Jul 13 13:50:38 2007 http://www.host-13785.com/ Title: 13785 Fri Jul 13 14:08:42 2007 http://www.host-13786.com/ Title: 13786 Fri Jul 13 14:08:46 2007 http://www.host-13787.com/ Title: 13787 Fri Jul 13 14:35:09 2007 http://host-13788.com/ Title: 13788 Fri Jul 13 14:35:10 2007 http://host-13789.com/ Title: 13789 Fri Jul 13 14:35:11 2007 http://host-13790.com/ Title: 13790 Fri Jul 13 14:35:13 2007 http://host-13791.com/ Title: 13791 Fri Jul 13 14:36:08 2007 http://host-13792.com/ Title: 13792 Fri Jul 13 14:36:10 2007 http://host-13793.com/ Title: 13793 Fri Jul 13 14:36:23 2007 http://www.host-13794.com/ Title: 13794 Fri Jul 13 14:38:04 2007 http://www.host-13795.com/ Title: 13795 Fri Jul 13 14:38:06 2007 http://host-13796.com/ Title: 13796 Fri Jul 13 14:38:08 2007 http://www.host-13797.com/ Title: 13797 Fri Jul 13 14:38:16 2007 http://host-13798.com/ Title: 13798 Fri Jul 13 14:41:01 2007 http://host-13799.com/ Title: 13799 Fri Jul 13 14:41:26 2007 http://host-13800.com/ Title: 13800 Fri Jul 13 14:41:28 2007 http://www.host-13801.com/ Title: 13801 Fri Jul 13 14:41:28 2007 http://host-13802.com/ Title: 13802 Fri Jul 13 14:41:47 2007 http://www.host-13803.com/ Title: 13803 Fri Jul 13 17:31:39 2007 http://host-13804.com/ Title: 13804 Fri Jul 13 17:31:50 2007 http://www.host-13805.com/ Title: 13805 Fri Jul 13 17:34:28 2007 http://host-13806.com/ Title: 13806 Fri Jul 13 17:34:33 2007 http://www.host-13807.com/ Title: 13807 Fri Jul 13 17:36:52 2007 http://www.host-13808.com/ Title: 13808 Fri Jul 13 17:36:54 2007 http://www.host-13809.com/ Title: 13809 Fri Jul 13 17:38:26 2007 http://www.host-13810.com/ Title: 13810 Fri Jul 13 17:39:16 2007 http://www.host-13811.com/ Title: 13811 Fri Jul 13 17:39:40 2007 http://www.host-13812.com/ Title: 13812 Fri Jul 13 17:47:39 2007 http://www.host-13813.com/ Title: 13813 Fri Jul 13 17:47:39 2007 http://host-13814.com/ Title: 13814 Fri Jul 13 17:47:55 2007 http://host-13815.com/ Title: 13815 Fri Jul 13 17:49:01 2007 http://host-13816.com/ Title: 13816 Fri Jul 13 17:49:31 2007 http://www.host-13817.com/ Title: 13817 Fri Jul 13 17:49:33 2007 http://host-13818.com/ Title: 13818 Fri Jul 13 17:49:34 2007 http://host-13819.com/ Title: 13819 Fri Jul 13 17:49:35 2007 http://host-13820.com/ Title: 13820 Fri Jul 13 17:58:17 2007 http://www.host-13821.com/ Title: 13821 Fri Jul 13 17:58:23 2007 http://www.host-13822.com/ Title: 13822 Fri Jul 13 17:59:06 2007 http://host-13823.com/ Title: 13823 Mon Jul 16 08:49:24 2007 http://www.host-13824.com/ Title: 13824 Mon Jul 16 08:49:50 2007 http://host-13825.com/ Title: 13825 Mon Jul 16 08:49:56 2007 http://www.host-13826.com/ Title: 13826 Mon Jul 16 08:50:04 2007 http://www.host-13827.com/ Title: 13827 Mon Jul 16 08:50:16 2007 http://host-13828.com/ Title: 13828 Mon Jul 16 08:50:19 2007 http://host-13829.com/ Title: 13829 Mon Jul 16 08:50:23 2007 http://host-13830.com/ Title: 13830 Mon Jul 16 08:52:07 2007 http://host-13831.com/ Title: 13831 Mon Jul 16 08:52:24 2007 http://host-13832.com/ Title: 13832 Mon Jul 16 08:52:32 2007 http://www.host-13833.com/ Title: 13833 Mon Jul 16 08:53:09 2007 http://host-13834.com/ Title: 13834 Mon Jul 16 08:53:17 2007 http://host-13835.com/ Title: 13835 Mon Jul 16 08:55:46 2007 http://host-13836.com/ Title: 13836 Mon Jul 16 09:10:25 2007 http://www.host-13837.com/ Title: 13837 Mon Jul 16 09:11:49 2007 http://host-13838.com/ Title: 13838 Mon Jul 16 09:12:05 2007 http://www.host-13839.com/ Title: 13839 Mon Jul 16 09:14:22 2007 http://host-13840.com/ Title: 13840 Mon Jul 16 09:14:23 2007 http://www.host-13841.com/ Title: 13841 Mon Jul 16 09:15:04 2007 http://www.host-13842.com/ Title: 13842 Mon Jul 16 09:15:05 2007 http://host-13843.com/ Title: 13843 Mon Jul 16 09:17:58 2007 http://www.host-13844.com/ Title: 13844 Mon Jul 16 09:18:00 2007 http://host-13845.com/ Title: 13845 Mon Jul 16 09:20:45 2007 http://www.host-13846.com/ Title: 13846 Mon Jul 16 09:45:54 2007 http://www.host-13847.com/ Title: 13847 Mon Jul 16 09:46:07 2007 http://host-13848.com/ Title: 13848 Mon Jul 16 09:46:16 2007 http://www.host-13849.com/ Title: 13849 Mon Jul 16 09:47:45 2007 http://www.host-13850.com/ Title: 13850 Mon Jul 16 09:47:47 2007 http://www.host-13851.com/ Title: 13851 Mon Jul 16 09:48:01 2007 http://host-13852.com/ Title: 13852 Mon Jul 16 09:48:08 2007 http://www.host-13853.com/ Title: 13853 Mon Jul 16 15:25:38 2007 http://www.host-13854.com/ Title: 13854 Tue Jul 17 08:50:26 2007 http://www.host-13855.com/ Title: 13855 Tue Jul 17 08:50:41 2007 http://www.host-13856.com/ Title: 13856 Tue Jul 17 09:03:47 2007 http://host-13857.com/ Title: 13857 Tue Jul 17 09:04:39 2007 http://www.host-13858.com/ Title: 13858 Tue Jul 17 09:05:01 2007 http://www.host-13859.com/ Title: 13859 Tue Jul 17 09:07:05 2007 http://www.host-13860.com/ Title: 13860 Tue Jul 17 09:07:07 2007 http://host-13861.com/ Title: 13861 Tue Jul 17 09:07:43 2007 http://host-13862.com/ Title: 13862 Tue Jul 17 09:07:45 2007 http://www.host-13863.com/ Title: 13863 Tue Jul 17 09:07:47 2007 http://host-13864.com/ Title: 13864 Tue Jul 17 09:07:54 2007 http://host-13865.com/ Title: 13865 Tue Jul 17 09:07:55 2007 http://host-13866.com/ Title: 13866 Tue Jul 17 09:07:58 2007 http://host-13867.com/ Title: 13867 Tue Jul 17 09:07:58 2007 http://www.host-13868.com/ Title: 13868 Tue Jul 17 09:11:36 2007 http://www.host-13869.com/ Title: 13869 Tue Jul 17 09:14:16 2007 http://www.host-13870.com/ Title: 13870 Tue Jul 17 09:15:50 2007 http://host-13871.com/ Title: 13871 Tue Jul 17 09:15:51 2007 http://host-13872.com/ Title: 13872 Tue Jul 17 09:16:13 2007 http://host-13873.com/ Title: 13873 Tue Jul 17 09:16:14 2007 http://host-13874.com/ Title: 13874 Tue Jul 17 09:16:35 2007 http://www.host-13875.com/ Title: 13875 Tue Jul 17 09:16:37 2007 http://host-13876.com/ Title: 13876 Tue Jul 17 09:20:34 2007 http://host-13877.com/ Title: 13877 Tue Jul 17 09:26:42 2007 http://host-13878.com/ Title: 13878 Tue Jul 17 09:27:28 2007 http://www.host-13879.com/ Title: 13879 Tue Jul 17 09:36:42 2007 http://www.host-13880.com/ Title: 13880 Tue Jul 17 10:46:57 2007 http://www.host-13881.com/ Title: 13881 Tue Jul 17 15:22:32 2007 http://host-13882.com/ Title: 13882 Wed Jul 18 11:25:30 2007 http://host-13883.com/ Title: 13883 Wed Jul 18 11:27:04 2007 http://host-13884.com/ Title: 13884 Wed Jul 18 11:32:04 2007 http://www.host-13885.com/ Title: 13885 Wed Jul 18 11:32:05 2007 http://www.host-13886.com/ Title: 13886 Wed Jul 18 11:32:06 2007 http://host-13887.com/ Title: 13887 Wed Jul 18 11:32:07 2007 http://www.host-13888.com/ Title: 13888 Wed Jul 18 11:35:14 2007 http://host-13889.com/ Title: 13889 Wed Jul 18 11:37:10 2007 http://host-13890.com/ Title: 13890 Wed Jul 18 12:27:05 2007 http://www.host-13891.com/ Title: 13891 Wed Jul 18 12:27:57 2007 http://www.host-13892.com/ Title: 13892 Wed Jul 18 12:29:00 2007 http://host-13893.com/ Title: 13893 Wed Jul 18 12:30:36 2007 http://host-13894.com/ Title: 13894 Wed Jul 18 12:54:55 2007 http://www.host-13895.com/ Title: 13895 Wed Jul 18 13:02:52 2007 http://host-13896.com/ Title: 13896 Wed Jul 18 13:02:56 2007 http://host-13897.com/ Title: 13897 Wed Jul 18 13:09:19 2007 http://www.host-13898.com/ Title: 13898 Wed Jul 18 13:15:01 2007 http://www.host-13899.com/ Title: 13899 Wed Jul 18 13:15:06 2007 http://www.host-13900.com/ Title: 13900 Wed Jul 18 13:15:14 2007 http://host-13901.com/ Title: 13901 Wed Jul 18 13:15:51 2007 http://www.host-13902.com/ Title: 13902 Wed Jul 18 13:15:53 2007 http://host-13903.com/ Title: 13903 Wed Jul 18 13:20:29 2007 http://host-13904.com/ Title: 13904 Wed Jul 18 13:20:33 2007 http://www.host-13905.com/ Title: 13905 Wed Jul 18 13:20:34 2007 http://host-13906.com/ Title: 13906 Wed Jul 18 13:20:34 2007 http://www.host-13907.com/ Title: 13907 Wed Jul 18 13:20:35 2007 http://host-13908.com/ Title: 13908 Wed Jul 18 13:20:35 2007 http://www.host-13909.com/ Title: 13909 Wed Jul 18 13:20:36 2007 http://www.host-13910.com/ Title: 13910 Wed Jul 18 13:20:36 2007 http://www.host-13911.com/ Title: 13911 Wed Jul 18 13:20:36 2007 http://www.host-13912.com/ Title: 13912 Wed Jul 18 13:20:37 2007 http://www.host-13913.com/ Title: 13913 Wed Jul 18 13:20:37 2007 http://www.host-13914.com/ Title: 13914 Wed Jul 18 13:20:40 2007 http://www.host-13915.com/ Title: 13915 Wed Jul 18 13:20:42 2007 http://www.host-13916.com/ Title: 13916 Wed Jul 18 13:21:06 2007 http://host-13917.com/ Title: 13917 Wed Jul 18 13:21:08 2007 http://www.host-13918.com/ Title: 13918 Wed Jul 18 13:21:33 2007 http://www.host-13919.com/ Title: 13919 Wed Jul 18 13:22:01 2007 http://host-13920.com/ Title: 13920 Wed Jul 18 13:22:08 2007 http://www.host-13921.com/ Title: 13921 Wed Jul 18 13:22:13 2007 http://host-13922.com/ Title: 13922 Wed Jul 18 13:22:29 2007 http://host-13923.com/ Title: 13923 Wed Jul 18 13:22:30 2007 http://host-13924.com/ Title: 13924 Wed Jul 18 13:22:31 2007 http://www.host-13925.com/ Title: 13925 Wed Jul 18 13:22:35 2007 http://www.host-13926.com/ Title: 13926 Wed Jul 18 13:22:56 2007 http://host-13927.com/ Title: 13927 Wed Jul 18 13:22:58 2007 http://host-13928.com/ Title: 13928 Wed Jul 18 13:25:28 2007 http://www.host-13929.com/ Title: 13929 Wed Jul 18 13:25:40 2007 http://host-13930.com/ Title: 13930 Wed Jul 18 13:26:20 2007 http://host-13931.com/ Title: 13931 Wed Jul 18 13:26:41 2007 http://host-13932.com/ Title: 13932 Wed Jul 18 13:26:43 2007 http://www.host-13933.com/ Title: 13933 Wed Jul 18 13:27:09 2007 http://host-13934.com/ Title: 13934 Wed Jul 18 13:27:39 2007 http://www.host-13935.com/ Title: 13935 Wed Jul 18 13:37:57 2007 http://www.host-13936.com/ Title: 13936 Wed Jul 18 13:38:54 2007 http://www.host-13937.com/ Title: 13937 Wed Jul 18 14:07:32 2007 http://www.host-13938.com/ Title: 13938 Wed Jul 18 14:07:39 2007 http://host-13939.com/ Title: 13939 Wed Jul 18 14:25:43 2007 http://host-13940.com/ Title: 13940 Wed Jul 18 14:26:42 2007 http://host-13941.com/ Title: 13941 Wed Jul 18 14:26:46 2007 http://host-13942.com/ Title: 13942 Wed Jul 18 14:26:52 2007 http://www.host-13943.com/ Title: 13943 Wed Jul 18 14:28:02 2007 http://host-13944.com/ Title: 13944 Wed Jul 18 14:28:18 2007 http://www.host-13945.com/ Title: 13945 Wed Jul 18 14:43:02 2007 http://www.host-13946.com/ Title: 13946 Wed Jul 18 14:43:04 2007 http://host-13947.com/ Title: 13947 Wed Jul 18 14:43:20 2007 http://www.host-13948.com/ Title: 13948 Wed Jul 18 14:43:25 2007 http://host-13949.com/ Title: 13949 Wed Jul 18 14:44:27 2007 http://www.host-13950.com/ Title: 13950 Wed Jul 18 14:44:31 2007 http://host-13951.com/ Title: 13951 Wed Jul 18 14:45:55 2007 http://host-13952.com/ Title: 13952 Wed Jul 18 14:46:04 2007 http://host-13953.com/ Title: 13953 Wed Jul 18 14:56:05 2007 http://host-13954.com/ Title: 13954 Wed Jul 18 14:56:33 2007 http://www.host-13955.com/ Title: 13955 Wed Jul 18 15:25:48 2007 http://www.host-13956.com/ Title: 13956 Wed Jul 18 16:25:50 2007 http://host-13957.com/ Title: 13957 Wed Jul 18 16:26:02 2007 http://host-13958.com/ Title: 13958 Wed Jul 18 16:35:26 2007 http://host-13959.com/ Title: 13959 Wed Jul 18 16:36:43 2007 http://host-13960.com/ Title: 13960 Wed Jul 18 16:36:51 2007 http://www.host-13961.com/ Title: 13961 Wed Jul 18 16:37:28 2007 http://host-13962.com/ Title: 13962 Wed Jul 18 16:37:55 2007 http://host-13963.com/ Title: 13963 Wed Jul 18 16:38:00 2007 http://host-13964.com/ Title: 13964 Wed Jul 18 16:38:03 2007 http://www.host-13965.com/ Title: 13965 Thu Jul 19 10:09:55 2007 http://www.host-13966.com/ Title: 13966 Thu Jul 19 10:10:00 2007 http://host-13967.com/ Title: 13967 Thu Jul 19 10:17:38 2007 http://host-13968.com/ Title: 13968 Thu Jul 19 10:33:43 2007 http://host-13969.com/ Title: 13969 Thu Jul 19 10:33:57 2007 http://host-13970.com/ Title: 13970 Thu Jul 19 11:04:45 2007 http://host-13971.com/ Title: 13971 Thu Jul 19 11:52:17 2007 http://host-13972.com/ Title: 13972 Thu Jul 19 11:53:09 2007 http://host-13973.com/ Title: 13973 Thu Jul 19 12:07:33 2007 http://host-13974.com/ Title: 13974 Thu Jul 19 12:25:50 2007 http://www.host-13975.com/ Title: 13975 Thu Jul 19 12:38:15 2007 http://www.host-13976.com/ Title: 13976 Thu Jul 19 13:16:07 2007 http://host-13977.com/ Title: 13977 Thu Jul 19 13:21:37 2007 http://www.host-13978.com/ Title: 13978 Thu Jul 19 13:29:38 2007 http://www.host-13979.com/ Title: 13979 Thu Jul 19 13:29:42 2007 http://www.host-13980.com/ Title: 13980 Thu Jul 19 13:31:35 2007 http://www.host-13981.com/ Title: 13981 Thu Jul 19 13:38:17 2007 http://host-13982.com/ Title: 13982 Thu Jul 19 13:38:22 2007 http://www.host-13983.com/ Title: 13983 Thu Jul 19 13:41:01 2007 http://www.host-13984.com/ Title: 13984 Thu Jul 19 13:41:55 2007 http://host-13985.com/ Title: 13985 Thu Jul 19 13:41:57 2007 http://www.host-13986.com/ Title: 13986 Thu Jul 19 13:42:11 2007 http://host-13987.com/ Title: 13987 Thu Jul 19 13:42:16 2007 http://host-13988.com/ Title: 13988 Thu Jul 19 13:42:20 2007 http://www.host-13989.com/ Title: 13989 Thu Jul 19 13:42:21 2007 http://www.host-13990.com/ Title: 13990 Thu Jul 19 13:42:23 2007 http://host-13991.com/ Title: 13991 Thu Jul 19 13:45:28 2007 http://www.host-13992.com/ Title: 13992 Thu Jul 19 13:46:17 2007 http://www.host-13993.com/ Title: 13993 Thu Jul 19 13:46:22 2007 http://www.host-13994.com/ Title: 13994 Thu Jul 19 13:49:40 2007 http://host-13995.com/ Title: 13995 Thu Jul 19 13:49:56 2007 http://www.host-13996.com/ Title: 13996 Thu Jul 19 13:50:39 2007 http://host-13997.com/ Title: 13997 Thu Jul 19 13:50:51 2007 http://host-13998.com/ Title: 13998 Thu Jul 19 13:50:59 2007 http://host-13999.com/ Title: 13999 Thu Jul 19 13:51:10 2007 http://host-14000.com/ Title: 14000 Thu Jul 19 14:36:45 2007 http://host-14001.com/ Title: 14001 Thu Jul 19 14:39:56 2007 http://host-14002.com/ Title: 14002 Thu Jul 19 14:40:59 2007 http://www.host-14003.com/ Title: 14003 Thu Jul 19 14:41:30 2007 http://host-14004.com/ Title: 14004 Thu Jul 19 14:42:33 2007 http://host-14005.com/ Title: 14005 Thu Jul 19 14:42:42 2007 http://www.host-14006.com/ Title: 14006 Thu Jul 19 15:57:29 2007 http://www.host-14007.com/ Title: 14007 Thu Jul 19 15:57:32 2007 http://host-14008.com/ Title: 14008 Thu Jul 19 15:57:33 2007 http://host-14009.com/ Title: 14009 Thu Jul 19 15:57:33 2007 http://host-14010.com/ Title: 14010 Thu Jul 19 15:57:35 2007 http://www.host-14011.com/ Title: 14011 Thu Jul 19 15:57:38 2007 http://host-14012.com/ Title: 14012 Thu Jul 19 16:00:45 2007 http://www.host-14013.com/ Title: 14013 Thu Jul 19 16:07:39 2007 http://host-14014.com/ Title: 14014 Thu Jul 19 16:12:13 2007 http://host-14015.com/ Title: 14015 Thu Jul 19 16:12:16 2007 http://www.host-14016.com/ Title: 14016 Thu Jul 19 16:13:12 2007 http://host-14017.com/ Title: 14017 Thu Jul 19 16:13:12 2007 http://host-14018.com/ Title: 14018 Fri Jul 20 10:25:34 2007 http://host-14019.com/ Title: 14019 Fri Jul 20 10:25:35 2007 http://www.host-14020.com/ Title: 14020 Fri Jul 20 10:25:44 2007 http://www.host-14021.com/ Title: 14021 Fri Jul 20 10:25:46 2007 http://www.host-14022.com/ Title: 14022 Fri Jul 20 10:26:19 2007 http://www.host-14023.com/ Title: 14023 Fri Jul 20 10:26:22 2007 http://www.host-14024.com/ Title: 14024 Fri Jul 20 10:27:12 2007 http://www.host-14025.com/ Title: 14025 Fri Jul 20 10:27:20 2007 http://www.host-14026.com/ Title: 14026 Fri Jul 20 10:27:26 2007 http://www.host-14027.com/ Title: 14027 Fri Jul 20 10:27:28 2007 http://www.host-14028.com/ Title: 14028 Fri Jul 20 10:27:40 2007 http://www.host-14029.com/ Title: 14029 Fri Jul 20 10:30:53 2007 http://www.host-14030.com/ Title: 14030 Fri Jul 20 10:30:54 2007 http://host-14031.com/ Title: 14031 Fri Jul 20 10:39:26 2007 http://host-14032.com/ Title: 14032 Fri Jul 20 10:39:29 2007 http://host-14033.com/ Title: 14033 Fri Jul 20 10:39:32 2007 http://host-14034.com/ Title: 14034 Fri Jul 20 10:44:04 2007 http://www.host-14035.com/ Title: 14035 Fri Jul 20 10:44:07 2007 http://www.host-14036.com/ Title: 14036 Fri Jul 20 12:32:55 2007 http://host-14037.com/ Title: 14037 Fri Jul 20 12:33:28 2007 http://host-14038.com/ Title: 14038 Fri Jul 20 12:33:56 2007 http://www.host-14039.com/ Title: 14039 Fri Jul 20 12:34:04 2007 http://host-14040.com/ Title: 14040 Fri Jul 20 12:34:09 2007 http://www.host-14041.com/ Title: 14041 Fri Jul 20 12:34:14 2007 http://host-14042.com/ Title: 14042 Fri Jul 20 12:34:19 2007 http://www.host-14043.com/ Title: 14043 Fri Jul 20 12:34:30 2007 http://www.host-14044.com/ Title: 14044 Fri Jul 20 12:34:42 2007 http://host-14045.com/ Title: 14045 Fri Jul 20 12:34:53 2007 http://host-14046.com/ Title: 14046 Fri Jul 20 13:25:08 2007 http://host-14047.com/ Title: 14047 Fri Jul 20 13:25:10 2007 http://www.host-14048.com/ Title: 14048 Fri Jul 20 13:52:04 2007 http://www.host-14049.com/ Title: 14049 Fri Jul 20 13:53:39 2007 http://www.host-14050.com/ Title: 14050 Fri Jul 20 13:53:40 2007 http://www.host-14051.com/ Title: 14051 Fri Jul 20 13:53:40 2007 http://host-14052.com/ Title: 14052 Fri Jul 20 13:55:29 2007 http://www.host-14053.com/ Title: 14053 Fri Jul 20 13:55:37 2007 http://host-14054.com/ Title: 14054 Fri Jul 20 13:55:38 2007 http://host-14055.com/ Title: 14055 Fri Jul 20 13:55:41 2007 http://host-14056.com/ Title: 14056 Fri Jul 20 13:55:46 2007 http://host-14057.com/ Title: 14057 Fri Jul 20 14:02:25 2007 http://www.host-14058.com/ Title: 14058 Fri Jul 20 15:26:56 2007 http://www.host-14059.com/ Title: 14059 Fri Jul 20 15:27:08 2007 http://host-14060.com/ Title: 14060 Mon Jul 23 09:47:19 2007 http://www.host-14061.com/ Title: 14061 Mon Jul 23 09:47:23 2007 http://www.host-14062.com/ Title: 14062 Mon Jul 23 09:47:34 2007 http://www.host-14063.com/ Title: 14063 Mon Jul 23 12:38:21 2007 http://www.host-14064.com/ Title: 14064 Mon Jul 23 13:42:38 2007 http://www.host-14065.com/ Title: 14065 Mon Jul 23 14:16:53 2007 http://host-14066.com/ Title: 14066 Mon Jul 23 14:16:54 2007 http://host-14067.com/ Title: 14067 Mon Jul 23 14:20:48 2007 http://www.host-14068.com/ Title: 14068 Mon Jul 23 15:22:25 2007 http://www.host-14069.com/ Title: 14069 Tue Jul 24 05:53:30 2007 http://host-14070.com/ Title: 14070 Tue Jul 24 05:53:36 2007 http://host-14071.com/ Title: 14071 Tue Jul 24 05:53:46 2007 http://host-14072.com/ Title: 14072 Tue Jul 24 05:53:56 2007 http://www.host-14073.com/ Title: 14073 Tue Jul 24 05:54:11 2007 http://www.host-14074.com/ Title: 14074 Tue Jul 24 05:54:24 2007 http://host-14075.com/ Title: 14075 Tue Jul 24 06:26:15 2007 http://host-14076.com/ Title: 14076 Tue Jul 24 06:28:41 2007 http://host-14077.com/ Title: 14077 Tue Jul 24 06:29:36 2007 http://host-14078.com/ Title: 14078 Tue Jul 24 08:39:19 2007 http://host-14079.com/ Title: 14079 Tue Jul 24 08:39:23 2007 http://www.host-14080.com/ Title: 14080 Tue Jul 24 08:39:23 2007 http://www.host-14081.com/ Title: 14081 Tue Jul 24 08:39:37 2007 http://www.host-14082.com/ Title: 14082 Tue Jul 24 08:41:51 2007 http://www.host-14083.com/ Title: 14083 Tue Jul 24 08:41:57 2007 http://host-14084.com/ Title: 14084 Tue Jul 24 08:42:06 2007 http://www.host-14085.com/ Title: 14085 Tue Jul 24 08:43:02 2007 http://host-14086.com/ Title: 14086 Tue Jul 24 08:44:20 2007 http://host-14087.com/ Title: 14087 Tue Jul 24 08:44:22 2007 http://host-14088.com/ Title: 14088 Tue Jul 24 08:44:47 2007 http://host-14089.com/ Title: 14089 Tue Jul 24 08:44:53 2007 http://www.host-14090.com/ Title: 14090 Tue Jul 24 08:45:05 2007 http://www.host-14091.com/ Title: 14091 Tue Jul 24 08:46:02 2007 http://host-14092.com/ Title: 14092 Tue Jul 24 08:46:10 2007 http://host-14093.com/ Title: 14093 Tue Jul 24 09:23:24 2007 http://host-14094.com/ Title: 14094 Tue Jul 24 09:23:25 2007 http://host-14095.com/ Title: 14095 Tue Jul 24 09:23:36 2007 http://host-14096.com/ Title: 14096 Tue Jul 24 09:23:36 2007 http://www.host-14097.com/ Title: 14097 Tue Jul 24 09:24:39 2007 http://host-14098.com/ Title: 14098 Tue Jul 24 09:24:41 2007 http://www.host-14099.com/ Title: 14099 Tue Jul 24 09:24:57 2007 http://www.host-14100.com/ Title: 14100 Tue Jul 24 09:25:00 2007 http://host-14101.com/ Title: 14101 Tue Jul 24 09:25:22 2007 http://host-14102.com/ Title: 14102 Tue Jul 24 09:25:44 2007 http://host-14103.com/ Title: 14103 Tue Jul 24 09:27:18 2007 http://www.host-14104.com/ Title: 14104 Tue Jul 24 09:29:44 2007 http://host-14105.com/ Title: 14105 Tue Jul 24 11:42:04 2007 http://www.host-14106.com/ Title: 14106 Wed Jul 25 09:46:09 2007 http://www.host-14107.com/ Title: 14107 Wed Jul 25 12:18:55 2007 http://host-14108.com/ Title: 14108 Wed Jul 25 13:31:14 2007 http://host-14109.com/ Title: 14109 Wed Jul 25 13:35:03 2007 http://www.host-14110.com/ Title: 14110 Wed Jul 25 15:57:54 2007 http://www.host-14111.com/ Title: 14111 Wed Jul 25 15:57:58 2007 http://www.host-14112.com/ Title: 14112 Wed Jul 25 15:57:58 2007 http://host-14113.com/ Title: 14113 Wed Jul 25 15:58:05 2007 http://host-14114.com/ Title: 14114 Wed Jul 25 15:58:08 2007 http://www.host-14115.com/ Title: 14115 Wed Jul 25 15:58:14 2007 http://host-14116.com/ Title: 14116 Wed Jul 25 15:58:46 2007 http://www.host-14117.com/ Title: 14117 Wed Jul 25 15:58:49 2007 http://www.host-14118.com/ Title: 14118 Wed Jul 25 15:58:52 2007 http://www.host-14119.com/ Title: 14119 Wed Jul 25 15:58:57 2007 http://www.host-14120.com/ Title: 14120 Wed Jul 25 16:01:38 2007 http://host-14121.com/ Title: 14121 Wed Jul 25 16:02:16 2007 http://www.host-14122.com/ Title: 14122 Wed Jul 25 16:06:53 2007 http://www.host-14123.com/ Title: 14123 Thu Jul 26 18:15:44 2007 http://www.host-14124.com/ Title: 14124 Thu Jul 26 18:15:51 2007 http://www.host-14125.com/ Title: 14125 Thu Jul 26 18:20:12 2007 http://host-14126.com/ Title: 14126 Thu Jul 26 18:20:25 2007 http://www.host-14127.com/ Title: 14127 Thu Jul 26 18:20:33 2007 http://www.host-14128.com/ Title: 14128 Thu Jul 26 18:23:34 2007 http://www.host-14129.com/ Title: 14129 Thu Jul 26 18:31:16 2007 http://www.host-14130.com/ Title: 14130 Thu Jul 26 18:31:19 2007 http://www.host-14131.com/ Title: 14131 Thu Jul 26 18:32:50 2007 http://www.host-14132.com/ Title: 14132 Thu Jul 26 18:32:52 2007 http://host-14133.com/ Title: 14133 Thu Jul 26 18:32:56 2007 http://www.host-14134.com/ Title: 14134 Thu Jul 26 18:32:59 2007 http://host-14135.com/ Title: 14135 Thu Jul 26 18:33:08 2007 http://www.host-14136.com/ Title: 14136 Thu Jul 26 18:33:08 2007 http://host-14137.com/ Title: 14137 Fri Jul 27 10:28:53 2007 http://host-14138.com/ Title: 14138 Fri Jul 27 10:30:30 2007 http://www.host-14139.com/ Title: 14139 Fri Jul 27 10:33:10 2007 http://host-14140.com/ Title: 14140 Fri Jul 27 10:37:15 2007 http://www.host-14141.com/ Title: 14141 Fri Jul 27 10:37:16 2007 http://www.host-14142.com/ Title: 14142 Fri Jul 27 10:37:20 2007 http://www.host-14143.com/ Title: 14143 Fri Jul 27 10:41:13 2007 http://host-14144.com/ Title: 14144 Fri Jul 27 10:41:14 2007 http://www.host-14145.com/ Title: 14145 Fri Jul 27 10:45:35 2007 http://www.host-14146.com/ Title: 14146 Fri Jul 27 10:45:46 2007 http://www.host-14147.com/ Title: 14147 Fri Jul 27 10:48:38 2007 http://host-14148.com/ Title: 14148 Fri Jul 27 10:49:49 2007 http://www.host-14149.com/ Title: 14149 Fri Jul 27 10:50:13 2007 http://host-14150.com/ Title: 14150 Fri Jul 27 11:33:44 2007 http://host-14151.com/ Title: 14151 Fri Jul 27 11:35:14 2007 http://www.host-14152.com/ Title: 14152 Fri Jul 27 11:35:34 2007 http://host-14153.com/ Title: 14153 Fri Jul 27 11:37:46 2007 http://www.host-14154.com/ Title: 14154 Fri Jul 27 11:41:23 2007 http://www.host-14155.com/ Title: 14155 Fri Jul 27 11:41:24 2007 http://host-14156.com/ Title: 14156 Fri Jul 27 11:41:29 2007 http://host-14157.com/ Title: 14157 Fri Jul 27 11:41:31 2007 http://host-14158.com/ Title: 14158 Fri Jul 27 11:41:35 2007 http://www.host-14159.com/ Title: 14159 Fri Jul 27 11:41:36 2007 http://host-14160.com/ Title: 14160 Fri Jul 27 11:42:30 2007 http://www.host-14161.com/ Title: 14161 Fri Jul 27 11:42:56 2007 http://www.host-14162.com/ Title: 14162 Fri Jul 27 11:43:15 2007 http://www.host-14163.com/ Title: 14163 Fri Jul 27 11:43:33 2007 http://host-14164.com/ Title: 14164 Fri Jul 27 11:44:29 2007 http://host-14165.com/ Title: 14165 Fri Jul 27 11:44:57 2007 http://www.host-14166.com/ Title: 14166 Fri Jul 27 11:45:10 2007 http://host-14167.com/ Title: 14167 Fri Jul 27 11:45:19 2007 http://host-14168.com/ Title: 14168 Fri Jul 27 11:45:25 2007 http://www.host-14169.com/ Title: 14169 Fri Jul 27 11:56:54 2007 http://www.host-14170.com/ Title: 14170 Fri Jul 27 11:56:56 2007 http://www.host-14171.com/ Title: 14171 Fri Jul 27 11:57:02 2007 http://www.host-14172.com/ Title: 14172 Fri Jul 27 12:00:40 2007 http://www.host-14173.com/ Title: 14173 Fri Jul 27 12:02:26 2007 http://www.host-14174.com/ Title: 14174 Fri Jul 27 12:02:28 2007 http://www.host-14175.com/ Title: 14175 Fri Jul 27 12:02:28 2007 http://host-14176.com/ Title: 14176 Fri Jul 27 12:07:24 2007 http://host-14177.com/ Title: 14177 Fri Jul 27 12:07:34 2007 http://host-14178.com/ Title: 14178 Fri Jul 27 12:07:40 2007 http://host-14179.com/ Title: 14179 Fri Jul 27 12:07:41 2007 http://www.host-14180.com/ Title: 14180 Fri Jul 27 12:08:19 2007 http://host-14181.com/ Title: 14181 Fri Jul 27 12:10:01 2007 http://host-14182.com/ Title: 14182 Fri Jul 27 12:10:11 2007 http://www.host-14183.com/ Title: 14183 Fri Jul 27 12:10:13 2007 http://www.host-14184.com/ Title: 14184 Fri Jul 27 12:10:16 2007 http://www.host-14185.com/ Title: 14185 Fri Jul 27 12:41:20 2007 http://www.host-14186.com/ Title: 14186 Fri Jul 27 12:41:25 2007 http://host-14187.com/ Title: 14187 Fri Jul 27 12:41:35 2007 http://host-14188.com/ Title: 14188 Fri Jul 27 12:41:38 2007 http://www.host-14189.com/ Title: 14189 Fri Jul 27 12:41:52 2007 http://www.host-14190.com/ Title: 14190 Fri Jul 27 12:41:57 2007 http://host-14191.com/ Title: 14191 Fri Jul 27 12:58:13 2007 http://host-14192.com/ Title: 14192 Fri Jul 27 12:58:21 2007 http://www.host-14193.com/ Title: 14193 Fri Jul 27 12:58:57 2007 http://www.host-14194.com/ Title: 14194 Fri Jul 27 13:32:14 2007 http://www.host-14195.com/ Title: 14195 Fri Jul 27 13:38:50 2007 http://www.host-14196.com/ Title: 14196 Fri Jul 27 13:39:10 2007 http://www.host-14197.com/ Title: 14197 Fri Jul 27 13:39:11 2007 http://host-14198.com/ Title: 14198 Fri Jul 27 13:39:23 2007 http://host-14199.com/ Title: 14199 Fri Jul 27 14:29:31 2007 http://host-14200.com/ Title: 14200 Fri Jul 27 14:29:34 2007 http://www.host-14201.com/ Title: 14201 Fri Jul 27 14:29:40 2007 http://host-14202.com/ Title: 14202 Fri Jul 27 14:29:45 2007 http://www.host-14203.com/ Title: 14203 Fri Jul 27 14:29:47 2007 http://host-14204.com/ Title: 14204 Fri Jul 27 14:29:49 2007 http://www.host-14205.com/ Title: 14205 Fri Jul 27 14:31:41 2007 http://host-14206.com/ Title: 14206 Fri Jul 27 15:53:36 2007 http://host-14207.com/ Title: 14207 Fri Jul 27 16:33:25 2007 http://www.host-14208.com/ Title: 14208 Fri Jul 27 16:34:58 2007 http://host-14209.com/ Title: 14209 Fri Jul 27 16:35:08 2007 http://host-14210.com/ Title: 14210 Fri Jul 27 16:35:11 2007 http://www.host-14211.com/ Title: 14211 Fri Jul 27 16:35:12 2007 http://host-14212.com/ Title: 14212 Fri Jul 27 16:35:13 2007 http://www.host-14213.com/ Title: 14213 Fri Jul 27 16:37:11 2007 http://host-14214.com/ Title: 14214 Fri Jul 27 16:38:55 2007 http://host-14215.com/ Title: 14215 Fri Jul 27 16:40:51 2007 http://host-14216.com/ Title: 14216 Fri Jul 27 16:42:26 2007 http://www.host-14217.com/ Title: 14217 Fri Jul 27 16:42:26 2007 http://host-14218.com/ Title: 14218 Fri Jul 27 16:56:56 2007 http://host-14219.com/ Title: 14219 Fri Jul 27 16:57:00 2007 http://www.host-14220.com/ Title: 14220 Fri Jul 27 16:57:05 2007 http://host-14221.com/ Title: 14221 Fri Jul 27 17:00:44 2007 http://www.host-14222.com/ Title: 14222 Fri Jul 27 17:00:46 2007 http://host-14223.com/ Title: 14223 Fri Jul 27 17:32:08 2007 http://www.host-14224.com/ Title: 14224 Fri Jul 27 17:32:16 2007 http://www.host-14225.com/ Title: 14225 Fri Jul 27 17:33:28 2007 http://www.host-14226.com/ Title: 14226 Fri Jul 27 17:33:35 2007 http://www.host-14227.com/ Title: 14227 Mon Jul 30 08:50:48 2007 http://www.host-14228.com/ Title: 14228 Mon Jul 30 08:52:05 2007 http://www.host-14229.com/ Title: 14229 Mon Jul 30 08:52:07 2007 http://www.host-14230.com/ Title: 14230 Mon Jul 30 08:52:39 2007 http://www.host-14231.com/ Title: 14231 Mon Jul 30 08:52:41 2007 http://host-14232.com/ Title: 14232 Mon Jul 30 08:53:48 2007 http://www.host-14233.com/ Title: 14233 Mon Jul 30 08:53:55 2007 http://www.host-14234.com/ Title: 14234 Mon Jul 30 08:55:09 2007 http://host-14235.com/ Title: 14235 Mon Jul 30 08:55:20 2007 http://host-14236.com/ Title: 14236 Mon Jul 30 08:55:53 2007 http://host-14237.com/ Title: 14237 Mon Jul 30 08:56:02 2007 http://www.host-14238.com/ Title: 14238 Mon Jul 30 08:56:05 2007 http://host-14239.com/ Title: 14239 Mon Jul 30 08:56:07 2007 http://host-14240.com/ Title: 14240 Mon Jul 30 08:56:08 2007 http://host-14241.com/ Title: 14241 Mon Jul 30 08:59:00 2007 http://host-14242.com/ Title: 14242 Mon Jul 30 08:59:04 2007 http://www.host-14243.com/ Title: 14243 Mon Jul 30 08:59:26 2007 http://www.host-14244.com/ Title: 14244 Mon Jul 30 08:59:31 2007 http://host-14245.com/ Title: 14245 Mon Jul 30 08:59:48 2007 http://host-14246.com/ Title: 14246 Mon Jul 30 08:59:55 2007 http://www.host-14247.com/ Title: 14247 Mon Jul 30 09:00:12 2007 http://host-14248.com/ Title: 14248 Mon Jul 30 09:18:40 2007 http://www.host-14249.com/ Title: 14249 Mon Jul 30 09:23:28 2007 http://host-14250.com/ Title: 14250 Mon Jul 30 09:29:12 2007 http://www.host-14251.com/ Title: 14251 Mon Jul 30 09:29:15 2007 http://host-14252.com/ Title: 14252 Mon Jul 30 09:29:18 2007 http://www.host-14253.com/ Title: 14253 Mon Jul 30 09:29:23 2007 http://www.host-14254.com/ Title: 14254 Mon Jul 30 09:29:51 2007 http://www.host-14255.com/ Title: 14255 Mon Jul 30 09:33:12 2007 http://www.host-14256.com/ Title: 14256 Mon Jul 30 09:33:24 2007 http://www.host-14257.com/ Title: 14257 Mon Jul 30 10:10:40 2007 http://www.host-14258.com/ Title: 14258 Mon Jul 30 10:10:58 2007 http://www.host-14259.com/ Title: 14259 Mon Jul 30 10:11:07 2007 http://host-14260.com/ Title: 14260 Mon Jul 30 10:12:06 2007 http://host-14261.com/ Title: 14261 Mon Jul 30 10:12:26 2007 http://www.host-14262.com/ Title: 14262 Mon Jul 30 10:12:27 2007 http://host-14263.com/ Title: 14263 Mon Jul 30 10:12:30 2007 http://www.host-14264.com/ Title: 14264 Mon Jul 30 10:13:00 2007 http://host-14265.com/ Title: 14265 Mon Jul 30 10:13:30 2007 http://www.host-14266.com/ Title: 14266 Mon Jul 30 10:13:44 2007 http://www.host-14267.com/ Title: 14267 Mon Jul 30 10:14:02 2007 http://www.host-14268.com/ Title: 14268 Mon Jul 30 10:14:12 2007 http://www.host-14269.com/ Title: 14269 Mon Jul 30 10:15:14 2007 http://host-14270.com/ Title: 14270 Mon Jul 30 10:15:16 2007 http://host-14271.com/ Title: 14271 Mon Jul 30 10:16:58 2007 http://host-14272.com/ Title: 14272 Mon Jul 30 10:17:05 2007 http://www.host-14273.com/ Title: 14273 Mon Jul 30 10:38:02 2007 http://host-14274.com/ Title: 14274 Mon Jul 30 10:38:35 2007 http://www.host-14275.com/ Title: 14275 Mon Jul 30 10:40:10 2007 http://host-14276.com/ Title: 14276 Mon Jul 30 10:40:11 2007 http://www.host-14277.com/ Title: 14277 Mon Jul 30 10:40:22 2007 http://host-14278.com/ Title: 14278 Mon Jul 30 10:40:25 2007 http://host-14279.com/ Title: 14279 Mon Jul 30 10:43:05 2007 http://host-14280.com/ Title: 14280 Mon Jul 30 10:44:08 2007 http://host-14281.com/ Title: 14281 Mon Jul 30 10:44:10 2007 http://host-14282.com/ Title: 14282 Mon Jul 30 10:44:40 2007 http://host-14283.com/ Title: 14283 Mon Jul 30 10:44:43 2007 http://www.host-14284.com/ Title: 14284 Mon Jul 30 10:44:54 2007 http://www.host-14285.com/ Title: 14285 Mon Jul 30 10:45:10 2007 http://www.host-14286.com/ Title: 14286 Mon Jul 30 10:45:26 2007 http://host-14287.com/ Title: 14287 Mon Jul 30 10:47:21 2007 http://host-14288.com/ Title: 14288 Mon Jul 30 10:50:58 2007 http://www.host-14289.com/ Title: 14289 Mon Jul 30 10:51:00 2007 http://host-14290.com/ Title: 14290 Mon Jul 30 10:51:01 2007 http://host-14291.com/ Title: 14291 Mon Jul 30 10:51:52 2007 http://www.host-14292.com/ Title: 14292 Mon Jul 30 10:51:53 2007 http://www.host-14293.com/ Title: 14293 Mon Jul 30 10:51:57 2007 http://www.host-14294.com/ Title: 14294 Mon Jul 30 10:52:18 2007 http://www.host-14295.com/ Title: 14295 Mon Jul 30 10:52:21 2007 http://www.host-14296.com/ Title: 14296 Mon Jul 30 10:52:40 2007 http://www.host-14297.com/ Title: 14297 Mon Jul 30 10:52:42 2007 http://www.host-14298.com/ Title: 14298 Mon Jul 30 10:54:07 2007 http://host-14299.com/ Title: 14299 Mon Jul 30 10:54:34 2007 http://host-14300.com/ Title: 14300 Mon Jul 30 10:54:35 2007 http://www.host-14301.com/ Title: 14301 Mon Jul 30 10:54:42 2007 http://host-14302.com/ Title: 14302 Mon Jul 30 10:54:46 2007 http://www.host-14303.com/ Title: 14303 Mon Jul 30 10:55:12 2007 http://www.host-14304.com/ Title: 14304 Mon Jul 30 10:58:17 2007 http://www.host-14305.com/ Title: 14305 Mon Jul 30 10:58:20 2007 http://host-14306.com/ Title: 14306 Mon Jul 30 11:00:12 2007 http://www.host-14307.com/ Title: 14307 Mon Jul 30 11:00:14 2007 http://host-14308.com/ Title: 14308 Mon Jul 30 11:01:17 2007 http://www.host-14309.com/ Title: 14309 Mon Jul 30 11:01:33 2007 http://www.host-14310.com/ Title: 14310 Mon Jul 30 11:01:35 2007 http://www.host-14311.com/ Title: 14311 Mon Jul 30 11:01:39 2007 http://host-14312.com/ Title: 14312 Mon Jul 30 11:01:40 2007 http://host-14313.com/ Title: 14313 Mon Jul 30 11:01:45 2007 http://host-14314.com/ Title: 14314 Mon Jul 30 11:05:08 2007 http://host-14315.com/ Title: 14315 Mon Jul 30 11:25:37 2007 http://host-14316.com/ Title: 14316 Mon Jul 30 11:25:42 2007 http://host-14317.com/ Title: 14317 Mon Jul 30 11:26:18 2007 http://www.host-14318.com/ Title: 14318 Mon Jul 30 11:26:23 2007 http://www.host-14319.com/ Title: 14319 Mon Jul 30 11:36:26 2007 http://www.host-14320.com/ Title: 14320 Mon Jul 30 11:36:29 2007 http://host-14321.com/ Title: 14321 Mon Jul 30 11:36:55 2007 http://www.host-14322.com/ Title: 14322 Mon Jul 30 11:37:02 2007 http://www.host-14323.com/ Title: 14323 Mon Jul 30 11:37:04 2007 http://host-14324.com/ Title: 14324 Mon Jul 30 11:37:12 2007 http://www.host-14325.com/ Title: 14325 Mon Jul 30 11:37:15 2007 http://host-14326.com/ Title: 14326 Mon Jul 30 11:37:18 2007 http://host-14327.com/ Title: 14327 Mon Jul 30 11:37:23 2007 http://www.host-14328.com/ Title: 14328 Mon Jul 30 11:37:53 2007 http://host-14329.com/ Title: 14329 Mon Jul 30 11:43:56 2007 http://host-14330.com/ Title: 14330 Mon Jul 30 11:44:02 2007 http://www.host-14331.com/ Title: 14331 Mon Jul 30 12:06:46 2007 http://host-14332.com/ Title: 14332 Mon Jul 30 12:11:58 2007 http://host-14333.com/ Title: 14333 Mon Jul 30 12:12:03 2007 http://www.host-14334.com/ Title: 14334 Mon Jul 30 12:12:15 2007 http://host-14335.com/ Title: 14335 Mon Jul 30 12:13:02 2007 http://www.host-14336.com/ Title: 14336 Mon Jul 30 12:13:10 2007 http://host-14337.com/ Title: 14337 Mon Jul 30 12:13:15 2007 http://host-14338.com/ Title: 14338 Mon Jul 30 14:20:40 2007 http://host-14339.com/ Title: 14339 Mon Jul 30 14:22:15 2007 http://host-14340.com/ Title: 14340 Mon Jul 30 14:22:27 2007 http://host-14341.com/ Title: 14341 Mon Jul 30 14:22:36 2007 http://host-14342.com/ Title: 14342 Mon Jul 30 14:22:39 2007 http://www.host-14343.com/ Title: 14343 Mon Jul 30 14:22:43 2007 http://www.host-14344.com/ Title: 14344 Mon Jul 30 14:24:45 2007 http://www.host-14345.com/ Title: 14345 Mon Jul 30 14:24:46 2007 http://host-14346.com/ Title: 14346 Mon Jul 30 14:24:58 2007 http://www.host-14347.com/ Title: 14347 Mon Jul 30 14:24:59 2007 http://host-14348.com/ Title: 14348 Mon Jul 30 14:42:10 2007 http://host-14349.com/ Title: 14349 Mon Jul 30 14:42:14 2007 http://www.host-14350.com/ Title: 14350 Mon Jul 30 14:42:31 2007 http://www.host-14351.com/ Title: 14351 Mon Jul 30 14:42:36 2007 http://host-14352.com/ Title: 14352 Mon Jul 30 14:42:59 2007 http://www.host-14353.com/ Title: 14353 Mon Jul 30 14:43:31 2007 http://www.host-14354.com/ Title: 14354 Mon Jul 30 14:43:44 2007 http://host-14355.com/ Title: 14355 Mon Jul 30 14:43:52 2007 http://www.host-14356.com/ Title: 14356 Mon Jul 30 14:44:42 2007 http://host-14357.com/ Title: 14357 Mon Jul 30 14:44:45 2007 http://www.host-14358.com/ Title: 14358 Mon Jul 30 15:06:20 2007 http://host-14359.com/ Title: 14359 Mon Jul 30 15:06:30 2007 http://host-14360.com/ Title: 14360 Mon Jul 30 15:07:01 2007 http://host-14361.com/ Title: 14361 Mon Jul 30 15:07:03 2007 http://www.host-14362.com/ Title: 14362 Mon Jul 30 15:07:06 2007 http://www.host-14363.com/ Title: 14363 Mon Jul 30 15:11:31 2007 http://www.host-14364.com/ Title: 14364 Mon Jul 30 15:11:34 2007 http://host-14365.com/ Title: 14365 Mon Jul 30 15:11:39 2007 http://host-14366.com/ Title: 14366 Mon Jul 30 15:12:17 2007 http://www.host-14367.com/ Title: 14367 Mon Jul 30 15:12:18 2007 http://www.host-14368.com/ Title: 14368 Mon Jul 30 15:12:52 2007 http://www.host-14369.com/ Title: 14369 Mon Jul 30 16:32:23 2007 http://www.host-14370.com/ Title: 14370 Mon Jul 30 16:32:56 2007 http://www.host-14371.com/ Title: 14371 Mon Jul 30 16:38:06 2007 http://host-14372.com/ Title: 14372 Mon Jul 30 16:38:11 2007 http://www.host-14373.com/ Title: 14373 Mon Jul 30 16:38:22 2007 http://www.host-14374.com/ Title: 14374 Mon Jul 30 16:38:40 2007 http://www.host-14375.com/ Title: 14375 Mon Jul 30 16:38:44 2007 http://host-14376.com/ Title: 14376 Tue Jul 31 09:27:33 2007 http://www.host-14377.com/ Title: 14377 Tue Jul 31 09:28:29 2007 http://host-14378.com/ Title: 14378 Tue Jul 31 09:36:00 2007 http://www.host-14379.com/ Title: 14379 Tue Jul 31 09:44:02 2007 http://host-14380.com/ Title: 14380 Tue Jul 31 09:47:56 2007 http://host-14381.com/ Title: 14381 Tue Jul 31 09:47:57 2007 http://www.host-14382.com/ Title: 14382 Tue Jul 31 09:48:01 2007 http://www.host-14383.com/ Title: 14383 Tue Jul 31 09:51:21 2007 http://www.host-14384.com/ Title: 14384 Tue Jul 31 09:51:27 2007 http://www.host-14385.com/ Title: 14385 Tue Jul 31 09:53:19 2007 http://host-14386.com/ Title: 14386 Tue Jul 31 09:53:39 2007 http://host-14387.com/ Title: 14387 Tue Jul 31 09:53:41 2007 http://host-14388.com/ Title: 14388 Tue Jul 31 09:56:01 2007 http://www.host-14389.com/ Title: 14389 Tue Jul 31 09:57:43 2007 http://host-14390.com/ Title: 14390 Tue Jul 31 10:03:18 2007 http://www.host-14391.com/ Title: 14391 Tue Jul 31 10:03:24 2007 http://www.host-14392.com/ Title: 14392 Tue Jul 31 10:06:22 2007 http://www.host-14393.com/ Title: 14393 Tue Jul 31 10:06:34 2007 http://www.host-14394.com/ Title: 14394 Tue Jul 31 10:07:15 2007 http://www.host-14395.com/ Title: 14395 Tue Jul 31 10:07:18 2007 http://www.host-14396.com/ Title: 14396 Tue Jul 31 10:07:24 2007 http://www.host-14397.com/ Title: 14397 Tue Jul 31 10:07:31 2007 http://www.host-14398.com/ Title: 14398 Tue Jul 31 10:07:34 2007 http://host-14399.com/ Title: 14399 Tue Jul 31 10:10:24 2007 http://host-14400.com/ Title: 14400 Tue Jul 31 10:13:29 2007 http://host-14401.com/ Title: 14401 Tue Jul 31 10:14:02 2007 http://www.host-14402.com/ Title: 14402 Tue Jul 31 10:15:34 2007 http://host-14403.com/ Title: 14403 Tue Jul 31 10:16:31 2007 http://host-14404.com/ Title: 14404 Tue Jul 31 10:17:52 2007 http://www.host-14405.com/ Title: 14405 Tue Jul 31 10:18:02 2007 http://host-14406.com/ Title: 14406 Tue Jul 31 10:18:13 2007 http://www.host-14407.com/ Title: 14407 Tue Jul 31 10:18:45 2007 http://host-14408.com/ Title: 14408 Tue Jul 31 10:20:13 2007 http://host-14409.com/ Title: 14409 Tue Jul 31 10:20:17 2007 http://host-14410.com/ Title: 14410 Tue Jul 31 10:20:52 2007 http://www.host-14411.com/ Title: 14411 Tue Jul 31 10:20:57 2007 http://host-14412.com/ Title: 14412 Tue Jul 31 10:20:59 2007 http://host-14413.com/ Title: 14413 Tue Jul 31 10:20:59 2007 http://host-14414.com/ Title: 14414 Tue Jul 31 10:21:02 2007 http://www.host-14415.com/ Title: 14415 Tue Jul 31 10:21:03 2007 http://www.host-14416.com/ Title: 14416 Tue Jul 31 10:21:08 2007 http://www.host-14417.com/ Title: 14417 Tue Jul 31 10:21:11 2007 http://host-14418.com/ Title: 14418 Tue Jul 31 10:21:18 2007 http://www.host-14419.com/ Title: 14419 Tue Jul 31 10:21:59 2007 http://host-14420.com/ Title: 14420 Tue Jul 31 10:22:15 2007 http://www.host-14421.com/ Title: 14421 Tue Jul 31 10:22:28 2007 http://www.host-14422.com/ Title: 14422 Tue Jul 31 10:22:31 2007 http://host-14423.com/ Title: 14423 Tue Jul 31 10:22:39 2007 http://www.host-14424.com/ Title: 14424 Tue Jul 31 10:25:57 2007 http://host-14425.com/ Title: 14425 Tue Jul 31 10:26:25 2007 http://host-14426.com/ Title: 14426 Tue Jul 31 10:28:40 2007 http://www.host-14427.com/ Title: 14427 Tue Jul 31 10:28:42 2007 http://host-14428.com/ Title: 14428 Tue Jul 31 10:28:50 2007 http://host-14429.com/ Title: 14429 Tue Jul 31 10:29:59 2007 http://www.host-14430.com/ Title: 14430 Tue Jul 31 10:30:06 2007 http://www.host-14431.com/ Title: 14431 Tue Jul 31 10:30:10 2007 http://host-14432.com/ Title: 14432 Tue Jul 31 10:30:37 2007 http://www.host-14433.com/ Title: 14433 Tue Jul 31 10:30:39 2007 http://host-14434.com/ Title: 14434 Tue Jul 31 11:56:21 2007 http://host-14435.com/ Title: 14435 Tue Jul 31 11:56:28 2007 http://www.host-14436.com/ Title: 14436 Tue Jul 31 11:58:01 2007 http://host-14437.com/ Title: 14437 Tue Jul 31 11:58:07 2007 http://host-14438.com/ Title: 14438 Tue Jul 31 11:58:08 2007 http://www.host-14439.com/ Title: 14439 Tue Jul 31 11:58:31 2007 http://host-14440.com/ Title: 14440 Tue Jul 31 11:58:40 2007 http://www.host-14441.com/ Title: 14441 Tue Jul 31 12:49:20 2007 http://host-14442.com/ Title: 14442 Tue Jul 31 12:58:59 2007 http://host-14443.com/ Title: 14443 Tue Jul 31 12:59:02 2007 http://www.host-14444.com/ Title: 14444 Tue Jul 31 12:59:05 2007 http://www.host-14445.com/ Title: 14445 Tue Jul 31 13:00:03 2007 http://www.host-14446.com/ Title: 14446 Tue Jul 31 13:00:43 2007 http://www.host-14447.com/ Title: 14447 Tue Jul 31 13:00:52 2007 http://host-14448.com/ Title: 14448 Tue Jul 31 13:01:20 2007 http://www.host-14449.com/ Title: 14449 Tue Jul 31 13:01:23 2007 http://www.host-14450.com/ Title: 14450 Tue Jul 31 13:02:04 2007 http://www.host-14451.com/ Title: 14451 Tue Jul 31 13:02:05 2007 http://host-14452.com/ Title: 14452 Tue Jul 31 13:42:43 2007 http://www.host-14453.com/ Title: 14453 Tue Jul 31 13:45:09 2007 http://www.host-14454.com/ Title: 14454 Tue Jul 31 13:48:28 2007 http://www.host-14455.com/ Title: 14455 Tue Jul 31 13:48:40 2007 http://host-14456.com/ Title: 14456 Tue Jul 31 13:48:47 2007 http://host-14457.com/ Title: 14457 Tue Jul 31 13:49:07 2007 http://host-14458.com/ Title: 14458 Tue Jul 31 13:49:18 2007 http://www.host-14459.com/ Title: 14459 Tue Jul 31 13:49:22 2007 http://www.host-14460.com/ Title: 14460 Tue Jul 31 13:49:27 2007 http://host-14461.com/ Title: 14461 Tue Jul 31 13:49:30 2007 http://host-14462.com/ Title: 14462 Tue Jul 31 13:49:34 2007 http://www.host-14463.com/ Title: 14463 Tue Jul 31 13:50:06 2007 http://host-14464.com/ Title: 14464 Tue Jul 31 13:50:13 2007 http://host-14465.com/ Title: 14465 Tue Jul 31 14:19:39 2007 http://www.host-14466.com/ Title: 14466 Tue Jul 31 14:19:43 2007 http://host-14467.com/ Title: 14467 Tue Jul 31 14:22:15 2007 http://host-14468.com/ Title: 14468 Tue Jul 31 14:23:41 2007 http://host-14469.com/ Title: 14469 Tue Jul 31 14:23:54 2007 http://host-14470.com/ Title: 14470 Tue Jul 31 16:36:07 2007 http://host-14471.com/ Title: 14471 Tue Jul 31 17:01:45 2007 http://host-14472.com/ Title: 14472 Tue Jul 31 17:04:43 2007 http://www.host-14473.com/ Title: 14473 Tue Jul 31 17:04:49 2007 http://www.host-14474.com/ Title: 14474 Wed Aug 1 09:18:53 2007 http://host-14475.com/ Title: 14475 Wed Aug 1 09:37:49 2007 http://host-14476.com/ Title: 14476 Wed Aug 1 09:37:50 2007 http://www.host-14477.com/ Title: 14477 Wed Aug 1 09:38:00 2007 http://host-14478.com/ Title: 14478 Wed Aug 1 09:38:09 2007 http://www.host-14479.com/ Title: 14479 Wed Aug 1 09:41:57 2007 http://www.host-14480.com/ Title: 14480 Wed Aug 1 09:41:59 2007 http://host-14481.com/ Title: 14481 Wed Aug 1 09:44:25 2007 http://www.host-14482.com/ Title: 14482 Wed Aug 1 09:45:24 2007 http://host-14483.com/ Title: 14483 Wed Aug 1 09:45:57 2007 http://host-14484.com/ Title: 14484 Wed Aug 1 09:46:10 2007 http://host-14485.com/ Title: 14485 Wed Aug 1 09:46:17 2007 http://host-14486.com/ Title: 14486 Wed Aug 1 09:46:20 2007 http://www.host-14487.com/ Title: 14487 Wed Aug 1 09:47:02 2007 http://host-14488.com/ Title: 14488 Wed Aug 1 09:47:17 2007 http://www.host-14489.com/ Title: 14489 Wed Aug 1 09:49:16 2007 http://host-14490.com/ Title: 14490 Wed Aug 1 09:50:46 2007 http://www.host-14491.com/ Title: 14491 Wed Aug 1 09:52:28 2007 http://www.host-14492.com/ Title: 14492 Wed Aug 1 09:52:30 2007 http://host-14493.com/ Title: 14493 Wed Aug 1 09:53:24 2007 http://www.host-14494.com/ Title: 14494 Wed Aug 1 09:53:51 2007 http://www.host-14495.com/ Title: 14495 Wed Aug 1 09:54:01 2007 http://www.host-14496.com/ Title: 14496 Wed Aug 1 09:59:57 2007 http://host-14497.com/ Title: 14497 Wed Aug 1 10:00:30 2007 http://www.host-14498.com/ Title: 14498 Wed Aug 1 10:01:56 2007 http://host-14499.com/ Title: 14499 Wed Aug 1 10:02:07 2007 http://host-14500.com/ Title: 14500 Wed Aug 1 10:02:08 2007 http://host-14501.com/ Title: 14501 Wed Aug 1 10:02:32 2007 http://host-14502.com/ Title: 14502 Wed Aug 1 10:02:35 2007 http://www.host-14503.com/ Title: 14503 Wed Aug 1 10:02:39 2007 http://host-14504.com/ Title: 14504 Wed Aug 1 10:03:39 2007 http://host-14505.com/ Title: 14505 Wed Aug 1 10:03:40 2007 http://www.host-14506.com/ Title: 14506 Wed Aug 1 10:07:55 2007 http://host-14507.com/ Title: 14507 Wed Aug 1 10:07:57 2007 http://host-14508.com/ Title: 14508 Wed Aug 1 10:08:46 2007 http://host-14509.com/ Title: 14509 Wed Aug 1 10:09:13 2007 http://www.host-14510.com/ Title: 14510 Wed Aug 1 10:11:24 2007 http://host-14511.com/ Title: 14511 Wed Aug 1 10:11:33 2007 http://host-14512.com/ Title: 14512 Wed Aug 1 10:15:10 2007 http://host-14513.com/ Title: 14513 Wed Aug 1 10:15:13 2007 http://host-14514.com/ Title: 14514 Wed Aug 1 10:15:43 2007 http://www.host-14515.com/ Title: 14515 Wed Aug 1 10:16:34 2007 http://www.host-14516.com/ Title: 14516 Wed Aug 1 10:16:42 2007 http://host-14517.com/ Title: 14517 Wed Aug 1 10:25:02 2007 http://host-14518.com/ Title: 14518 Wed Aug 1 10:25:04 2007 http://host-14519.com/ Title: 14519 Wed Aug 1 10:34:16 2007 http://www.host-14520.com/ Title: 14520 Wed Aug 1 10:38:25 2007 http://host-14521.com/ Title: 14521 Wed Aug 1 10:38:30 2007 http://host-14522.com/ Title: 14522 Wed Aug 1 10:38:34 2007 http://www.host-14523.com/ Title: 14523 Wed Aug 1 10:41:20 2007 http://host-14524.com/ Title: 14524 Wed Aug 1 10:41:21 2007 http://host-14525.com/ Title: 14525 Wed Aug 1 10:42:35 2007 http://host-14526.com/ Title: 14526 Wed Aug 1 10:42:55 2007 http://www.host-14527.com/ Title: 14527 Wed Aug 1 10:43:09 2007 http://host-14528.com/ Title: 14528 Wed Aug 1 10:43:16 2007 http://www.host-14529.com/ Title: 14529 Wed Aug 1 10:45:54 2007 http://www.host-14530.com/ Title: 14530 Wed Aug 1 10:48:33 2007 http://host-14531.com/ Title: 14531 Wed Aug 1 10:48:37 2007 http://www.host-14532.com/ Title: 14532 Wed Aug 1 10:50:07 2007 http://www.host-14533.com/ Title: 14533 Wed Aug 1 10:54:37 2007 http://www.host-14534.com/ Title: 14534 Wed Aug 1 11:39:26 2007 http://host-14535.com/ Title: 14535 Wed Aug 1 11:39:48 2007 http://www.host-14536.com/ Title: 14536 Wed Aug 1 11:40:00 2007 http://host-14537.com/ Title: 14537 Wed Aug 1 11:41:10 2007 http://host-14538.com/ Title: 14538 Wed Aug 1 11:42:10 2007 http://host-14539.com/ Title: 14539 Wed Aug 1 11:42:53 2007 http://host-14540.com/ Title: 14540 Wed Aug 1 11:43:22 2007 http://www.host-14541.com/ Title: 14541 Wed Aug 1 11:43:27 2007 http://host-14542.com/ Title: 14542 Wed Aug 1 11:43:37 2007 http://www.host-14543.com/ Title: 14543 Wed Aug 1 11:53:26 2007 http://host-14544.com/ Title: 14544 Wed Aug 1 11:53:42 2007 http://host-14545.com/ Title: 14545 Wed Aug 1 11:54:09 2007 http://www.host-14546.com/ Title: 14546 Wed Aug 1 12:04:06 2007 http://www.host-14547.com/ Title: 14547 Wed Aug 1 12:04:08 2007 http://www.host-14548.com/ Title: 14548 Wed Aug 1 12:04:26 2007 http://www.host-14549.com/ Title: 14549 Wed Aug 1 12:04:33 2007 http://www.host-14550.com/ Title: 14550 Wed Aug 1 12:04:34 2007 http://host-14551.com/ Title: 14551 Wed Aug 1 12:07:06 2007 http://www.host-14552.com/ Title: 14552 Wed Aug 1 12:07:06 2007 http://www.host-14553.com/ Title: 14553 Wed Aug 1 12:07:07 2007 http://host-14554.com/ Title: 14554 Wed Aug 1 12:08:40 2007 http://www.host-14555.com/ Title: 14555 Wed Aug 1 12:08:41 2007 http://host-14556.com/ Title: 14556 Wed Aug 1 12:12:13 2007 http://host-14557.com/ Title: 14557 Wed Aug 1 12:12:35 2007 http://www.host-14558.com/ Title: 14558 Wed Aug 1 12:13:05 2007 http://www.host-14559.com/ Title: 14559 Wed Aug 1 12:13:10 2007 http://host-14560.com/ Title: 14560 Wed Aug 1 12:16:07 2007 http://host-14561.com/ Title: 14561 Wed Aug 1 12:21:14 2007 http://host-14562.com/ Title: 14562 Wed Aug 1 12:50:48 2007 http://host-14563.com/ Title: 14563 Wed Aug 1 12:50:53 2007 http://host-14564.com/ Title: 14564 Wed Aug 1 12:50:59 2007 http://www.host-14565.com/ Title: 14565 Wed Aug 1 12:52:06 2007 http://www.host-14566.com/ Title: 14566 Wed Aug 1 12:52:23 2007 http://www.host-14567.com/ Title: 14567 Wed Aug 1 12:52:25 2007 http://www.host-14568.com/ Title: 14568 Wed Aug 1 12:56:57 2007 http://host-14569.com/ Title: 14569 Wed Aug 1 13:01:19 2007 http://www.host-14570.com/ Title: 14570 Wed Aug 1 13:07:02 2007 http://host-14571.com/ Title: 14571 Wed Aug 1 13:07:08 2007 http://www.host-14572.com/ Title: 14572 Wed Aug 1 13:07:11 2007 http://host-14573.com/ Title: 14573 Wed Aug 1 13:07:14 2007 http://host-14574.com/ Title: 14574 Wed Aug 1 13:08:12 2007 http://host-14575.com/ Title: 14575 Wed Aug 1 13:08:15 2007 http://www.host-14576.com/ Title: 14576 Wed Aug 1 13:08:49 2007 http://host-14577.com/ Title: 14577 Wed Aug 1 13:09:01 2007 http://www.host-14578.com/ Title: 14578 Wed Aug 1 13:16:30 2007 http://host-14579.com/ Title: 14579 Wed Aug 1 13:16:38 2007 http://www.host-14580.com/ Title: 14580 Wed Aug 1 13:18:08 2007 http://www.host-14581.com/ Title: 14581 Wed Aug 1 13:48:41 2007 http://www.host-14582.com/ Title: 14582 Wed Aug 1 14:13:13 2007 http://www.host-14583.com/ Title: 14583 Wed Aug 1 14:13:19 2007 http://www.host-14584.com/ Title: 14584 Wed Aug 1 14:13:26 2007 http://host-14585.com/ Title: 14585 Wed Aug 1 14:14:28 2007 http://www.host-14586.com/ Title: 14586 Wed Aug 1 14:15:01 2007 http://host-14587.com/ Title: 14587 Wed Aug 1 14:15:23 2007 http://host-14588.com/ Title: 14588 Wed Aug 1 15:34:07 2007 http://www.host-14589.com/ Title: 14589 Wed Aug 1 16:29:33 2007 http://www.host-14590.com/ Title: 14590 Thu Aug 2 11:54:06 2007 http://www.host-14591.com/ Title: 14591 Thu Aug 2 11:54:10 2007 http://host-14592.com/ Title: 14592 Thu Aug 2 11:54:16 2007 http://www.host-14593.com/ Title: 14593 Thu Aug 2 11:57:00 2007 http://host-14594.com/ Title: 14594 Thu Aug 2 11:57:03 2007 http://www.host-14595.com/ Title: 14595 Thu Aug 2 12:21:08 2007 http://host-14596.com/ Title: 14596 Thu Aug 2 12:39:08 2007 http://host-14597.com/ Title: 14597 Thu Aug 2 12:43:58 2007 http://www.host-14598.com/ Title: 14598 Thu Aug 2 12:44:00 2007 http://host-14599.com/ Title: 14599 Thu Aug 2 12:44:05 2007 http://host-14600.com/ Title: 14600 Thu Aug 2 12:44:12 2007 http://www.host-14601.com/ Title: 14601 Thu Aug 2 12:44:15 2007 http://www.host-14602.com/ Title: 14602 Thu Aug 2 12:45:04 2007 http://host-14603.com/ Title: 14603 Thu Aug 2 12:45:07 2007 http://www.host-14604.com/ Title: 14604 Thu Aug 2 12:45:19 2007 http://host-14605.com/ Title: 14605 Thu Aug 2 12:45:27 2007 http://host-14606.com/ Title: 14606 Thu Aug 2 12:45:44 2007 http://host-14607.com/ Title: 14607 Thu Aug 2 12:45:50 2007 http://host-14608.com/ Title: 14608 Thu Aug 2 12:46:24 2007 http://www.host-14609.com/ Title: 14609 Thu Aug 2 12:46:42 2007 http://host-14610.com/ Title: 14610 Thu Aug 2 13:08:15 2007 http://host-14611.com/ Title: 14611 Thu Aug 2 13:08:40 2007 http://www.host-14612.com/ Title: 14612 Thu Aug 2 13:08:59 2007 http://host-14613.com/ Title: 14613 Thu Aug 2 13:10:54 2007 http://www.host-14614.com/ Title: 14614 Thu Aug 2 13:11:27 2007 http://www.host-14615.com/ Title: 14615 Thu Aug 2 13:11:35 2007 http://www.host-14616.com/ Title: 14616 Thu Aug 2 13:11:41 2007 http://host-14617.com/ Title: 14617 Thu Aug 2 13:11:50 2007 http://host-14618.com/ Title: 14618 Thu Aug 2 13:12:02 2007 http://host-14619.com/ Title: 14619 Thu Aug 2 13:12:09 2007 http://host-14620.com/ Title: 14620 Thu Aug 2 13:12:10 2007 http://host-14621.com/ Title: 14621 Thu Aug 2 13:12:51 2007 http://www.host-14622.com/ Title: 14622 Thu Aug 2 13:12:54 2007 http://host-14623.com/ Title: 14623 Thu Aug 2 13:13:04 2007 http://www.host-14624.com/ Title: 14624 Thu Aug 2 13:13:08 2007 http://host-14625.com/ Title: 14625 Thu Aug 2 13:13:28 2007 http://www.host-14626.com/ Title: 14626 Thu Aug 2 13:13:44 2007 http://host-14627.com/ Title: 14627 Thu Aug 2 13:13:52 2007 http://www.host-14628.com/ Title: 14628 Thu Aug 2 13:13:56 2007 http://host-14629.com/ Title: 14629 Thu Aug 2 13:14:02 2007 http://host-14630.com/ Title: 14630 Thu Aug 2 13:14:09 2007 http://host-14631.com/ Title: 14631 Thu Aug 2 13:14:34 2007 http://www.host-14632.com/ Title: 14632 Thu Aug 2 13:14:39 2007 http://host-14633.com/ Title: 14633 Thu Aug 2 13:14:47 2007 http://host-14634.com/ Title: 14634 Thu Aug 2 13:14:50 2007 http://www.host-14635.com/ Title: 14635 Thu Aug 2 13:14:51 2007 http://host-14636.com/ Title: 14636 Thu Aug 2 13:14:59 2007 http://www.host-14637.com/ Title: 14637 Thu Aug 2 13:15:02 2007 http://host-14638.com/ Title: 14638 Thu Aug 2 13:15:15 2007 http://host-14639.com/ Title: 14639 Thu Aug 2 13:15:20 2007 http://www.host-14640.com/ Title: 14640 Thu Aug 2 13:15:30 2007 http://host-14641.com/ Title: 14641 Thu Aug 2 13:15:35 2007 http://www.host-14642.com/ Title: 14642 Thu Aug 2 13:15:38 2007 http://host-14643.com/ Title: 14643 Thu Aug 2 13:16:29 2007 http://www.host-14644.com/ Title: 14644 Thu Aug 2 13:21:47 2007 http://host-14645.com/ Title: 14645 Thu Aug 2 13:21:49 2007 http://www.host-14646.com/ Title: 14646 Thu Aug 2 13:22:11 2007 http://host-14647.com/ Title: 14647 Thu Aug 2 13:22:43 2007 http://host-14648.com/ Title: 14648 Thu Aug 2 13:23:31 2007 http://host-14649.com/ Title: 14649 Thu Aug 2 13:24:16 2007 http://host-14650.com/ Title: 14650 Thu Aug 2 13:24:24 2007 http://host-14651.com/ Title: 14651 Thu Aug 2 13:24:29 2007 http://www.host-14652.com/ Title: 14652 Thu Aug 2 13:24:35 2007 http://www.host-14653.com/ Title: 14653 Thu Aug 2 13:24:39 2007 http://www.host-14654.com/ Title: 14654 Thu Aug 2 13:24:48 2007 http://www.host-14655.com/ Title: 14655 Thu Aug 2 13:25:46 2007 http://www.host-14656.com/ Title: 14656 Thu Aug 2 13:27:41 2007 http://host-14657.com/ Title: 14657 Thu Aug 2 13:27:42 2007 http://host-14658.com/ Title: 14658 Thu Aug 2 13:27:45 2007 http://www.host-14659.com/ Title: 14659 Thu Aug 2 13:27:46 2007 http://host-14660.com/ Title: 14660 Thu Aug 2 13:27:49 2007 http://host-14661.com/ Title: 14661 Thu Aug 2 13:28:15 2007 http://host-14662.com/ Title: 14662 Thu Aug 2 13:28:17 2007 http://www.host-14663.com/ Title: 14663 Thu Aug 2 13:28:18 2007 http://host-14664.com/ Title: 14664 Thu Aug 2 13:29:02 2007 http://www.host-14665.com/ Title: 14665 Thu Aug 2 13:29:06 2007 http://www.host-14666.com/ Title: 14666 Thu Aug 2 13:29:10 2007 http://www.host-14667.com/ Title: 14667 Thu Aug 2 13:29:13 2007 http://www.host-14668.com/ Title: 14668 Thu Aug 2 13:29:16 2007 http://host-14669.com/ Title: 14669 Thu Aug 2 13:29:18 2007 http://host-14670.com/ Title: 14670 Thu Aug 2 13:29:21 2007 http://www.host-14671.com/ Title: 14671 Thu Aug 2 13:29:25 2007 http://www.host-14672.com/ Title: 14672 Thu Aug 2 13:29:31 2007 http://www.host-14673.com/ Title: 14673 Thu Aug 2 13:29:33 2007 http://www.host-14674.com/ Title: 14674 Thu Aug 2 13:29:51 2007 http://host-14675.com/ Title: 14675 Thu Aug 2 13:29:52 2007 http://host-14676.com/ Title: 14676 Thu Aug 2 13:30:00 2007 http://host-14677.com/ Title: 14677 Thu Aug 2 13:30:07 2007 http://www.host-14678.com/ Title: 14678 Thu Aug 2 13:30:12 2007 http://www.host-14679.com/ Title: 14679 Thu Aug 2 13:30:14 2007 http://host-14680.com/ Title: 14680 Thu Aug 2 13:30:16 2007 http://host-14681.com/ Title: 14681 Thu Aug 2 13:30:32 2007 http://www.host-14682.com/ Title: 14682 Thu Aug 2 13:30:38 2007 http://host-14683.com/ Title: 14683 Thu Aug 2 13:30:39 2007 http://www.host-14684.com/ Title: 14684 Thu Aug 2 13:30:45 2007 http://host-14685.com/ Title: 14685 Thu Aug 2 13:30:48 2007 http://www.host-14686.com/ Title: 14686 Thu Aug 2 13:30:57 2007 http://host-14687.com/ Title: 14687 Thu Aug 2 13:30:58 2007 http://host-14688.com/ Title: 14688 Thu Aug 2 13:30:59 2007 http://host-14689.com/ Title: 14689 Thu Aug 2 13:31:00 2007 http://host-14690.com/ Title: 14690 Thu Aug 2 13:31:01 2007 http://host-14691.com/ Title: 14691 Thu Aug 2 13:31:02 2007 http://host-14692.com/ Title: 14692 Thu Aug 2 13:31:04 2007 http://host-14693.com/ Title: 14693 Thu Aug 2 13:31:06 2007 http://host-14694.com/ Title: 14694 Thu Aug 2 13:31:13 2007 http://www.host-14695.com/ Title: 14695 Thu Aug 2 13:31:15 2007 http://www.host-14696.com/ Title: 14696 Thu Aug 2 13:31:19 2007 http://www.host-14697.com/ Title: 14697 Thu Aug 2 13:31:21 2007 http://host-14698.com/ Title: 14698 Thu Aug 2 14:29:28 2007 http://host-14699.com/ Title: 14699 Thu Aug 2 14:40:42 2007 http://www.host-14700.com/ Title: 14700 Thu Aug 2 14:45:14 2007 http://www.host-14701.com/ Title: 14701 Thu Aug 2 14:45:35 2007 http://www.host-14702.com/ Title: 14702 Thu Aug 2 14:45:54 2007 http://www.host-14703.com/ Title: 14703 Thu Aug 2 14:46:08 2007 http://www.host-14704.com/ Title: 14704 Thu Aug 2 14:46:28 2007 http://host-14705.com/ Title: 14705 Thu Aug 2 14:46:59 2007 http://host-14706.com/ Title: 14706 Thu Aug 2 14:47:06 2007 http://host-14707.com/ Title: 14707 Thu Aug 2 14:47:18 2007 http://host-14708.com/ Title: 14708 Thu Aug 2 14:47:29 2007 http://www.host-14709.com/ Title: 14709 Thu Aug 2 14:47:29 2007 http://host-14710.com/ Title: 14710 Thu Aug 2 15:25:23 2007 http://www.host-14711.com/ Title: 14711 Fri Aug 3 09:56:59 2007 http://www.host-14712.com/ Title: 14712 Fri Aug 3 10:39:57 2007 http://www.host-14713.com/ Title: 14713 Fri Aug 3 10:43:19 2007 http://host-14714.com/ Title: 14714 Fri Aug 3 10:43:39 2007 http://host-14715.com/ Title: 14715 Fri Aug 3 10:44:36 2007 http://www.host-14716.com/ Title: 14716 Fri Aug 3 10:44:41 2007 http://host-14717.com/ Title: 14717 Fri Aug 3 10:44:47 2007 http://www.host-14718.com/ Title: 14718 Fri Aug 3 10:44:53 2007 http://host-14719.com/ Title: 14719 Fri Aug 3 10:45:15 2007 http://www.host-14720.com/ Title: 14720 Fri Aug 3 10:45:26 2007 http://www.host-14721.com/ Title: 14721 Fri Aug 3 10:45:32 2007 http://www.host-14722.com/ Title: 14722 Fri Aug 3 10:45:41 2007 http://www.host-14723.com/ Title: 14723 Fri Aug 3 10:45:45 2007 http://www.host-14724.com/ Title: 14724 Fri Aug 3 10:47:27 2007 http://www.host-14725.com/ Title: 14725 Fri Aug 3 11:47:52 2007 http://host-14726.com/ Title: 14726 Fri Aug 3 11:49:57 2007 http://www.host-14727.com/ Title: 14727 Fri Aug 3 11:51:05 2007 http://host-14728.com/ Title: 14728 Fri Aug 3 11:51:35 2007 http://host-14729.com/ Title: 14729 Fri Aug 3 11:51:44 2007 http://host-14730.com/ Title: 14730 Fri Aug 3 11:51:44 2007 http://host-14731.com/ Title: 14731 Fri Aug 3 11:52:10 2007 http://host-14732.com/ Title: 14732 Fri Aug 3 11:52:12 2007 http://www.host-14733.com/ Title: 14733 Fri Aug 3 11:52:37 2007 http://host-14734.com/ Title: 14734 Fri Aug 3 11:52:41 2007 http://host-14735.com/ Title: 14735 Fri Aug 3 11:53:00 2007 http://www.host-14736.com/ Title: 14736 Fri Aug 3 11:56:19 2007 http://www.host-14737.com/ Title: 14737 Fri Aug 3 11:56:23 2007 http://www.host-14738.com/ Title: 14738 Fri Aug 3 11:57:04 2007 http://www.host-14739.com/ Title: 14739 Fri Aug 3 11:57:10 2007 http://www.host-14740.com/ Title: 14740 Fri Aug 3 11:57:32 2007 http://host-14741.com/ Title: 14741 Fri Aug 3 12:19:07 2007 http://host-14742.com/ Title: 14742 Fri Aug 3 15:15:09 2007 http://www.host-14743.com/ Title: 14743 Fri Aug 3 15:15:10 2007 http://host-14744.com/ Title: 14744 Fri Aug 3 15:15:20 2007 http://www.host-14745.com/ Title: 14745 Fri Aug 3 15:15:21 2007 http://host-14746.com/ Title: 14746 Fri Aug 3 15:16:12 2007 http://host-14747.com/ Title: 14747 Fri Aug 3 15:17:25 2007 http://host-14748.com/ Title: 14748 Fri Aug 3 15:17:47 2007 http://www.host-14749.com/ Title: 14749 Fri Aug 3 15:19:47 2007 http://host-14750.com/ Title: 14750 Fri Aug 3 15:20:18 2007 http://www.host-14751.com/ Title: 14751 Fri Aug 3 15:20:18 2007 http://www.host-14752.com/ Title: 14752 Fri Aug 3 15:23:09 2007 http://host-14753.com/ Title: 14753 Fri Aug 3 15:23:22 2007 http://www.host-14754.com/ Title: 14754 Fri Aug 3 15:23:34 2007 http://host-14755.com/ Title: 14755 Fri Aug 3 15:27:35 2007 http://www.host-14756.com/ Title: 14756 Fri Aug 3 15:27:40 2007 http://host-14757.com/ Title: 14757 Fri Aug 3 15:30:26 2007 http://host-14758.com/ Title: 14758 Fri Aug 3 15:55:21 2007 http://www.host-14759.com/ Title: 14759 Fri Aug 3 16:10:57 2007 http://www.host-14760.com/ Title: 14760 Fri Aug 3 16:11:09 2007 http://host-14761.com/ Title: 14761 Fri Aug 3 16:11:32 2007 http://www.host-14762.com/ Title: 14762 Fri Aug 3 16:11:51 2007 http://host-14763.com/ Title: 14763 Fri Aug 3 16:11:56 2007 http://host-14764.com/ Title: 14764 Fri Aug 3 16:11:58 2007 http://host-14765.com/ Title: 14765 Fri Aug 3 16:12:00 2007 http://www.host-14766.com/ Title: 14766 Fri Aug 3 16:14:05 2007 http://www.host-14767.com/ Title: 14767 Fri Aug 3 16:14:15 2007 http://host-14768.com/ Title: 14768 Fri Aug 3 16:14:23 2007 http://host-14769.com/ Title: 14769 Fri Aug 3 16:18:52 2007 http://www.host-14770.com/ Title: 14770 Fri Aug 3 16:34:24 2007 http://www.host-14771.com/ Title: 14771 Fri Aug 3 16:37:24 2007 http://www.host-14772.com/ Title: 14772 Fri Aug 3 16:37:29 2007 http://host-14773.com/ Title: 14773 Fri Aug 3 16:37:30 2007 http://www.host-14774.com/ Title: 14774 Fri Aug 3 16:37:35 2007 http://host-14775.com/ Title: 14775 Fri Aug 3 16:44:32 2007 http://host-14776.com/ Title: 14776 Fri Aug 3 17:08:24 2007 http://host-14777.com/ Title: 14777 Fri Aug 3 17:13:21 2007 http://host-14778.com/ Title: 14778 Fri Aug 3 17:14:54 2007 http://host-14779.com/ Title: 14779 Fri Aug 3 17:14:55 2007 http://host-14780.com/ Title: 14780 Fri Aug 3 17:15:11 2007 http://host-14781.com/ Title: 14781 Fri Aug 3 17:15:14 2007 http://www.host-14782.com/ Title: 14782 Fri Aug 3 17:15:42 2007 http://www.host-14783.com/ Title: 14783 Fri Aug 3 17:15:48 2007 http://www.host-14784.com/ Title: 14784 Fri Aug 3 17:16:06 2007 http://www.host-14785.com/ Title: 14785 Fri Aug 3 17:16:42 2007 http://host-14786.com/ Title: 14786 Fri Aug 3 17:16:44 2007 http://host-14787.com/ Title: 14787 Fri Aug 3 17:17:03 2007 http://www.host-14788.com/ Title: 14788 Fri Aug 3 17:17:13 2007 http://host-14789.com/ Title: 14789 Fri Aug 3 17:17:15 2007 http://www.host-14790.com/ Title: 14790 Fri Aug 3 17:17:23 2007 http://host-14791.com/ Title: 14791 Fri Aug 3 17:17:43 2007 http://host-14792.com/ Title: 14792 Fri Aug 3 17:17:43 2007 http://host-14793.com/ Title: 14793 Fri Aug 3 17:18:18 2007 http://host-14794.com/ Title: 14794 Mon Aug 6 09:19:22 2007 http://www.host-14795.com/ Title: 14795 Mon Aug 6 09:19:36 2007 http://www.host-14796.com/ Title: 14796 Mon Aug 6 09:19:38 2007 http://host-14797.com/ Title: 14797 Mon Aug 6 09:20:08 2007 http://host-14798.com/ Title: 14798 Mon Aug 6 09:38:32 2007 http://host-14799.com/ Title: 14799 Mon Aug 6 10:02:22 2007 http://www.host-14800.com/ Title: 14800 Mon Aug 6 10:04:21 2007 http://host-14801.com/ Title: 14801 Mon Aug 6 10:08:55 2007 http://www.host-14802.com/ Title: 14802 Mon Aug 6 10:09:02 2007 http://www.host-14803.com/ Title: 14803 Mon Aug 6 10:09:03 2007 http://host-14804.com/ Title: 14804 Mon Aug 6 10:09:32 2007 http://host-14805.com/ Title: 14805 Mon Aug 6 10:15:05 2007 http://host-14806.com/ Title: 14806 Mon Aug 6 10:15:18 2007 http://www.host-14807.com/ Title: 14807 Mon Aug 6 10:24:26 2007 http://www.host-14808.com/ Title: 14808 Mon Aug 6 10:24:31 2007 http://host-14809.com/ Title: 14809 Mon Aug 6 10:24:33 2007 http://host-14810.com/ Title: 14810 Mon Aug 6 10:27:28 2007 http://host-14811.com/ Title: 14811 Mon Aug 6 11:29:36 2007 http://www.host-14812.com/ Title: 14812 Mon Aug 6 11:29:39 2007 http://host-14813.com/ Title: 14813 Mon Aug 6 11:29:48 2007 http://host-14814.com/ Title: 14814 Mon Aug 6 11:29:49 2007 http://www.host-14815.com/ Title: 14815 Mon Aug 6 11:33:27 2007 http://www.host-14816.com/ Title: 14816 Mon Aug 6 11:33:33 2007 http://www.host-14817.com/ Title: 14817 Mon Aug 6 11:41:13 2007 http://www.host-14818.com/ Title: 14818 Mon Aug 6 11:41:19 2007 http://host-14819.com/ Title: 14819 Mon Aug 6 11:41:19 2007 http://www.host-14820.com/ Title: 14820 Mon Aug 6 11:41:23 2007 http://host-14821.com/ Title: 14821 Mon Aug 6 11:43:22 2007 http://host-14822.com/ Title: 14822 Mon Aug 6 11:43:24 2007 http://host-14823.com/ Title: 14823 Mon Aug 6 11:43:29 2007 http://www.host-14824.com/ Title: 14824 Mon Aug 6 11:43:50 2007 http://host-14825.com/ Title: 14825 Mon Aug 6 11:43:53 2007 http://host-14826.com/ Title: 14826 Mon Aug 6 11:43:56 2007 http://host-14827.com/ Title: 14827 Mon Aug 6 11:54:33 2007 http://www.host-14828.com/ Title: 14828 Mon Aug 6 11:55:35 2007 http://host-14829.com/ Title: 14829 Mon Aug 6 12:13:06 2007 http://www.host-14830.com/ Title: 14830 Mon Aug 6 12:13:08 2007 http://www.host-14831.com/ Title: 14831 Mon Aug 6 12:13:34 2007 http://www.host-14832.com/ Title: 14832 Mon Aug 6 12:13:53 2007 http://host-14833.com/ Title: 14833 Mon Aug 6 12:14:12 2007 http://host-14834.com/ Title: 14834 Mon Aug 6 12:14:13 2007 http://host-14835.com/ Title: 14835 Mon Aug 6 12:15:46 2007 http://host-14836.com/ Title: 14836 Mon Aug 6 12:19:31 2007 http://www.host-14837.com/ Title: 14837 Mon Aug 6 12:34:05 2007 http://www.host-14838.com/ Title: 14838 Mon Aug 6 13:44:52 2007 http://host-14839.com/ Title: 14839 Mon Aug 6 13:45:11 2007 http://host-14840.com/ Title: 14840 Mon Aug 6 13:46:02 2007 http://www.host-14841.com/ Title: 14841 Mon Aug 6 13:46:20 2007 http://host-14842.com/ Title: 14842 Mon Aug 6 13:46:22 2007 http://www.host-14843.com/ Title: 14843 Mon Aug 6 13:46:37 2007 http://www.host-14844.com/ Title: 14844 Mon Aug 6 13:46:38 2007 http://www.host-14845.com/ Title: 14845 Mon Aug 6 13:47:09 2007 http://www.host-14846.com/ Title: 14846 Mon Aug 6 13:47:14 2007 http://host-14847.com/ Title: 14847 Mon Aug 6 13:47:31 2007 http://www.host-14848.com/ Title: 14848 Mon Aug 6 13:51:23 2007 http://www.host-14849.com/ Title: 14849 Mon Aug 6 13:52:22 2007 http://www.host-14850.com/ Title: 14850 Mon Aug 6 13:52:23 2007 http://host-14851.com/ Title: 14851 Mon Aug 6 13:53:50 2007 http://host-14852.com/ Title: 14852 Mon Aug 6 13:53:54 2007 http://www.host-14853.com/ Title: 14853 Mon Aug 6 13:54:20 2007 http://host-14854.com/ Title: 14854 Mon Aug 6 13:54:22 2007 http://host-14855.com/ Title: 14855 Mon Aug 6 13:55:10 2007 http://host-14856.com/ Title: 14856 Mon Aug 6 13:56:29 2007 http://host-14857.com/ Title: 14857 Mon Aug 6 13:56:34 2007 http://host-14858.com/ Title: 14858 Mon Aug 6 13:56:37 2007 http://www.host-14859.com/ Title: 14859 Mon Aug 6 14:05:35 2007 http://www.host-14860.com/ Title: 14860 Mon Aug 6 14:05:37 2007 http://host-14861.com/ Title: 14861 Mon Aug 6 14:11:26 2007 http://host-14862.com/ Title: 14862 Mon Aug 6 14:44:52 2007 http://www.host-14863.com/ Title: 14863 Mon Aug 6 14:45:27 2007 http://host-14864.com/ Title: 14864 Mon Aug 6 14:45:47 2007 http://host-14865.com/ Title: 14865 Mon Aug 6 14:46:01 2007 http://www.host-14866.com/ Title: 14866 Mon Aug 6 14:46:20 2007 http://www.host-14867.com/ Title: 14867 Mon Aug 6 14:56:14 2007 http://host-14868.com/ Title: 14868 Mon Aug 6 14:56:20 2007 http://www.host-14869.com/ Title: 14869 Mon Aug 6 15:17:18 2007 http://www.host-14870.com/ Title: 14870 Mon Aug 6 15:17:25 2007 http://www.host-14871.com/ Title: 14871 Mon Aug 6 15:17:37 2007 http://www.host-14872.com/ Title: 14872 Mon Aug 6 15:41:41 2007 http://host-14873.com/ Title: 14873 Mon Aug 6 15:42:24 2007 http://host-14874.com/ Title: 14874 Mon Aug 6 15:42:40 2007 http://www.host-14875.com/ Title: 14875 Mon Aug 6 15:44:35 2007 http://host-14876.com/ Title: 14876 Mon Aug 6 15:44:36 2007 http://host-14877.com/ Title: 14877 Mon Aug 6 17:21:47 2007 http://www.host-14878.com/ Title: 14878 Mon Aug 6 17:22:20 2007 http://www.host-14879.com/ Title: 14879 Mon Aug 6 17:22:52 2007 http://host-14880.com/ Title: 14880 Mon Aug 6 17:23:01 2007 http://www.host-14881.com/ Title: 14881 Tue Aug 7 09:33:51 2007 http://www.host-14882.com/ Title: 14882 Tue Aug 7 09:34:27 2007 http://www.host-14883.com/ Title: 14883 Tue Aug 7 09:35:24 2007 http://host-14884.com/ Title: 14884 Tue Aug 7 10:10:19 2007 http://host-14885.com/ Title: 14885 Tue Aug 7 10:10:21 2007 http://host-14886.com/ Title: 14886 Tue Aug 7 10:12:58 2007 http://www.host-14887.com/ Title: 14887 Tue Aug 7 10:23:46 2007 http://host-14888.com/ Title: 14888 Tue Aug 7 10:25:08 2007 http://host-14889.com/ Title: 14889 Tue Aug 7 11:51:02 2007 http://www.host-14890.com/ Title: 14890 Tue Aug 7 11:51:35 2007 http://host-14891.com/ Title: 14891 Tue Aug 7 11:51:48 2007 http://www.host-14892.com/ Title: 14892 Tue Aug 7 11:52:20 2007 http://www.host-14893.com/ Title: 14893 Tue Aug 7 11:52:25 2007 http://www.host-14894.com/ Title: 14894 Tue Aug 7 12:06:31 2007 http://www.host-14895.com/ Title: 14895 Tue Aug 7 12:11:13 2007 http://www.host-14896.com/ Title: 14896 Tue Aug 7 12:11:18 2007 http://host-14897.com/ Title: 14897 Tue Aug 7 12:17:00 2007 http://www.host-14898.com/ Title: 14898 Tue Aug 7 12:17:32 2007 http://www.host-14899.com/ Title: 14899 Tue Aug 7 12:40:38 2007 http://host-14900.com/ Title: 14900 Tue Aug 7 12:40:39 2007 http://www.host-14901.com/ Title: 14901 Tue Aug 7 12:40:54 2007 http://host-14902.com/ Title: 14902 Tue Aug 7 12:41:04 2007 http://www.host-14903.com/ Title: 14903 Tue Aug 7 12:41:27 2007 http://host-14904.com/ Title: 14904 Tue Aug 7 13:24:35 2007 http://www.host-14905.com/ Title: 14905 Tue Aug 7 13:57:57 2007 http://host-14906.com/ Title: 14906 Tue Aug 7 13:58:02 2007 http://host-14907.com/ Title: 14907 Tue Aug 7 14:06:25 2007 http://www.host-14908.com/ Title: 14908 Tue Aug 7 14:08:03 2007 http://host-14909.com/ Title: 14909 Tue Aug 7 14:08:29 2007 http://host-14910.com/ Title: 14910 Tue Aug 7 14:08:36 2007 http://host-14911.com/ Title: 14911 Tue Aug 7 14:14:32 2007 http://host-14912.com/ Title: 14912 Tue Aug 7 14:24:31 2007 http://www.host-14913.com/ Title: 14913 Tue Aug 7 14:25:06 2007 http://www.host-14914.com/ Title: 14914 Tue Aug 7 14:26:07 2007 http://host-14915.com/ Title: 14915 Tue Aug 7 14:26:12 2007 http://www.host-14916.com/ Title: 14916 Tue Aug 7 14:26:35 2007 http://host-14917.com/ Title: 14917 Tue Aug 7 14:28:29 2007 http://www.host-14918.com/ Title: 14918 Tue Aug 7 14:28:36 2007 http://www.host-14919.com/ Title: 14919 Tue Aug 7 14:28:39 2007 http://www.host-14920.com/ Title: 14920 Tue Aug 7 14:28:45 2007 http://www.host-14921.com/ Title: 14921 Tue Aug 7 14:28:48 2007 http://host-14922.com/ Title: 14922 Tue Aug 7 14:28:55 2007 http://www.host-14923.com/ Title: 14923 Tue Aug 7 14:28:58 2007 http://host-14924.com/ Title: 14924 Tue Aug 7 14:29:00 2007 http://host-14925.com/ Title: 14925 Tue Aug 7 14:29:04 2007 http://host-14926.com/ Title: 14926 Tue Aug 7 14:43:29 2007 http://www.host-14927.com/ Title: 14927 Tue Aug 7 14:43:45 2007 http://www.host-14928.com/ Title: 14928 Tue Aug 7 14:45:31 2007 http://host-14929.com/ Title: 14929 Tue Aug 7 15:14:43 2007 http://host-14930.com/ Title: 14930 Tue Aug 7 15:14:46 2007 http://www.host-14931.com/ Title: 14931 Tue Aug 7 16:16:30 2007 http://www.host-14932.com/ Title: 14932 Tue Aug 7 16:16:57 2007 http://host-14933.com/ Title: 14933 Tue Aug 7 16:27:11 2007 http://www.host-14934.com/ Title: 14934 Tue Aug 7 16:29:17 2007 http://www.host-14935.com/ Title: 14935 Tue Aug 7 16:29:33 2007 http://www.host-14936.com/ Title: 14936 Tue Aug 7 16:38:34 2007 http://host-14937.com/ Title: 14937 Tue Aug 7 16:38:39 2007 http://www.host-14938.com/ Title: 14938 Tue Aug 7 16:48:42 2007 http://host-14939.com/ Title: 14939 Tue Aug 7 16:48:55 2007 http://host-14940.com/ Title: 14940 Tue Aug 7 16:48:58 2007 http://www.host-14941.com/ Title: 14941 Tue Aug 7 16:49:13 2007 http://www.host-14942.com/ Title: 14942 Tue Aug 7 16:50:08 2007 http://www.host-14943.com/ Title: 14943 Tue Aug 7 16:50:11 2007 http://host-14944.com/ Title: 14944 Tue Aug 7 16:50:15 2007 http://www.host-14945.com/ Title: 14945 Tue Aug 7 16:50:16 2007 http://host-14946.com/ Title: 14946 Tue Aug 7 16:50:21 2007 http://host-14947.com/ Title: 14947 Tue Aug 7 16:54:04 2007 http://host-14948.com/ Title: 14948 Thu Aug 9 09:13:02 2007 http://host-14949.com/ Title: 14949 Thu Aug 9 10:04:46 2007 http://www.host-14950.com/ Title: 14950 Thu Aug 9 10:34:28 2007 http://www.host-14951.com/ Title: 14951 Thu Aug 9 10:34:38 2007 http://host-14952.com/ Title: 14952 Thu Aug 9 10:35:23 2007 http://host-14953.com/ Title: 14953 Thu Aug 9 10:36:35 2007 http://www.host-14954.com/ Title: 14954 Thu Aug 9 10:39:55 2007 http://www.host-14955.com/ Title: 14955 Thu Aug 9 12:26:29 2007 http://www.host-14956.com/ Title: 14956 Thu Aug 9 12:26:49 2007 http://www.host-14957.com/ Title: 14957 Thu Aug 9 12:33:05 2007 http://host-14958.com/ Title: 14958 Thu Aug 9 12:33:12 2007 http://host-14959.com/ Title: 14959 Thu Aug 9 12:39:42 2007 http://www.host-14960.com/ Title: 14960 Thu Aug 9 12:39:45 2007 http://www.host-14961.com/ Title: 14961 Thu Aug 9 12:39:47 2007 http://host-14962.com/ Title: 14962 Thu Aug 9 12:40:01 2007 http://www.host-14963.com/ Title: 14963 Thu Aug 9 12:40:05 2007 http://host-14964.com/ Title: 14964 Thu Aug 9 12:49:45 2007 http://host-14965.com/ Title: 14965 Thu Aug 9 12:52:53 2007 http://www.host-14966.com/ Title: 14966 Thu Aug 9 13:00:04 2007 http://www.host-14967.com/ Title: 14967 Thu Aug 9 13:01:10 2007 http://host-14968.com/ Title: 14968 Thu Aug 9 13:40:23 2007 http://www.host-14969.com/ Title: 14969 Thu Aug 9 13:40:25 2007 http://host-14970.com/ Title: 14970 Thu Aug 9 14:22:54 2007 http://www.host-14971.com/ Title: 14971 Thu Aug 9 14:23:38 2007 http://www.host-14972.com/ Title: 14972 Thu Aug 9 14:23:43 2007 http://www.host-14973.com/ Title: 14973 Thu Aug 9 14:26:57 2007 http://www.host-14974.com/ Title: 14974 Thu Aug 9 14:49:41 2007 http://host-14975.com/ Title: 14975 Thu Aug 9 14:49:50 2007 http://host-14976.com/ Title: 14976 Thu Aug 9 14:49:51 2007 http://host-14977.com/ Title: 14977 Thu Aug 9 14:49:57 2007 http://www.host-14978.com/ Title: 14978 Thu Aug 9 14:51:22 2007 http://host-14979.com/ Title: 14979 Thu Aug 9 14:53:46 2007 http://www.host-14980.com/ Title: 14980 Thu Aug 9 14:53:47 2007 http://www.host-14981.com/ Title: 14981 Thu Aug 9 14:53:50 2007 http://host-14982.com/ Title: 14982 Thu Aug 9 14:56:49 2007 http://www.host-14983.com/ Title: 14983 Thu Aug 9 14:57:40 2007 http://host-14984.com/ Title: 14984 Thu Aug 9 14:57:55 2007 http://host-14985.com/ Title: 14985 Thu Aug 9 15:08:05 2007 http://host-14986.com/ Title: 14986 Thu Aug 9 15:08:06 2007 http://www.host-14987.com/ Title: 14987 Thu Aug 9 15:14:34 2007 http://host-14988.com/ Title: 14988 Thu Aug 9 15:14:42 2007 http://host-14989.com/ Title: 14989 Thu Aug 9 15:17:11 2007 http://host-14990.com/ Title: 14990 Thu Aug 9 15:17:53 2007 http://www.host-14991.com/ Title: 14991 Thu Aug 9 15:18:37 2007 http://www.host-14992.com/ Title: 14992 Thu Aug 9 15:18:59 2007 http://host-14993.com/ Title: 14993 Thu Aug 9 15:19:02 2007 http://host-14994.com/ Title: 14994 Thu Aug 9 15:21:50 2007 http://www.host-14995.com/ Title: 14995 Thu Aug 9 15:22:24 2007 http://www.host-14996.com/ Title: 14996 Thu Aug 9 15:22:29 2007 http://www.host-14997.com/ Title: 14997 Thu Aug 9 15:22:54 2007 http://www.host-14998.com/ Title: 14998 Thu Aug 9 15:22:55 2007 http://host-14999.com/ Title: 14999 Thu Aug 9 15:23:38 2007 http://www.host-15000.com/ Title: 15000 Thu Aug 9 15:41:29 2007 http://www.host-15001.com/ Title: 15001 Thu Aug 9 15:42:01 2007 http://www.host-15002.com/ Title: 15002 Thu Aug 9 15:42:29 2007 http://host-15003.com/ Title: 15003 Thu Aug 9 15:46:52 2007 http://www.host-15004.com/ Title: 15004 Thu Aug 9 15:47:07 2007 http://www.host-15005.com/ Title: 15005 Thu Aug 9 15:48:32 2007 http://host-15006.com/ Title: 15006 Thu Aug 9 15:48:35 2007 http://www.host-15007.com/ Title: 15007 Thu Aug 9 15:48:37 2007 http://www.host-15008.com/ Title: 15008 Thu Aug 9 15:48:38 2007 http://host-15009.com/ Title: 15009 Thu Aug 9 15:57:12 2007 http://www.host-15010.com/ Title: 15010 Thu Aug 9 15:59:10 2007 http://www.host-15011.com/ Title: 15011 Thu Aug 9 15:59:19 2007 http://host-15012.com/ Title: 15012 Thu Aug 9 15:59:32 2007 http://host-15013.com/ Title: 15013 Thu Aug 9 15:59:41 2007 http://host-15014.com/ Title: 15014 Thu Aug 9 16:00:00 2007 http://www.host-15015.com/ Title: 15015 Thu Aug 9 16:00:08 2007 http://host-15016.com/ Title: 15016 Thu Aug 9 16:00:27 2007 http://host-15017.com/ Title: 15017 Thu Aug 9 16:00:56 2007 http://www.host-15018.com/ Title: 15018 Thu Aug 9 16:00:58 2007 http://www.host-15019.com/ Title: 15019 Thu Aug 9 16:01:03 2007 http://host-15020.com/ Title: 15020 Thu Aug 9 16:01:11 2007 http://www.host-15021.com/ Title: 15021 Thu Aug 9 16:02:08 2007 http://www.host-15022.com/ Title: 15022 Thu Aug 9 16:02:21 2007 http://www.host-15023.com/ Title: 15023 Thu Aug 9 16:02:31 2007 http://host-15024.com/ Title: 15024 Thu Aug 9 16:02:39 2007 http://www.host-15025.com/ Title: 15025 Thu Aug 9 16:02:47 2007 http://host-15026.com/ Title: 15026 Thu Aug 9 16:02:56 2007 http://www.host-15027.com/ Title: 15027 Thu Aug 9 16:03:06 2007 http://host-15028.com/ Title: 15028 Thu Aug 9 16:03:19 2007 http://www.host-15029.com/ Title: 15029 Thu Aug 9 16:03:28 2007 http://host-15030.com/ Title: 15030 Thu Aug 9 16:03:35 2007 http://host-15031.com/ Title: 15031 Thu Aug 9 16:18:59 2007 http://www.host-15032.com/ Title: 15032 Thu Aug 9 16:24:53 2007 http://host-15033.com/ Title: 15033 Thu Aug 9 16:24:56 2007 http://host-15034.com/ Title: 15034 Thu Aug 9 16:25:09 2007 http://host-15035.com/ Title: 15035 Thu Aug 9 16:25:27 2007 http://www.host-15036.com/ Title: 15036 Thu Aug 9 16:35:17 2007 http://host-15037.com/ Title: 15037 Thu Aug 9 17:15:37 2007 http://host-15038.com/ Title: 15038 Thu Aug 9 17:15:46 2007 http://www.host-15039.com/ Title: 15039 Thu Aug 9 17:15:58 2007 http://www.host-15040.com/ Title: 15040 Thu Aug 9 17:16:10 2007 http://www.host-15041.com/ Title: 15041 Thu Aug 9 17:16:18 2007 http://host-15042.com/ Title: 15042 Thu Aug 9 17:19:34 2007 http://host-15043.com/ Title: 15043 Thu Aug 9 17:19:45 2007 http://www.host-15044.com/ Title: 15044 Thu Aug 9 17:19:50 2007 http://host-15045.com/ Title: 15045 Thu Aug 9 17:19:53 2007 http://www.host-15046.com/ Title: 15046 Thu Aug 9 17:19:57 2007 http://host-15047.com/ Title: 15047 Thu Aug 9 17:23:55 2007 http://www.host-15048.com/ Title: 15048 Thu Aug 9 17:23:55 2007 http://host-15049.com/ Title: 15049 Thu Aug 9 17:24:07 2007 http://www.host-15050.com/ Title: 15050 Thu Aug 9 17:24:22 2007 http://host-15051.com/ Title: 15051 Thu Aug 9 17:26:59 2007 http://www.host-15052.com/ Title: 15052 Thu Aug 9 17:27:03 2007 http://www.host-15053.com/ Title: 15053 Fri Aug 10 08:31:45 2007 http://www.host-15054.com/ Title: 15054 Fri Aug 10 08:32:43 2007 http://host-15055.com/ Title: 15055 Fri Aug 10 08:35:02 2007 http://host-15056.com/ Title: 15056 Fri Aug 10 08:35:08 2007 http://www.host-15057.com/ Title: 15057 Fri Aug 10 08:35:09 2007 http://host-15058.com/ Title: 15058 Fri Aug 10 08:35:18 2007 http://host-15059.com/ Title: 15059 Fri Aug 10 08:35:19 2007 http://www.host-15060.com/ Title: 15060 Fri Aug 10 08:52:16 2007 http://www.host-15061.com/ Title: 15061 Fri Aug 10 08:52:28 2007 http://host-15062.com/ Title: 15062 Fri Aug 10 08:52:35 2007 http://host-15063.com/ Title: 15063 Fri Aug 10 08:53:02 2007 http://www.host-15064.com/ Title: 15064 Fri Aug 10 08:53:08 2007 http://www.host-15065.com/ Title: 15065 Fri Aug 10 08:53:13 2007 http://www.host-15066.com/ Title: 15066 Fri Aug 10 08:53:19 2007 http://www.host-15067.com/ Title: 15067 Fri Aug 10 08:53:31 2007 http://host-15068.com/ Title: 15068 Fri Aug 10 08:53:36 2007 http://www.host-15069.com/ Title: 15069 Fri Aug 10 08:53:41 2007 http://host-15070.com/ Title: 15070 Fri Aug 10 08:53:50 2007 http://host-15071.com/ Title: 15071 Fri Aug 10 08:54:10 2007 http://www.host-15072.com/ Title: 15072 Fri Aug 10 08:56:43 2007 http://www.host-15073.com/ Title: 15073 Fri Aug 10 08:56:52 2007 http://host-15074.com/ Title: 15074 Fri Aug 10 08:56:55 2007 http://host-15075.com/ Title: 15075 Fri Aug 10 08:57:39 2007 http://www.host-15076.com/ Title: 15076 Fri Aug 10 09:02:07 2007 http://www.host-15077.com/ Title: 15077 Fri Aug 10 09:02:19 2007 http://host-15078.com/ Title: 15078 Fri Aug 10 09:05:27 2007 http://host-15079.com/ Title: 15079 Fri Aug 10 09:29:54 2007 http://www.host-15080.com/ Title: 15080 Fri Aug 10 09:40:28 2007 http://www.host-15081.com/ Title: 15081 Fri Aug 10 09:40:29 2007 http://www.host-15082.com/ Title: 15082 Fri Aug 10 09:41:16 2007 http://www.host-15083.com/ Title: 15083 Fri Aug 10 09:41:18 2007 http://host-15084.com/ Title: 15084 Fri Aug 10 09:51:30 2007 http://host-15085.com/ Title: 15085 Fri Aug 10 09:51:39 2007 http://www.host-15086.com/ Title: 15086 Fri Aug 10 09:51:43 2007 http://www.host-15087.com/ Title: 15087 Fri Aug 10 09:51:46 2007 http://host-15088.com/ Title: 15088 Fri Aug 10 09:51:47 2007 http://host-15089.com/ Title: 15089 Fri Aug 10 09:53:54 2007 http://www.host-15090.com/ Title: 15090 Fri Aug 10 09:53:58 2007 http://www.host-15091.com/ Title: 15091 Fri Aug 10 09:54:04 2007 http://host-15092.com/ Title: 15092 Fri Aug 10 10:02:24 2007 http://host-15093.com/ Title: 15093 Fri Aug 10 10:02:31 2007 http://www.host-15094.com/ Title: 15094 Fri Aug 10 10:02:32 2007 http://www.host-15095.com/ Title: 15095 Fri Aug 10 10:02:36 2007 http://www.host-15096.com/ Title: 15096 Fri Aug 10 10:02:41 2007 http://www.host-15097.com/ Title: 15097 Fri Aug 10 10:03:48 2007 http://host-15098.com/ Title: 15098 Fri Aug 10 10:03:53 2007 http://host-15099.com/ Title: 15099 Fri Aug 10 10:03:57 2007 http://www.host-15100.com/ Title: 15100 Fri Aug 10 10:04:02 2007 http://host-15101.com/ Title: 15101 Fri Aug 10 10:04:16 2007 http://www.host-15102.com/ Title: 15102 Fri Aug 10 10:04:19 2007 http://host-15103.com/ Title: 15103 Fri Aug 10 10:04:23 2007 http://host-15104.com/ Title: 15104 Fri Aug 10 10:04:26 2007 http://host-15105.com/ Title: 15105 Fri Aug 10 10:04:30 2007 http://www.host-15106.com/ Title: 15106 Fri Aug 10 10:04:32 2007 http://www.host-15107.com/ Title: 15107 Fri Aug 10 10:04:33 2007 http://www.host-15108.com/ Title: 15108 Fri Aug 10 10:12:56 2007 http://www.host-15109.com/ Title: 15109 Fri Aug 10 10:13:07 2007 http://host-15110.com/ Title: 15110 Fri Aug 10 10:48:04 2007 http://host-15111.com/ Title: 15111 Fri Aug 10 11:50:24 2007 http://host-15112.com/ Title: 15112 Fri Aug 10 11:50:36 2007 http://www.host-15113.com/ Title: 15113 Fri Aug 10 11:51:23 2007 http://host-15114.com/ Title: 15114 Fri Aug 10 11:51:35 2007 http://host-15115.com/ Title: 15115 Fri Aug 10 11:51:49 2007 http://www.host-15116.com/ Title: 15116 Fri Aug 10 11:51:51 2007 http://www.host-15117.com/ Title: 15117 Fri Aug 10 12:04:19 2007 http://host-15118.com/ Title: 15118 Fri Aug 10 12:04:24 2007 http://host-15119.com/ Title: 15119 Fri Aug 10 12:05:10 2007 http://www.host-15120.com/ Title: 15120 Fri Aug 10 12:05:24 2007 http://www.host-15121.com/ Title: 15121 Fri Aug 10 12:05:29 2007 http://www.host-15122.com/ Title: 15122 Fri Aug 10 12:06:30 2007 http://host-15123.com/ Title: 15123 Fri Aug 10 12:06:33 2007 http://host-15124.com/ Title: 15124 Fri Aug 10 13:01:35 2007 http://www.host-15125.com/ Title: 15125 Fri Aug 10 13:02:49 2007 http://www.host-15126.com/ Title: 15126 Fri Aug 10 13:21:34 2007 http://host-15127.com/ Title: 15127 Fri Aug 10 13:31:48 2007 http://host-15128.com/ Title: 15128 Fri Aug 10 13:31:57 2007 http://host-15129.com/ Title: 15129 Fri Aug 10 13:46:10 2007 http://www.host-15130.com/ Title: 15130 Fri Aug 10 13:46:13 2007 http://www.host-15131.com/ Title: 15131 Fri Aug 10 13:46:14 2007 http://www.host-15132.com/ Title: 15132 Fri Aug 10 13:46:53 2007 http://www.host-15133.com/ Title: 15133 Fri Aug 10 13:47:43 2007 http://www.host-15134.com/ Title: 15134 Fri Aug 10 13:48:15 2007 http://www.host-15135.com/ Title: 15135 Fri Aug 10 14:13:06 2007 http://www.host-15136.com/ Title: 15136 Fri Aug 10 14:13:12 2007 http://www.host-15137.com/ Title: 15137 Fri Aug 10 14:20:58 2007 http://www.host-15138.com/ Title: 15138 Fri Aug 10 14:22:30 2007 http://host-15139.com/ Title: 15139 Fri Aug 10 14:29:10 2007 http://host-15140.com/ Title: 15140 Fri Aug 10 14:47:47 2007 http://www.host-15141.com/ Title: 15141 Fri Aug 10 14:48:29 2007 http://www.host-15142.com/ Title: 15142 Fri Aug 10 15:10:21 2007 http://www.host-15143.com/ Title: 15143 Fri Aug 10 15:47:25 2007 http://host-15144.com/ Title: 15144 Fri Aug 10 16:06:53 2007 http://host-15145.com/ Title: 15145 Fri Aug 10 16:07:00 2007 http://host-15146.com/ Title: 15146 Fri Aug 10 16:07:01 2007 http://www.host-15147.com/ Title: 15147 Fri Aug 10 16:08:06 2007 http://www.host-15148.com/ Title: 15148 Fri Aug 10 16:08:07 2007 http://www.host-15149.com/ Title: 15149 Fri Aug 10 16:08:16 2007 http://host-15150.com/ Title: 15150 Fri Aug 10 16:08:17 2007 http://www.host-15151.com/ Title: 15151 Fri Aug 10 16:20:55 2007 http://host-15152.com/ Title: 15152 Fri Aug 10 16:57:36 2007 http://www.host-15153.com/ Title: 15153 Fri Aug 10 16:59:16 2007 http://www.host-15154.com/ Title: 15154 Fri Aug 10 17:03:15 2007 http://host-15155.com/ Title: 15155 Fri Aug 10 17:03:17 2007 http://host-15156.com/ Title: 15156 Fri Aug 10 17:25:26 2007 http://www.host-15157.com/ Title: 15157 Fri Aug 10 17:25:30 2007 http://www.host-15158.com/ Title: 15158 Mon Aug 13 09:10:15 2007 http://www.host-15159.com/ Title: 15159 Mon Aug 13 09:10:38 2007 http://host-15160.com/ Title: 15160 Mon Aug 13 09:13:34 2007 http://host-15161.com/ Title: 15161 Mon Aug 13 09:13:45 2007 http://www.host-15162.com/ Title: 15162 Mon Aug 13 09:13:48 2007 http://host-15163.com/ Title: 15163 Mon Aug 13 09:13:57 2007 http://www.host-15164.com/ Title: 15164 Mon Aug 13 09:14:08 2007 http://www.host-15165.com/ Title: 15165 Mon Aug 13 09:14:24 2007 http://host-15166.com/ Title: 15166 Mon Aug 13 09:14:29 2007 http://host-15167.com/ Title: 15167 Mon Aug 13 09:14:45 2007 http://host-15168.com/ Title: 15168 Mon Aug 13 09:15:56 2007 http://www.host-15169.com/ Title: 15169 Mon Aug 13 09:16:21 2007 http://host-15170.com/ Title: 15170 Mon Aug 13 09:16:26 2007 http://www.host-15171.com/ Title: 15171 Mon Aug 13 10:32:52 2007 http://www.host-15172.com/ Title: 15172 Mon Aug 13 10:37:50 2007 http://host-15173.com/ Title: 15173 Mon Aug 13 10:38:02 2007 http://host-15174.com/ Title: 15174 Mon Aug 13 10:38:36 2007 http://host-15175.com/ Title: 15175 Mon Aug 13 10:44:05 2007 http://host-15176.com/ Title: 15176 Mon Aug 13 10:44:19 2007 http://www.host-15177.com/ Title: 15177 Mon Aug 13 10:44:29 2007 http://host-15178.com/ Title: 15178 Mon Aug 13 10:44:55 2007 http://host-15179.com/ Title: 15179 Mon Aug 13 10:45:01 2007 http://host-15180.com/ Title: 15180 Mon Aug 13 10:45:09 2007 http://host-15181.com/ Title: 15181 Mon Aug 13 10:45:13 2007 http://www.host-15182.com/ Title: 15182 Mon Aug 13 10:45:15 2007 http://host-15183.com/ Title: 15183 Mon Aug 13 10:45:21 2007 http://www.host-15184.com/ Title: 15184 Mon Aug 13 10:45:27 2007 http://host-15185.com/ Title: 15185 Mon Aug 13 10:45:31 2007 http://host-15186.com/ Title: 15186 Mon Aug 13 10:45:36 2007 http://www.host-15187.com/ Title: 15187 Mon Aug 13 11:40:04 2007 http://host-15188.com/ Title: 15188 Mon Aug 13 11:41:15 2007 http://www.host-15189.com/ Title: 15189 Mon Aug 13 11:51:04 2007 http://www.host-15190.com/ Title: 15190 Mon Aug 13 12:02:29 2007 http://www.host-15191.com/ Title: 15191 Mon Aug 13 12:02:33 2007 http://host-15192.com/ Title: 15192 Mon Aug 13 12:05:39 2007 http://host-15193.com/ Title: 15193 Mon Aug 13 12:05:41 2007 http://host-15194.com/ Title: 15194 Mon Aug 13 12:06:13 2007 http://host-15195.com/ Title: 15195 Mon Aug 13 12:06:48 2007 http://host-15196.com/ Title: 15196 Mon Aug 13 12:07:26 2007 http://www.host-15197.com/ Title: 15197 Mon Aug 13 12:08:29 2007 http://www.host-15198.com/ Title: 15198 Mon Aug 13 12:09:10 2007 http://host-15199.com/ Title: 15199 Mon Aug 13 12:10:11 2007 http://host-15200.com/ Title: 15200 Mon Aug 13 12:12:45 2007 http://host-15201.com/ Title: 15201 Mon Aug 13 12:24:02 2007 http://host-15202.com/ Title: 15202 Mon Aug 13 12:24:34 2007 http://www.host-15203.com/ Title: 15203 Mon Aug 13 12:24:37 2007 http://host-15204.com/ Title: 15204 Mon Aug 13 12:24:38 2007 http://host-15205.com/ Title: 15205 Mon Aug 13 12:24:44 2007 http://host-15206.com/ Title: 15206 Mon Aug 13 12:24:45 2007 http://host-15207.com/ Title: 15207 Mon Aug 13 12:24:46 2007 http://host-15208.com/ Title: 15208 Mon Aug 13 12:24:47 2007 http://host-15209.com/ Title: 15209 Mon Aug 13 12:24:48 2007 http://www.host-15210.com/ Title: 15210 Mon Aug 13 12:24:49 2007 http://www.host-15211.com/ Title: 15211 Mon Aug 13 12:24:50 2007 http://www.host-15212.com/ Title: 15212 Mon Aug 13 12:24:50 2007 http://host-15213.com/ Title: 15213 Mon Aug 13 12:24:51 2007 http://host-15214.com/ Title: 15214 Mon Aug 13 12:24:51 2007 http://www.host-15215.com/ Title: 15215 Mon Aug 13 12:25:52 2007 http://www.host-15216.com/ Title: 15216 Mon Aug 13 12:26:16 2007 http://host-15217.com/ Title: 15217 Mon Aug 13 12:26:30 2007 http://www.host-15218.com/ Title: 15218 Mon Aug 13 12:38:28 2007 http://host-15219.com/ Title: 15219 Mon Aug 13 12:40:16 2007 http://www.host-15220.com/ Title: 15220 Mon Aug 13 12:40:21 2007 http://host-15221.com/ Title: 15221 Mon Aug 13 12:42:23 2007 http://host-15222.com/ Title: 15222 Mon Aug 13 12:43:10 2007 http://host-15223.com/ Title: 15223 Mon Aug 13 12:44:54 2007 http://www.host-15224.com/ Title: 15224 Mon Aug 13 12:52:15 2007 http://host-15225.com/ Title: 15225 Mon Aug 13 12:54:26 2007 http://host-15226.com/ Title: 15226 Mon Aug 13 12:57:42 2007 http://host-15227.com/ Title: 15227 Mon Aug 13 12:58:05 2007 http://host-15228.com/ Title: 15228 Mon Aug 13 12:59:20 2007 http://host-15229.com/ Title: 15229 Mon Aug 13 13:03:51 2007 http://www.host-15230.com/ Title: 15230 Mon Aug 13 13:04:20 2007 http://www.host-15231.com/ Title: 15231 Mon Aug 13 13:04:21 2007 http://www.host-15232.com/ Title: 15232 Mon Aug 13 13:04:22 2007 http://www.host-15233.com/ Title: 15233 Mon Aug 13 13:04:23 2007 http://host-15234.com/ Title: 15234 Mon Aug 13 13:04:24 2007 http://host-15235.com/ Title: 15235 Mon Aug 13 13:08:02 2007 http://www.host-15236.com/ Title: 15236 Mon Aug 13 13:08:59 2007 http://www.host-15237.com/ Title: 15237 Mon Aug 13 13:11:09 2007 http://www.host-15238.com/ Title: 15238 Mon Aug 13 13:12:08 2007 http://www.host-15239.com/ Title: 15239 Mon Aug 13 13:12:16 2007 http://host-15240.com/ Title: 15240 Mon Aug 13 14:00:01 2007 http://www.host-15241.com/ Title: 15241 Mon Aug 13 14:16:12 2007 http://host-15242.com/ Title: 15242 Mon Aug 13 14:19:09 2007 http://host-15243.com/ Title: 15243 Mon Aug 13 14:19:10 2007 http://www.host-15244.com/ Title: 15244 Mon Aug 13 14:19:14 2007 http://host-15245.com/ Title: 15245 Mon Aug 13 14:20:30 2007 http://www.host-15246.com/ Title: 15246 Mon Aug 13 14:20:49 2007 http://www.host-15247.com/ Title: 15247 Mon Aug 13 14:21:07 2007 http://host-15248.com/ Title: 15248 Mon Aug 13 14:21:12 2007 http://www.host-15249.com/ Title: 15249 Mon Aug 13 14:23:30 2007 http://www.host-15250.com/ Title: 15250 Mon Aug 13 14:23:40 2007 http://www.host-15251.com/ Title: 15251 Mon Aug 13 15:38:39 2007 http://host-15252.com/ Title: 15252 Mon Aug 13 15:46:02 2007 http://www.host-15253.com/ Title: 15253 Mon Aug 13 15:46:04 2007 http://host-15254.com/ Title: 15254 Mon Aug 13 15:46:06 2007 http://www.host-15255.com/ Title: 15255 Mon Aug 13 15:46:07 2007 http://host-15256.com/ Title: 15256 Mon Aug 13 15:55:36 2007 http://www.host-15257.com/ Title: 15257 Mon Aug 13 15:55:43 2007 http://host-15258.com/ Title: 15258 Mon Aug 13 15:55:50 2007 http://www.host-15259.com/ Title: 15259 Mon Aug 13 16:04:30 2007 http://www.host-15260.com/ Title: 15260 Mon Aug 13 16:04:36 2007 http://www.host-15261.com/ Title: 15261 Mon Aug 13 16:04:39 2007 http://host-15262.com/ Title: 15262 Mon Aug 13 16:19:50 2007 http://host-15263.com/ Title: 15263 Mon Aug 13 16:20:05 2007 http://www.host-15264.com/ Title: 15264 Mon Aug 13 16:20:55 2007 http://www.host-15265.com/ Title: 15265 Mon Aug 13 16:21:00 2007 http://host-15266.com/ Title: 15266 Mon Aug 13 16:46:05 2007 http://www.host-15267.com/ Title: 15267 Mon Aug 13 16:47:19 2007 http://www.host-15268.com/ Title: 15268 Mon Aug 13 16:48:32 2007 http://host-15269.com/ Title: 15269 Mon Aug 13 16:48:38 2007 http://www.host-15270.com/ Title: 15270 Mon Aug 13 16:51:13 2007 http://host-15271.com/ Title: 15271 Mon Aug 13 16:51:33 2007 http://host-15272.com/ Title: 15272 Mon Aug 13 16:51:42 2007 http://www.host-15273.com/ Title: 15273 Mon Aug 13 16:51:45 2007 http://www.host-15274.com/ Title: 15274 Mon Aug 13 16:52:18 2007 http://host-15275.com/ Title: 15275 Mon Aug 13 16:52:23 2007 http://www.host-15276.com/ Title: 15276 Mon Aug 13 16:52:41 2007 http://host-15277.com/ Title: 15277 Mon Aug 13 16:52:46 2007 http://www.host-15278.com/ Title: 15278 Mon Aug 13 16:52:47 2007 http://www.host-15279.com/ Title: 15279 Mon Aug 13 16:52:57 2007 http://host-15280.com/ Title: 15280 Mon Aug 13 16:53:38 2007 http://www.host-15281.com/ Title: 15281 Mon Aug 13 16:53:46 2007 http://www.host-15282.com/ Title: 15282 Mon Aug 13 16:53:55 2007 http://www.host-15283.com/ Title: 15283 Mon Aug 13 16:53:55 2007 http://host-15284.com/ Title: 15284 Mon Aug 13 16:53:55 2007 http://host-15285.com/ Title: 15285 Mon Aug 13 16:53:58 2007 http://www.host-15286.com/ Title: 15286 Mon Aug 13 16:54:00 2007 http://www.host-15287.com/ Title: 15287 Mon Aug 13 16:57:06 2007 http://host-15288.com/ Title: 15288 Mon Aug 13 16:57:08 2007 http://host-15289.com/ Title: 15289 Mon Aug 13 16:57:13 2007 http://www.host-15290.com/ Title: 15290 Mon Aug 13 16:57:17 2007 http://www.host-15291.com/ Title: 15291 Mon Aug 13 17:06:06 2007 http://www.host-15292.com/ Title: 15292 Mon Aug 13 17:06:32 2007 http://www.host-15293.com/ Title: 15293 Mon Aug 13 17:15:45 2007 http://host-15294.com/ Title: 15294 Mon Aug 13 17:25:27 2007 http://host-15295.com/ Title: 15295 Mon Aug 13 17:25:35 2007 http://www.host-15296.com/ Title: 15296 Mon Aug 13 17:25:55 2007 http://www.host-15297.com/ Title: 15297 Mon Aug 13 17:26:00 2007 http://host-15298.com/ Title: 15298 Mon Aug 13 17:26:55 2007 http://www.host-15299.com/ Title: 15299 Mon Aug 13 17:26:58 2007 http://host-15300.com/ Title: 15300 Mon Aug 13 17:27:04 2007 http://host-15301.com/ Title: 15301 Tue Aug 14 09:24:56 2007 http://host-15302.com/ Title: 15302 Tue Aug 14 10:35:08 2007 http://www.host-15303.com/ Title: 15303 Tue Aug 14 10:35:41 2007 http://www.host-15304.com/ Title: 15304 Tue Aug 14 10:51:45 2007 http://host-15305.com/ Title: 15305 Tue Aug 14 10:52:17 2007 http://host-15306.com/ Title: 15306 Tue Aug 14 10:52:22 2007 http://host-15307.com/ Title: 15307 Tue Aug 14 10:52:36 2007 http://www.host-15308.com/ Title: 15308 Tue Aug 14 10:52:44 2007 http://host-15309.com/ Title: 15309 Tue Aug 14 10:52:49 2007 http://host-15310.com/ Title: 15310 Tue Aug 14 10:52:56 2007 http://host-15311.com/ Title: 15311 Tue Aug 14 10:53:01 2007 http://host-15312.com/ Title: 15312 Tue Aug 14 10:53:07 2007 http://www.host-15313.com/ Title: 15313 Tue Aug 14 10:53:08 2007 http://www.host-15314.com/ Title: 15314 Tue Aug 14 11:58:06 2007 http://www.host-15315.com/ Title: 15315 Tue Aug 14 11:58:16 2007 http://host-15316.com/ Title: 15316 Tue Aug 14 11:58:18 2007 http://host-15317.com/ Title: 15317 Tue Aug 14 11:58:21 2007 http://www.host-15318.com/ Title: 15318 Tue Aug 14 11:58:24 2007 http://www.host-15319.com/ Title: 15319 Tue Aug 14 11:58:25 2007 http://www.host-15320.com/ Title: 15320 Tue Aug 14 11:58:29 2007 http://www.host-15321.com/ Title: 15321 Tue Aug 14 11:58:30 2007 http://host-15322.com/ Title: 15322 Tue Aug 14 11:58:31 2007 http://www.host-15323.com/ Title: 15323 Tue Aug 14 11:58:59 2007 http://www.host-15324.com/ Title: 15324 Tue Aug 14 11:59:17 2007 http://www.host-15325.com/ Title: 15325 Tue Aug 14 11:59:17 2007 http://www.host-15326.com/ Title: 15326 Tue Aug 14 12:00:01 2007 http://www.host-15327.com/ Title: 15327 Tue Aug 14 12:00:02 2007 http://host-15328.com/ Title: 15328 Tue Aug 14 12:00:13 2007 http://host-15329.com/ Title: 15329 Tue Aug 14 12:00:14 2007 http://www.host-15330.com/ Title: 15330 Tue Aug 14 12:00:40 2007 http://host-15331.com/ Title: 15331 Tue Aug 14 12:00:55 2007 http://www.host-15332.com/ Title: 15332 Tue Aug 14 12:01:08 2007 http://host-15333.com/ Title: 15333 Tue Aug 14 12:01:10 2007 http://www.host-15334.com/ Title: 15334 Tue Aug 14 12:01:26 2007 http://host-15335.com/ Title: 15335 Tue Aug 14 12:03:17 2007 http://www.host-15336.com/ Title: 15336 Tue Aug 14 12:04:08 2007 http://www.host-15337.com/ Title: 15337 Tue Aug 14 12:04:16 2007 http://www.host-15338.com/ Title: 15338 Tue Aug 14 12:04:49 2007 http://www.host-15339.com/ Title: 15339 Tue Aug 14 12:16:05 2007 http://host-15340.com/ Title: 15340 Tue Aug 14 12:16:22 2007 http://host-15341.com/ Title: 15341 Tue Aug 14 12:16:30 2007 http://host-15342.com/ Title: 15342 Tue Aug 14 12:23:09 2007 http://host-15343.com/ Title: 15343 Tue Aug 14 12:23:19 2007 http://www.host-15344.com/ Title: 15344 Tue Aug 14 12:23:31 2007 http://www.host-15345.com/ Title: 15345 Tue Aug 14 12:24:13 2007 http://www.host-15346.com/ Title: 15346 Tue Aug 14 12:32:29 2007 http://www.host-15347.com/ Title: 15347 Tue Aug 14 12:32:38 2007 http://www.host-15348.com/ Title: 15348 Tue Aug 14 12:36:51 2007 http://host-15349.com/ Title: 15349 Tue Aug 14 12:37:46 2007 http://host-15350.com/ Title: 15350 Tue Aug 14 12:37:54 2007 http://www.host-15351.com/ Title: 15351 Tue Aug 14 12:38:32 2007 http://www.host-15352.com/ Title: 15352 Tue Aug 14 12:39:14 2007 http://www.host-15353.com/ Title: 15353 Tue Aug 14 12:39:17 2007 http://www.host-15354.com/ Title: 15354 Tue Aug 14 12:39:45 2007 http://www.host-15355.com/ Title: 15355 Tue Aug 14 12:47:13 2007 http://www.host-15356.com/ Title: 15356 Tue Aug 14 12:51:50 2007 http://www.host-15357.com/ Title: 15357 Tue Aug 14 12:51:54 2007 http://www.host-15358.com/ Title: 15358 Tue Aug 14 12:52:03 2007 http://www.host-15359.com/ Title: 15359 Tue Aug 14 12:52:08 2007 http://host-15360.com/ Title: 15360 Tue Aug 14 12:52:12 2007 http://www.host-15361.com/ Title: 15361 Tue Aug 14 12:52:22 2007 http://www.host-15362.com/ Title: 15362 Tue Aug 14 12:52:26 2007 http://host-15363.com/ Title: 15363 Tue Aug 14 12:52:40 2007 http://host-15364.com/ Title: 15364 Tue Aug 14 12:53:44 2007 http://host-15365.com/ Title: 15365 Tue Aug 14 12:53:55 2007 http://host-15366.com/ Title: 15366 Tue Aug 14 12:54:02 2007 http://host-15367.com/ Title: 15367 Tue Aug 14 13:19:46 2007 http://www.host-15368.com/ Title: 15368 Tue Aug 14 13:29:25 2007 http://www.host-15369.com/ Title: 15369 Tue Aug 14 13:29:26 2007 http://host-15370.com/ Title: 15370 Tue Aug 14 13:30:33 2007 http://www.host-15371.com/ Title: 15371 Tue Aug 14 13:30:37 2007 http://www.host-15372.com/ Title: 15372 Tue Aug 14 13:30:58 2007 http://host-15373.com/ Title: 15373 Tue Aug 14 14:08:10 2007 http://www.host-15374.com/ Title: 15374 Tue Aug 14 14:52:53 2007 http://www.host-15375.com/ Title: 15375 Tue Aug 14 14:52:55 2007 http://www.host-15376.com/ Title: 15376 Tue Aug 14 14:52:56 2007 http://www.host-15377.com/ Title: 15377 Tue Aug 14 14:52:57 2007 http://www.host-15378.com/ Title: 15378 Tue Aug 14 14:53:51 2007 http://host-15379.com/ Title: 15379 Tue Aug 14 14:53:55 2007 http://host-15380.com/ Title: 15380 Tue Aug 14 14:54:15 2007 http://host-15381.com/ Title: 15381 Tue Aug 14 14:54:20 2007 http://host-15382.com/ Title: 15382 Tue Aug 14 14:54:20 2007 http://www.host-15383.com/ Title: 15383 Tue Aug 14 14:55:23 2007 http://host-15384.com/ Title: 15384 Tue Aug 14 14:57:32 2007 http://www.host-15385.com/ Title: 15385 Tue Aug 14 14:57:37 2007 http://www.host-15386.com/ Title: 15386 Tue Aug 14 14:57:40 2007 http://host-15387.com/ Title: 15387 Tue Aug 14 14:57:42 2007 http://host-15388.com/ Title: 15388 Tue Aug 14 14:57:42 2007 http://host-15389.com/ Title: 15389 Tue Aug 14 14:57:55 2007 http://www.host-15390.com/ Title: 15390 Tue Aug 14 14:57:58 2007 http://host-15391.com/ Title: 15391 Tue Aug 14 15:06:22 2007 http://host-15392.com/ Title: 15392 Tue Aug 14 15:06:27 2007 http://host-15393.com/ Title: 15393 Tue Aug 14 15:06:32 2007 http://www.host-15394.com/ Title: 15394 Tue Aug 14 15:08:31 2007 http://www.host-15395.com/ Title: 15395 Tue Aug 14 15:08:49 2007 http://host-15396.com/ Title: 15396 Tue Aug 14 15:09:45 2007 http://www.host-15397.com/ Title: 15397 Tue Aug 14 15:10:04 2007 http://host-15398.com/ Title: 15398 Tue Aug 14 15:10:05 2007 http://host-15399.com/ Title: 15399 Tue Aug 14 15:10:10 2007 http://www.host-15400.com/ Title: 15400 Tue Aug 14 15:12:12 2007 http://www.host-15401.com/ Title: 15401 Tue Aug 14 15:12:14 2007 http://www.host-15402.com/ Title: 15402 Tue Aug 14 15:12:19 2007 http://www.host-15403.com/ Title: 15403 Tue Aug 14 15:14:19 2007 http://www.host-15404.com/ Title: 15404 Tue Aug 14 16:09:25 2007 http://www.host-15405.com/ Title: 15405 Tue Aug 14 16:09:27 2007 http://www.host-15406.com/ Title: 15406 Tue Aug 14 16:09:37 2007 http://www.host-15407.com/ Title: 15407 Tue Aug 14 16:10:17 2007 http://host-15408.com/ Title: 15408 Tue Aug 14 16:10:48 2007 http://host-15409.com/ Title: 15409 Tue Aug 14 16:19:17 2007 http://www.host-15410.com/ Title: 15410 Tue Aug 14 16:19:18 2007 http://host-15411.com/ Title: 15411 Tue Aug 14 16:19:19 2007 http://www.host-15412.com/ Title: 15412 Tue Aug 14 16:19:19 2007 http://host-15413.com/ Title: 15413 Tue Aug 14 16:19:22 2007 http://www.host-15414.com/ Title: 15414 Tue Aug 14 16:19:30 2007 http://host-15415.com/ Title: 15415 Tue Aug 14 16:19:36 2007 http://host-15416.com/ Title: 15416 Tue Aug 14 16:19:44 2007 http://host-15417.com/ Title: 15417 Tue Aug 14 16:19:54 2007 http://www.host-15418.com/ Title: 15418 Tue Aug 14 16:20:01 2007 http://host-15419.com/ Title: 15419 Tue Aug 14 16:20:34 2007 http://www.host-15420.com/ Title: 15420 Tue Aug 14 16:20:37 2007 http://host-15421.com/ Title: 15421 Tue Aug 14 16:20:45 2007 http://www.host-15422.com/ Title: 15422 Tue Aug 14 16:20:51 2007 http://www.host-15423.com/ Title: 15423 Tue Aug 14 16:20:52 2007 http://host-15424.com/ Title: 15424 Tue Aug 14 16:21:02 2007 http://www.host-15425.com/ Title: 15425 Tue Aug 14 16:21:29 2007 http://host-15426.com/ Title: 15426 Tue Aug 14 16:21:56 2007 http://host-15427.com/ Title: 15427 Tue Aug 14 16:24:55 2007 http://host-15428.com/ Title: 15428 Tue Aug 14 16:24:56 2007 http://www.host-15429.com/ Title: 15429 Tue Aug 14 16:25:20 2007 http://host-15430.com/ Title: 15430 Tue Aug 14 16:25:21 2007 http://www.host-15431.com/ Title: 15431 Tue Aug 14 16:25:22 2007 http://www.host-15432.com/ Title: 15432 Tue Aug 14 16:25:27 2007 http://www.host-15433.com/ Title: 15433 Tue Aug 14 16:25:36 2007 http://host-15434.com/ Title: 15434 Tue Aug 14 16:25:42 2007 http://www.host-15435.com/ Title: 15435 Tue Aug 14 16:26:59 2007 http://www.host-15436.com/ Title: 15436 Tue Aug 14 16:27:01 2007 http://www.host-15437.com/ Title: 15437 Tue Aug 14 16:27:01 2007 http://www.host-15438.com/ Title: 15438 Tue Aug 14 16:37:33 2007 http://host-15439.com/ Title: 15439 Tue Aug 14 16:42:17 2007 http://host-15440.com/ Title: 15440 Tue Aug 14 16:59:01 2007 http://www.host-15441.com/ Title: 15441 Tue Aug 14 16:59:12 2007 http://host-15442.com/ Title: 15442 Tue Aug 14 17:13:02 2007 http://www.host-15443.com/ Title: 15443 Tue Aug 14 17:13:23 2007 http://www.host-15444.com/ Title: 15444 Tue Aug 14 17:13:29 2007 http://www.host-15445.com/ Title: 15445 Tue Aug 14 17:13:29 2007 http://www.host-15446.com/ Title: 15446 Wed Aug 15 09:31:10 2007 http://host-15447.com/ Title: 15447 Wed Aug 15 09:31:16 2007 http://host-15448.com/ Title: 15448 Wed Aug 15 09:31:45 2007 http://host-15449.com/ Title: 15449 Wed Aug 15 09:32:45 2007 http://www.host-15450.com/ Title: 15450 Wed Aug 15 09:32:50 2007 http://www.host-15451.com/ Title: 15451 Wed Aug 15 09:38:31 2007 http://www.host-15452.com/ Title: 15452 Wed Aug 15 09:38:33 2007 http://host-15453.com/ Title: 15453 Wed Aug 15 09:38:38 2007 http://host-15454.com/ Title: 15454 Wed Aug 15 09:38:41 2007 http://www.host-15455.com/ Title: 15455 Wed Aug 15 09:55:53 2007 http://host-15456.com/ Title: 15456 Wed Aug 15 09:56:17 2007 http://www.host-15457.com/ Title: 15457 Wed Aug 15 09:56:26 2007 http://host-15458.com/ Title: 15458 Wed Aug 15 09:56:34 2007 http://www.host-15459.com/ Title: 15459 Wed Aug 15 09:56:40 2007 http://www.host-15460.com/ Title: 15460 Wed Aug 15 09:57:10 2007 http://host-15461.com/ Title: 15461 Wed Aug 15 09:57:11 2007 http://www.host-15462.com/ Title: 15462 Wed Aug 15 09:57:27 2007 http://www.host-15463.com/ Title: 15463 Wed Aug 15 09:57:39 2007 http://host-15464.com/ Title: 15464 Wed Aug 15 09:57:41 2007 http://host-15465.com/ Title: 15465 Wed Aug 15 09:57:46 2007 http://www.host-15466.com/ Title: 15466 Wed Aug 15 09:58:45 2007 http://www.host-15467.com/ Title: 15467 Wed Aug 15 09:59:20 2007 http://www.host-15468.com/ Title: 15468 Wed Aug 15 09:59:46 2007 http://www.host-15469.com/ Title: 15469 Wed Aug 15 09:59:52 2007 http://host-15470.com/ Title: 15470 Wed Aug 15 09:59:57 2007 http://host-15471.com/ Title: 15471 Wed Aug 15 09:59:58 2007 http://www.host-15472.com/ Title: 15472 Wed Aug 15 10:00:42 2007 http://host-15473.com/ Title: 15473 Wed Aug 15 10:03:38 2007 http://www.host-15474.com/ Title: 15474 Wed Aug 15 10:03:46 2007 http://host-15475.com/ Title: 15475 Wed Aug 15 10:04:15 2007 http://host-15476.com/ Title: 15476 Wed Aug 15 10:04:26 2007 http://www.host-15477.com/ Title: 15477 Wed Aug 15 10:04:36 2007 http://host-15478.com/ Title: 15478 Wed Aug 15 10:04:44 2007 http://host-15479.com/ Title: 15479 Wed Aug 15 10:04:56 2007 http://www.host-15480.com/ Title: 15480 Wed Aug 15 10:06:41 2007 http://host-15481.com/ Title: 15481 Wed Aug 15 10:10:20 2007 http://www.host-15482.com/ Title: 15482 Wed Aug 15 10:10:28 2007 http://host-15483.com/ Title: 15483 Wed Aug 15 10:11:49 2007 http://www.host-15484.com/ Title: 15484 Wed Aug 15 10:12:09 2007 http://host-15485.com/ Title: 15485 Wed Aug 15 10:12:13 2007 http://host-15486.com/ Title: 15486 Wed Aug 15 10:15:52 2007 http://host-15487.com/ Title: 15487 Wed Aug 15 10:15:57 2007 http://www.host-15488.com/ Title: 15488 Wed Aug 15 10:40:17 2007 http://host-15489.com/ Title: 15489 Wed Aug 15 10:41:23 2007 http://host-15490.com/ Title: 15490 Wed Aug 15 12:01:51 2007 http://host-15491.com/ Title: 15491 Wed Aug 15 12:01:57 2007 http://host-15492.com/ Title: 15492 Wed Aug 15 12:35:00 2007 http://www.host-15493.com/ Title: 15493 Wed Aug 15 12:35:07 2007 http://www.host-15494.com/ Title: 15494 Wed Aug 15 12:35:15 2007 http://host-15495.com/ Title: 15495 Wed Aug 15 12:35:38 2007 http://host-15496.com/ Title: 15496 Wed Aug 15 12:35:38 2007 http://host-15497.com/ Title: 15497 Wed Aug 15 12:35:41 2007 http://host-15498.com/ Title: 15498 Wed Aug 15 12:35:45 2007 http://www.host-15499.com/ Title: 15499 Wed Aug 15 12:35:48 2007 http://www.host-15500.com/ Title: 15500 Wed Aug 15 12:35:52 2007 http://www.host-15501.com/ Title: 15501 Wed Aug 15 12:36:53 2007 http://www.host-15502.com/ Title: 15502 Wed Aug 15 12:37:00 2007 http://host-15503.com/ Title: 15503 Wed Aug 15 12:42:47 2007 http://www.host-15504.com/ Title: 15504 Wed Aug 15 12:42:53 2007 http://www.host-15505.com/ Title: 15505 Wed Aug 15 14:27:31 2007 http://www.host-15506.com/ Title: 15506 Wed Aug 15 14:28:12 2007 http://www.host-15507.com/ Title: 15507 Thu Aug 16 10:15:45 2007 http://host-15508.com/ Title: 15508 Thu Aug 16 10:16:51 2007 http://www.host-15509.com/ Title: 15509 Thu Aug 16 11:44:47 2007 http://www.host-15510.com/ Title: 15510 Thu Aug 16 12:13:06 2007 http://host-15511.com/ Title: 15511 Thu Aug 16 12:28:28 2007 http://www.host-15512.com/ Title: 15512 Thu Aug 16 12:31:55 2007 http://host-15513.com/ Title: 15513 Thu Aug 16 12:32:27 2007 http://host-15514.com/ Title: 15514 Thu Aug 16 13:51:39 2007 http://host-15515.com/ Title: 15515 Thu Aug 16 16:33:44 2007 http://host-15516.com/ Title: 15516 Thu Aug 16 16:49:46 2007 http://host-15517.com/ Title: 15517 Thu Aug 16 17:09:20 2007 http://www.host-15518.com/ Title: 15518 Thu Aug 16 17:14:38 2007 http://www.host-15519.com/ Title: 15519 Thu Aug 16 17:14:41 2007 http://host-15520.com/ Title: 15520 Thu Aug 16 17:16:32 2007 http://www.host-15521.com/ Title: 15521 Thu Aug 16 17:18:22 2007 http://www.host-15522.com/ Title: 15522 Thu Aug 16 17:18:26 2007 http://host-15523.com/ Title: 15523 Thu Aug 16 17:18:46 2007 http://www.host-15524.com/ Title: 15524 Thu Aug 16 17:19:01 2007 http://www.host-15525.com/ Title: 15525 Thu Aug 16 17:29:41 2007 http://host-15526.com/ Title: 15526 Thu Aug 16 17:29:57 2007 http://host-15527.com/ Title: 15527 Thu Aug 16 17:43:25 2007 http://host-15528.com/ Title: 15528 Thu Aug 16 17:44:47 2007 http://www.host-15529.com/ Title: 15529 Thu Aug 16 17:45:26 2007 http://host-15530.com/ Title: 15530 Thu Aug 16 17:46:34 2007 http://www.host-15531.com/ Title: 15531 Thu Aug 16 17:48:43 2007 http://www.host-15532.com/ Title: 15532 Thu Aug 16 17:48:45 2007 http://host-15533.com/ Title: 15533 Fri Aug 17 10:21:37 2007 http://host-15534.com/ Title: 15534 Fri Aug 17 10:25:31 2007 http://host-15535.com/ Title: 15535 Fri Aug 17 10:27:17 2007 http://www.host-15536.com/ Title: 15536 Fri Aug 17 10:30:25 2007 http://www.host-15537.com/ Title: 15537 Fri Aug 17 11:02:20 2007 http://www.host-15538.com/ Title: 15538 Fri Aug 17 11:02:58 2007 http://host-15539.com/ Title: 15539 Fri Aug 17 11:03:03 2007 http://www.host-15540.com/ Title: 15540 Fri Aug 17 11:03:04 2007 http://host-15541.com/ Title: 15541 Fri Aug 17 11:03:11 2007 http://www.host-15542.com/ Title: 15542 Fri Aug 17 11:03:11 2007 http://host-15543.com/ Title: 15543 Fri Aug 17 11:54:46 2007 http://www.host-15544.com/ Title: 15544 Fri Aug 17 11:56:48 2007 http://host-15545.com/ Title: 15545 Fri Aug 17 11:57:26 2007 http://host-15546.com/ Title: 15546 Fri Aug 17 11:57:27 2007 http://www.host-15547.com/ Title: 15547 Fri Aug 17 11:57:29 2007 http://host-15548.com/ Title: 15548 Fri Aug 17 11:57:30 2007 http://host-15549.com/ Title: 15549 Fri Aug 17 11:57:36 2007 http://www.host-15550.com/ Title: 15550 Fri Aug 17 11:57:46 2007 http://www.host-15551.com/ Title: 15551 Fri Aug 17 11:59:37 2007 http://www.host-15552.com/ Title: 15552 Fri Aug 17 11:59:38 2007 http://www.host-15553.com/ Title: 15553 Fri Aug 17 11:59:40 2007 http://host-15554.com/ Title: 15554 Fri Aug 17 12:02:02 2007 http://www.host-15555.com/ Title: 15555 Fri Aug 17 12:02:04 2007 http://host-15556.com/ Title: 15556 Fri Aug 17 12:02:08 2007 http://host-15557.com/ Title: 15557 Fri Aug 17 12:04:21 2007 http://www.host-15558.com/ Title: 15558 Fri Aug 17 12:04:29 2007 http://host-15559.com/ Title: 15559 Fri Aug 17 12:04:38 2007 http://www.host-15560.com/ Title: 15560 Fri Aug 17 12:07:37 2007 http://www.host-15561.com/ Title: 15561 Fri Aug 17 12:30:22 2007 http://www.host-15562.com/ Title: 15562 Fri Aug 17 12:46:31 2007 http://host-15563.com/ Title: 15563 Fri Aug 17 12:56:31 2007 http://www.host-15564.com/ Title: 15564 Fri Aug 17 12:56:35 2007 http://host-15565.com/ Title: 15565 Fri Aug 17 12:56:55 2007 http://host-15566.com/ Title: 15566 Fri Aug 17 13:10:48 2007 http://www.host-15567.com/ Title: 15567 Fri Aug 17 13:14:51 2007 http://host-15568.com/ Title: 15568 Fri Aug 17 13:18:01 2007 http://host-15569.com/ Title: 15569 Fri Aug 17 13:18:08 2007 http://host-15570.com/ Title: 15570 Fri Aug 17 13:18:17 2007 http://host-15571.com/ Title: 15571 Fri Aug 17 13:18:20 2007 http://host-15572.com/ Title: 15572 Fri Aug 17 13:18:24 2007 http://host-15573.com/ Title: 15573 Fri Aug 17 13:22:10 2007 http://www.host-15574.com/ Title: 15574 Fri Aug 17 13:22:12 2007 http://www.host-15575.com/ Title: 15575 Fri Aug 17 13:24:15 2007 http://www.host-15576.com/ Title: 15576 Fri Aug 17 13:24:28 2007 http://host-15577.com/ Title: 15577 Fri Aug 17 14:15:48 2007 http://www.host-15578.com/ Title: 15578 Fri Aug 17 14:51:07 2007 http://www.host-15579.com/ Title: 15579 Fri Aug 17 15:01:19 2007 http://host-15580.com/ Title: 15580 Fri Aug 17 15:44:43 2007 http://www.host-15581.com/ Title: 15581 Fri Aug 17 15:45:42 2007 http://host-15582.com/ Title: 15582 Fri Aug 17 15:45:42 2007 http://host-15583.com/ Title: 15583 Fri Aug 17 15:45:42 2007 http://www.host-15584.com/ Title: 15584 Fri Aug 17 15:47:09 2007 http://www.host-15585.com/ Title: 15585 Fri Aug 17 15:49:13 2007 http://host-15586.com/ Title: 15586 Fri Aug 17 15:49:23 2007 http://host-15587.com/ Title: 15587 Fri Aug 17 15:49:24 2007 http://host-15588.com/ Title: 15588 Fri Aug 17 15:49:27 2007 http://host-15589.com/ Title: 15589 Fri Aug 17 15:49:35 2007 http://host-15590.com/ Title: 15590 Fri Aug 17 15:49:36 2007 http://host-15591.com/ Title: 15591 Fri Aug 17 15:49:40 2007 http://host-15592.com/ Title: 15592 Fri Aug 17 15:50:14 2007 http://host-15593.com/ Title: 15593 Fri Aug 17 15:50:29 2007 http://host-15594.com/ Title: 15594 Fri Aug 17 15:51:46 2007 http://www.host-15595.com/ Title: 15595 Fri Aug 17 15:51:50 2007 http://host-15596.com/ Title: 15596 Fri Aug 17 15:52:02 2007 http://host-15597.com/ Title: 15597 Fri Aug 17 15:52:05 2007 http://host-15598.com/ Title: 15598 Fri Aug 17 15:52:07 2007 http://www.host-15599.com/ Title: 15599 Fri Aug 17 15:52:08 2007 http://host-15600.com/ Title: 15600 Fri Aug 17 15:52:25 2007 http://www.host-15601.com/ Title: 15601 Fri Aug 17 15:58:58 2007 http://www.host-15602.com/ Title: 15602 Fri Aug 17 15:59:01 2007 http://host-15603.com/ Title: 15603 Fri Aug 17 16:00:17 2007 http://host-15604.com/ Title: 15604 Fri Aug 17 16:01:17 2007 http://host-15605.com/ Title: 15605 Fri Aug 17 16:01:21 2007 http://www.host-15606.com/ Title: 15606 Fri Aug 17 16:01:23 2007 http://www.host-15607.com/ Title: 15607 Fri Aug 17 16:08:14 2007 http://host-15608.com/ Title: 15608 Fri Aug 17 16:08:38 2007 http://host-15609.com/ Title: 15609 Fri Aug 17 16:08:44 2007 http://host-15610.com/ Title: 15610 Fri Aug 17 18:48:01 2007 http://www.host-15611.com/ Title: 15611 Fri Aug 17 18:48:02 2007 http://host-15612.com/ Title: 15612 Fri Aug 17 18:48:07 2007 http://www.host-15613.com/ Title: 15613 Mon Aug 20 09:34:56 2007 http://www.host-15614.com/ Title: 15614 Mon Aug 20 14:12:04 2007 http://host-15615.com/ Title: 15615 Mon Aug 20 15:15:51 2007 http://host-15616.com/ Title: 15616 Mon Aug 20 15:31:17 2007 http://host-15617.com/ Title: 15617 Mon Aug 20 16:57:59 2007 http://www.host-15618.com/ Title: 15618 Tue Aug 21 10:09:41 2007 http://www.host-15619.com/ Title: 15619 Tue Aug 21 10:12:14 2007 http://host-15620.com/ Title: 15620 Tue Aug 21 11:07:45 2007 http://host-15621.com/ Title: 15621 Tue Aug 21 11:54:02 2007 http://host-15622.com/ Title: 15622 Tue Aug 21 11:54:43 2007 http://host-15623.com/ Title: 15623 Tue Aug 21 11:55:03 2007 http://www.host-15624.com/ Title: 15624 Tue Aug 21 11:56:23 2007 http://www.host-15625.com/ Title: 15625 Tue Aug 21 12:02:26 2007 http://host-15626.com/ Title: 15626 Tue Aug 21 12:10:22 2007 http://www.host-15627.com/ Title: 15627 Tue Aug 21 12:10:23 2007 http://host-15628.com/ Title: 15628 Tue Aug 21 12:11:35 2007 http://host-15629.com/ Title: 15629 Tue Aug 21 12:11:38 2007 http://host-15630.com/ Title: 15630 Tue Aug 21 12:11:42 2007 http://www.host-15631.com/ Title: 15631 Tue Aug 21 12:11:43 2007 http://host-15632.com/ Title: 15632 Tue Aug 21 15:24:52 2007 http://www.host-15633.com/ Title: 15633 Tue Aug 21 15:24:55 2007 http://host-15634.com/ Title: 15634 Tue Aug 21 15:25:39 2007 http://host-15635.com/ Title: 15635 Tue Aug 21 15:25:43 2007 http://www.host-15636.com/ Title: 15636 Tue Aug 21 15:25:47 2007 http://host-15637.com/ Title: 15637 Tue Aug 21 15:26:39 2007 http://www.host-15638.com/ Title: 15638 Tue Aug 21 15:26:39 2007 http://host-15639.com/ Title: 15639 Tue Aug 21 15:31:39 2007 http://www.host-15640.com/ Title: 15640 Tue Aug 21 15:31:49 2007 http://host-15641.com/ Title: 15641 Tue Aug 21 15:31:58 2007 http://www.host-15642.com/ Title: 15642 Tue Aug 21 15:32:01 2007 http://host-15643.com/ Title: 15643 Tue Aug 21 15:32:14 2007 http://host-15644.com/ Title: 15644 Tue Aug 21 15:32:15 2007 http://www.host-15645.com/ Title: 15645 Tue Aug 21 15:32:26 2007 http://host-15646.com/ Title: 15646 Tue Aug 21 17:28:28 2007 http://host-15647.com/ Title: 15647 Tue Aug 21 17:28:38 2007 http://host-15648.com/ Title: 15648 Tue Aug 21 18:49:14 2007 http://www.host-15649.com/ Title: 15649 Tue Aug 21 18:49:35 2007 http://www.host-15650.com/ Title: 15650 Tue Aug 21 18:49:42 2007 http://host-15651.com/ Title: 15651 Tue Aug 21 18:49:50 2007 http://www.host-15652.com/ Title: 15652 Tue Aug 21 18:50:01 2007 http://host-15653.com/ Title: 15653 Tue Aug 21 18:52:37 2007 http://host-15654.com/ Title: 15654 Wed Aug 22 10:07:55 2007 http://www.host-15655.com/ Title: 15655 Wed Aug 22 10:08:07 2007 http://host-15656.com/ Title: 15656 Wed Aug 22 10:08:14 2007 http://host-15657.com/ Title: 15657 Wed Aug 22 10:12:21 2007 http://host-15658.com/ Title: 15658 Wed Aug 22 10:21:34 2007 http://www.host-15659.com/ Title: 15659 Wed Aug 22 10:32:24 2007 http://www.host-15660.com/ Title: 15660 Wed Aug 22 10:32:34 2007 http://www.host-15661.com/ Title: 15661 Wed Aug 22 10:32:38 2007 http://www.host-15662.com/ Title: 15662 Wed Aug 22 10:32:43 2007 http://www.host-15663.com/ Title: 15663 Wed Aug 22 10:36:40 2007 http://host-15664.com/ Title: 15664 Wed Aug 22 10:36:44 2007 http://host-15665.com/ Title: 15665 Wed Aug 22 10:37:40 2007 http://www.host-15666.com/ Title: 15666 Wed Aug 22 10:38:06 2007 http://www.host-15667.com/ Title: 15667 Wed Aug 22 10:38:09 2007 http://host-15668.com/ Title: 15668 Wed Aug 22 10:38:43 2007 http://host-15669.com/ Title: 15669 Wed Aug 22 10:38:45 2007 http://host-15670.com/ Title: 15670 Wed Aug 22 10:38:57 2007 http://www.host-15671.com/ Title: 15671 Wed Aug 22 10:39:10 2007 http://www.host-15672.com/ Title: 15672 Wed Aug 22 10:40:53 2007 http://host-15673.com/ Title: 15673 Wed Aug 22 10:43:34 2007 http://www.host-15674.com/ Title: 15674 Wed Aug 22 10:43:37 2007 http://www.host-15675.com/ Title: 15675 Wed Aug 22 10:43:37 2007 http://www.host-15676.com/ Title: 15676 Wed Aug 22 11:08:49 2007 http://www.host-15677.com/ Title: 15677 Wed Aug 22 14:49:30 2007 http://host-15678.com/ Title: 15678 Wed Aug 22 15:25:00 2007 http://www.host-15679.com/ Title: 15679 Wed Aug 22 15:25:08 2007 http://host-15680.com/ Title: 15680 Wed Aug 22 15:28:11 2007 http://www.host-15681.com/ Title: 15681 Wed Aug 22 15:28:44 2007 http://www.host-15682.com/ Title: 15682 Wed Aug 22 15:30:31 2007 http://www.host-15683.com/ Title: 15683 Wed Aug 22 15:30:34 2007 http://www.host-15684.com/ Title: 15684 Wed Aug 22 15:30:37 2007 http://host-15685.com/ Title: 15685 Wed Aug 22 15:30:43 2007 http://www.host-15686.com/ Title: 15686 Wed Aug 22 15:30:52 2007 http://host-15687.com/ Title: 15687 Wed Aug 22 15:32:00 2007 http://host-15688.com/ Title: 15688 Wed Aug 22 15:33:50 2007 http://www.host-15689.com/ Title: 15689 Wed Aug 22 15:34:04 2007 http://host-15690.com/ Title: 15690 Wed Aug 22 15:34:32 2007 http://www.host-15691.com/ Title: 15691 Wed Aug 22 16:06:39 2007 http://www.host-15692.com/ Title: 15692 Wed Aug 22 16:08:41 2007 http://host-15693.com/ Title: 15693 Wed Aug 22 16:23:31 2007 http://www.host-15694.com/ Title: 15694 Wed Aug 22 16:23:33 2007 http://host-15695.com/ Title: 15695 Wed Aug 22 16:30:16 2007 http://host-15696.com/ Title: 15696 Wed Aug 22 16:30:21 2007 http://www.host-15697.com/ Title: 15697 Wed Aug 22 16:34:50 2007 http://host-15698.com/ Title: 15698 Wed Aug 22 16:35:06 2007 http://host-15699.com/ Title: 15699 Wed Aug 22 16:35:27 2007 http://www.host-15700.com/ Title: 15700 Wed Aug 22 16:35:32 2007 http://host-15701.com/ Title: 15701 Wed Aug 22 16:44:29 2007 http://host-15702.com/ Title: 15702 Wed Aug 22 16:45:04 2007 http://host-15703.com/ Title: 15703 Wed Aug 22 17:13:15 2007 http://www.host-15704.com/ Title: 15704 Wed Aug 22 17:13:22 2007 http://www.host-15705.com/ Title: 15705 Thu Aug 23 10:04:58 2007 http://host-15706.com/ Title: 15706 Thu Aug 23 10:05:01 2007 http://www.host-15707.com/ Title: 15707 Thu Aug 23 10:05:11 2007 http://host-15708.com/ Title: 15708 Thu Aug 23 10:05:17 2007 http://host-15709.com/ Title: 15709 Thu Aug 23 10:05:18 2007 http://www.host-15710.com/ Title: 15710 Thu Aug 23 10:17:43 2007 http://host-15711.com/ Title: 15711 Thu Aug 23 10:17:47 2007 http://www.host-15712.com/ Title: 15712 Thu Aug 23 10:27:28 2007 http://host-15713.com/ Title: 15713 Thu Aug 23 10:27:32 2007 http://host-15714.com/ Title: 15714 Thu Aug 23 10:27:43 2007 http://host-15715.com/ Title: 15715 Thu Aug 23 10:27:44 2007 http://www.host-15716.com/ Title: 15716 Thu Aug 23 10:30:48 2007 http://www.host-15717.com/ Title: 15717 Thu Aug 23 11:56:44 2007 http://www.host-15718.com/ Title: 15718 Thu Aug 23 11:56:52 2007 http://host-15719.com/ Title: 15719 Thu Aug 23 11:58:17 2007 http://host-15720.com/ Title: 15720 Thu Aug 23 11:58:20 2007 http://www.host-15721.com/ Title: 15721 Thu Aug 23 11:58:30 2007 http://host-15722.com/ Title: 15722 Thu Aug 23 11:59:29 2007 http://host-15723.com/ Title: 15723 Thu Aug 23 12:00:09 2007 http://www.host-15724.com/ Title: 15724 Thu Aug 23 12:00:12 2007 http://www.host-15725.com/ Title: 15725 Thu Aug 23 12:00:38 2007 http://www.host-15726.com/ Title: 15726 Thu Aug 23 12:00:46 2007 http://www.host-15727.com/ Title: 15727 Thu Aug 23 12:00:53 2007 http://host-15728.com/ Title: 15728 Thu Aug 23 12:00:55 2007 http://www.host-15729.com/ Title: 15729 Thu Aug 23 12:00:57 2007 http://host-15730.com/ Title: 15730 Thu Aug 23 12:01:55 2007 http://www.host-15731.com/ Title: 15731 Thu Aug 23 13:28:38 2007 http://www.host-15732.com/ Title: 15732 Thu Aug 23 13:28:46 2007 http://www.host-15733.com/ Title: 15733 Thu Aug 23 13:29:40 2007 http://host-15734.com/ Title: 15734 Thu Aug 23 13:29:42 2007 http://www.host-15735.com/ Title: 15735 Thu Aug 23 13:29:45 2007 http://host-15736.com/ Title: 15736 Thu Aug 23 13:29:53 2007 http://host-15737.com/ Title: 15737 Thu Aug 23 13:30:50 2007 http://www.host-15738.com/ Title: 15738 Thu Aug 23 13:30:52 2007 http://www.host-15739.com/ Title: 15739 Thu Aug 23 13:39:31 2007 http://www.host-15740.com/ Title: 15740 Thu Aug 23 13:39:33 2007 http://www.host-15741.com/ Title: 15741 Thu Aug 23 13:39:36 2007 http://host-15742.com/ Title: 15742 Thu Aug 23 13:39:41 2007 http://host-15743.com/ Title: 15743 Thu Aug 23 13:39:50 2007 http://host-15744.com/ Title: 15744 Thu Aug 23 13:40:19 2007 http://www.host-15745.com/ Title: 15745 Thu Aug 23 13:40:24 2007 http://host-15746.com/ Title: 15746 Thu Aug 23 13:40:27 2007 http://host-15747.com/ Title: 15747 Thu Aug 23 13:40:32 2007 http://www.host-15748.com/ Title: 15748 Thu Aug 23 13:41:01 2007 http://host-15749.com/ Title: 15749 Thu Aug 23 13:43:20 2007 http://www.host-15750.com/ Title: 15750 Thu Aug 23 13:43:57 2007 http://host-15751.com/ Title: 15751 Thu Aug 23 13:44:09 2007 http://www.host-15752.com/ Title: 15752 Thu Aug 23 15:35:50 2007 http://www.host-15753.com/ Title: 15753 Thu Aug 23 15:36:04 2007 http://host-15754.com/ Title: 15754 Thu Aug 23 16:43:37 2007 http://www.host-15755.com/ Title: 15755 Thu Aug 23 16:44:08 2007 http://www.host-15756.com/ Title: 15756 Thu Aug 23 16:44:19 2007 http://host-15757.com/ Title: 15757 Thu Aug 23 16:44:29 2007 http://www.host-15758.com/ Title: 15758 Thu Aug 23 16:44:32 2007 http://www.host-15759.com/ Title: 15759 Thu Aug 23 16:44:53 2007 http://host-15760.com/ Title: 15760 Thu Aug 23 16:44:53 2007 http://host-15761.com/ Title: 15761 Thu Aug 23 16:44:56 2007 http://host-15762.com/ Title: 15762 Thu Aug 23 16:47:03 2007 http://www.host-15763.com/ Title: 15763 Thu Aug 23 16:47:05 2007 http://www.host-15764.com/ Title: 15764 Thu Aug 23 16:47:07 2007 http://host-15765.com/ Title: 15765 Thu Aug 23 16:47:08 2007 http://host-15766.com/ Title: 15766 Thu Aug 23 16:47:20 2007 http://www.host-15767.com/ Title: 15767 Fri Aug 24 09:28:44 2007 http://www.host-15768.com/ Title: 15768 Fri Aug 24 09:29:00 2007 http://www.host-15769.com/ Title: 15769 Fri Aug 24 09:29:54 2007 http://host-15770.com/ Title: 15770 Fri Aug 24 11:20:50 2007 http://www.host-15771.com/ Title: 15771 Fri Aug 24 13:01:07 2007 http://www.host-15772.com/ Title: 15772 Fri Aug 24 13:01:46 2007 http://host-15773.com/ Title: 15773 Fri Aug 24 13:02:24 2007 http://host-15774.com/ Title: 15774 Fri Aug 24 13:02:26 2007 http://host-15775.com/ Title: 15775 Fri Aug 24 13:02:35 2007 http://host-15776.com/ Title: 15776 Fri Aug 24 13:02:58 2007 http://www.host-15777.com/ Title: 15777 Fri Aug 24 13:03:03 2007 http://www.host-15778.com/ Title: 15778 Fri Aug 24 13:03:08 2007 http://host-15779.com/ Title: 15779 Fri Aug 24 13:03:39 2007 http://host-15780.com/ Title: 15780 Fri Aug 24 13:03:42 2007 http://host-15781.com/ Title: 15781 Fri Aug 24 13:04:39 2007 http://www.host-15782.com/ Title: 15782 Fri Aug 24 13:13:48 2007 http://www.host-15783.com/ Title: 15783 Fri Aug 24 13:14:03 2007 http://host-15784.com/ Title: 15784 Fri Aug 24 13:14:07 2007 http://host-15785.com/ Title: 15785 Fri Aug 24 13:14:10 2007 http://host-15786.com/ Title: 15786 Fri Aug 24 13:14:21 2007 http://host-15787.com/ Title: 15787 Fri Aug 24 13:57:20 2007 http://host-15788.com/ Title: 15788 Fri Aug 24 13:57:25 2007 http://www.host-15789.com/ Title: 15789 Fri Aug 24 15:39:05 2007 http://www.host-15790.com/ Title: 15790 Mon Aug 27 09:15:29 2007 http://www.host-15791.com/ Title: 15791 Mon Aug 27 09:15:37 2007 http://host-15792.com/ Title: 15792 Mon Aug 27 09:15:45 2007 http://host-15793.com/ Title: 15793 Mon Aug 27 09:15:47 2007 http://host-15794.com/ Title: 15794 Mon Aug 27 09:16:05 2007 http://www.host-15795.com/ Title: 15795 Mon Aug 27 09:16:34 2007 http://www.host-15796.com/ Title: 15796 Mon Aug 27 09:16:35 2007 http://host-15797.com/ Title: 15797 Mon Aug 27 09:16:37 2007 http://host-15798.com/ Title: 15798 Mon Aug 27 09:16:44 2007 http://host-15799.com/ Title: 15799 Mon Aug 27 09:16:46 2007 http://host-15800.com/ Title: 15800 Mon Aug 27 09:25:38 2007 http://www.host-15801.com/ Title: 15801 Mon Aug 27 09:25:40 2007 http://host-15802.com/ Title: 15802 Mon Aug 27 09:39:10 2007 http://www.host-15803.com/ Title: 15803 Mon Aug 27 09:39:13 2007 http://www.host-15804.com/ Title: 15804 Mon Aug 27 09:39:16 2007 http://www.host-15805.com/ Title: 15805 Mon Aug 27 09:41:50 2007 http://www.host-15806.com/ Title: 15806 Mon Aug 27 09:41:53 2007 http://host-15807.com/ Title: 15807 Mon Aug 27 09:49:04 2007 http://host-15808.com/ Title: 15808 Mon Aug 27 09:49:17 2007 http://www.host-15809.com/ Title: 15809 Mon Aug 27 09:49:21 2007 http://www.host-15810.com/ Title: 15810 Mon Aug 27 09:49:42 2007 http://host-15811.com/ Title: 15811 Mon Aug 27 09:50:05 2007 http://host-15812.com/ Title: 15812 Mon Aug 27 09:51:26 2007 http://host-15813.com/ Title: 15813 Mon Aug 27 09:51:29 2007 http://host-15814.com/ Title: 15814 Mon Aug 27 09:51:31 2007 http://www.host-15815.com/ Title: 15815 Mon Aug 27 09:51:36 2007 http://www.host-15816.com/ Title: 15816 Mon Aug 27 09:51:37 2007 http://host-15817.com/ Title: 15817 Mon Aug 27 09:52:40 2007 http://www.host-15818.com/ Title: 15818 Mon Aug 27 09:53:31 2007 http://host-15819.com/ Title: 15819 Mon Aug 27 09:53:33 2007 http://host-15820.com/ Title: 15820 Mon Aug 27 09:53:35 2007 http://host-15821.com/ Title: 15821 Mon Aug 27 09:53:37 2007 http://host-15822.com/ Title: 15822 Mon Aug 27 09:53:37 2007 http://host-15823.com/ Title: 15823 Mon Aug 27 09:54:05 2007 http://host-15824.com/ Title: 15824 Mon Aug 27 10:05:07 2007 http://www.host-15825.com/ Title: 15825 Mon Aug 27 10:05:11 2007 http://www.host-15826.com/ Title: 15826 Mon Aug 27 10:16:36 2007 http://host-15827.com/ Title: 15827 Mon Aug 27 10:18:41 2007 http://www.host-15828.com/ Title: 15828 Mon Aug 27 10:18:50 2007 http://www.host-15829.com/ Title: 15829 Mon Aug 27 10:18:58 2007 http://host-15830.com/ Title: 15830 Mon Aug 27 10:19:47 2007 http://www.host-15831.com/ Title: 15831 Mon Aug 27 10:19:51 2007 http://host-15832.com/ Title: 15832 Mon Aug 27 10:20:45 2007 http://www.host-15833.com/ Title: 15833 Mon Aug 27 10:20:48 2007 http://www.host-15834.com/ Title: 15834 Mon Aug 27 10:46:29 2007 http://host-15835.com/ Title: 15835 Mon Aug 27 12:22:02 2007 http://host-15836.com/ Title: 15836 Mon Aug 27 12:22:15 2007 http://host-15837.com/ Title: 15837 Mon Aug 27 12:22:24 2007 http://host-15838.com/ Title: 15838 Mon Aug 27 12:22:35 2007 http://www.host-15839.com/ Title: 15839 Mon Aug 27 12:23:07 2007 http://www.host-15840.com/ Title: 15840 Mon Aug 27 12:38:40 2007 http://www.host-15841.com/ Title: 15841 Mon Aug 27 14:44:18 2007 http://host-15842.com/ Title: 15842 Mon Aug 27 14:56:03 2007 http://host-15843.com/ Title: 15843 Mon Aug 27 14:57:52 2007 http://host-15844.com/ Title: 15844 Mon Aug 27 14:58:06 2007 http://www.host-15845.com/ Title: 15845 Mon Aug 27 14:58:10 2007 http://host-15846.com/ Title: 15846 Mon Aug 27 14:58:23 2007 http://host-15847.com/ Title: 15847 Mon Aug 27 14:58:43 2007 http://host-15848.com/ Title: 15848 Mon Aug 27 15:00:10 2007 http://host-15849.com/ Title: 15849 Mon Aug 27 15:00:12 2007 http://www.host-15850.com/ Title: 15850 Mon Aug 27 15:06:45 2007 http://www.host-15851.com/ Title: 15851 Mon Aug 27 15:52:18 2007 http://www.host-15852.com/ Title: 15852 Tue Aug 28 09:21:23 2007 http://www.host-15853.com/ Title: 15853 Tue Aug 28 09:44:20 2007 http://www.host-15854.com/ Title: 15854 Tue Aug 28 09:45:36 2007 http://www.host-15855.com/ Title: 15855 Tue Aug 28 09:45:44 2007 http://host-15856.com/ Title: 15856 Tue Aug 28 13:38:38 2007 http://www.host-15857.com/ Title: 15857 Tue Aug 28 13:38:41 2007 http://www.host-15858.com/ Title: 15858 Tue Aug 28 13:38:50 2007 http://host-15859.com/ Title: 15859 Tue Aug 28 13:38:52 2007 http://www.host-15860.com/ Title: 15860 Tue Aug 28 13:39:02 2007 http://host-15861.com/ Title: 15861 Tue Aug 28 13:39:10 2007 http://host-15862.com/ Title: 15862 Tue Aug 28 15:02:04 2007 http://host-15863.com/ Title: 15863 Tue Aug 28 15:02:07 2007 http://host-15864.com/ Title: 15864 Wed Aug 29 10:29:20 2007 http://host-15865.com/ Title: 15865 Wed Aug 29 10:31:15 2007 http://www.host-15866.com/ Title: 15866 Wed Aug 29 10:31:26 2007 http://host-15867.com/ Title: 15867 Wed Aug 29 10:33:27 2007 http://www.host-15868.com/ Title: 15868 Wed Aug 29 10:41:24 2007 http://host-15869.com/ Title: 15869 Wed Aug 29 10:46:58 2007 http://host-15870.com/ Title: 15870 Wed Aug 29 13:54:55 2007 http://www.host-15871.com/ Title: 15871 Wed Aug 29 17:02:22 2007 http://www.host-15872.com/ Title: 15872 Wed Aug 29 17:02:27 2007 http://www.host-15873.com/ Title: 15873 Wed Aug 29 17:02:32 2007 http://www.host-15874.com/ Title: 15874 Wed Aug 29 17:07:45 2007 http://www.host-15875.com/ Title: 15875 Wed Aug 29 17:07:49 2007 http://host-15876.com/ Title: 15876 Thu Aug 30 09:08:11 2007 http://host-15877.com/ Title: 15877 Thu Aug 30 09:56:17 2007 http://www.host-15878.com/ Title: 15878 Thu Aug 30 09:56:18 2007 http://host-15879.com/ Title: 15879 Thu Aug 30 10:00:58 2007 http://www.host-15880.com/ Title: 15880 Thu Aug 30 10:26:40 2007 http://www.host-15881.com/ Title: 15881 Thu Aug 30 10:26:58 2007 http://host-15882.com/ Title: 15882 Thu Aug 30 10:27:01 2007 http://host-15883.com/ Title: 15883 Thu Aug 30 11:44:57 2007 http://www.host-15884.com/ Title: 15884 Thu Aug 30 11:45:10 2007 http://host-15885.com/ Title: 15885 Thu Aug 30 11:45:11 2007 http://host-15886.com/ Title: 15886 Thu Aug 30 11:45:13 2007 http://www.host-15887.com/ Title: 15887 Thu Aug 30 11:45:18 2007 http://www.host-15888.com/ Title: 15888 Thu Aug 30 11:45:21 2007 http://www.host-15889.com/ Title: 15889 Thu Aug 30 11:45:26 2007 http://www.host-15890.com/ Title: 15890 Thu Aug 30 11:45:27 2007 http://www.host-15891.com/ Title: 15891 Thu Aug 30 11:45:29 2007 http://www.host-15892.com/ Title: 15892 Thu Aug 30 11:45:30 2007 http://host-15893.com/ Title: 15893 Thu Aug 30 11:45:31 2007 http://host-15894.com/ Title: 15894 Thu Aug 30 11:45:32 2007 http://host-15895.com/ Title: 15895 Thu Aug 30 11:45:33 2007 http://www.host-15896.com/ Title: 15896 Thu Aug 30 11:45:34 2007 http://www.host-15897.com/ Title: 15897 Thu Aug 30 11:45:35 2007 http://www.host-15898.com/ Title: 15898 Thu Aug 30 11:48:45 2007 http://host-15899.com/ Title: 15899 Thu Aug 30 11:48:50 2007 http://host-15900.com/ Title: 15900 Thu Aug 30 11:49:09 2007 http://host-15901.com/ Title: 15901 Thu Aug 30 11:49:17 2007 http://www.host-15902.com/ Title: 15902 Thu Aug 30 11:49:21 2007 http://host-15903.com/ Title: 15903 Thu Aug 30 11:49:54 2007 http://host-15904.com/ Title: 15904 Thu Aug 30 11:50:43 2007 http://www.host-15905.com/ Title: 15905 Thu Aug 30 11:50:47 2007 http://host-15906.com/ Title: 15906 Thu Aug 30 11:50:48 2007 http://www.host-15907.com/ Title: 15907 Thu Aug 30 11:50:51 2007 http://www.host-15908.com/ Title: 15908 Thu Aug 30 11:50:54 2007 http://www.host-15909.com/ Title: 15909 Thu Aug 30 11:50:54 2007 http://www.host-15910.com/ Title: 15910 Thu Aug 30 11:58:27 2007 http://host-15911.com/ Title: 15911 Thu Aug 30 12:02:23 2007 http://host-15912.com/ Title: 15912 Thu Aug 30 12:02:34 2007 http://www.host-15913.com/ Title: 15913 Thu Aug 30 12:02:36 2007 http://www.host-15914.com/ Title: 15914 Thu Aug 30 12:10:33 2007 http://host-15915.com/ Title: 15915 Thu Aug 30 12:19:21 2007 http://www.host-15916.com/ Title: 15916 Thu Aug 30 12:19:25 2007 http://host-15917.com/ Title: 15917 Thu Aug 30 12:19:59 2007 http://www.host-15918.com/ Title: 15918 Thu Aug 30 12:20:04 2007 http://www.host-15919.com/ Title: 15919 Thu Aug 30 12:20:08 2007 http://host-15920.com/ Title: 15920 Thu Aug 30 12:20:13 2007 http://www.host-15921.com/ Title: 15921 Thu Aug 30 12:20:16 2007 http://www.host-15922.com/ Title: 15922 Thu Aug 30 12:20:32 2007 http://www.host-15923.com/ Title: 15923 Thu Aug 30 12:56:09 2007 http://www.host-15924.com/ Title: 15924 Thu Aug 30 12:56:14 2007 http://www.host-15925.com/ Title: 15925 Thu Aug 30 12:56:15 2007 http://www.host-15926.com/ Title: 15926 Thu Aug 30 12:56:16 2007 http://host-15927.com/ Title: 15927 Thu Aug 30 12:56:17 2007 http://www.host-15928.com/ Title: 15928 Thu Aug 30 12:56:18 2007 http://host-15929.com/ Title: 15929 Thu Aug 30 12:56:18 2007 http://host-15930.com/ Title: 15930 Thu Aug 30 12:56:19 2007 http://host-15931.com/ Title: 15931 Thu Aug 30 12:56:20 2007 http://www.host-15932.com/ Title: 15932 Thu Aug 30 12:56:22 2007 http://www.host-15933.com/ Title: 15933 Thu Aug 30 12:56:23 2007 http://www.host-15934.com/ Title: 15934 Thu Aug 30 12:56:24 2007 http://host-15935.com/ Title: 15935 Thu Aug 30 12:56:25 2007 http://www.host-15936.com/ Title: 15936 Thu Aug 30 12:56:28 2007 http://www.host-15937.com/ Title: 15937 Thu Aug 30 12:56:29 2007 http://www.host-15938.com/ Title: 15938 Thu Aug 30 12:56:32 2007 http://host-15939.com/ Title: 15939 Thu Aug 30 12:56:33 2007 http://host-15940.com/ Title: 15940 Thu Aug 30 12:56:34 2007 http://www.host-15941.com/ Title: 15941 Thu Aug 30 12:56:35 2007 http://host-15942.com/ Title: 15942 Thu Aug 30 12:56:36 2007 http://host-15943.com/ Title: 15943 Thu Aug 30 12:56:52 2007 http://host-15944.com/ Title: 15944 Thu Aug 30 12:56:54 2007 http://host-15945.com/ Title: 15945 Thu Aug 30 12:56:55 2007 http://www.host-15946.com/ Title: 15946 Thu Aug 30 12:57:05 2007 http://www.host-15947.com/ Title: 15947 Thu Aug 30 12:57:10 2007 http://www.host-15948.com/ Title: 15948 Thu Aug 30 13:39:37 2007 http://www.host-15949.com/ Title: 15949 Thu Aug 30 13:45:57 2007 http://www.host-15950.com/ Title: 15950 Thu Aug 30 13:46:18 2007 http://www.host-15951.com/ Title: 15951 Thu Aug 30 13:46:25 2007 http://www.host-15952.com/ Title: 15952 Thu Aug 30 13:46:26 2007 http://host-15953.com/ Title: 15953 Thu Aug 30 13:54:39 2007 http://host-15954.com/ Title: 15954 Thu Aug 30 13:54:41 2007 http://www.host-15955.com/ Title: 15955 Thu Aug 30 13:54:44 2007 http://host-15956.com/ Title: 15956 Thu Aug 30 13:57:51 2007 http://www.host-15957.com/ Title: 15957 Thu Aug 30 13:58:05 2007 http://www.host-15958.com/ Title: 15958 Thu Aug 30 15:15:06 2007 http://host-15959.com/ Title: 15959 Thu Aug 30 15:15:40 2007 http://host-15960.com/ Title: 15960 Thu Aug 30 15:15:43 2007 http://www.host-15961.com/ Title: 15961 Thu Aug 30 15:40:36 2007 http://host-15962.com/ Title: 15962 Thu Aug 30 15:40:39 2007 http://www.host-15963.com/ Title: 15963 Thu Aug 30 15:40:43 2007 http://host-15964.com/ Title: 15964 Thu Aug 30 15:42:18 2007 http://www.host-15965.com/ Title: 15965 Thu Aug 30 15:42:19 2007 http://host-15966.com/ Title: 15966 Thu Aug 30 15:42:21 2007 http://www.host-15967.com/ Title: 15967 Thu Aug 30 15:43:32 2007 http://host-15968.com/ Title: 15968 Thu Aug 30 15:43:33 2007 http://www.host-15969.com/ Title: 15969 Thu Aug 30 15:45:00 2007 http://host-15970.com/ Title: 15970 Thu Aug 30 15:45:14 2007 http://www.host-15971.com/ Title: 15971 Thu Aug 30 16:00:07 2007 http://www.host-15972.com/ Title: 15972 Thu Aug 30 16:01:07 2007 http://www.host-15973.com/ Title: 15973 Thu Aug 30 16:01:10 2007 http://host-15974.com/ Title: 15974 Thu Aug 30 16:28:31 2007 http://host-15975.com/ Title: 15975 Thu Aug 30 16:28:34 2007 http://host-15976.com/ Title: 15976 Thu Aug 30 16:44:24 2007 http://host-15977.com/ Title: 15977 Thu Aug 30 16:49:46 2007 http://www.host-15978.com/ Title: 15978 Thu Aug 30 16:51:08 2007 http://www.host-15979.com/ Title: 15979 Thu Aug 30 16:58:25 2007 http://host-15980.com/ Title: 15980 Thu Aug 30 16:58:35 2007 http://host-15981.com/ Title: 15981 Thu Aug 30 16:58:37 2007 http://host-15982.com/ Title: 15982 Thu Aug 30 16:58:39 2007 http://www.host-15983.com/ Title: 15983 Thu Aug 30 16:58:40 2007 http://host-15984.com/ Title: 15984 Thu Aug 30 16:58:43 2007 http://host-15985.com/ Title: 15985 Thu Aug 30 16:58:44 2007 http://host-15986.com/ Title: 15986 Thu Aug 30 16:59:08 2007 http://www.host-15987.com/ Title: 15987 Thu Aug 30 16:59:09 2007 http://www.host-15988.com/ Title: 15988 Thu Aug 30 16:59:11 2007 http://www.host-15989.com/ Title: 15989 Thu Aug 30 16:59:12 2007 http://www.host-15990.com/ Title: 15990 Thu Aug 30 16:59:17 2007 http://www.host-15991.com/ Title: 15991 Thu Aug 30 16:59:18 2007 http://host-15992.com/ Title: 15992 Thu Aug 30 16:59:19 2007 http://www.host-15993.com/ Title: 15993 Thu Aug 30 16:59:20 2007 http://www.host-15994.com/ Title: 15994 Thu Aug 30 16:59:21 2007 http://host-15995.com/ Title: 15995 Thu Aug 30 16:59:22 2007 http://host-15996.com/ Title: 15996 Thu Aug 30 16:59:25 2007 http://www.host-15997.com/ Title: 15997 Thu Aug 30 16:59:44 2007 http://host-15998.com/ Title: 15998 Thu Aug 30 16:59:53 2007 http://host-15999.com/ Title: 15999 Thu Aug 30 17:00:01 2007 http://host-16000.com/ Title: 16000 Thu Aug 30 17:00:14 2007 http://www.host-16001.com/ Title: 16001 Thu Aug 30 17:00:16 2007 http://host-16002.com/ Title: 16002 Thu Aug 30 17:00:29 2007 http://host-16003.com/ Title: 16003 Thu Aug 30 17:00:38 2007 http://host-16004.com/ Title: 16004 Thu Aug 30 17:00:40 2007 http://www.host-16005.com/ Title: 16005 Thu Aug 30 17:00:42 2007 http://www.host-16006.com/ Title: 16006 Thu Aug 30 17:00:44 2007 http://host-16007.com/ Title: 16007 Thu Aug 30 17:00:48 2007 http://host-16008.com/ Title: 16008 Thu Aug 30 17:00:54 2007 http://host-16009.com/ Title: 16009 Thu Aug 30 17:00:58 2007 http://www.host-16010.com/ Title: 16010 Thu Aug 30 17:01:01 2007 http://www.host-16011.com/ Title: 16011 Thu Aug 30 17:01:59 2007 http://host-16012.com/ Title: 16012 Thu Aug 30 17:02:00 2007 http://host-16013.com/ Title: 16013 Thu Aug 30 17:02:05 2007 http://www.host-16014.com/ Title: 16014 Thu Aug 30 17:02:09 2007 http://host-16015.com/ Title: 16015 Thu Aug 30 17:03:05 2007 http://www.host-16016.com/ Title: 16016 Thu Aug 30 17:03:12 2007 http://www.host-16017.com/ Title: 16017 Thu Aug 30 17:03:35 2007 http://host-16018.com/ Title: 16018 Thu Aug 30 17:04:00 2007 http://host-16019.com/ Title: 16019 Thu Aug 30 17:12:45 2007 http://www.host-16020.com/ Title: 16020 Thu Aug 30 17:12:54 2007 http://host-16021.com/ Title: 16021 Thu Aug 30 17:15:33 2007 http://www.host-16022.com/ Title: 16022 Thu Aug 30 17:15:38 2007 http://host-16023.com/ Title: 16023 Thu Aug 30 17:15:40 2007 http://www.host-16024.com/ Title: 16024 Thu Aug 30 17:18:24 2007 http://host-16025.com/ Title: 16025 Thu Aug 30 17:18:36 2007 http://www.host-16026.com/ Title: 16026 Thu Aug 30 17:26:54 2007 http://www.host-16027.com/ Title: 16027 Thu Aug 30 17:26:57 2007 http://www.host-16028.com/ Title: 16028 Thu Aug 30 17:29:20 2007 http://host-16029.com/ Title: 16029 Thu Aug 30 17:29:30 2007 http://www.host-16030.com/ Title: 16030 Thu Aug 30 17:30:44 2007 http://www.host-16031.com/ Title: 16031 Thu Aug 30 18:28:26 2007 http://host-16032.com/ Title: 16032 Thu Aug 30 18:28:56 2007 http://host-16033.com/ Title: 16033 Fri Aug 31 09:45:35 2007 http://www.host-16034.com/ Title: 16034 Fri Aug 31 09:46:04 2007 http://www.host-16035.com/ Title: 16035 Fri Aug 31 09:48:04 2007 http://www.host-16036.com/ Title: 16036 Fri Aug 31 10:12:49 2007 http://host-16037.com/ Title: 16037 Fri Aug 31 10:12:53 2007 http://www.host-16038.com/ Title: 16038 Fri Aug 31 10:12:57 2007 http://www.host-16039.com/ Title: 16039 Fri Aug 31 10:13:00 2007 http://host-16040.com/ Title: 16040 Fri Aug 31 10:22:33 2007 http://www.host-16041.com/ Title: 16041 Fri Aug 31 10:26:10 2007 http://host-16042.com/ Title: 16042 Fri Aug 31 10:26:16 2007 http://host-16043.com/ Title: 16043 Fri Aug 31 10:26:30 2007 http://host-16044.com/ Title: 16044 Fri Aug 31 10:26:35 2007 http://host-16045.com/ Title: 16045 Fri Aug 31 10:30:42 2007 http://host-16046.com/ Title: 16046 Fri Aug 31 10:35:46 2007 http://www.host-16047.com/ Title: 16047 Fri Aug 31 10:36:46 2007 http://host-16048.com/ Title: 16048 Fri Aug 31 10:36:50 2007 http://www.host-16049.com/ Title: 16049 Fri Aug 31 10:48:38 2007 http://www.host-16050.com/ Title: 16050 Fri Aug 31 10:48:41 2007 http://host-16051.com/ Title: 16051 Fri Aug 31 10:48:43 2007 http://host-16052.com/ Title: 16052 Fri Aug 31 10:48:44 2007 http://host-16053.com/ Title: 16053 Fri Aug 31 12:01:15 2007 http://www.host-16054.com/ Title: 16054 Fri Aug 31 12:01:17 2007 http://www.host-16055.com/ Title: 16055 Fri Aug 31 12:04:43 2007 http://host-16056.com/ Title: 16056 Fri Aug 31 12:05:44 2007 http://www.host-16057.com/ Title: 16057 Fri Aug 31 12:06:09 2007 http://www.host-16058.com/ Title: 16058 Fri Aug 31 12:06:11 2007 http://host-16059.com/ Title: 16059 Fri Aug 31 12:07:35 2007 http://host-16060.com/ Title: 16060 Fri Aug 31 12:07:37 2007 http://www.host-16061.com/ Title: 16061 Fri Aug 31 12:08:01 2007 http://host-16062.com/ Title: 16062 Fri Aug 31 12:08:01 2007 http://host-16063.com/ Title: 16063 Fri Aug 31 12:08:05 2007 http://www.host-16064.com/ Title: 16064 Fri Aug 31 12:08:08 2007 http://www.host-16065.com/ Title: 16065 Fri Aug 31 12:08:56 2007 http://www.host-16066.com/ Title: 16066 Fri Aug 31 12:09:01 2007 http://www.host-16067.com/ Title: 16067 Fri Aug 31 12:11:43 2007 http://host-16068.com/ Title: 16068 Fri Aug 31 12:11:49 2007 http://host-16069.com/ Title: 16069 Fri Aug 31 12:11:53 2007 http://www.host-16070.com/ Title: 16070 Fri Aug 31 12:11:58 2007 http://www.host-16071.com/ Title: 16071 Fri Aug 31 12:12:00 2007 http://www.host-16072.com/ Title: 16072 Fri Aug 31 12:12:02 2007 http://www.host-16073.com/ Title: 16073 Fri Aug 31 12:12:06 2007 http://www.host-16074.com/ Title: 16074 Fri Aug 31 12:12:08 2007 http://host-16075.com/ Title: 16075 Fri Aug 31 12:12:14 2007 http://www.host-16076.com/ Title: 16076 Fri Aug 31 12:18:25 2007 http://www.host-16077.com/ Title: 16077 Fri Aug 31 12:18:29 2007 http://www.host-16078.com/ Title: 16078 Fri Aug 31 12:18:36 2007 http://www.host-16079.com/ Title: 16079 Fri Aug 31 12:18:38 2007 http://host-16080.com/ Title: 16080 Fri Aug 31 12:18:45 2007 http://www.host-16081.com/ Title: 16081 Fri Aug 31 12:28:24 2007 http://www.host-16082.com/ Title: 16082 Fri Aug 31 12:31:12 2007 http://host-16083.com/ Title: 16083 Fri Aug 31 12:31:35 2007 http://www.host-16084.com/ Title: 16084 Fri Aug 31 12:49:20 2007 http://www.host-16085.com/ Title: 16085 Fri Aug 31 12:49:20 2007 http://www.host-16086.com/ Title: 16086 Fri Aug 31 12:49:23 2007 http://www.host-16087.com/ Title: 16087 Fri Aug 31 12:49:29 2007 http://host-16088.com/ Title: 16088 Fri Aug 31 13:02:02 2007 http://www.host-16089.com/ Title: 16089 Fri Aug 31 13:08:15 2007 http://host-16090.com/ Title: 16090 Fri Aug 31 13:08:20 2007 http://host-16091.com/ Title: 16091 Fri Aug 31 13:15:04 2007 http://host-16092.com/ Title: 16092 Fri Aug 31 13:15:07 2007 http://www.host-16093.com/ Title: 16093 Fri Aug 31 13:15:16 2007 http://host-16094.com/ Title: 16094 Fri Aug 31 13:21:05 2007 http://www.host-16095.com/ Title: 16095 Fri Aug 31 13:21:19 2007 http://host-16096.com/ Title: 16096 Fri Aug 31 14:24:33 2007 http://www.host-16097.com/ Title: 16097 Fri Aug 31 14:24:40 2007 http://www.host-16098.com/ Title: 16098 Fri Aug 31 14:25:17 2007 http://www.host-16099.com/ Title: 16099 Fri Aug 31 15:00:14 2007 http://host-16100.com/ Title: 16100 Fri Aug 31 15:00:16 2007 http://www.host-16101.com/ Title: 16101 Fri Aug 31 15:00:20 2007 http://www.host-16102.com/ Title: 16102 Fri Aug 31 15:01:47 2007 http://host-16103.com/ Title: 16103 Fri Aug 31 15:25:11 2007 http://host-16104.com/ Title: 16104 Fri Aug 31 15:26:04 2007 http://www.host-16105.com/ Title: 16105 Fri Aug 31 15:26:10 2007 http://host-16106.com/ Title: 16106 Fri Aug 31 15:27:17 2007 http://host-16107.com/ Title: 16107 Fri Aug 31 15:27:18 2007 http://host-16108.com/ Title: 16108 Fri Aug 31 15:27:19 2007 http://host-16109.com/ Title: 16109 Fri Aug 31 15:27:19 2007 http://www.host-16110.com/ Title: 16110 Fri Aug 31 15:27:20 2007 http://host-16111.com/ Title: 16111 Fri Aug 31 15:27:20 2007 http://www.host-16112.com/ Title: 16112 Fri Aug 31 15:27:21 2007 http://host-16113.com/ Title: 16113 Fri Aug 31 15:27:21 2007 http://www.host-16114.com/ Title: 16114 Fri Aug 31 15:27:22 2007 http://www.host-16115.com/ Title: 16115 Fri Aug 31 15:27:23 2007 http://www.host-16116.com/ Title: 16116 Fri Aug 31 15:27:26 2007 http://www.host-16117.com/ Title: 16117 Fri Aug 31 15:28:04 2007 http://www.host-16118.com/ Title: 16118 Fri Aug 31 15:28:05 2007 http://www.host-16119.com/ Title: 16119 Fri Aug 31 15:28:35 2007 http://www.host-16120.com/ Title: 16120 Fri Aug 31 15:28:36 2007 http://www.host-16121.com/ Title: 16121 Fri Aug 31 15:28:51 2007 http://host-16122.com/ Title: 16122 Fri Aug 31 15:28:53 2007 http://www.host-16123.com/ Title: 16123 Fri Aug 31 15:29:33 2007 http://host-16124.com/ Title: 16124 Fri Aug 31 15:29:34 2007 http://host-16125.com/ Title: 16125 Fri Aug 31 15:29:35 2007 http://www.host-16126.com/ Title: 16126 Fri Aug 31 15:29:36 2007 http://www.host-16127.com/ Title: 16127 Fri Aug 31 15:29:37 2007 http://www.host-16128.com/ Title: 16128 Fri Aug 31 15:29:39 2007 http://host-16129.com/ Title: 16129 Fri Aug 31 15:54:58 2007 http://www.host-16130.com/ Title: 16130 Fri Aug 31 16:56:39 2007 http://www.host-16131.com/ Title: 16131 Fri Aug 31 16:56:44 2007 http://host-16132.com/ Title: 16132 Fri Aug 31 16:56:49 2007 http://www.host-16133.com/ Title: 16133 Fri Aug 31 16:56:54 2007 http://www.host-16134.com/ Title: 16134 Fri Aug 31 16:57:02 2007 http://www.host-16135.com/ Title: 16135 Fri Aug 31 16:57:15 2007 http://www.host-16136.com/ Title: 16136 Fri Aug 31 16:57:18 2007 http://host-16137.com/ Title: 16137 Fri Aug 31 16:57:34 2007 http://www.host-16138.com/ Title: 16138 Mon Sep 3 08:58:27 2007 http://host-16139.com/ Title: 16139 Mon Sep 3 09:33:45 2007 http://www.host-16140.com/ Title: 16140 Mon Sep 3 09:34:03 2007 http://www.host-16141.com/ Title: 16141 Mon Sep 3 09:34:04 2007 http://host-16142.com/ Title: 16142 Mon Sep 3 10:49:07 2007 http://host-16143.com/ Title: 16143 Mon Sep 3 11:26:23 2007 http://host-16144.com/ Title: 16144 Mon Sep 3 12:31:57 2007 http://www.host-16145.com/ Title: 16145 Mon Sep 3 12:33:42 2007 http://host-16146.com/ Title: 16146 Mon Sep 3 12:34:04 2007 http://www.host-16147.com/ Title: 16147 Mon Sep 3 13:10:19 2007 http://www.host-16148.com/ Title: 16148 Mon Sep 3 13:10:29 2007 http://host-16149.com/ Title: 16149 Mon Sep 3 13:10:34 2007 http://host-16150.com/ Title: 16150 Mon Sep 3 13:10:34 2007 http://www.host-16151.com/ Title: 16151 Mon Sep 3 13:57:14 2007 http://www.host-16152.com/ Title: 16152 Mon Sep 3 13:57:19 2007 http://www.host-16153.com/ Title: 16153 Mon Sep 3 13:57:33 2007 http://www.host-16154.com/ Title: 16154 Mon Sep 3 13:57:38 2007 http://host-16155.com/ Title: 16155 Mon Sep 3 14:44:35 2007 http://host-16156.com/ Title: 16156 Mon Sep 3 14:44:38 2007 http://www.host-16157.com/ Title: 16157 Mon Sep 3 14:44:42 2007 http://www.host-16158.com/ Title: 16158 Mon Sep 3 14:47:33 2007 http://host-16159.com/ Title: 16159 Mon Sep 3 15:11:15 2007 http://www.host-16160.com/ Title: 16160 Mon Sep 3 15:14:07 2007 http://host-16161.com/ Title: 16161 Mon Sep 3 15:14:14 2007 http://host-16162.com/ Title: 16162 Mon Sep 3 15:14:40 2007 http://www.host-16163.com/ Title: 16163 Mon Sep 3 15:14:53 2007 http://www.host-16164.com/ Title: 16164 Mon Sep 3 15:14:59 2007 http://www.host-16165.com/ Title: 16165 Mon Sep 3 15:15:04 2007 http://www.host-16166.com/ Title: 16166 Mon Sep 3 15:15:08 2007 http://www.host-16167.com/ Title: 16167 Mon Sep 3 15:38:28 2007 http://www.host-16168.com/ Title: 16168 Mon Sep 3 15:45:53 2007 http://www.host-16169.com/ Title: 16169 Mon Sep 3 15:50:53 2007 http://host-16170.com/ Title: 16170 Mon Sep 3 15:50:57 2007 http://host-16171.com/ Title: 16171 Tue Sep 4 09:18:02 2007 http://host-16172.com/ Title: 16172 Tue Sep 4 09:18:24 2007 http://host-16173.com/ Title: 16173 Tue Sep 4 09:18:36 2007 http://host-16174.com/ Title: 16174 Tue Sep 4 09:21:23 2007 http://www.host-16175.com/ Title: 16175 Tue Sep 4 09:22:05 2007 http://host-16176.com/ Title: 16176 Tue Sep 4 09:22:06 2007 http://host-16177.com/ Title: 16177 Tue Sep 4 09:54:38 2007 http://www.host-16178.com/ Title: 16178 Tue Sep 4 10:44:17 2007 http://www.host-16179.com/ Title: 16179 Tue Sep 4 10:52:09 2007 http://www.host-16180.com/ Title: 16180 Tue Sep 4 10:52:31 2007 http://host-16181.com/ Title: 16181 Tue Sep 4 10:52:36 2007 http://host-16182.com/ Title: 16182 Tue Sep 4 12:14:45 2007 http://host-16183.com/ Title: 16183 Tue Sep 4 12:27:34 2007 http://www.host-16184.com/ Title: 16184 Tue Sep 4 14:05:01 2007 http://www.host-16185.com/ Title: 16185 Tue Sep 4 14:05:03 2007 http://host-16186.com/ Title: 16186 Tue Sep 4 14:07:34 2007 http://www.host-16187.com/ Title: 16187 Tue Sep 4 14:12:51 2007 http://www.host-16188.com/ Title: 16188 Tue Sep 4 14:12:57 2007 http://www.host-16189.com/ Title: 16189 Tue Sep 4 14:19:41 2007 http://host-16190.com/ Title: 16190 Tue Sep 4 14:34:29 2007 http://host-16191.com/ Title: 16191 Tue Sep 4 14:34:53 2007 http://host-16192.com/ Title: 16192 Tue Sep 4 14:35:05 2007 http://www.host-16193.com/ Title: 16193 Tue Sep 4 14:35:21 2007 http://host-16194.com/ Title: 16194 Tue Sep 4 14:36:42 2007 http://host-16195.com/ Title: 16195 Tue Sep 4 14:36:53 2007 http://host-16196.com/ Title: 16196 Tue Sep 4 14:36:56 2007 http://www.host-16197.com/ Title: 16197 Tue Sep 4 14:37:31 2007 http://www.host-16198.com/ Title: 16198 Tue Sep 4 14:37:34 2007 http://www.host-16199.com/ Title: 16199 Tue Sep 4 14:37:41 2007 http://www.host-16200.com/ Title: 16200 Tue Sep 4 14:37:43 2007 http://www.host-16201.com/ Title: 16201 Tue Sep 4 14:37:43 2007 http://host-16202.com/ Title: 16202 Tue Sep 4 14:37:47 2007 http://host-16203.com/ Title: 16203 Tue Sep 4 14:37:50 2007 http://www.host-16204.com/ Title: 16204 Tue Sep 4 14:37:52 2007 http://host-16205.com/ Title: 16205 Tue Sep 4 14:37:54 2007 http://www.host-16206.com/ Title: 16206 Tue Sep 4 14:38:40 2007 http://host-16207.com/ Title: 16207 Tue Sep 4 14:38:41 2007 http://www.host-16208.com/ Title: 16208 Tue Sep 4 14:38:45 2007 http://host-16209.com/ Title: 16209 Tue Sep 4 14:39:06 2007 http://www.host-16210.com/ Title: 16210 Tue Sep 4 14:40:06 2007 http://host-16211.com/ Title: 16211 Tue Sep 4 14:40:35 2007 http://host-16212.com/ Title: 16212 Tue Sep 4 14:43:34 2007 http://www.host-16213.com/ Title: 16213 Tue Sep 4 15:11:14 2007 http://www.host-16214.com/ Title: 16214 Tue Sep 4 15:16:19 2007 http://host-16215.com/ Title: 16215 Tue Sep 4 15:24:43 2007 http://www.host-16216.com/ Title: 16216 Tue Sep 4 16:17:54 2007 http://www.host-16217.com/ Title: 16217 Tue Sep 4 16:17:56 2007 http://www.host-16218.com/ Title: 16218 Tue Sep 4 16:36:26 2007 http://www.host-16219.com/ Title: 16219 Tue Sep 4 16:36:42 2007 http://host-16220.com/ Title: 16220 Tue Sep 4 16:36:46 2007 http://host-16221.com/ Title: 16221 Wed Sep 5 10:11:24 2007 http://host-16222.com/ Title: 16222 Wed Sep 5 10:29:09 2007 http://www.host-16223.com/ Title: 16223 Wed Sep 5 10:37:51 2007 http://host-16224.com/ Title: 16224 Wed Sep 5 10:37:57 2007 http://www.host-16225.com/ Title: 16225 Wed Sep 5 10:40:32 2007 http://host-16226.com/ Title: 16226 Wed Sep 5 10:40:38 2007 http://host-16227.com/ Title: 16227 Wed Sep 5 10:43:03 2007 http://host-16228.com/ Title: 16228 Wed Sep 5 13:40:44 2007 http://www.host-16229.com/ Title: 16229 Wed Sep 5 13:52:37 2007 http://host-16230.com/ Title: 16230 Wed Sep 5 15:33:15 2007 http://www.host-16231.com/ Title: 16231 Wed Sep 5 16:05:22 2007 http://host-16232.com/ Title: 16232 Wed Sep 5 16:05:47 2007 http://www.host-16233.com/ Title: 16233 Wed Sep 5 16:16:37 2007 http://host-16234.com/ Title: 16234 Wed Sep 5 16:52:33 2007 http://host-16235.com/ Title: 16235 Wed Sep 5 16:58:55 2007 http://www.host-16236.com/ Title: 16236 Thu Sep 6 10:14:32 2007 http://www.host-16237.com/ Title: 16237 Thu Sep 6 10:15:21 2007 http://www.host-16238.com/ Title: 16238 Thu Sep 6 11:22:32 2007 http://www.host-16239.com/ Title: 16239 Thu Sep 6 13:01:52 2007 http://www.host-16240.com/ Title: 16240 Thu Sep 6 13:16:31 2007 http://www.host-16241.com/ Title: 16241 Thu Sep 6 13:16:43 2007 http://www.host-16242.com/ Title: 16242 Thu Sep 6 13:16:45 2007 http://www.host-16243.com/ Title: 16243 Thu Sep 6 13:16:57 2007 http://host-16244.com/ Title: 16244 Thu Sep 6 13:17:00 2007 http://www.host-16245.com/ Title: 16245 Thu Sep 6 13:17:05 2007 http://host-16246.com/ Title: 16246 Thu Sep 6 13:17:08 2007 http://host-16247.com/ Title: 16247 Thu Sep 6 13:17:11 2007 http://www.host-16248.com/ Title: 16248 Thu Sep 6 13:43:40 2007 http://host-16249.com/ Title: 16249 Thu Sep 6 15:02:15 2007 http://www.host-16250.com/ Title: 16250 Thu Sep 6 15:02:58 2007 http://host-16251.com/ Title: 16251 Thu Sep 6 15:04:51 2007 http://host-16252.com/ Title: 16252 Thu Sep 6 16:24:58 2007 http://host-16253.com/ Title: 16253 Thu Sep 6 16:31:06 2007 http://host-16254.com/ Title: 16254 Thu Sep 6 16:52:56 2007 http://www.host-16255.com/ Title: 16255 Thu Sep 6 16:52:59 2007 http://www.host-16256.com/ Title: 16256 Fri Sep 7 10:14:48 2007 http://host-16257.com/ Title: 16257 Fri Sep 7 10:15:33 2007 http://host-16258.com/ Title: 16258 Fri Sep 7 10:15:40 2007 http://www.host-16259.com/ Title: 16259 Fri Sep 7 10:15:41 2007 http://www.host-16260.com/ Title: 16260 Fri Sep 7 10:19:21 2007 http://www.host-16261.com/ Title: 16261 Fri Sep 7 10:20:10 2007 http://host-16262.com/ Title: 16262 Fri Sep 7 10:54:41 2007 http://host-16263.com/ Title: 16263 Fri Sep 7 10:56:11 2007 http://www.host-16264.com/ Title: 16264 Fri Sep 7 13:38:36 2007 http://host-16265.com/ Title: 16265 Mon Sep 10 09:31:55 2007 http://www.host-16266.com/ Title: 16266 Mon Sep 10 09:54:13 2007 http://www.host-16267.com/ Title: 16267 Mon Sep 10 09:54:28 2007 http://host-16268.com/ Title: 16268 Mon Sep 10 09:54:35 2007 http://www.host-16269.com/ Title: 16269 Mon Sep 10 09:54:51 2007 http://host-16270.com/ Title: 16270 Mon Sep 10 10:10:33 2007 http://host-16271.com/ Title: 16271 Mon Sep 10 10:17:34 2007 http://host-16272.com/ Title: 16272 Tue Sep 11 15:33:13 2007 http://www.host-16273.com/ Title: 16273 Tue Sep 11 15:37:43 2007 http://host-16274.com/ Title: 16274 Tue Sep 11 15:37:46 2007 http://host-16275.com/ Title: 16275 Tue Sep 11 15:37:50 2007 http://www.host-16276.com/ Title: 16276 Wed Sep 12 09:44:51 2007 http://www.host-16277.com/ Title: 16277 Wed Sep 12 09:45:04 2007 http://host-16278.com/ Title: 16278 Wed Sep 12 09:45:13 2007 http://host-16279.com/ Title: 16279 Wed Sep 12 09:45:17 2007 http://www.host-16280.com/ Title: 16280 Wed Sep 12 09:45:33 2007 http://www.host-16281.com/ Title: 16281 Wed Sep 12 09:45:38 2007 http://host-16282.com/ Title: 16282 Wed Sep 12 10:07:15 2007 http://www.host-16283.com/ Title: 16283 Wed Sep 12 10:20:12 2007 http://host-16284.com/ Title: 16284 Wed Sep 12 10:20:36 2007 http://host-16285.com/ Title: 16285 Wed Sep 12 11:21:59 2007 http://host-16286.com/ Title: 16286 Wed Sep 12 11:22:11 2007 http://host-16287.com/ Title: 16287 Wed Sep 12 11:22:21 2007 http://host-16288.com/ Title: 16288 Wed Sep 12 11:22:36 2007 http://host-16289.com/ Title: 16289 Wed Sep 12 11:23:24 2007 http://host-16290.com/ Title: 16290 Wed Sep 12 11:23:32 2007 http://www.host-16291.com/ Title: 16291 Wed Sep 12 11:24:44 2007 http://host-16292.com/ Title: 16292 Wed Sep 12 15:20:33 2007 http://host-16293.com/ Title: 16293 Wed Sep 12 15:56:34 2007 http://www.host-16294.com/ Title: 16294 Wed Sep 12 15:56:40 2007 http://host-16295.com/ Title: 16295 Wed Sep 12 15:59:48 2007 http://host-16296.com/ Title: 16296 Wed Sep 12 16:00:11 2007 http://host-16297.com/ Title: 16297 Wed Sep 12 16:00:22 2007 http://host-16298.com/ Title: 16298 Wed Sep 12 16:01:48 2007 http://host-16299.com/ Title: 16299 Wed Sep 12 16:02:27 2007 http://host-16300.com/ Title: 16300 Wed Sep 12 16:08:07 2007 http://www.host-16301.com/ Title: 16301 Wed Sep 12 16:08:09 2007 http://www.host-16302.com/ Title: 16302 Wed Sep 12 16:08:25 2007 http://www.host-16303.com/ Title: 16303 Wed Sep 12 16:08:29 2007 http://www.host-16304.com/ Title: 16304 Wed Sep 12 16:09:13 2007 http://www.host-16305.com/ Title: 16305 Wed Sep 12 16:11:31 2007 http://www.host-16306.com/ Title: 16306 Wed Sep 12 16:12:40 2007 http://www.host-16307.com/ Title: 16307 Wed Sep 12 16:13:01 2007 http://www.host-16308.com/ Title: 16308 Wed Sep 12 16:17:21 2007 http://www.host-16309.com/ Title: 16309 Fri Sep 14 11:57:43 2007 http://host-16310.com/ Title: 16310 Fri Sep 14 12:25:57 2007 http://www.host-16311.com/ Title: 16311 Fri Sep 14 12:25:59 2007 http://www.host-16312.com/ Title: 16312 Fri Sep 14 12:26:05 2007 http://www.host-16313.com/ Title: 16313 Fri Sep 14 12:26:25 2007 http://host-16314.com/ Title: 16314 Fri Sep 14 12:26:29 2007 http://host-16315.com/ Title: 16315 Fri Sep 14 12:26:30 2007 http://host-16316.com/ Title: 16316 Fri Sep 14 12:26:32 2007 http://www.host-16317.com/ Title: 16317 Fri Sep 14 12:26:40 2007 http://host-16318.com/ Title: 16318 Fri Sep 14 12:26:48 2007 http://host-16319.com/ Title: 16319 Fri Sep 14 12:27:04 2007 http://host-16320.com/ Title: 16320 Fri Sep 14 12:27:20 2007 http://host-16321.com/ Title: 16321 Fri Sep 14 12:27:26 2007 http://host-16322.com/ Title: 16322 Fri Sep 14 12:27:30 2007 http://host-16323.com/ Title: 16323 Fri Sep 14 13:07:23 2007 http://www.host-16324.com/ Title: 16324 Fri Sep 14 13:09:20 2007 http://host-16325.com/ Title: 16325 Fri Sep 14 13:10:06 2007 http://www.host-16326.com/ Title: 16326 Fri Sep 14 13:10:08 2007 http://www.host-16327.com/ Title: 16327 Fri Sep 14 14:17:49 2007 http://host-16328.com/ Title: 16328 Mon Sep 17 09:16:03 2007 http://host-16329.com/ Title: 16329 Mon Sep 17 10:06:42 2007 http://host-16330.com/ Title: 16330 Mon Sep 17 10:20:59 2007 http://host-16331.com/ Title: 16331 Mon Sep 17 10:21:10 2007 http://host-16332.com/ Title: 16332 Mon Sep 17 10:21:30 2007 http://host-16333.com/ Title: 16333 Mon Sep 17 10:21:43 2007 http://host-16334.com/ Title: 16334 Mon Sep 17 10:21:55 2007 http://www.host-16335.com/ Title: 16335 Mon Sep 17 10:21:57 2007 http://www.host-16336.com/ Title: 16336 Mon Sep 17 13:41:52 2007 http://www.host-16337.com/ Title: 16337 Mon Sep 17 13:42:57 2007 http://www.host-16338.com/ Title: 16338 Mon Sep 17 13:43:00 2007 http://www.host-16339.com/ Title: 16339 Mon Sep 17 13:44:47 2007 http://host-16340.com/ Title: 16340 Mon Sep 17 13:45:13 2007 http://www.host-16341.com/ Title: 16341 Mon Sep 17 13:45:16 2007 http://www.host-16342.com/ Title: 16342 Mon Sep 17 13:45:26 2007 http://www.host-16343.com/ Title: 16343 Mon Sep 17 13:45:28 2007 http://host-16344.com/ Title: 16344 Mon Sep 17 13:45:30 2007 http://www.host-16345.com/ Title: 16345 Mon Sep 17 13:45:32 2007 http://host-16346.com/ Title: 16346 Mon Sep 17 13:45:38 2007 http://www.host-16347.com/ Title: 16347 Mon Sep 17 13:45:42 2007 http://host-16348.com/ Title: 16348 Mon Sep 17 13:45:52 2007 http://host-16349.com/ Title: 16349 Mon Sep 17 13:45:58 2007 http://www.host-16350.com/ Title: 16350 Mon Sep 17 13:46:08 2007 http://host-16351.com/ Title: 16351 Mon Sep 17 13:46:44 2007 http://www.host-16352.com/ Title: 16352 Mon Sep 17 13:56:02 2007 http://www.host-16353.com/ Title: 16353 Mon Sep 17 13:56:24 2007 http://www.host-16354.com/ Title: 16354 Mon Sep 17 13:56:58 2007 http://www.host-16355.com/ Title: 16355 Mon Sep 17 13:58:18 2007 http://host-16356.com/ Title: 16356 Mon Sep 17 13:58:38 2007 http://host-16357.com/ Title: 16357 Mon Sep 17 13:58:46 2007 http://www.host-16358.com/ Title: 16358 Mon Sep 17 14:01:37 2007 http://host-16359.com/ Title: 16359 Mon Sep 17 14:02:17 2007 http://host-16360.com/ Title: 16360 Mon Sep 17 14:02:56 2007 http://www.host-16361.com/ Title: 16361 Mon Sep 17 14:03:52 2007 http://host-16362.com/ Title: 16362 Mon Sep 17 14:19:35 2007 http://www.host-16363.com/ Title: 16363 Mon Sep 17 14:20:30 2007 http://host-16364.com/ Title: 16364 Mon Sep 17 14:21:42 2007 http://host-16365.com/ Title: 16365 Mon Sep 17 14:22:29 2007 http://www.host-16366.com/ Title: 16366 Mon Sep 17 14:23:13 2007 http://host-16367.com/ Title: 16367 Mon Sep 17 14:24:43 2007 http://www.host-16368.com/ Title: 16368 Mon Sep 17 14:31:24 2007 http://host-16369.com/ Title: 16369 Mon Sep 17 14:31:32 2007 http://host-16370.com/ Title: 16370 Mon Sep 17 14:33:36 2007 http://www.host-16371.com/ Title: 16371 Mon Sep 17 14:33:51 2007 http://host-16372.com/ Title: 16372 Mon Sep 17 14:34:29 2007 http://www.host-16373.com/ Title: 16373 Mon Sep 17 14:39:13 2007 http://host-16374.com/ Title: 16374 Mon Sep 17 15:10:21 2007 http://host-16375.com/ Title: 16375 Mon Sep 17 15:10:55 2007 http://www.host-16376.com/ Title: 16376 Mon Sep 17 15:10:58 2007 http://host-16377.com/ Title: 16377 Mon Sep 17 15:11:01 2007 http://host-16378.com/ Title: 16378 Mon Sep 17 15:12:35 2007 http://host-16379.com/ Title: 16379 Mon Sep 17 15:13:47 2007 http://www.host-16380.com/ Title: 16380 Mon Sep 17 15:14:27 2007 http://host-16381.com/ Title: 16381 Mon Sep 17 15:20:24 2007 http://www.host-16382.com/ Title: 16382 Mon Sep 17 15:20:32 2007 http://host-16383.com/ Title: 16383 Mon Sep 17 15:23:28 2007 http://www.host-16384.com/ Title: 16384 Mon Sep 17 15:26:18 2007 http://host-16385.com/ Title: 16385 Mon Sep 17 15:26:20 2007 http://host-16386.com/ Title: 16386 Mon Sep 17 15:26:25 2007 http://host-16387.com/ Title: 16387 Mon Sep 17 15:35:35 2007 http://www.host-16388.com/ Title: 16388 Mon Sep 17 15:36:27 2007 http://www.host-16389.com/ Title: 16389 Mon Sep 17 15:36:56 2007 http://www.host-16390.com/ Title: 16390 Mon Sep 17 15:39:46 2007 http://www.host-16391.com/ Title: 16391 Mon Sep 17 15:41:30 2007 http://www.host-16392.com/ Title: 16392 Mon Sep 17 16:43:56 2007 http://host-16393.com/ Title: 16393 Mon Sep 17 16:52:29 2007 http://www.host-16394.com/ Title: 16394 Mon Sep 17 17:02:29 2007 http://www.host-16395.com/ Title: 16395 Tue Sep 18 10:09:29 2007 http://www.host-16396.com/ Title: 16396 Tue Sep 18 10:10:49 2007 http://host-16397.com/ Title: 16397 Tue Sep 18 10:14:48 2007 http://host-16398.com/ Title: 16398 Tue Sep 18 10:14:55 2007 http://www.host-16399.com/ Title: 16399 Tue Sep 18 10:17:25 2007 http://www.host-16400.com/ Title: 16400 Tue Sep 18 10:18:43 2007 http://www.host-16401.com/ Title: 16401 Tue Sep 18 10:19:16 2007 http://host-16402.com/ Title: 16402 Tue Sep 18 10:19:57 2007 http://host-16403.com/ Title: 16403 Tue Sep 18 10:23:37 2007 http://www.host-16404.com/ Title: 16404 Tue Sep 18 10:23:41 2007 http://host-16405.com/ Title: 16405 Tue Sep 18 10:23:42 2007 http://www.host-16406.com/ Title: 16406 Tue Sep 18 10:23:43 2007 http://www.host-16407.com/ Title: 16407 Tue Sep 18 11:00:17 2007 http://www.host-16408.com/ Title: 16408 Tue Sep 18 11:00:23 2007 http://www.host-16409.com/ Title: 16409 Tue Sep 18 11:01:24 2007 http://host-16410.com/ Title: 16410 Tue Sep 18 11:01:26 2007 http://host-16411.com/ Title: 16411 Tue Sep 18 11:04:40 2007 http://host-16412.com/ Title: 16412 Tue Sep 18 11:04:56 2007 http://www.host-16413.com/ Title: 16413 Tue Sep 18 11:05:06 2007 http://www.host-16414.com/ Title: 16414 Tue Sep 18 11:08:35 2007 http://www.host-16415.com/ Title: 16415 Tue Sep 18 11:08:37 2007 http://www.host-16416.com/ Title: 16416 Tue Sep 18 11:08:42 2007 http://www.host-16417.com/ Title: 16417 Tue Sep 18 11:11:04 2007 http://host-16418.com/ Title: 16418 Tue Sep 18 11:52:06 2007 http://host-16419.com/ Title: 16419 Tue Sep 18 11:52:28 2007 http://www.host-16420.com/ Title: 16420 Tue Sep 18 11:52:29 2007 http://www.host-16421.com/ Title: 16421 Tue Sep 18 11:52:39 2007 http://host-16422.com/ Title: 16422 Tue Sep 18 11:54:25 2007 http://www.host-16423.com/ Title: 16423 Tue Sep 18 11:54:29 2007 http://www.host-16424.com/ Title: 16424 Tue Sep 18 11:54:35 2007 http://www.host-16425.com/ Title: 16425 Tue Sep 18 11:56:15 2007 http://host-16426.com/ Title: 16426 Tue Sep 18 11:56:44 2007 http://www.host-16427.com/ Title: 16427 Tue Sep 18 11:56:46 2007 http://www.host-16428.com/ Title: 16428 Tue Sep 18 11:56:47 2007 http://www.host-16429.com/ Title: 16429 Tue Sep 18 11:57:09 2007 http://www.host-16430.com/ Title: 16430 Tue Sep 18 12:02:09 2007 http://www.host-16431.com/ Title: 16431 Tue Sep 18 12:02:15 2007 http://host-16432.com/ Title: 16432 Tue Sep 18 12:02:27 2007 http://host-16433.com/ Title: 16433 Tue Sep 18 12:02:28 2007 http://www.host-16434.com/ Title: 16434 Tue Sep 18 12:02:48 2007 http://host-16435.com/ Title: 16435 Tue Sep 18 12:02:57 2007 http://host-16436.com/ Title: 16436 Tue Sep 18 12:02:59 2007 http://www.host-16437.com/ Title: 16437 Tue Sep 18 12:04:58 2007 http://www.host-16438.com/ Title: 16438 Tue Sep 18 12:04:59 2007 http://host-16439.com/ Title: 16439 Tue Sep 18 12:05:02 2007 http://www.host-16440.com/ Title: 16440 Tue Sep 18 12:05:03 2007 http://www.host-16441.com/ Title: 16441 Tue Sep 18 12:05:06 2007 http://host-16442.com/ Title: 16442 Tue Sep 18 12:05:07 2007 http://www.host-16443.com/ Title: 16443 Tue Sep 18 12:05:12 2007 http://host-16444.com/ Title: 16444 Tue Sep 18 12:05:13 2007 http://www.host-16445.com/ Title: 16445 Tue Sep 18 12:13:39 2007 http://www.host-16446.com/ Title: 16446 Tue Sep 18 12:13:47 2007 http://www.host-16447.com/ Title: 16447 Tue Sep 18 12:13:51 2007 http://host-16448.com/ Title: 16448 Tue Sep 18 12:14:00 2007 http://www.host-16449.com/ Title: 16449 Tue Sep 18 12:14:04 2007 http://www.host-16450.com/ Title: 16450 Tue Sep 18 12:14:11 2007 http://host-16451.com/ Title: 16451 Tue Sep 18 12:14:18 2007 http://host-16452.com/ Title: 16452 Tue Sep 18 12:15:25 2007 http://host-16453.com/ Title: 16453 Tue Sep 18 12:15:49 2007 http://host-16454.com/ Title: 16454 Tue Sep 18 12:17:34 2007 http://www.host-16455.com/ Title: 16455 Tue Sep 18 12:34:36 2007 http://host-16456.com/ Title: 16456 Tue Sep 18 12:34:38 2007 http://www.host-16457.com/ Title: 16457 Tue Sep 18 12:34:41 2007 http://www.host-16458.com/ Title: 16458 Tue Sep 18 12:40:14 2007 http://www.host-16459.com/ Title: 16459 Tue Sep 18 12:45:01 2007 http://host-16460.com/ Title: 16460 Tue Sep 18 13:37:34 2007 http://www.host-16461.com/ Title: 16461 Tue Sep 18 15:07:03 2007 http://www.host-16462.com/ Title: 16462 Tue Sep 18 15:16:18 2007 http://host-16463.com/ Title: 16463 Tue Sep 18 15:16:23 2007 http://www.host-16464.com/ Title: 16464 Tue Sep 18 15:40:25 2007 http://www.host-16465.com/ Title: 16465 Tue Sep 18 15:51:37 2007 http://www.host-16466.com/ Title: 16466 Tue Sep 18 15:51:55 2007 http://www.host-16467.com/ Title: 16467 Tue Sep 18 15:52:23 2007 http://www.host-16468.com/ Title: 16468 Tue Sep 18 15:52:37 2007 http://host-16469.com/ Title: 16469 Tue Sep 18 15:52:53 2007 http://www.host-16470.com/ Title: 16470 Tue Sep 18 15:52:54 2007 http://host-16471.com/ Title: 16471 Tue Sep 18 15:52:55 2007 http://www.host-16472.com/ Title: 16472 Tue Sep 18 15:54:47 2007 http://www.host-16473.com/ Title: 16473 Tue Sep 18 16:28:01 2007 http://www.host-16474.com/ Title: 16474 Tue Sep 18 16:28:23 2007 http://host-16475.com/ Title: 16475 Tue Sep 18 16:28:26 2007 http://www.host-16476.com/ Title: 16476 Tue Sep 18 16:28:38 2007 http://host-16477.com/ Title: 16477 Tue Sep 18 16:28:44 2007 http://host-16478.com/ Title: 16478 Tue Sep 18 16:29:01 2007 http://www.host-16479.com/ Title: 16479 Tue Sep 18 16:29:07 2007 http://host-16480.com/ Title: 16480 Tue Sep 18 16:29:18 2007 http://host-16481.com/ Title: 16481 Tue Sep 18 16:29:28 2007 http://host-16482.com/ Title: 16482 Tue Sep 18 16:29:35 2007 http://www.host-16483.com/ Title: 16483 Tue Sep 18 16:29:43 2007 http://www.host-16484.com/ Title: 16484 Tue Sep 18 16:29:52 2007 http://www.host-16485.com/ Title: 16485 Tue Sep 18 16:29:59 2007 http://www.host-16486.com/ Title: 16486 Tue Sep 18 16:30:12 2007 http://host-16487.com/ Title: 16487 Tue Sep 18 16:30:20 2007 http://host-16488.com/ Title: 16488 Tue Sep 18 16:30:22 2007 http://host-16489.com/ Title: 16489 Tue Sep 18 16:30:26 2007 http://www.host-16490.com/ Title: 16490 Wed Sep 19 10:17:03 2007 http://host-16491.com/ Title: 16491 Wed Sep 19 10:17:37 2007 http://www.host-16492.com/ Title: 16492 Wed Sep 19 13:04:51 2007 http://host-16493.com/ Title: 16493 Wed Sep 19 13:06:58 2007 http://www.host-16494.com/ Title: 16494 Wed Sep 19 14:23:47 2007 http://www.host-16495.com/ Title: 16495 Wed Sep 19 14:23:51 2007 http://www.host-16496.com/ Title: 16496 Wed Sep 19 14:24:58 2007 http://host-16497.com/ Title: 16497 Wed Sep 19 14:44:54 2007 http://www.host-16498.com/ Title: 16498 Wed Sep 19 15:08:47 2007 http://host-16499.com/ Title: 16499 Thu Sep 20 10:17:59 2007 http://host-16500.com/ Title: 16500 Thu Sep 20 11:37:10 2007 http://www.host-16501.com/ Title: 16501 Thu Sep 20 11:51:54 2007 http://www.host-16502.com/ Title: 16502 Thu Sep 20 11:52:00 2007 http://www.host-16503.com/ Title: 16503 Thu Sep 20 12:00:14 2007 http://www.host-16504.com/ Title: 16504 Thu Sep 20 12:00:17 2007 http://www.host-16505.com/ Title: 16505 Thu Sep 20 13:09:17 2007 http://host-16506.com/ Title: 16506 Thu Sep 20 13:32:40 2007 http://www.host-16507.com/ Title: 16507 Thu Sep 20 13:33:08 2007 http://www.host-16508.com/ Title: 16508 Thu Sep 20 14:45:49 2007 http://www.host-16509.com/ Title: 16509 Thu Sep 20 15:55:00 2007 http://host-16510.com/ Title: 16510 Thu Sep 20 15:55:28 2007 http://host-16511.com/ Title: 16511 Thu Sep 20 15:56:02 2007 http://www.host-16512.com/ Title: 16512 Thu Sep 20 15:56:08 2007 http://www.host-16513.com/ Title: 16513 Thu Sep 20 15:56:11 2007 http://www.host-16514.com/ Title: 16514 Thu Sep 20 15:57:02 2007 http://host-16515.com/ Title: 16515 Thu Sep 20 15:57:18 2007 http://www.host-16516.com/ Title: 16516 Thu Sep 20 15:57:44 2007 http://www.host-16517.com/ Title: 16517 Thu Sep 20 15:58:02 2007 http://host-16518.com/ Title: 16518 Thu Sep 20 16:10:14 2007 http://host-16519.com/ Title: 16519 Thu Sep 20 16:10:16 2007 http://host-16520.com/ Title: 16520 Fri Sep 21 09:51:58 2007 http://host-16521.com/ Title: 16521 Fri Sep 21 12:52:51 2007 http://host-16522.com/ Title: 16522 Fri Sep 21 13:23:11 2007 http://www.host-16523.com/ Title: 16523 Fri Sep 21 13:23:13 2007 http://host-16524.com/ Title: 16524 Fri Sep 21 13:23:26 2007 http://host-16525.com/ Title: 16525 Fri Sep 21 13:23:31 2007 http://www.host-16526.com/ Title: 16526 Fri Sep 21 13:23:33 2007 http://host-16527.com/ Title: 16527 Mon Sep 24 09:22:28 2007 http://www.host-16528.com/ Title: 16528 Mon Sep 24 09:23:14 2007 http://www.host-16529.com/ Title: 16529 Mon Sep 24 09:24:44 2007 http://www.host-16530.com/ Title: 16530 Mon Sep 24 09:25:02 2007 http://www.host-16531.com/ Title: 16531 Mon Sep 24 09:25:04 2007 http://www.host-16532.com/ Title: 16532 Mon Sep 24 09:25:39 2007 http://www.host-16533.com/ Title: 16533 Mon Sep 24 09:29:05 2007 http://www.host-16534.com/ Title: 16534 Mon Sep 24 09:30:49 2007 http://host-16535.com/ Title: 16535 Mon Sep 24 09:38:40 2007 http://www.host-16536.com/ Title: 16536 Mon Sep 24 09:41:03 2007 http://www.host-16537.com/ Title: 16537 Mon Sep 24 10:10:36 2007 http://www.host-16538.com/ Title: 16538 Mon Sep 24 10:10:38 2007 http://www.host-16539.com/ Title: 16539 Mon Sep 24 10:10:40 2007 http://www.host-16540.com/ Title: 16540 Mon Sep 24 10:12:41 2007 http://host-16541.com/ Title: 16541 Mon Sep 24 10:12:44 2007 http://host-16542.com/ Title: 16542 Mon Sep 24 10:12:44 2007 http://host-16543.com/ Title: 16543 Mon Sep 24 10:16:13 2007 http://www.host-16544.com/ Title: 16544 Mon Sep 24 10:16:51 2007 http://host-16545.com/ Title: 16545 Mon Sep 24 10:17:15 2007 http://host-16546.com/ Title: 16546 Mon Sep 24 10:17:28 2007 http://www.host-16547.com/ Title: 16547 Mon Sep 24 10:17:51 2007 http://host-16548.com/ Title: 16548 Mon Sep 24 11:00:53 2007 http://host-16549.com/ Title: 16549 Mon Sep 24 11:00:56 2007 http://host-16550.com/ Title: 16550 Mon Sep 24 11:00:58 2007 http://www.host-16551.com/ Title: 16551 Mon Sep 24 11:04:56 2007 http://www.host-16552.com/ Title: 16552 Mon Sep 24 12:11:30 2007 http://host-16553.com/ Title: 16553 Mon Sep 24 12:12:03 2007 http://www.host-16554.com/ Title: 16554 Mon Sep 24 12:12:17 2007 http://www.host-16555.com/ Title: 16555 Mon Sep 24 12:12:23 2007 http://www.host-16556.com/ Title: 16556 Mon Sep 24 12:12:30 2007 http://host-16557.com/ Title: 16557 Mon Sep 24 12:12:37 2007 http://host-16558.com/ Title: 16558 Mon Sep 24 12:12:39 2007 http://www.host-16559.com/ Title: 16559 Mon Sep 24 12:12:40 2007 http://www.host-16560.com/ Title: 16560 Mon Sep 24 12:12:43 2007 http://host-16561.com/ Title: 16561 Mon Sep 24 12:12:43 2007 http://host-16562.com/ Title: 16562 Mon Sep 24 12:13:03 2007 http://www.host-16563.com/ Title: 16563 Mon Sep 24 12:20:14 2007 http://host-16564.com/ Title: 16564 Mon Sep 24 12:51:41 2007 http://www.host-16565.com/ Title: 16565 Mon Sep 24 12:51:43 2007 http://www.host-16566.com/ Title: 16566 Mon Sep 24 12:52:45 2007 http://host-16567.com/ Title: 16567 Mon Sep 24 12:52:52 2007 http://www.host-16568.com/ Title: 16568 Mon Sep 24 12:53:09 2007 http://www.host-16569.com/ Title: 16569 Mon Sep 24 12:53:11 2007 http://host-16570.com/ Title: 16570 Mon Sep 24 12:53:32 2007 http://www.host-16571.com/ Title: 16571 Mon Sep 24 12:56:20 2007 http://host-16572.com/ Title: 16572 Mon Sep 24 12:56:24 2007 http://host-16573.com/ Title: 16573 Mon Sep 24 12:56:32 2007 http://host-16574.com/ Title: 16574 Mon Sep 24 12:56:45 2007 http://www.host-16575.com/ Title: 16575 Mon Sep 24 12:57:03 2007 http://host-16576.com/ Title: 16576 Mon Sep 24 12:57:14 2007 http://www.host-16577.com/ Title: 16577 Mon Sep 24 12:57:15 2007 http://host-16578.com/ Title: 16578 Mon Sep 24 12:57:20 2007 http://host-16579.com/ Title: 16579 Mon Sep 24 12:57:57 2007 http://host-16580.com/ Title: 16580 Mon Sep 24 12:58:47 2007 http://host-16581.com/ Title: 16581 Mon Sep 24 12:59:12 2007 http://host-16582.com/ Title: 16582 Mon Sep 24 12:59:14 2007 http://www.host-16583.com/ Title: 16583 Mon Sep 24 12:59:54 2007 http://host-16584.com/ Title: 16584 Mon Sep 24 12:59:56 2007 http://host-16585.com/ Title: 16585 Mon Sep 24 13:01:22 2007 http://host-16586.com/ Title: 16586 Mon Sep 24 13:01:51 2007 http://host-16587.com/ Title: 16587 Mon Sep 24 13:01:52 2007 http://www.host-16588.com/ Title: 16588 Mon Sep 24 13:02:57 2007 http://host-16589.com/ Title: 16589 Mon Sep 24 13:03:02 2007 http://www.host-16590.com/ Title: 16590 Mon Sep 24 13:03:21 2007 http://www.host-16591.com/ Title: 16591 Mon Sep 24 13:03:29 2007 http://host-16592.com/ Title: 16592 Mon Sep 24 13:03:50 2007 http://www.host-16593.com/ Title: 16593 Mon Sep 24 13:04:08 2007 http://host-16594.com/ Title: 16594 Mon Sep 24 13:04:11 2007 http://www.host-16595.com/ Title: 16595 Mon Sep 24 13:04:19 2007 http://host-16596.com/ Title: 16596 Mon Sep 24 13:04:24 2007 http://host-16597.com/ Title: 16597 Mon Sep 24 13:05:22 2007 http://host-16598.com/ Title: 16598 Mon Sep 24 13:06:19 2007 http://www.host-16599.com/ Title: 16599 Mon Sep 24 13:06:50 2007 http://host-16600.com/ Title: 16600 Mon Sep 24 13:32:24 2007 http://www.host-16601.com/ Title: 16601 Mon Sep 24 13:36:06 2007 http://host-16602.com/ Title: 16602 Mon Sep 24 13:36:07 2007 http://www.host-16603.com/ Title: 16603 Mon Sep 24 13:36:09 2007 http://www.host-16604.com/ Title: 16604 Mon Sep 24 13:36:10 2007 http://www.host-16605.com/ Title: 16605 Mon Sep 24 13:36:11 2007 http://www.host-16606.com/ Title: 16606 Mon Sep 24 13:36:12 2007 http://host-16607.com/ Title: 16607 Mon Sep 24 13:36:15 2007 http://www.host-16608.com/ Title: 16608 Mon Sep 24 13:36:17 2007 http://www.host-16609.com/ Title: 16609 Mon Sep 24 13:36:18 2007 http://host-16610.com/ Title: 16610 Mon Sep 24 13:36:19 2007 http://host-16611.com/ Title: 16611 Mon Sep 24 13:36:20 2007 http://host-16612.com/ Title: 16612 Mon Sep 24 13:36:21 2007 http://www.host-16613.com/ Title: 16613 Mon Sep 24 13:36:22 2007 http://www.host-16614.com/ Title: 16614 Mon Sep 24 13:36:23 2007 http://www.host-16615.com/ Title: 16615 Mon Sep 24 13:56:03 2007 http://host-16616.com/ Title: 16616 Mon Sep 24 13:56:07 2007 http://host-16617.com/ Title: 16617 Mon Sep 24 13:56:26 2007 http://host-16618.com/ Title: 16618 Mon Sep 24 13:56:31 2007 http://www.host-16619.com/ Title: 16619 Mon Sep 24 13:56:32 2007 http://host-16620.com/ Title: 16620 Mon Sep 24 13:56:33 2007 http://www.host-16621.com/ Title: 16621 Mon Sep 24 13:56:38 2007 http://host-16622.com/ Title: 16622 Mon Sep 24 13:56:42 2007 http://www.host-16623.com/ Title: 16623 Mon Sep 24 13:56:42 2007 http://www.host-16624.com/ Title: 16624 Mon Sep 24 13:56:43 2007 http://www.host-16625.com/ Title: 16625 Mon Sep 24 13:56:44 2007 http://www.host-16626.com/ Title: 16626 Mon Sep 24 13:56:45 2007 http://www.host-16627.com/ Title: 16627 Mon Sep 24 13:57:14 2007 http://host-16628.com/ Title: 16628 Mon Sep 24 13:57:24 2007 http://www.host-16629.com/ Title: 16629 Mon Sep 24 13:57:25 2007 http://www.host-16630.com/ Title: 16630 Mon Sep 24 13:57:26 2007 http://host-16631.com/ Title: 16631 Mon Sep 24 13:57:30 2007 http://www.host-16632.com/ Title: 16632 Mon Sep 24 13:57:31 2007 http://host-16633.com/ Title: 16633 Mon Sep 24 13:57:32 2007 http://host-16634.com/ Title: 16634 Mon Sep 24 13:57:33 2007 http://www.host-16635.com/ Title: 16635 Mon Sep 24 13:57:34 2007 http://host-16636.com/ Title: 16636 Mon Sep 24 13:57:36 2007 http://www.host-16637.com/ Title: 16637 Mon Sep 24 13:57:37 2007 http://host-16638.com/ Title: 16638 Mon Sep 24 13:57:38 2007 http://www.host-16639.com/ Title: 16639 Mon Sep 24 13:57:40 2007 http://www.host-16640.com/ Title: 16640 Mon Sep 24 14:04:45 2007 http://www.host-16641.com/ Title: 16641 Mon Sep 24 14:05:15 2007 http://host-16642.com/ Title: 16642 Mon Sep 24 14:05:18 2007 http://www.host-16643.com/ Title: 16643 Mon Sep 24 14:05:33 2007 http://host-16644.com/ Title: 16644 Mon Sep 24 14:05:44 2007 http://www.host-16645.com/ Title: 16645 Mon Sep 24 14:17:38 2007 http://host-16646.com/ Title: 16646 Mon Sep 24 14:18:17 2007 http://host-16647.com/ Title: 16647 Mon Sep 24 15:06:47 2007 http://host-16648.com/ Title: 16648 Mon Sep 24 15:06:56 2007 http://host-16649.com/ Title: 16649 Mon Sep 24 15:07:02 2007 http://www.host-16650.com/ Title: 16650 Mon Sep 24 15:15:27 2007 http://www.host-16651.com/ Title: 16651 Mon Sep 24 15:15:33 2007 http://www.host-16652.com/ Title: 16652 Mon Sep 24 16:43:23 2007 http://host-16653.com/ Title: 16653 Tue Sep 25 12:30:21 2007 http://www.host-16654.com/ Title: 16654 Tue Sep 25 12:30:50 2007 http://host-16655.com/ Title: 16655 Tue Sep 25 12:31:10 2007 http://host-16656.com/ Title: 16656 Tue Sep 25 12:31:13 2007 http://host-16657.com/ Title: 16657 Tue Sep 25 12:31:44 2007 http://host-16658.com/ Title: 16658 Tue Sep 25 12:31:45 2007 http://www.host-16659.com/ Title: 16659 Tue Sep 25 13:25:01 2007 http://www.host-16660.com/ Title: 16660 Tue Sep 25 13:25:03 2007 http://www.host-16661.com/ Title: 16661 Tue Sep 25 13:25:06 2007 http://host-16662.com/ Title: 16662 Wed Sep 26 09:36:58 2007 http://host-16663.com/ Title: 16663 Wed Sep 26 11:35:33 2007 http://www.host-16664.com/ Title: 16664 Wed Sep 26 11:36:49 2007 http://host-16665.com/ Title: 16665 Wed Sep 26 11:37:02 2007 http://www.host-16666.com/ Title: 16666 Wed Sep 26 11:37:29 2007 http://www.host-16667.com/ Title: 16667 Wed Sep 26 11:37:30 2007 http://www.host-16668.com/ Title: 16668 Wed Sep 26 11:38:14 2007 http://host-16669.com/ Title: 16669 Wed Sep 26 11:38:23 2007 http://www.host-16670.com/ Title: 16670 Wed Sep 26 11:38:25 2007 http://host-16671.com/ Title: 16671 Wed Sep 26 11:38:46 2007 http://host-16672.com/ Title: 16672 Wed Sep 26 11:39:03 2007 http://www.host-16673.com/ Title: 16673 Wed Sep 26 11:39:06 2007 http://host-16674.com/ Title: 16674 Wed Sep 26 11:39:21 2007 http://host-16675.com/ Title: 16675 Wed Sep 26 11:39:33 2007 http://host-16676.com/ Title: 16676 Wed Sep 26 11:39:46 2007 http://www.host-16677.com/ Title: 16677 Wed Sep 26 11:39:56 2007 http://host-16678.com/ Title: 16678 Wed Sep 26 11:40:17 2007 http://host-16679.com/ Title: 16679 Wed Sep 26 11:40:19 2007 http://host-16680.com/ Title: 16680 Wed Sep 26 11:40:39 2007 http://host-16681.com/ Title: 16681 Wed Sep 26 11:41:18 2007 http://www.host-16682.com/ Title: 16682 Wed Sep 26 11:41:22 2007 http://www.host-16683.com/ Title: 16683 Wed Sep 26 11:41:32 2007 http://www.host-16684.com/ Title: 16684 Wed Sep 26 11:41:44 2007 http://www.host-16685.com/ Title: 16685 Wed Sep 26 11:41:47 2007 http://www.host-16686.com/ Title: 16686 Wed Sep 26 11:42:00 2007 http://www.host-16687.com/ Title: 16687 Wed Sep 26 11:43:22 2007 http://www.host-16688.com/ Title: 16688 Wed Sep 26 11:43:25 2007 http://host-16689.com/ Title: 16689 Wed Sep 26 11:43:39 2007 http://www.host-16690.com/ Title: 16690 Wed Sep 26 11:44:14 2007 http://host-16691.com/ Title: 16691 Wed Sep 26 11:44:16 2007 http://www.host-16692.com/ Title: 16692 Wed Sep 26 11:44:25 2007 http://host-16693.com/ Title: 16693 Wed Sep 26 11:44:54 2007 http://host-16694.com/ Title: 16694 Wed Sep 26 11:44:57 2007 http://www.host-16695.com/ Title: 16695 Wed Sep 26 11:45:12 2007 http://host-16696.com/ Title: 16696 Wed Sep 26 11:45:22 2007 http://www.host-16697.com/ Title: 16697 Wed Sep 26 11:45:31 2007 http://www.host-16698.com/ Title: 16698 Wed Sep 26 11:45:36 2007 http://www.host-16699.com/ Title: 16699 Wed Sep 26 11:46:37 2007 http://host-16700.com/ Title: 16700 Wed Sep 26 11:46:52 2007 http://www.host-16701.com/ Title: 16701 Wed Sep 26 11:46:53 2007 http://host-16702.com/ Title: 16702 Wed Sep 26 11:47:04 2007 http://host-16703.com/ Title: 16703 Wed Sep 26 12:48:24 2007 http://host-16704.com/ Title: 16704 Wed Sep 26 13:30:32 2007 http://host-16705.com/ Title: 16705 Wed Sep 26 13:30:38 2007 http://www.host-16706.com/ Title: 16706 Wed Sep 26 14:00:11 2007 http://host-16707.com/ Title: 16707 Wed Sep 26 14:19:18 2007 http://host-16708.com/ Title: 16708 Wed Sep 26 17:32:57 2007 http://host-16709.com/ Title: 16709 Thu Sep 27 08:18:27 2007 http://www.host-16710.com/ Title: 16710 Thu Sep 27 08:18:30 2007 http://www.host-16711.com/ Title: 16711 Thu Sep 27 08:18:31 2007 http://www.host-16712.com/ Title: 16712 Thu Sep 27 08:18:33 2007 http://host-16713.com/ Title: 16713 Thu Sep 27 08:18:58 2007 http://www.host-16714.com/ Title: 16714 Thu Sep 27 08:21:10 2007 http://www.host-16715.com/ Title: 16715 Thu Sep 27 08:21:10 2007 http://www.host-16716.com/ Title: 16716 Thu Sep 27 08:22:15 2007 http://host-16717.com/ Title: 16717 Thu Sep 27 08:22:37 2007 http://host-16718.com/ Title: 16718 Thu Sep 27 08:22:40 2007 http://host-16719.com/ Title: 16719 Thu Sep 27 08:22:41 2007 http://www.host-16720.com/ Title: 16720 Thu Sep 27 08:22:44 2007 http://host-16721.com/ Title: 16721 Thu Sep 27 08:25:24 2007 http://host-16722.com/ Title: 16722 Thu Sep 27 08:25:26 2007 http://host-16723.com/ Title: 16723 Thu Sep 27 08:26:23 2007 http://host-16724.com/ Title: 16724 Thu Sep 27 08:26:25 2007 http://host-16725.com/ Title: 16725 Thu Sep 27 08:26:27 2007 http://www.host-16726.com/ Title: 16726 Thu Sep 27 08:26:27 2007 http://host-16727.com/ Title: 16727 Thu Sep 27 08:26:39 2007 http://www.host-16728.com/ Title: 16728 Thu Sep 27 08:26:43 2007 http://www.host-16729.com/ Title: 16729 Thu Sep 27 08:26:46 2007 http://host-16730.com/ Title: 16730 Thu Sep 27 08:26:48 2007 http://www.host-16731.com/ Title: 16731 Thu Sep 27 08:27:08 2007 http://www.host-16732.com/ Title: 16732 Thu Sep 27 08:27:16 2007 http://www.host-16733.com/ Title: 16733 Thu Sep 27 11:08:01 2007 http://host-16734.com/ Title: 16734 Thu Sep 27 11:08:05 2007 http://host-16735.com/ Title: 16735 Thu Sep 27 11:20:07 2007 http://host-16736.com/ Title: 16736 Thu Sep 27 11:20:16 2007 http://host-16737.com/ Title: 16737 Thu Sep 27 11:24:27 2007 http://host-16738.com/ Title: 16738 Thu Sep 27 11:24:30 2007 http://www.host-16739.com/ Title: 16739 Thu Sep 27 11:25:26 2007 http://host-16740.com/ Title: 16740 Thu Sep 27 11:25:37 2007 http://host-16741.com/ Title: 16741 Thu Sep 27 11:25:41 2007 http://host-16742.com/ Title: 16742 Thu Sep 27 11:25:49 2007 http://www.host-16743.com/ Title: 16743 Thu Sep 27 13:27:41 2007 http://www.host-16744.com/ Title: 16744 Thu Sep 27 13:33:32 2007 http://host-16745.com/ Title: 16745 Thu Sep 27 13:33:33 2007 http://www.host-16746.com/ Title: 16746 Thu Sep 27 13:34:22 2007 http://www.host-16747.com/ Title: 16747 Thu Sep 27 13:35:45 2007 http://host-16748.com/ Title: 16748 Thu Sep 27 13:35:51 2007 http://www.host-16749.com/ Title: 16749 Thu Sep 27 13:36:53 2007 http://host-16750.com/ Title: 16750 Thu Sep 27 13:36:55 2007 http://www.host-16751.com/ Title: 16751 Thu Sep 27 13:38:39 2007 http://host-16752.com/ Title: 16752 Thu Sep 27 13:52:44 2007 http://www.host-16753.com/ Title: 16753 Thu Sep 27 13:52:44 2007 http://www.host-16754.com/ Title: 16754 Thu Sep 27 13:52:49 2007 http://host-16755.com/ Title: 16755 Thu Sep 27 14:23:47 2007 http://www.host-16756.com/ Title: 16756 Thu Sep 27 14:23:55 2007 http://www.host-16757.com/ Title: 16757 Thu Sep 27 14:24:19 2007 http://host-16758.com/ Title: 16758 Thu Sep 27 14:24:44 2007 http://www.host-16759.com/ Title: 16759 Thu Sep 27 14:27:17 2007 http://www.host-16760.com/ Title: 16760 Thu Sep 27 14:27:18 2007 http://www.host-16761.com/ Title: 16761 Thu Sep 27 14:27:20 2007 http://host-16762.com/ Title: 16762 Thu Sep 27 14:27:21 2007 http://www.host-16763.com/ Title: 16763 Thu Sep 27 14:30:14 2007 http://www.host-16764.com/ Title: 16764 Thu Sep 27 14:30:22 2007 http://host-16765.com/ Title: 16765 Thu Sep 27 14:30:23 2007 http://www.host-16766.com/ Title: 16766 Thu Sep 27 14:30:24 2007 http://www.host-16767.com/ Title: 16767 Thu Sep 27 14:30:28 2007 http://www.host-16768.com/ Title: 16768 Thu Sep 27 14:30:30 2007 http://host-16769.com/ Title: 16769 Thu Sep 27 14:32:08 2007 http://host-16770.com/ Title: 16770 Thu Sep 27 14:32:10 2007 http://host-16771.com/ Title: 16771 Thu Sep 27 14:32:30 2007 http://host-16772.com/ Title: 16772 Thu Sep 27 14:32:36 2007 http://host-16773.com/ Title: 16773 Thu Sep 27 14:32:57 2007 http://host-16774.com/ Title: 16774 Thu Sep 27 14:34:26 2007 http://host-16775.com/ Title: 16775 Thu Sep 27 14:34:31 2007 http://www.host-16776.com/ Title: 16776 Thu Sep 27 14:35:41 2007 http://host-16777.com/ Title: 16777 Thu Sep 27 14:35:57 2007 http://www.host-16778.com/ Title: 16778 Thu Sep 27 14:36:21 2007 http://host-16779.com/ Title: 16779 Thu Sep 27 14:36:24 2007 http://host-16780.com/ Title: 16780 Thu Sep 27 14:36:38 2007 http://www.host-16781.com/ Title: 16781 Thu Sep 27 14:36:57 2007 http://www.host-16782.com/ Title: 16782 Thu Sep 27 14:37:00 2007 http://host-16783.com/ Title: 16783 Thu Sep 27 14:37:02 2007 http://www.host-16784.com/ Title: 16784 Thu Sep 27 14:37:02 2007 http://host-16785.com/ Title: 16785 Thu Sep 27 14:37:03 2007 http://host-16786.com/ Title: 16786 Thu Sep 27 14:37:09 2007 http://www.host-16787.com/ Title: 16787 Thu Sep 27 14:37:41 2007 http://www.host-16788.com/ Title: 16788 Thu Sep 27 14:37:53 2007 http://host-16789.com/ Title: 16789 Thu Sep 27 14:38:00 2007 http://www.host-16790.com/ Title: 16790 Thu Sep 27 14:38:15 2007 http://www.host-16791.com/ Title: 16791 Thu Sep 27 14:38:17 2007 http://host-16792.com/ Title: 16792 Thu Sep 27 14:38:50 2007 http://www.host-16793.com/ Title: 16793 Thu Sep 27 14:38:54 2007 http://host-16794.com/ Title: 16794 Thu Sep 27 14:40:15 2007 http://host-16795.com/ Title: 16795 Thu Sep 27 14:40:21 2007 http://host-16796.com/ Title: 16796 Thu Sep 27 14:43:10 2007 http://www.host-16797.com/ Title: 16797 Thu Sep 27 14:43:11 2007 http://host-16798.com/ Title: 16798 Thu Sep 27 14:43:13 2007 http://host-16799.com/ Title: 16799 Thu Sep 27 14:47:15 2007 http://www.host-16800.com/ Title: 16800 Thu Sep 27 14:48:06 2007 http://host-16801.com/ Title: 16801 Thu Sep 27 14:48:09 2007 http://www.host-16802.com/ Title: 16802 Thu Sep 27 14:49:21 2007 http://www.host-16803.com/ Title: 16803 Thu Sep 27 14:54:22 2007 http://www.host-16804.com/ Title: 16804 Thu Sep 27 14:54:29 2007 http://host-16805.com/ Title: 16805 Thu Sep 27 14:55:02 2007 http://host-16806.com/ Title: 16806 Thu Sep 27 14:55:05 2007 http://www.host-16807.com/ Title: 16807 Thu Sep 27 14:55:08 2007 http://www.host-16808.com/ Title: 16808 Thu Sep 27 14:55:15 2007 http://www.host-16809.com/ Title: 16809 Thu Sep 27 14:56:09 2007 http://host-16810.com/ Title: 16810 Thu Sep 27 14:56:12 2007 http://www.host-16811.com/ Title: 16811 Thu Sep 27 14:57:02 2007 http://www.host-16812.com/ Title: 16812 Thu Sep 27 14:57:05 2007 http://host-16813.com/ Title: 16813 Thu Sep 27 15:01:52 2007 http://host-16814.com/ Title: 16814 Thu Sep 27 15:01:59 2007 http://www.host-16815.com/ Title: 16815 Thu Sep 27 15:02:22 2007 http://www.host-16816.com/ Title: 16816 Fri Sep 28 14:30:28 2007 http://host-16817.com/ Title: 16817 Fri Sep 28 14:35:51 2007 http://www.host-16818.com/ Title: 16818 Fri Sep 28 14:35:52 2007 http://host-16819.com/ Title: 16819 Fri Sep 28 14:36:05 2007 http://host-16820.com/ Title: 16820 Fri Sep 28 14:36:12 2007 http://host-16821.com/ Title: 16821 Fri Sep 28 14:37:55 2007 http://host-16822.com/ Title: 16822 Fri Sep 28 14:38:46 2007 http://www.host-16823.com/ Title: 16823 Fri Sep 28 14:39:04 2007 http://www.host-16824.com/ Title: 16824 Fri Sep 28 15:40:24 2007 http://host-16825.com/ Title: 16825 Mon Oct 1 09:57:21 2007 http://host-16826.com/ Title: 16826 Mon Oct 1 10:10:31 2007 http://host-16827.com/ Title: 16827 Mon Oct 1 10:46:26 2007 http://host-16828.com/ Title: 16828 Mon Oct 1 10:46:28 2007 http://host-16829.com/ Title: 16829 Mon Oct 1 10:46:59 2007 http://host-16830.com/ Title: 16830 Mon Oct 1 11:53:04 2007 http://host-16831.com/ Title: 16831 Mon Oct 1 11:53:08 2007 http://www.host-16832.com/ Title: 16832 Mon Oct 1 11:54:39 2007 http://www.host-16833.com/ Title: 16833 Mon Oct 1 11:54:48 2007 http://www.host-16834.com/ Title: 16834 Mon Oct 1 11:55:33 2007 http://www.host-16835.com/ Title: 16835 Mon Oct 1 11:55:49 2007 http://host-16836.com/ Title: 16836 Mon Oct 1 11:56:01 2007 http://host-16837.com/ Title: 16837 Mon Oct 1 12:09:37 2007 http://host-16838.com/ Title: 16838 Mon Oct 1 12:10:22 2007 http://www.host-16839.com/ Title: 16839 Mon Oct 1 12:11:10 2007 http://host-16840.com/ Title: 16840 Mon Oct 1 13:37:41 2007 http://host-16841.com/ Title: 16841 Mon Oct 1 13:57:15 2007 http://host-16842.com/ Title: 16842 Mon Oct 1 13:57:17 2007 http://www.host-16843.com/ Title: 16843 Mon Oct 1 13:59:10 2007 http://www.host-16844.com/ Title: 16844 Mon Oct 1 14:06:47 2007 http://www.host-16845.com/ Title: 16845 Mon Oct 1 14:06:55 2007 http://www.host-16846.com/ Title: 16846 Mon Oct 1 14:07:47 2007 http://host-16847.com/ Title: 16847 Mon Oct 1 14:07:50 2007 http://host-16848.com/ Title: 16848 Mon Oct 1 14:08:36 2007 http://host-16849.com/ Title: 16849 Mon Oct 1 14:08:41 2007 http://www.host-16850.com/ Title: 16850 Mon Oct 1 14:09:48 2007 http://host-16851.com/ Title: 16851 Mon Oct 1 14:26:05 2007 http://host-16852.com/ Title: 16852 Mon Oct 1 14:26:11 2007 http://www.host-16853.com/ Title: 16853 Mon Oct 1 14:48:41 2007 http://host-16854.com/ Title: 16854 Mon Oct 1 14:48:46 2007 http://host-16855.com/ Title: 16855 Mon Oct 1 14:54:19 2007 http://www.host-16856.com/ Title: 16856 Mon Oct 1 14:54:27 2007 http://host-16857.com/ Title: 16857 Mon Oct 1 14:54:28 2007 http://host-16858.com/ Title: 16858 Mon Oct 1 14:54:44 2007 http://host-16859.com/ Title: 16859 Mon Oct 1 14:54:53 2007 http://host-16860.com/ Title: 16860 Mon Oct 1 14:54:54 2007 http://www.host-16861.com/ Title: 16861 Mon Oct 1 14:54:57 2007 http://www.host-16862.com/ Title: 16862 Mon Oct 1 14:55:16 2007 http://www.host-16863.com/ Title: 16863 Mon Oct 1 14:55:17 2007 http://host-16864.com/ Title: 16864 Mon Oct 1 14:55:23 2007 http://www.host-16865.com/ Title: 16865 Mon Oct 1 14:55:28 2007 http://host-16866.com/ Title: 16866 Mon Oct 1 14:55:30 2007 http://host-16867.com/ Title: 16867 Mon Oct 1 14:55:30 2007 http://www.host-16868.com/ Title: 16868 Mon Oct 1 14:55:48 2007 http://host-16869.com/ Title: 16869 Mon Oct 1 15:20:29 2007 http://host-16870.com/ Title: 16870 Mon Oct 1 15:21:00 2007 http://www.host-16871.com/ Title: 16871 Mon Oct 1 15:21:02 2007 http://www.host-16872.com/ Title: 16872 Mon Oct 1 15:25:50 2007 http://www.host-16873.com/ Title: 16873 Mon Oct 1 15:29:38 2007 http://host-16874.com/ Title: 16874 Mon Oct 1 15:29:42 2007 http://www.host-16875.com/ Title: 16875 Mon Oct 1 15:34:51 2007 http://host-16876.com/ Title: 16876 Mon Oct 1 15:34:59 2007 http://www.host-16877.com/ Title: 16877 Mon Oct 1 15:35:26 2007 http://www.host-16878.com/ Title: 16878 Mon Oct 1 15:38:57 2007 http://host-16879.com/ Title: 16879 Mon Oct 1 15:40:25 2007 http://www.host-16880.com/ Title: 16880 Mon Oct 1 15:40:39 2007 http://www.host-16881.com/ Title: 16881 Mon Oct 1 15:40:43 2007 http://www.host-16882.com/ Title: 16882 Mon Oct 1 15:40:44 2007 http://www.host-16883.com/ Title: 16883 Mon Oct 1 15:42:50 2007 http://host-16884.com/ Title: 16884 Mon Oct 1 15:45:26 2007 http://host-16885.com/ Title: 16885 Mon Oct 1 15:45:36 2007 http://www.host-16886.com/ Title: 16886 Mon Oct 1 15:45:42 2007 http://www.host-16887.com/ Title: 16887 Mon Oct 1 15:45:48 2007 http://host-16888.com/ Title: 16888 Mon Oct 1 15:46:02 2007 http://host-16889.com/ Title: 16889 Mon Oct 1 15:46:04 2007 http://www.host-16890.com/ Title: 16890 Mon Oct 1 15:46:15 2007 http://host-16891.com/ Title: 16891 Mon Oct 1 15:47:08 2007 http://www.host-16892.com/ Title: 16892 Mon Oct 1 16:55:13 2007 http://host-16893.com/ Title: 16893 Tue Oct 2 09:54:27 2007 http://www.host-16894.com/ Title: 16894 Tue Oct 2 09:54:42 2007 http://www.host-16895.com/ Title: 16895 Tue Oct 2 09:55:18 2007 http://host-16896.com/ Title: 16896 Tue Oct 2 09:56:14 2007 http://www.host-16897.com/ Title: 16897 Tue Oct 2 09:56:17 2007 http://www.host-16898.com/ Title: 16898 Tue Oct 2 09:56:41 2007 http://host-16899.com/ Title: 16899 Tue Oct 2 09:56:43 2007 http://host-16900.com/ Title: 16900 Tue Oct 2 09:57:45 2007 http://host-16901.com/ Title: 16901 Tue Oct 2 09:58:14 2007 http://www.host-16902.com/ Title: 16902 Tue Oct 2 09:58:59 2007 http://host-16903.com/ Title: 16903 Tue Oct 2 09:59:10 2007 http://host-16904.com/ Title: 16904 Tue Oct 2 10:00:14 2007 http://host-16905.com/ Title: 16905 Tue Oct 2 10:02:06 2007 http://www.host-16906.com/ Title: 16906 Tue Oct 2 10:02:30 2007 http://host-16907.com/ Title: 16907 Tue Oct 2 10:02:43 2007 http://host-16908.com/ Title: 16908 Tue Oct 2 10:02:45 2007 http://www.host-16909.com/ Title: 16909 Tue Oct 2 10:02:45 2007 http://host-16910.com/ Title: 16910 Tue Oct 2 10:03:03 2007 http://host-16911.com/ Title: 16911 Tue Oct 2 10:03:07 2007 http://host-16912.com/ Title: 16912 Tue Oct 2 10:03:10 2007 http://www.host-16913.com/ Title: 16913 Tue Oct 2 10:03:12 2007 http://host-16914.com/ Title: 16914 Tue Oct 2 10:03:13 2007 http://host-16915.com/ Title: 16915 Tue Oct 2 10:03:16 2007 http://www.host-16916.com/ Title: 16916 Tue Oct 2 10:05:55 2007 http://www.host-16917.com/ Title: 16917 Tue Oct 2 10:06:05 2007 http://www.host-16918.com/ Title: 16918 Tue Oct 2 10:07:04 2007 http://host-16919.com/ Title: 16919 Tue Oct 2 10:07:08 2007 http://host-16920.com/ Title: 16920 Tue Oct 2 10:08:15 2007 http://www.host-16921.com/ Title: 16921 Tue Oct 2 10:08:25 2007 http://www.host-16922.com/ Title: 16922 Tue Oct 2 10:08:29 2007 http://host-16923.com/ Title: 16923 Tue Oct 2 10:08:36 2007 http://www.host-16924.com/ Title: 16924 Tue Oct 2 10:08:44 2007 http://www.host-16925.com/ Title: 16925 Tue Oct 2 10:09:09 2007 http://www.host-16926.com/ Title: 16926 Tue Oct 2 10:09:12 2007 http://host-16927.com/ Title: 16927 Tue Oct 2 10:09:16 2007 http://www.host-16928.com/ Title: 16928 Tue Oct 2 10:17:32 2007 http://www.host-16929.com/ Title: 16929 Tue Oct 2 10:17:38 2007 http://host-16930.com/ Title: 16930 Tue Oct 2 10:18:02 2007 http://www.host-16931.com/ Title: 16931 Tue Oct 2 10:18:28 2007 http://host-16932.com/ Title: 16932 Tue Oct 2 10:51:13 2007 http://www.host-16933.com/ Title: 16933 Tue Oct 2 10:51:44 2007 http://host-16934.com/ Title: 16934 Tue Oct 2 10:51:46 2007 http://www.host-16935.com/ Title: 16935 Tue Oct 2 10:57:29 2007 http://host-16936.com/ Title: 16936 Tue Oct 2 10:57:39 2007 http://host-16937.com/ Title: 16937 Tue Oct 2 10:57:42 2007 http://host-16938.com/ Title: 16938 Tue Oct 2 10:57:50 2007 http://www.host-16939.com/ Title: 16939 Tue Oct 2 11:01:12 2007 http://www.host-16940.com/ Title: 16940 Tue Oct 2 11:01:26 2007 http://host-16941.com/ Title: 16941 Tue Oct 2 11:01:29 2007 http://www.host-16942.com/ Title: 16942 Tue Oct 2 11:04:00 2007 http://host-16943.com/ Title: 16943 Tue Oct 2 11:04:08 2007 http://www.host-16944.com/ Title: 16944 Tue Oct 2 11:05:35 2007 http://www.host-16945.com/ Title: 16945 Tue Oct 2 11:06:10 2007 http://host-16946.com/ Title: 16946 Tue Oct 2 11:06:15 2007 http://host-16947.com/ Title: 16947 Tue Oct 2 11:06:57 2007 http://www.host-16948.com/ Title: 16948 Tue Oct 2 11:07:04 2007 http://www.host-16949.com/ Title: 16949 Tue Oct 2 11:25:52 2007 http://www.host-16950.com/ Title: 16950 Tue Oct 2 11:25:57 2007 http://host-16951.com/ Title: 16951 Tue Oct 2 11:27:52 2007 http://host-16952.com/ Title: 16952 Tue Oct 2 11:27:54 2007 http://www.host-16953.com/ Title: 16953 Tue Oct 2 11:28:21 2007 http://host-16954.com/ Title: 16954 Tue Oct 2 11:28:23 2007 http://host-16955.com/ Title: 16955 Tue Oct 2 11:33:36 2007 http://host-16956.com/ Title: 16956 Tue Oct 2 11:38:26 2007 http://www.host-16957.com/ Title: 16957 Tue Oct 2 11:38:27 2007 http://host-16958.com/ Title: 16958 Tue Oct 2 11:38:45 2007 http://www.host-16959.com/ Title: 16959 Tue Oct 2 11:41:59 2007 http://www.host-16960.com/ Title: 16960 Tue Oct 2 11:42:22 2007 http://host-16961.com/ Title: 16961 Tue Oct 2 11:42:31 2007 http://host-16962.com/ Title: 16962 Tue Oct 2 11:50:07 2007 http://host-16963.com/ Title: 16963 Tue Oct 2 11:54:19 2007 http://host-16964.com/ Title: 16964 Tue Oct 2 11:55:09 2007 http://www.host-16965.com/ Title: 16965 Tue Oct 2 11:55:12 2007 http://host-16966.com/ Title: 16966 Tue Oct 2 11:55:16 2007 http://host-16967.com/ Title: 16967 Tue Oct 2 11:55:20 2007 http://host-16968.com/ Title: 16968 Tue Oct 2 11:55:47 2007 http://host-16969.com/ Title: 16969 Tue Oct 2 12:13:20 2007 http://host-16970.com/ Title: 16970 Tue Oct 2 12:13:35 2007 http://host-16971.com/ Title: 16971 Tue Oct 2 12:14:26 2007 http://host-16972.com/ Title: 16972 Tue Oct 2 12:38:38 2007 http://host-16973.com/ Title: 16973 Tue Oct 2 12:39:00 2007 http://www.host-16974.com/ Title: 16974 Tue Oct 2 12:39:11 2007 http://www.host-16975.com/ Title: 16975 Tue Oct 2 12:57:22 2007 http://www.host-16976.com/ Title: 16976 Tue Oct 2 13:01:55 2007 http://www.host-16977.com/ Title: 16977 Tue Oct 2 13:02:44 2007 http://www.host-16978.com/ Title: 16978 Tue Oct 2 13:03:51 2007 http://host-16979.com/ Title: 16979 Tue Oct 2 13:07:35 2007 http://host-16980.com/ Title: 16980 Tue Oct 2 13:07:40 2007 http://host-16981.com/ Title: 16981 Tue Oct 2 13:07:41 2007 http://www.host-16982.com/ Title: 16982 Tue Oct 2 13:07:42 2007 http://host-16983.com/ Title: 16983 Tue Oct 2 13:07:43 2007 http://www.host-16984.com/ Title: 16984 Tue Oct 2 13:08:39 2007 http://www.host-16985.com/ Title: 16985 Tue Oct 2 13:08:40 2007 http://www.host-16986.com/ Title: 16986 Tue Oct 2 13:08:42 2007 http://host-16987.com/ Title: 16987 Tue Oct 2 13:09:31 2007 http://host-16988.com/ Title: 16988 Tue Oct 2 13:10:47 2007 http://host-16989.com/ Title: 16989 Tue Oct 2 13:10:50 2007 http://www.host-16990.com/ Title: 16990 Tue Oct 2 13:30:38 2007 http://www.host-16991.com/ Title: 16991 Tue Oct 2 13:54:32 2007 http://www.host-16992.com/ Title: 16992 Tue Oct 2 13:54:41 2007 http://www.host-16993.com/ Title: 16993 Tue Oct 2 13:54:44 2007 http://host-16994.com/ Title: 16994 Tue Oct 2 13:55:13 2007 http://www.host-16995.com/ Title: 16995 Tue Oct 2 13:55:49 2007 http://www.host-16996.com/ Title: 16996 Tue Oct 2 13:55:59 2007 http://www.host-16997.com/ Title: 16997 Tue Oct 2 13:57:31 2007 http://www.host-16998.com/ Title: 16998 Tue Oct 2 13:58:15 2007 http://www.host-16999.com/ Title: 16999 Tue Oct 2 13:59:23 2007 http://host-17000.com/ Title: 17000 Tue Oct 2 13:59:35 2007 http://www.host-17001.com/ Title: 17001 Tue Oct 2 13:59:57 2007 http://www.host-17002.com/ Title: 17002 Tue Oct 2 14:00:03 2007 http://host-17003.com/ Title: 17003 Tue Oct 2 14:00:46 2007 http://www.host-17004.com/ Title: 17004 Tue Oct 2 14:46:56 2007 http://www.host-17005.com/ Title: 17005 Tue Oct 2 14:48:07 2007 http://www.host-17006.com/ Title: 17006 Tue Oct 2 14:48:24 2007 http://host-17007.com/ Title: 17007 Tue Oct 2 14:48:32 2007 http://www.host-17008.com/ Title: 17008 Tue Oct 2 14:48:38 2007 http://www.host-17009.com/ Title: 17009 Tue Oct 2 14:48:47 2007 http://www.host-17010.com/ Title: 17010 Tue Oct 2 16:25:38 2007 http://host-17011.com/ Title: 17011 Tue Oct 2 16:25:45 2007 http://host-17012.com/ Title: 17012 Tue Oct 2 16:27:46 2007 http://www.host-17013.com/ Title: 17013 Tue Oct 2 16:27:48 2007 http://host-17014.com/ Title: 17014 Tue Oct 2 16:27:57 2007 http://www.host-17015.com/ Title: 17015 Tue Oct 2 16:28:36 2007 http://host-17016.com/ Title: 17016 Tue Oct 2 16:35:06 2007 http://www.host-17017.com/ Title: 17017 Tue Oct 2 16:38:53 2007 http://www.host-17018.com/ Title: 17018 Tue Oct 2 16:38:57 2007 http://host-17019.com/ Title: 17019 Tue Oct 2 16:39:03 2007 http://www.host-17020.com/ Title: 17020 Tue Oct 2 16:41:03 2007 http://www.host-17021.com/ Title: 17021 Tue Oct 2 16:41:05 2007 http://host-17022.com/ Title: 17022 Tue Oct 2 16:41:09 2007 http://host-17023.com/ Title: 17023 Tue Oct 2 16:41:10 2007 http://www.host-17024.com/ Title: 17024 Tue Oct 2 16:41:18 2007 http://www.host-17025.com/ Title: 17025 Tue Oct 2 16:42:12 2007 http://host-17026.com/ Title: 17026 Tue Oct 2 16:43:57 2007 http://host-17027.com/ Title: 17027 Tue Oct 2 16:43:58 2007 http://www.host-17028.com/ Title: 17028 Wed Oct 3 10:48:24 2007 http://host-17029.com/ Title: 17029 Wed Oct 3 10:48:31 2007 http://www.host-17030.com/ Title: 17030 Wed Oct 3 10:48:44 2007 http://host-17031.com/ Title: 17031 Wed Oct 3 10:51:35 2007 http://www.host-17032.com/ Title: 17032 Wed Oct 3 10:51:50 2007 http://www.host-17033.com/ Title: 17033 Wed Oct 3 10:52:00 2007 http://host-17034.com/ Title: 17034 Wed Oct 3 10:52:11 2007 http://www.host-17035.com/ Title: 17035 Wed Oct 3 10:52:17 2007 http://www.host-17036.com/ Title: 17036 Wed Oct 3 10:52:26 2007 http://host-17037.com/ Title: 17037 Wed Oct 3 10:52:35 2007 http://www.host-17038.com/ Title: 17038 Wed Oct 3 10:52:43 2007 http://www.host-17039.com/ Title: 17039 Wed Oct 3 10:52:47 2007 http://host-17040.com/ Title: 17040 Wed Oct 3 10:53:01 2007 http://host-17041.com/ Title: 17041 Wed Oct 3 10:53:13 2007 http://www.host-17042.com/ Title: 17042 Wed Oct 3 10:53:20 2007 http://host-17043.com/ Title: 17043 Wed Oct 3 10:53:33 2007 http://host-17044.com/ Title: 17044 Wed Oct 3 10:53:44 2007 http://www.host-17045.com/ Title: 17045 Wed Oct 3 10:53:54 2007 http://www.host-17046.com/ Title: 17046 Wed Oct 3 10:53:59 2007 http://host-17047.com/ Title: 17047 Wed Oct 3 10:54:06 2007 http://www.host-17048.com/ Title: 17048 Wed Oct 3 10:54:12 2007 http://www.host-17049.com/ Title: 17049 Wed Oct 3 11:57:00 2007 http://host-17050.com/ Title: 17050 Wed Oct 3 11:59:29 2007 http://host-17051.com/ Title: 17051 Wed Oct 3 11:59:32 2007 http://www.host-17052.com/ Title: 17052 Wed Oct 3 11:59:42 2007 http://host-17053.com/ Title: 17053 Wed Oct 3 11:59:47 2007 http://www.host-17054.com/ Title: 17054 Wed Oct 3 12:03:40 2007 http://host-17055.com/ Title: 17055 Wed Oct 3 12:03:59 2007 http://host-17056.com/ Title: 17056 Wed Oct 3 12:04:36 2007 http://host-17057.com/ Title: 17057 Wed Oct 3 12:04:41 2007 http://host-17058.com/ Title: 17058 Wed Oct 3 12:04:45 2007 http://www.host-17059.com/ Title: 17059 Wed Oct 3 12:04:46 2007 http://www.host-17060.com/ Title: 17060 Wed Oct 3 12:04:47 2007 http://www.host-17061.com/ Title: 17061 Wed Oct 3 12:04:48 2007 http://www.host-17062.com/ Title: 17062 Wed Oct 3 12:04:48 2007 http://host-17063.com/ Title: 17063 Wed Oct 3 12:05:04 2007 http://host-17064.com/ Title: 17064 Wed Oct 3 12:05:05 2007 http://www.host-17065.com/ Title: 17065 Wed Oct 3 12:05:10 2007 http://www.host-17066.com/ Title: 17066 Wed Oct 3 13:53:47 2007 http://www.host-17067.com/ Title: 17067 Wed Oct 3 13:53:48 2007 http://www.host-17068.com/ Title: 17068 Wed Oct 3 13:53:56 2007 http://www.host-17069.com/ Title: 17069 Wed Oct 3 14:05:30 2007 http://www.host-17070.com/ Title: 17070 Wed Oct 3 14:05:32 2007 http://www.host-17071.com/ Title: 17071 Wed Oct 3 14:05:54 2007 http://www.host-17072.com/ Title: 17072 Wed Oct 3 14:05:56 2007 http://host-17073.com/ Title: 17073 Wed Oct 3 14:05:57 2007 http://host-17074.com/ Title: 17074 Wed Oct 3 14:07:47 2007 http://www.host-17075.com/ Title: 17075 Wed Oct 3 14:08:39 2007 http://www.host-17076.com/ Title: 17076 Wed Oct 3 14:08:50 2007 http://host-17077.com/ Title: 17077 Wed Oct 3 14:09:21 2007 http://host-17078.com/ Title: 17078 Wed Oct 3 14:09:43 2007 http://host-17079.com/ Title: 17079 Wed Oct 3 14:09:47 2007 http://host-17080.com/ Title: 17080 Wed Oct 3 14:13:32 2007 http://www.host-17081.com/ Title: 17081 Wed Oct 3 14:13:41 2007 http://www.host-17082.com/ Title: 17082 Wed Oct 3 14:13:42 2007 http://host-17083.com/ Title: 17083 Wed Oct 3 14:13:49 2007 http://www.host-17084.com/ Title: 17084 Wed Oct 3 14:13:52 2007 http://www.host-17085.com/ Title: 17085 Wed Oct 3 14:14:08 2007 http://host-17086.com/ Title: 17086 Wed Oct 3 14:14:22 2007 http://host-17087.com/ Title: 17087 Wed Oct 3 14:14:23 2007 http://www.host-17088.com/ Title: 17088 Wed Oct 3 14:14:29 2007 http://host-17089.com/ Title: 17089 Wed Oct 3 14:14:34 2007 http://host-17090.com/ Title: 17090 Wed Oct 3 14:14:39 2007 http://host-17091.com/ Title: 17091 Wed Oct 3 14:14:50 2007 http://www.host-17092.com/ Title: 17092 Wed Oct 3 14:29:03 2007 http://host-17093.com/ Title: 17093 Wed Oct 3 14:29:06 2007 http://host-17094.com/ Title: 17094 Wed Oct 3 14:30:16 2007 http://host-17095.com/ Title: 17095 Wed Oct 3 16:12:35 2007 http://host-17096.com/ Title: 17096 Wed Oct 3 16:15:17 2007 http://host-17097.com/ Title: 17097 Wed Oct 3 16:21:45 2007 http://host-17098.com/ Title: 17098 Wed Oct 3 16:22:03 2007 http://host-17099.com/ Title: 17099 Wed Oct 3 16:22:25 2007 http://www.host-17100.com/ Title: 17100 Thu Oct 4 09:35:07 2007 http://www.host-17101.com/ Title: 17101 Thu Oct 4 09:37:07 2007 http://www.host-17102.com/ Title: 17102 Thu Oct 4 09:37:09 2007 http://host-17103.com/ Title: 17103 Thu Oct 4 09:37:20 2007 http://host-17104.com/ Title: 17104 Thu Oct 4 09:37:33 2007 http://host-17105.com/ Title: 17105 Thu Oct 4 09:46:24 2007 http://host-17106.com/ Title: 17106 Thu Oct 4 09:48:34 2007 http://host-17107.com/ Title: 17107 Thu Oct 4 09:48:36 2007 http://host-17108.com/ Title: 17108 Thu Oct 4 09:48:55 2007 http://host-17109.com/ Title: 17109 Thu Oct 4 09:48:57 2007 http://www.host-17110.com/ Title: 17110 Thu Oct 4 09:48:58 2007 http://host-17111.com/ Title: 17111 Thu Oct 4 09:49:02 2007 http://host-17112.com/ Title: 17112 Thu Oct 4 09:49:02 2007 http://host-17113.com/ Title: 17113 Thu Oct 4 09:51:50 2007 http://www.host-17114.com/ Title: 17114 Thu Oct 4 09:51:53 2007 http://host-17115.com/ Title: 17115 Thu Oct 4 10:04:45 2007 http://www.host-17116.com/ Title: 17116 Thu Oct 4 10:04:54 2007 http://www.host-17117.com/ Title: 17117 Thu Oct 4 10:05:03 2007 http://www.host-17118.com/ Title: 17118 Thu Oct 4 10:05:07 2007 http://www.host-17119.com/ Title: 17119 Thu Oct 4 10:05:29 2007 http://host-17120.com/ Title: 17120 Thu Oct 4 10:05:45 2007 http://www.host-17121.com/ Title: 17121 Thu Oct 4 10:06:10 2007 http://host-17122.com/ Title: 17122 Thu Oct 4 11:45:53 2007 http://host-17123.com/ Title: 17123 Thu Oct 4 12:09:11 2007 http://host-17124.com/ Title: 17124 Thu Oct 4 12:09:25 2007 http://www.host-17125.com/ Title: 17125 Thu Oct 4 12:09:31 2007 http://www.host-17126.com/ Title: 17126 Thu Oct 4 12:09:43 2007 http://host-17127.com/ Title: 17127 Thu Oct 4 12:09:50 2007 http://host-17128.com/ Title: 17128 Thu Oct 4 12:09:56 2007 http://host-17129.com/ Title: 17129 Thu Oct 4 12:10:00 2007 http://host-17130.com/ Title: 17130 Thu Oct 4 12:10:12 2007 http://host-17131.com/ Title: 17131 Thu Oct 4 12:10:29 2007 http://www.host-17132.com/ Title: 17132 Thu Oct 4 12:10:52 2007 http://host-17133.com/ Title: 17133 Thu Oct 4 12:11:16 2007 http://www.host-17134.com/ Title: 17134 Thu Oct 4 12:11:31 2007 http://host-17135.com/ Title: 17135 Thu Oct 4 12:12:01 2007 http://host-17136.com/ Title: 17136 Thu Oct 4 12:12:27 2007 http://www.host-17137.com/ Title: 17137 Thu Oct 4 12:13:14 2007 http://www.host-17138.com/ Title: 17138 Thu Oct 4 12:13:25 2007 http://www.host-17139.com/ Title: 17139 Thu Oct 4 12:13:44 2007 http://www.host-17140.com/ Title: 17140 Thu Oct 4 12:13:49 2007 http://host-17141.com/ Title: 17141 Thu Oct 4 12:13:56 2007 http://host-17142.com/ Title: 17142 Thu Oct 4 12:14:14 2007 http://www.host-17143.com/ Title: 17143 Thu Oct 4 12:14:17 2007 http://www.host-17144.com/ Title: 17144 Thu Oct 4 12:14:21 2007 http://www.host-17145.com/ Title: 17145 Thu Oct 4 12:14:35 2007 http://www.host-17146.com/ Title: 17146 Thu Oct 4 12:15:17 2007 http://host-17147.com/ Title: 17147 Thu Oct 4 12:15:29 2007 http://www.host-17148.com/ Title: 17148 Thu Oct 4 12:15:35 2007 http://www.host-17149.com/ Title: 17149 Thu Oct 4 12:15:41 2007 http://www.host-17150.com/ Title: 17150 Thu Oct 4 12:15:45 2007 http://www.host-17151.com/ Title: 17151 Thu Oct 4 12:15:50 2007 http://host-17152.com/ Title: 17152 Thu Oct 4 12:15:54 2007 http://host-17153.com/ Title: 17153 Thu Oct 4 12:16:07 2007 http://host-17154.com/ Title: 17154 Thu Oct 4 12:16:34 2007 http://host-17155.com/ Title: 17155 Thu Oct 4 12:16:35 2007 http://host-17156.com/ Title: 17156 Thu Oct 4 12:16:43 2007 http://www.host-17157.com/ Title: 17157 Thu Oct 4 12:16:56 2007 http://www.host-17158.com/ Title: 17158 Thu Oct 4 12:17:08 2007 http://host-17159.com/ Title: 17159 Thu Oct 4 12:17:20 2007 http://www.host-17160.com/ Title: 17160 Thu Oct 4 12:35:10 2007 http://host-17161.com/ Title: 17161 Thu Oct 4 12:35:11 2007 http://host-17162.com/ Title: 17162 Thu Oct 4 12:37:05 2007 http://host-17163.com/ Title: 17163 Thu Oct 4 14:10:25 2007 http://www.host-17164.com/ Title: 17164 Thu Oct 4 15:35:01 2007 http://host-17165.com/ Title: 17165 Thu Oct 4 15:35:19 2007 http://www.host-17166.com/ Title: 17166 Thu Oct 4 15:35:30 2007 http://host-17167.com/ Title: 17167 Thu Oct 4 15:35:53 2007 http://www.host-17168.com/ Title: 17168 Thu Oct 4 15:36:06 2007 http://host-17169.com/ Title: 17169 Thu Oct 4 15:36:17 2007 http://host-17170.com/ Title: 17170 Thu Oct 4 15:36:25 2007 http://www.host-17171.com/ Title: 17171 Thu Oct 4 15:36:26 2007 http://www.host-17172.com/ Title: 17172 Thu Oct 4 15:36:41 2007 http://host-17173.com/ Title: 17173 Thu Oct 4 15:37:11 2007 http://www.host-17174.com/ Title: 17174 Thu Oct 4 15:37:13 2007 http://www.host-17175.com/ Title: 17175 Thu Oct 4 15:37:53 2007 http://host-17176.com/ Title: 17176 Thu Oct 4 15:38:02 2007 http://host-17177.com/ Title: 17177 Thu Oct 4 15:38:02 2007 http://host-17178.com/ Title: 17178 Thu Oct 4 15:38:14 2007 http://host-17179.com/ Title: 17179 Thu Oct 4 15:38:37 2007 http://www.host-17180.com/ Title: 17180 Thu Oct 4 15:38:47 2007 http://host-17181.com/ Title: 17181 Thu Oct 4 15:38:55 2007 http://host-17182.com/ Title: 17182 Thu Oct 4 15:39:10 2007 http://host-17183.com/ Title: 17183 Thu Oct 4 15:39:38 2007 http://www.host-17184.com/ Title: 17184 Thu Oct 4 15:39:43 2007 http://host-17185.com/ Title: 17185 Thu Oct 4 15:40:01 2007 http://www.host-17186.com/ Title: 17186 Thu Oct 4 15:40:15 2007 http://host-17187.com/ Title: 17187 Thu Oct 4 15:40:32 2007 http://www.host-17188.com/ Title: 17188 Thu Oct 4 15:40:43 2007 http://host-17189.com/ Title: 17189 Thu Oct 4 15:40:59 2007 http://host-17190.com/ Title: 17190 Thu Oct 4 15:41:20 2007 http://www.host-17191.com/ Title: 17191 Thu Oct 4 15:41:30 2007 http://www.host-17192.com/ Title: 17192 Thu Oct 4 15:41:44 2007 http://host-17193.com/ Title: 17193 Thu Oct 4 15:41:52 2007 http://host-17194.com/ Title: 17194 Thu Oct 4 15:42:06 2007 http://host-17195.com/ Title: 17195 Thu Oct 4 15:42:18 2007 http://host-17196.com/ Title: 17196 Fri Oct 5 09:53:05 2007 http://www.host-17197.com/ Title: 17197 Fri Oct 5 09:55:07 2007 http://www.host-17198.com/ Title: 17198 Fri Oct 5 09:55:50 2007 http://host-17199.com/ Title: 17199 Fri Oct 5 13:08:47 2007 http://www.host-17200.com/ Title: 17200 Fri Oct 5 13:16:00 2007 http://host-17201.com/ Title: 17201 Fri Oct 5 13:16:09 2007 http://host-17202.com/ Title: 17202 Fri Oct 5 13:17:42 2007 http://www.host-17203.com/ Title: 17203 Fri Oct 5 13:19:08 2007 http://host-17204.com/ Title: 17204 Fri Oct 5 13:19:13 2007 http://www.host-17205.com/ Title: 17205 Fri Oct 5 13:19:17 2007 http://host-17206.com/ Title: 17206 Fri Oct 5 13:19:22 2007 http://host-17207.com/ Title: 17207 Fri Oct 5 13:19:23 2007 http://host-17208.com/ Title: 17208 Fri Oct 5 13:19:27 2007 http://www.host-17209.com/ Title: 17209 Fri Oct 5 13:20:25 2007 http://host-17210.com/ Title: 17210 Fri Oct 5 13:20:29 2007 http://www.host-17211.com/ Title: 17211 Fri Oct 5 13:21:10 2007 http://www.host-17212.com/ Title: 17212 Fri Oct 5 13:21:18 2007 http://www.host-17213.com/ Title: 17213 Fri Oct 5 13:21:26 2007 http://www.host-17214.com/ Title: 17214 Fri Oct 5 13:21:30 2007 http://www.host-17215.com/ Title: 17215 Fri Oct 5 13:21:49 2007 http://host-17216.com/ Title: 17216 Fri Oct 5 13:22:21 2007 http://host-17217.com/ Title: 17217 Fri Oct 5 13:23:51 2007 http://www.host-17218.com/ Title: 17218 Fri Oct 5 13:24:03 2007 http://www.host-17219.com/ Title: 17219 Fri Oct 5 13:24:03 2007 http://www.host-17220.com/ Title: 17220 Fri Oct 5 13:24:09 2007 http://www.host-17221.com/ Title: 17221 Fri Oct 5 13:27:54 2007 http://www.host-17222.com/ Title: 17222 Fri Oct 5 13:28:05 2007 http://host-17223.com/ Title: 17223 Fri Oct 5 13:30:15 2007 http://host-17224.com/ Title: 17224 Fri Oct 5 13:30:18 2007 http://www.host-17225.com/ Title: 17225 Fri Oct 5 13:36:23 2007 http://www.host-17226.com/ Title: 17226 Fri Oct 5 13:36:47 2007 http://host-17227.com/ Title: 17227 Fri Oct 5 13:36:57 2007 http://host-17228.com/ Title: 17228 Fri Oct 5 13:37:10 2007 http://www.host-17229.com/ Title: 17229 Fri Oct 5 13:37:12 2007 http://host-17230.com/ Title: 17230 Fri Oct 5 13:37:52 2007 http://host-17231.com/ Title: 17231 Fri Oct 5 13:37:54 2007 http://host-17232.com/ Title: 17232 Fri Oct 5 13:38:02 2007 http://host-17233.com/ Title: 17233 Fri Oct 5 13:38:06 2007 http://host-17234.com/ Title: 17234 Fri Oct 5 13:38:56 2007 http://host-17235.com/ Title: 17235 Fri Oct 5 13:38:59 2007 http://host-17236.com/ Title: 17236 Fri Oct 5 14:41:08 2007 http://www.host-17237.com/ Title: 17237 Fri Oct 5 14:41:13 2007 http://www.host-17238.com/ Title: 17238 Fri Oct 5 14:41:38 2007 http://www.host-17239.com/ Title: 17239 Fri Oct 5 14:41:47 2007 http://www.host-17240.com/ Title: 17240 Fri Oct 5 14:41:51 2007 http://host-17241.com/ Title: 17241 Fri Oct 5 14:41:54 2007 http://www.host-17242.com/ Title: 17242 Fri Oct 5 14:41:59 2007 http://host-17243.com/ Title: 17243 Fri Oct 5 14:42:07 2007 http://www.host-17244.com/ Title: 17244 Fri Oct 5 14:42:15 2007 http://www.host-17245.com/ Title: 17245 Fri Oct 5 14:42:18 2007 http://www.host-17246.com/ Title: 17246 Fri Oct 5 14:42:19 2007 http://www.host-17247.com/ Title: 17247 Fri Oct 5 15:09:35 2007 http://www.host-17248.com/ Title: 17248 Fri Oct 5 15:57:26 2007 http://host-17249.com/ Title: 17249 Fri Oct 5 15:58:38 2007 http://host-17250.com/ Title: 17250 Mon Oct 8 07:49:41 2007 http://www.host-17251.com/ Title: 17251 Mon Oct 8 07:55:17 2007 http://host-17252.com/ Title: 17252 Mon Oct 8 08:00:38 2007 http://host-17253.com/ Title: 17253 Mon Oct 8 08:00:46 2007 http://host-17254.com/ Title: 17254 Mon Oct 8 08:05:50 2007 http://host-17255.com/ Title: 17255 Mon Oct 8 08:05:55 2007 http://host-17256.com/ Title: 17256 Mon Oct 8 08:05:59 2007 http://www.host-17257.com/ Title: 17257 Mon Oct 8 08:20:55 2007 http://www.host-17258.com/ Title: 17258 Mon Oct 8 12:01:17 2007 http://host-17259.com/ Title: 17259 Mon Oct 8 16:28:25 2007 http://host-17260.com/ Title: 17260 Tue Oct 9 09:57:03 2007 http://www.host-17261.com/ Title: 17261 Tue Oct 9 09:57:07 2007 http://www.host-17262.com/ Title: 17262 Tue Oct 9 09:58:05 2007 http://www.host-17263.com/ Title: 17263 Tue Oct 9 09:58:07 2007 http://www.host-17264.com/ Title: 17264 Tue Oct 9 09:58:30 2007 http://host-17265.com/ Title: 17265 Tue Oct 9 09:58:34 2007 http://host-17266.com/ Title: 17266 Tue Oct 9 09:58:40 2007 http://www.host-17267.com/ Title: 17267 Tue Oct 9 09:58:41 2007 http://www.host-17268.com/ Title: 17268 Tue Oct 9 09:59:04 2007 http://host-17269.com/ Title: 17269 Tue Oct 9 09:59:08 2007 http://www.host-17270.com/ Title: 17270 Tue Oct 9 09:59:12 2007 http://host-17271.com/ Title: 17271 Tue Oct 9 09:59:16 2007 http://host-17272.com/ Title: 17272 Tue Oct 9 09:59:19 2007 http://www.host-17273.com/ Title: 17273 Tue Oct 9 09:59:25 2007 http://www.host-17274.com/ Title: 17274 Tue Oct 9 09:59:30 2007 http://www.host-17275.com/ Title: 17275 Tue Oct 9 10:07:24 2007 http://www.host-17276.com/ Title: 17276 Tue Oct 9 10:07:26 2007 http://www.host-17277.com/ Title: 17277 Tue Oct 9 10:07:27 2007 http://host-17278.com/ Title: 17278 Tue Oct 9 10:07:27 2007 http://host-17279.com/ Title: 17279 Tue Oct 9 10:07:28 2007 http://host-17280.com/ Title: 17280 Tue Oct 9 10:07:30 2007 http://host-17281.com/ Title: 17281 Tue Oct 9 10:07:57 2007 http://host-17282.com/ Title: 17282 Tue Oct 9 10:09:26 2007 http://www.host-17283.com/ Title: 17283 Tue Oct 9 10:22:08 2007 http://www.host-17284.com/ Title: 17284 Tue Oct 9 10:36:04 2007 http://www.host-17285.com/ Title: 17285 Tue Oct 9 10:37:07 2007 http://www.host-17286.com/ Title: 17286 Tue Oct 9 10:42:27 2007 http://host-17287.com/ Title: 17287 Tue Oct 9 10:42:39 2007 http://www.host-17288.com/ Title: 17288 Tue Oct 9 10:42:42 2007 http://host-17289.com/ Title: 17289 Tue Oct 9 10:42:53 2007 http://www.host-17290.com/ Title: 17290 Tue Oct 9 10:42:55 2007 http://host-17291.com/ Title: 17291 Tue Oct 9 10:45:43 2007 http://www.host-17292.com/ Title: 17292 Tue Oct 9 12:01:11 2007 http://host-17293.com/ Title: 17293 Tue Oct 9 13:04:48 2007 http://host-17294.com/ Title: 17294 Tue Oct 9 13:05:50 2007 http://www.host-17295.com/ Title: 17295 Tue Oct 9 13:05:57 2007 http://host-17296.com/ Title: 17296 Tue Oct 9 13:19:38 2007 http://www.host-17297.com/ Title: 17297 Tue Oct 9 13:42:13 2007 http://host-17298.com/ Title: 17298 Tue Oct 9 13:42:21 2007 http://www.host-17299.com/ Title: 17299 Tue Oct 9 13:42:29 2007 http://host-17300.com/ Title: 17300 Tue Oct 9 13:42:44 2007 http://host-17301.com/ Title: 17301 Tue Oct 9 13:43:08 2007 http://www.host-17302.com/ Title: 17302 Tue Oct 9 14:06:18 2007 http://www.host-17303.com/ Title: 17303 Tue Oct 9 14:06:35 2007 http://www.host-17304.com/ Title: 17304 Tue Oct 9 14:21:21 2007 http://host-17305.com/ Title: 17305 Tue Oct 9 14:45:29 2007 http://host-17306.com/ Title: 17306 Tue Oct 9 14:45:37 2007 http://www.host-17307.com/ Title: 17307 Tue Oct 9 14:45:52 2007 http://www.host-17308.com/ Title: 17308 Tue Oct 9 14:56:34 2007 http://host-17309.com/ Title: 17309 Tue Oct 9 14:56:42 2007 http://www.host-17310.com/ Title: 17310 Tue Oct 9 14:58:05 2007 http://www.host-17311.com/ Title: 17311 Tue Oct 9 14:59:58 2007 http://host-17312.com/ Title: 17312 Wed Oct 10 10:52:52 2007 http://www.host-17313.com/ Title: 17313 Wed Oct 10 10:53:00 2007 http://www.host-17314.com/ Title: 17314 Wed Oct 10 10:53:14 2007 http://www.host-17315.com/ Title: 17315 Wed Oct 10 10:53:35 2007 http://host-17316.com/ Title: 17316 Wed Oct 10 10:53:37 2007 http://www.host-17317.com/ Title: 17317 Wed Oct 10 10:53:52 2007 http://www.host-17318.com/ Title: 17318 Wed Oct 10 10:54:55 2007 http://www.host-17319.com/ Title: 17319 Wed Oct 10 10:54:57 2007 http://www.host-17320.com/ Title: 17320 Wed Oct 10 10:56:24 2007 http://www.host-17321.com/ Title: 17321 Wed Oct 10 10:56:50 2007 http://www.host-17322.com/ Title: 17322 Wed Oct 10 10:56:55 2007 http://host-17323.com/ Title: 17323 Wed Oct 10 10:56:58 2007 http://www.host-17324.com/ Title: 17324 Wed Oct 10 12:58:45 2007 http://host-17325.com/ Title: 17325 Wed Oct 10 12:59:03 2007 http://www.host-17326.com/ Title: 17326 Wed Oct 10 12:59:04 2007 http://host-17327.com/ Title: 17327 Wed Oct 10 12:59:07 2007 http://host-17328.com/ Title: 17328 Wed Oct 10 12:59:31 2007 http://host-17329.com/ Title: 17329 Wed Oct 10 12:59:36 2007 http://host-17330.com/ Title: 17330 Wed Oct 10 13:00:31 2007 http://host-17331.com/ Title: 17331 Wed Oct 10 13:00:54 2007 http://host-17332.com/ Title: 17332 Wed Oct 10 13:01:01 2007 http://host-17333.com/ Title: 17333 Wed Oct 10 13:01:10 2007 http://host-17334.com/ Title: 17334 Wed Oct 10 13:01:32 2007 http://host-17335.com/ Title: 17335 Wed Oct 10 13:10:30 2007 http://host-17336.com/ Title: 17336 Wed Oct 10 13:10:39 2007 http://www.host-17337.com/ Title: 17337 Wed Oct 10 13:10:44 2007 http://host-17338.com/ Title: 17338 Wed Oct 10 13:19:02 2007 http://www.host-17339.com/ Title: 17339 Wed Oct 10 13:19:07 2007 http://www.host-17340.com/ Title: 17340 Wed Oct 10 13:19:35 2007 http://host-17341.com/ Title: 17341 Wed Oct 10 13:19:41 2007 http://www.host-17342.com/ Title: 17342 Wed Oct 10 13:19:43 2007 http://www.host-17343.com/ Title: 17343 Wed Oct 10 13:20:30 2007 http://host-17344.com/ Title: 17344 Wed Oct 10 13:20:32 2007 http://host-17345.com/ Title: 17345 Wed Oct 10 13:40:24 2007 http://www.host-17346.com/ Title: 17346 Wed Oct 10 13:40:32 2007 http://www.host-17347.com/ Title: 17347 Wed Oct 10 13:40:40 2007 http://host-17348.com/ Title: 17348 Wed Oct 10 13:41:36 2007 http://www.host-17349.com/ Title: 17349 Wed Oct 10 13:41:57 2007 http://www.host-17350.com/ Title: 17350 Wed Oct 10 13:42:07 2007 http://www.host-17351.com/ Title: 17351 Wed Oct 10 14:16:35 2007 http://www.host-17352.com/ Title: 17352 Wed Oct 10 14:20:48 2007 http://www.host-17353.com/ Title: 17353 Wed Oct 10 14:20:52 2007 http://www.host-17354.com/ Title: 17354 Wed Oct 10 14:43:44 2007 http://www.host-17355.com/ Title: 17355 Wed Oct 10 14:58:40 2007 http://host-17356.com/ Title: 17356 Wed Oct 10 14:58:56 2007 http://www.host-17357.com/ Title: 17357 Wed Oct 10 15:18:08 2007 http://host-17358.com/ Title: 17358 Wed Oct 10 15:18:09 2007 http://www.host-17359.com/ Title: 17359 Wed Oct 10 15:18:32 2007 http://www.host-17360.com/ Title: 17360 Wed Oct 10 15:18:34 2007 http://host-17361.com/ Title: 17361 Wed Oct 10 20:02:31 2007 http://host-17362.com/ Title: 17362 Thu Oct 11 09:20:35 2007 http://www.host-17363.com/ Title: 17363 Thu Oct 11 09:21:53 2007 http://www.host-17364.com/ Title: 17364 Thu Oct 11 09:22:58 2007 http://www.host-17365.com/ Title: 17365 Thu Oct 11 09:23:07 2007 http://www.host-17366.com/ Title: 17366 Thu Oct 11 09:23:17 2007 http://host-17367.com/ Title: 17367 Thu Oct 11 09:24:52 2007 http://www.host-17368.com/ Title: 17368 Thu Oct 11 09:25:08 2007 http://www.host-17369.com/ Title: 17369 Thu Oct 11 09:25:19 2007 http://host-17370.com/ Title: 17370 Thu Oct 11 09:25:23 2007 http://host-17371.com/ Title: 17371 Thu Oct 11 09:28:16 2007 http://host-17372.com/ Title: 17372 Thu Oct 11 09:28:30 2007 http://www.host-17373.com/ Title: 17373 Thu Oct 11 09:28:31 2007 http://www.host-17374.com/ Title: 17374 Thu Oct 11 09:28:34 2007 http://host-17375.com/ Title: 17375 Thu Oct 11 09:29:36 2007 http://host-17376.com/ Title: 17376 Thu Oct 11 09:29:47 2007 http://www.host-17377.com/ Title: 17377 Thu Oct 11 09:29:58 2007 http://host-17378.com/ Title: 17378 Thu Oct 11 09:30:06 2007 http://www.host-17379.com/ Title: 17379 Thu Oct 11 09:35:45 2007 http://www.host-17380.com/ Title: 17380 Thu Oct 11 09:35:47 2007 http://www.host-17381.com/ Title: 17381 Thu Oct 11 09:50:48 2007 http://host-17382.com/ Title: 17382 Thu Oct 11 09:50:53 2007 http://host-17383.com/ Title: 17383 Thu Oct 11 09:51:12 2007 http://www.host-17384.com/ Title: 17384 Thu Oct 11 10:01:03 2007 http://host-17385.com/ Title: 17385 Thu Oct 11 10:02:38 2007 http://www.host-17386.com/ Title: 17386 Thu Oct 11 10:02:39 2007 http://www.host-17387.com/ Title: 17387 Thu Oct 11 10:02:42 2007 http://host-17388.com/ Title: 17388 Thu Oct 11 10:03:28 2007 http://www.host-17389.com/ Title: 17389 Thu Oct 11 10:04:08 2007 http://host-17390.com/ Title: 17390 Thu Oct 11 10:04:10 2007 http://host-17391.com/ Title: 17391 Thu Oct 11 10:04:12 2007 http://www.host-17392.com/ Title: 17392 Thu Oct 11 10:04:24 2007 http://host-17393.com/ Title: 17393 Thu Oct 11 10:04:25 2007 http://www.host-17394.com/ Title: 17394 Thu Oct 11 11:49:06 2007 http://www.host-17395.com/ Title: 17395 Thu Oct 11 11:53:25 2007 http://www.host-17396.com/ Title: 17396 Thu Oct 11 13:27:42 2007 http://host-17397.com/ Title: 17397 Thu Oct 11 13:27:44 2007 http://www.host-17398.com/ Title: 17398 Thu Oct 11 13:27:44 2007 http://host-17399.com/ Title: 17399 Thu Oct 11 13:27:52 2007 http://www.host-17400.com/ Title: 17400 Thu Oct 11 14:14:23 2007 http://host-17401.com/ Title: 17401 Thu Oct 11 14:14:26 2007 http://www.host-17402.com/ Title: 17402 Thu Oct 11 14:14:26 2007 http://www.host-17403.com/ Title: 17403 Thu Oct 11 14:16:42 2007 http://host-17404.com/ Title: 17404 Thu Oct 11 14:36:59 2007 http://host-17405.com/ Title: 17405 Thu Oct 11 14:37:24 2007 http://www.host-17406.com/ Title: 17406 Thu Oct 11 14:38:07 2007 http://www.host-17407.com/ Title: 17407 Thu Oct 11 14:38:17 2007 http://host-17408.com/ Title: 17408 Thu Oct 11 14:38:41 2007 http://host-17409.com/ Title: 17409 Thu Oct 11 14:39:01 2007 http://www.host-17410.com/ Title: 17410 Thu Oct 11 14:39:02 2007 http://www.host-17411.com/ Title: 17411 Thu Oct 11 14:40:03 2007 http://www.host-17412.com/ Title: 17412 Thu Oct 11 14:40:57 2007 http://host-17413.com/ Title: 17413 Thu Oct 11 14:43:21 2007 http://www.host-17414.com/ Title: 17414 Thu Oct 11 14:46:44 2007 http://www.host-17415.com/ Title: 17415 Thu Oct 11 14:46:45 2007 http://host-17416.com/ Title: 17416 Thu Oct 11 14:46:51 2007 http://www.host-17417.com/ Title: 17417 Fri Oct 12 11:46:55 2007 http://host-17418.com/ Title: 17418 Fri Oct 12 11:47:16 2007 http://host-17419.com/ Title: 17419 Fri Oct 12 11:47:21 2007 http://host-17420.com/ Title: 17420 Fri Oct 12 11:48:24 2007 http://www.host-17421.com/ Title: 17421 Fri Oct 12 11:49:23 2007 http://www.host-17422.com/ Title: 17422 Fri Oct 12 15:21:36 2007 http://host-17423.com/ Title: 17423 Sun Oct 14 14:36:38 2007 http://www.host-17424.com/ Title: 17424 Sun Oct 14 18:28:40 2007 http://host-17425.com/ Title: 17425 Sun Oct 14 18:30:53 2007 http://host-17426.com/ Title: 17426 Sun Oct 14 18:41:11 2007 http://host-17427.com/ Title: 17427 Sun Oct 14 19:58:45 2007 http://host-17428.com/ Title: 17428 Mon Oct 15 10:11:30 2007 http://host-17429.com/ Title: 17429 Mon Oct 15 10:25:40 2007 http://www.host-17430.com/ Title: 17430 Mon Oct 15 10:25:43 2007 http://host-17431.com/ Title: 17431 Mon Oct 15 10:28:39 2007 http://host-17432.com/ Title: 17432 Mon Oct 15 10:30:32 2007 http://host-17433.com/ Title: 17433 Mon Oct 15 10:30:50 2007 http://www.host-17434.com/ Title: 17434 Mon Oct 15 10:34:05 2007 http://host-17435.com/ Title: 17435 Mon Oct 15 10:34:58 2007 http://www.host-17436.com/ Title: 17436 Mon Oct 15 10:38:30 2007 http://www.host-17437.com/ Title: 17437 Mon Oct 15 10:38:34 2007 http://www.host-17438.com/ Title: 17438 Mon Oct 15 10:39:31 2007 http://host-17439.com/ Title: 17439 Mon Oct 15 10:39:32 2007 http://www.host-17440.com/ Title: 17440 Mon Oct 15 10:40:09 2007 http://host-17441.com/ Title: 17441 Mon Oct 15 10:43:22 2007 http://www.host-17442.com/ Title: 17442 Mon Oct 15 10:43:22 2007 http://www.host-17443.com/ Title: 17443 Mon Oct 15 10:43:24 2007 http://host-17444.com/ Title: 17444 Mon Oct 15 10:43:25 2007 http://host-17445.com/ Title: 17445 Mon Oct 15 10:43:53 2007 http://host-17446.com/ Title: 17446 Mon Oct 15 10:44:19 2007 http://host-17447.com/ Title: 17447 Mon Oct 15 10:44:20 2007 http://host-17448.com/ Title: 17448 Mon Oct 15 10:44:53 2007 http://www.host-17449.com/ Title: 17449 Mon Oct 15 10:45:04 2007 http://host-17450.com/ Title: 17450 Mon Oct 15 10:45:08 2007 http://www.host-17451.com/ Title: 17451 Mon Oct 15 10:48:10 2007 http://www.host-17452.com/ Title: 17452 Mon Oct 15 10:49:29 2007 http://www.host-17453.com/ Title: 17453 Mon Oct 15 10:49:50 2007 http://www.host-17454.com/ Title: 17454 Mon Oct 15 10:52:27 2007 http://host-17455.com/ Title: 17455 Mon Oct 15 12:33:36 2007 http://www.host-17456.com/ Title: 17456 Mon Oct 15 12:33:41 2007 http://www.host-17457.com/ Title: 17457 Mon Oct 15 12:34:13 2007 http://www.host-17458.com/ Title: 17458 Mon Oct 15 12:34:14 2007 http://www.host-17459.com/ Title: 17459 Mon Oct 15 12:34:40 2007 http://host-17460.com/ Title: 17460 Mon Oct 15 12:34:50 2007 http://host-17461.com/ Title: 17461 Mon Oct 15 12:35:06 2007 http://host-17462.com/ Title: 17462 Mon Oct 15 12:35:09 2007 http://host-17463.com/ Title: 17463 Mon Oct 15 12:35:33 2007 http://www.host-17464.com/ Title: 17464 Mon Oct 15 12:36:15 2007 http://www.host-17465.com/ Title: 17465 Mon Oct 15 12:36:16 2007 http://www.host-17466.com/ Title: 17466 Mon Oct 15 12:36:53 2007 http://www.host-17467.com/ Title: 17467 Mon Oct 15 12:37:49 2007 http://host-17468.com/ Title: 17468 Mon Oct 15 12:37:55 2007 http://www.host-17469.com/ Title: 17469 Mon Oct 15 12:37:56 2007 http://www.host-17470.com/ Title: 17470 Mon Oct 15 12:38:11 2007 http://host-17471.com/ Title: 17471 Mon Oct 15 12:38:13 2007 http://www.host-17472.com/ Title: 17472 Mon Oct 15 13:37:52 2007 http://www.host-17473.com/ Title: 17473 Mon Oct 15 13:38:07 2007 http://www.host-17474.com/ Title: 17474 Mon Oct 15 13:38:23 2007 http://www.host-17475.com/ Title: 17475 Mon Oct 15 13:49:36 2007 http://host-17476.com/ Title: 17476 Mon Oct 15 13:49:44 2007 http://host-17477.com/ Title: 17477 Mon Oct 15 13:51:13 2007 http://www.host-17478.com/ Title: 17478 Mon Oct 15 13:53:49 2007 http://host-17479.com/ Title: 17479 Mon Oct 15 13:59:24 2007 http://www.host-17480.com/ Title: 17480 Mon Oct 15 13:59:26 2007 http://www.host-17481.com/ Title: 17481 Mon Oct 15 13:59:35 2007 http://www.host-17482.com/ Title: 17482 Mon Oct 15 14:07:43 2007 http://www.host-17483.com/ Title: 17483 Mon Oct 15 14:07:53 2007 http://host-17484.com/ Title: 17484 Mon Oct 15 14:22:14 2007 http://host-17485.com/ Title: 17485 Mon Oct 15 14:31:51 2007 http://www.host-17486.com/ Title: 17486 Mon Oct 15 14:31:55 2007 http://www.host-17487.com/ Title: 17487 Mon Oct 15 14:32:19 2007 http://www.host-17488.com/ Title: 17488 Mon Oct 15 14:32:25 2007 http://host-17489.com/ Title: 17489 Mon Oct 15 14:53:09 2007 http://www.host-17490.com/ Title: 17490 Mon Oct 15 14:54:41 2007 http://www.host-17491.com/ Title: 17491 Tue Oct 16 11:02:22 2007 http://www.host-17492.com/ Title: 17492 Tue Oct 16 11:02:28 2007 http://www.host-17493.com/ Title: 17493 Tue Oct 16 11:02:31 2007 http://www.host-17494.com/ Title: 17494 Tue Oct 16 11:02:47 2007 http://www.host-17495.com/ Title: 17495 Tue Oct 16 11:03:04 2007 http://host-17496.com/ Title: 17496 Tue Oct 16 11:03:11 2007 http://host-17497.com/ Title: 17497 Tue Oct 16 11:03:24 2007 http://host-17498.com/ Title: 17498 Tue Oct 16 11:10:15 2007 http://host-17499.com/ Title: 17499 Tue Oct 16 11:11:51 2007 http://host-17500.com/ Title: 17500 Tue Oct 16 11:11:54 2007 http://www.host-17501.com/ Title: 17501 Tue Oct 16 11:11:58 2007 http://host-17502.com/ Title: 17502 Tue Oct 16 11:13:24 2007 http://www.host-17503.com/ Title: 17503 Tue Oct 16 11:14:05 2007 http://www.host-17504.com/ Title: 17504 Tue Oct 16 11:14:06 2007 http://www.host-17505.com/ Title: 17505 Tue Oct 16 11:14:09 2007 http://www.host-17506.com/ Title: 17506 Tue Oct 16 11:33:55 2007 http://www.host-17507.com/ Title: 17507 Tue Oct 16 12:29:53 2007 http://www.host-17508.com/ Title: 17508 Tue Oct 16 12:29:57 2007 http://www.host-17509.com/ Title: 17509 Tue Oct 16 12:30:06 2007 http://host-17510.com/ Title: 17510 Tue Oct 16 12:30:14 2007 http://www.host-17511.com/ Title: 17511 Tue Oct 16 12:30:19 2007 http://host-17512.com/ Title: 17512 Tue Oct 16 12:30:29 2007 http://www.host-17513.com/ Title: 17513 Tue Oct 16 12:30:36 2007 http://host-17514.com/ Title: 17514 Tue Oct 16 12:31:18 2007 http://www.host-17515.com/ Title: 17515 Tue Oct 16 12:31:33 2007 http://host-17516.com/ Title: 17516 Tue Oct 16 13:30:05 2007 http://www.host-17517.com/ Title: 17517 Tue Oct 16 13:30:06 2007 http://www.host-17518.com/ Title: 17518 Tue Oct 16 13:30:24 2007 http://www.host-17519.com/ Title: 17519 Tue Oct 16 13:30:49 2007 http://host-17520.com/ Title: 17520 Tue Oct 16 13:30:53 2007 http://www.host-17521.com/ Title: 17521 Tue Oct 16 13:31:07 2007 http://host-17522.com/ Title: 17522 Tue Oct 16 13:49:24 2007 http://www.host-17523.com/ Title: 17523 Tue Oct 16 13:49:42 2007 http://host-17524.com/ Title: 17524 Tue Oct 16 13:49:47 2007 http://host-17525.com/ Title: 17525 Tue Oct 16 16:18:21 2007 http://host-17526.com/ Title: 17526 Tue Oct 16 16:18:44 2007 http://www.host-17527.com/ Title: 17527 Tue Oct 16 16:18:45 2007 http://www.host-17528.com/ Title: 17528 Tue Oct 16 16:18:46 2007 http://host-17529.com/ Title: 17529 Tue Oct 16 16:18:46 2007 http://www.host-17530.com/ Title: 17530 Tue Oct 16 16:18:50 2007 http://www.host-17531.com/ Title: 17531 Tue Oct 16 16:18:54 2007 http://host-17532.com/ Title: 17532 Tue Oct 16 16:19:19 2007 http://www.host-17533.com/ Title: 17533 Wed Oct 17 10:26:48 2007 http://www.host-17534.com/ Title: 17534 Wed Oct 17 10:30:33 2007 http://host-17535.com/ Title: 17535 Wed Oct 17 11:32:26 2007 http://host-17536.com/ Title: 17536 Wed Oct 17 13:57:04 2007 http://host-17537.com/ Title: 17537 Wed Oct 17 14:49:00 2007 http://host-17538.com/ Title: 17538 Wed Oct 17 15:23:07 2007 http://host-17539.com/ Title: 17539 Wed Oct 17 15:23:08 2007 http://host-17540.com/ Title: 17540 Wed Oct 17 15:23:11 2007 http://host-17541.com/ Title: 17541 Wed Oct 17 18:26:06 2007 http://host-17542.com/ Title: 17542 Thu Oct 18 15:26:25 2007 http://www.host-17543.com/ Title: 17543 Thu Oct 18 18:21:15 2007 http://www.host-17544.com/ Title: 17544 Fri Oct 19 10:49:00 2007 http://www.host-17545.com/ Title: 17545 Fri Oct 19 14:52:51 2007 http://host-17546.com/ Title: 17546 Fri Oct 19 16:52:51 2007 http://www.host-17547.com/ Title: 17547 Fri Oct 19 17:03:26 2007 http://host-17548.com/ Title: 17548 Fri Oct 19 17:03:33 2007 http://www.host-17549.com/ Title: 17549 Fri Oct 19 18:36:24 2007 http://www.host-17550.com/ Title: 17550 Mon Oct 22 10:53:30 2007 http://host-17551.com/ Title: 17551 Mon Oct 22 10:53:42 2007 http://host-17552.com/ Title: 17552 Mon Oct 22 10:53:49 2007 http://host-17553.com/ Title: 17553 Mon Oct 22 10:54:03 2007 http://www.host-17554.com/ Title: 17554 Mon Oct 22 10:54:16 2007 http://www.host-17555.com/ Title: 17555 Mon Oct 22 10:54:21 2007 http://www.host-17556.com/ Title: 17556 Mon Oct 22 10:54:30 2007 http://host-17557.com/ Title: 17557 Mon Oct 22 10:54:33 2007 http://host-17558.com/ Title: 17558 Mon Oct 22 11:05:53 2007 http://www.host-17559.com/ Title: 17559 Mon Oct 22 13:10:04 2007 http://host-17560.com/ Title: 17560 Tue Oct 23 10:05:28 2007 http://www.host-17561.com/ Title: 17561 Tue Oct 23 10:11:45 2007 http://www.host-17562.com/ Title: 17562 Tue Oct 23 10:18:41 2007 http://host-17563.com/ Title: 17563 Tue Oct 23 10:53:37 2007 http://host-17564.com/ Title: 17564 Tue Oct 23 10:54:37 2007 http://www.host-17565.com/ Title: 17565 Tue Oct 23 10:54:38 2007 http://host-17566.com/ Title: 17566 Tue Oct 23 10:54:39 2007 http://host-17567.com/ Title: 17567 Tue Oct 23 10:54:42 2007 http://host-17568.com/ Title: 17568 Tue Oct 23 12:21:12 2007 http://host-17569.com/ Title: 17569 Tue Oct 23 14:04:46 2007 http://host-17570.com/ Title: 17570 Tue Oct 23 14:06:36 2007 http://www.host-17571.com/ Title: 17571 Tue Oct 23 14:06:54 2007 http://host-17572.com/ Title: 17572 Tue Oct 23 14:07:09 2007 http://www.host-17573.com/ Title: 17573 Tue Oct 23 14:07:15 2007 http://www.host-17574.com/ Title: 17574 Tue Oct 23 14:07:21 2007 http://www.host-17575.com/ Title: 17575 Wed Oct 24 10:12:28 2007 http://www.host-17576.com/ Title: 17576 Wed Oct 24 10:14:13 2007 http://host-17577.com/ Title: 17577 Wed Oct 24 10:15:01 2007 http://www.host-17578.com/ Title: 17578 Wed Oct 24 10:15:05 2007 http://www.host-17579.com/ Title: 17579 Wed Oct 24 10:15:44 2007 http://www.host-17580.com/ Title: 17580 Wed Oct 24 10:15:51 2007 http://host-17581.com/ Title: 17581 Wed Oct 24 10:18:40 2007 http://host-17582.com/ Title: 17582 Wed Oct 24 10:19:06 2007 http://host-17583.com/ Title: 17583 Wed Oct 24 10:19:14 2007 http://host-17584.com/ Title: 17584 Wed Oct 24 10:24:05 2007 http://host-17585.com/ Title: 17585 Wed Oct 24 10:26:38 2007 http://host-17586.com/ Title: 17586 Wed Oct 24 10:26:47 2007 http://host-17587.com/ Title: 17587 Wed Oct 24 10:27:59 2007 http://www.host-17588.com/ Title: 17588 Wed Oct 24 10:28:22 2007 http://host-17589.com/ Title: 17589 Wed Oct 24 10:28:42 2007 http://host-17590.com/ Title: 17590 Wed Oct 24 10:40:00 2007 http://www.host-17591.com/ Title: 17591 Wed Oct 24 10:41:31 2007 http://host-17592.com/ Title: 17592 Wed Oct 24 10:41:51 2007 http://www.host-17593.com/ Title: 17593 Wed Oct 24 10:42:01 2007 http://www.host-17594.com/ Title: 17594 Wed Oct 24 10:42:03 2007 http://www.host-17595.com/ Title: 17595 Wed Oct 24 10:44:47 2007 http://host-17596.com/ Title: 17596 Wed Oct 24 10:46:25 2007 http://host-17597.com/ Title: 17597 Wed Oct 24 10:54:55 2007 http://host-17598.com/ Title: 17598 Wed Oct 24 15:08:19 2007 http://host-17599.com/ Title: 17599 Wed Oct 24 15:21:17 2007 http://host-17600.com/ Title: 17600 Wed Oct 24 15:21:35 2007 http://host-17601.com/ Title: 17601 Wed Oct 24 15:24:41 2007 http://www.host-17602.com/ Title: 17602 Wed Oct 24 15:24:44 2007 http://host-17603.com/ Title: 17603 Wed Oct 24 15:41:21 2007 http://www.host-17604.com/ Title: 17604 Wed Oct 24 15:57:31 2007 http://www.host-17605.com/ Title: 17605 Wed Oct 24 16:00:19 2007 http://host-17606.com/ Title: 17606 Wed Oct 24 16:00:21 2007 http://host-17607.com/ Title: 17607 Wed Oct 24 16:00:26 2007 http://host-17608.com/ Title: 17608 Wed Oct 24 16:00:33 2007 http://host-17609.com/ Title: 17609 Wed Oct 24 16:01:12 2007 http://www.host-17610.com/ Title: 17610 Wed Oct 24 16:04:24 2007 http://www.host-17611.com/ Title: 17611 Wed Oct 24 16:11:01 2007 http://host-17612.com/ Title: 17612 Wed Oct 24 16:18:11 2007 http://host-17613.com/ Title: 17613 Thu Oct 25 10:32:00 2007 http://www.host-17614.com/ Title: 17614 Thu Oct 25 11:29:36 2007 http://host-17615.com/ Title: 17615 Thu Oct 25 11:30:06 2007 http://www.host-17616.com/ Title: 17616 Thu Oct 25 11:30:26 2007 http://host-17617.com/ Title: 17617 Thu Oct 25 11:30:27 2007 http://host-17618.com/ Title: 17618 Thu Oct 25 11:30:27 2007 http://host-17619.com/ Title: 17619 Thu Oct 25 11:30:28 2007 http://www.host-17620.com/ Title: 17620 Thu Oct 25 11:30:28 2007 http://www.host-17621.com/ Title: 17621 Thu Oct 25 11:30:30 2007 http://www.host-17622.com/ Title: 17622 Thu Oct 25 11:30:30 2007 http://host-17623.com/ Title: 17623 Thu Oct 25 11:30:31 2007 http://host-17624.com/ Title: 17624 Thu Oct 25 11:30:31 2007 http://host-17625.com/ Title: 17625 Thu Oct 25 11:30:32 2007 http://host-17626.com/ Title: 17626 Thu Oct 25 11:30:34 2007 http://www.host-17627.com/ Title: 17627 Thu Oct 25 11:30:38 2007 http://www.host-17628.com/ Title: 17628 Thu Oct 25 11:44:58 2007 http://www.host-17629.com/ Title: 17629 Thu Oct 25 11:45:14 2007 http://www.host-17630.com/ Title: 17630 Thu Oct 25 11:46:25 2007 http://host-17631.com/ Title: 17631 Thu Oct 25 11:48:40 2007 http://host-17632.com/ Title: 17632 Thu Oct 25 14:57:33 2007 http://www.host-17633.com/ Title: 17633 Thu Oct 25 16:59:22 2007 http://www.host-17634.com/ Title: 17634 Thu Oct 25 16:59:27 2007 http://www.host-17635.com/ Title: 17635 Thu Oct 25 18:17:14 2007 http://www.host-17636.com/ Title: 17636 Thu Oct 25 18:17:50 2007 http://www.host-17637.com/ Title: 17637 Thu Oct 25 18:17:55 2007 http://www.host-17638.com/ Title: 17638 Thu Oct 25 18:18:01 2007 http://www.host-17639.com/ Title: 17639 Thu Oct 25 18:18:16 2007 http://host-17640.com/ Title: 17640 Thu Oct 25 18:18:23 2007 http://host-17641.com/ Title: 17641 Thu Oct 25 18:20:08 2007 http://www.host-17642.com/ Title: 17642 Thu Oct 25 18:20:09 2007 http://host-17643.com/ Title: 17643 Thu Oct 25 18:20:13 2007 http://www.host-17644.com/ Title: 17644 Thu Oct 25 18:20:42 2007 http://www.host-17645.com/ Title: 17645 Thu Oct 25 18:26:06 2007 http://host-17646.com/ Title: 17646 Fri Oct 26 10:44:38 2007 http://host-17647.com/ Title: 17647 Fri Oct 26 11:50:09 2007 http://host-17648.com/ Title: 17648 Fri Oct 26 11:50:27 2007 http://www.host-17649.com/ Title: 17649 Fri Oct 26 12:29:58 2007 http://host-17650.com/ Title: 17650 Fri Oct 26 12:30:39 2007 http://host-17651.com/ Title: 17651 Fri Oct 26 12:30:58 2007 http://host-17652.com/ Title: 17652 Fri Oct 26 12:31:06 2007 http://www.host-17653.com/ Title: 17653 Fri Oct 26 12:31:19 2007 http://www.host-17654.com/ Title: 17654 Fri Oct 26 12:31:28 2007 http://host-17655.com/ Title: 17655 Fri Oct 26 12:31:36 2007 http://www.host-17656.com/ Title: 17656 Fri Oct 26 12:31:43 2007 http://host-17657.com/ Title: 17657 Fri Oct 26 12:31:45 2007 http://host-17658.com/ Title: 17658 Fri Oct 26 12:31:49 2007 http://www.host-17659.com/ Title: 17659 Fri Oct 26 12:31:55 2007 http://host-17660.com/ Title: 17660 Fri Oct 26 12:31:59 2007 http://www.host-17661.com/ Title: 17661 Fri Oct 26 12:32:03 2007 http://www.host-17662.com/ Title: 17662 Fri Oct 26 12:32:45 2007 http://host-17663.com/ Title: 17663 Fri Oct 26 12:32:48 2007 http://www.host-17664.com/ Title: 17664 Fri Oct 26 12:35:31 2007 http://host-17665.com/ Title: 17665 Fri Oct 26 12:35:35 2007 http://www.host-17666.com/ Title: 17666 Fri Oct 26 12:35:38 2007 http://host-17667.com/ Title: 17667 Fri Oct 26 12:37:50 2007 http://host-17668.com/ Title: 17668 Fri Oct 26 12:37:52 2007 http://www.host-17669.com/ Title: 17669 Fri Oct 26 12:38:55 2007 http://host-17670.com/ Title: 17670 Fri Oct 26 12:39:02 2007 http://host-17671.com/ Title: 17671 Fri Oct 26 12:41:02 2007 http://host-17672.com/ Title: 17672 Fri Oct 26 12:41:05 2007 http://www.host-17673.com/ Title: 17673 Fri Oct 26 12:44:18 2007 http://host-17674.com/ Title: 17674 Fri Oct 26 12:44:42 2007 http://www.host-17675.com/ Title: 17675 Fri Oct 26 12:44:50 2007 http://host-17676.com/ Title: 17676 Fri Oct 26 12:48:14 2007 http://host-17677.com/ Title: 17677 Fri Oct 26 12:48:21 2007 http://host-17678.com/ Title: 17678 Fri Oct 26 12:48:39 2007 http://host-17679.com/ Title: 17679 Fri Oct 26 12:49:01 2007 http://www.host-17680.com/ Title: 17680 Fri Oct 26 12:49:15 2007 http://host-17681.com/ Title: 17681 Fri Oct 26 12:50:38 2007 http://www.host-17682.com/ Title: 17682 Fri Oct 26 12:50:40 2007 http://www.host-17683.com/ Title: 17683 Fri Oct 26 12:56:17 2007 http://host-17684.com/ Title: 17684 Fri Oct 26 15:41:11 2007 http://www.host-17685.com/ Title: 17685 Fri Oct 26 15:43:07 2007 http://host-17686.com/ Title: 17686 Fri Oct 26 16:21:19 2007 http://www.host-17687.com/ Title: 17687 Fri Oct 26 16:21:24 2007 http://host-17688.com/ Title: 17688 Fri Oct 26 16:58:06 2007 http://www.host-17689.com/ Title: 17689 Mon Oct 29 09:21:32 2007 http://host-17690.com/ Title: 17690 Mon Oct 29 09:21:35 2007 http://www.host-17691.com/ Title: 17691 Mon Oct 29 10:20:44 2007 http://host-17692.com/ Title: 17692 Mon Oct 29 10:31:16 2007 http://host-17693.com/ Title: 17693 Mon Oct 29 10:32:16 2007 http://host-17694.com/ Title: 17694 Mon Oct 29 10:32:21 2007 http://host-17695.com/ Title: 17695 Mon Oct 29 11:47:45 2007 http://www.host-17696.com/ Title: 17696 Mon Oct 29 12:06:38 2007 http://host-17697.com/ Title: 17697 Mon Oct 29 12:58:12 2007 http://host-17698.com/ Title: 17698 Mon Oct 29 12:59:00 2007 http://www.host-17699.com/ Title: 17699 Mon Oct 29 15:33:07 2007 http://host-17700.com/ Title: 17700 Mon Oct 29 15:33:13 2007 http://host-17701.com/ Title: 17701 Mon Oct 29 15:57:04 2007 http://www.host-17702.com/ Title: 17702 Mon Oct 29 15:57:11 2007 http://www.host-17703.com/ Title: 17703 Mon Oct 29 16:44:55 2007 http://www.host-17704.com/ Title: 17704 Tue Oct 30 09:42:31 2007 http://host-17705.com/ Title: 17705 Tue Oct 30 09:42:36 2007 http://www.host-17706.com/ Title: 17706 Tue Oct 30 09:43:00 2007 http://host-17707.com/ Title: 17707 Tue Oct 30 09:43:06 2007 http://host-17708.com/ Title: 17708 Tue Oct 30 09:44:59 2007 http://host-17709.com/ Title: 17709 Tue Oct 30 09:45:01 2007 http://www.host-17710.com/ Title: 17710 Tue Oct 30 09:45:04 2007 http://host-17711.com/ Title: 17711 Tue Oct 30 09:45:21 2007 http://host-17712.com/ Title: 17712 Tue Oct 30 09:45:22 2007 http://host-17713.com/ Title: 17713 Tue Oct 30 09:45:25 2007 http://host-17714.com/ Title: 17714 Tue Oct 30 09:45:36 2007 http://host-17715.com/ Title: 17715 Tue Oct 30 09:45:37 2007 http://host-17716.com/ Title: 17716 Tue Oct 30 09:46:00 2007 http://www.host-17717.com/ Title: 17717 Tue Oct 30 09:46:00 2007 http://www.host-17718.com/ Title: 17718 Tue Oct 30 09:46:04 2007 http://www.host-17719.com/ Title: 17719 Tue Oct 30 09:48:25 2007 http://host-17720.com/ Title: 17720 Tue Oct 30 09:50:41 2007 http://host-17721.com/ Title: 17721 Tue Oct 30 09:50:46 2007 http://www.host-17722.com/ Title: 17722 Tue Oct 30 09:55:59 2007 http://www.host-17723.com/ Title: 17723 Tue Oct 30 10:02:18 2007 http://www.host-17724.com/ Title: 17724 Tue Oct 30 11:46:17 2007 http://host-17725.com/ Title: 17725 Tue Oct 30 12:01:21 2007 http://www.host-17726.com/ Title: 17726 Tue Oct 30 12:02:00 2007 http://www.host-17727.com/ Title: 17727 Tue Oct 30 12:02:33 2007 http://www.host-17728.com/ Title: 17728 Tue Oct 30 12:02:36 2007 http://host-17729.com/ Title: 17729 Tue Oct 30 12:43:06 2007 http://www.host-17730.com/ Title: 17730 Tue Oct 30 12:43:35 2007 http://host-17731.com/ Title: 17731 Tue Oct 30 12:43:40 2007 http://www.host-17732.com/ Title: 17732 Tue Oct 30 12:44:28 2007 http://host-17733.com/ Title: 17733 Tue Oct 30 12:44:37 2007 http://host-17734.com/ Title: 17734 Tue Oct 30 12:44:43 2007 http://host-17735.com/ Title: 17735 Tue Oct 30 12:44:51 2007 http://host-17736.com/ Title: 17736 Tue Oct 30 12:45:20 2007 http://host-17737.com/ Title: 17737 Tue Oct 30 12:45:28 2007 http://www.host-17738.com/ Title: 17738 Tue Oct 30 12:45:32 2007 http://www.host-17739.com/ Title: 17739 Tue Oct 30 13:20:52 2007 http://www.host-17740.com/ Title: 17740 Tue Oct 30 14:42:23 2007 http://host-17741.com/ Title: 17741 Tue Oct 30 14:43:13 2007 http://host-17742.com/ Title: 17742 Tue Oct 30 14:43:13 2007 http://host-17743.com/ Title: 17743 Tue Oct 30 14:43:37 2007 http://host-17744.com/ Title: 17744 Tue Oct 30 14:44:12 2007 http://www.host-17745.com/ Title: 17745 Tue Oct 30 14:44:43 2007 http://www.host-17746.com/ Title: 17746 Tue Oct 30 14:44:46 2007 http://www.host-17747.com/ Title: 17747 Tue Oct 30 14:44:53 2007 http://host-17748.com/ Title: 17748 Wed Oct 31 09:09:30 2007 http://www.host-17749.com/ Title: 17749 Wed Oct 31 09:20:21 2007 http://www.host-17750.com/ Title: 17750 Wed Oct 31 10:11:05 2007 http://www.host-17751.com/ Title: 17751 Wed Oct 31 10:11:07 2007 http://www.host-17752.com/ Title: 17752 Wed Oct 31 10:11:12 2007 http://host-17753.com/ Title: 17753 Wed Oct 31 10:11:57 2007 http://www.host-17754.com/ Title: 17754 Wed Oct 31 10:11:58 2007 http://www.host-17755.com/ Title: 17755 Wed Oct 31 10:12:01 2007 http://host-17756.com/ Title: 17756 Wed Oct 31 10:12:20 2007 http://www.host-17757.com/ Title: 17757 Wed Oct 31 10:12:22 2007 http://host-17758.com/ Title: 17758 Wed Oct 31 10:12:25 2007 http://www.host-17759.com/ Title: 17759 Wed Oct 31 12:27:51 2007 http://www.host-17760.com/ Title: 17760 Wed Oct 31 12:28:30 2007 http://www.host-17761.com/ Title: 17761 Wed Oct 31 12:35:41 2007 http://host-17762.com/ Title: 17762 Wed Oct 31 12:36:16 2007 http://www.host-17763.com/ Title: 17763 Wed Oct 31 12:36:22 2007 http://host-17764.com/ Title: 17764 Wed Oct 31 12:43:02 2007 http://www.host-17765.com/ Title: 17765 Wed Oct 31 12:43:38 2007 http://www.host-17766.com/ Title: 17766 Wed Oct 31 12:43:54 2007 http://host-17767.com/ Title: 17767 Wed Oct 31 14:29:02 2007 http://www.host-17768.com/ Title: 17768 Wed Oct 31 14:29:45 2007 http://host-17769.com/ Title: 17769 Wed Oct 31 14:35:52 2007 http://host-17770.com/ Title: 17770 Wed Oct 31 14:46:02 2007 http://host-17771.com/ Title: 17771 Wed Oct 31 15:03:57 2007 http://www.host-17772.com/ Title: 17772 Wed Oct 31 15:06:30 2007 http://www.host-17773.com/ Title: 17773 Wed Oct 31 15:15:49 2007 http://host-17774.com/ Title: 17774 Wed Oct 31 15:20:33 2007 http://www.host-17775.com/ Title: 17775 Wed Oct 31 18:29:52 2007 http://www.host-17776.com/ Title: 17776 Wed Oct 31 18:30:02 2007 http://host-17777.com/ Title: 17777 Wed Oct 31 18:30:02 2007 http://www.host-17778.com/ Title: 17778 Wed Oct 31 18:30:03 2007 http://host-17779.com/ Title: 17779 Wed Oct 31 18:30:07 2007 http://www.host-17780.com/ Title: 17780 Thu Nov 1 09:48:16 2007 http://www.host-17781.com/ Title: 17781 Thu Nov 1 09:48:34 2007 http://host-17782.com/ Title: 17782 Thu Nov 1 09:48:43 2007 http://host-17783.com/ Title: 17783 Thu Nov 1 12:07:09 2007 http://host-17784.com/ Title: 17784 Thu Nov 1 13:48:15 2007 http://www.host-17785.com/ Title: 17785 Thu Nov 1 16:14:20 2007 http://www.host-17786.com/ Title: 17786 Fri Nov 2 15:28:15 2007 http://host-17787.com/ Title: 17787 Fri Nov 2 15:28:19 2007 http://host-17788.com/ Title: 17788 Fri Nov 2 15:28:23 2007 http://host-17789.com/ Title: 17789 Fri Nov 2 16:10:37 2007 http://host-17790.com/ Title: 17790 Fri Nov 2 16:37:54 2007 http://www.host-17791.com/ Title: 17791 Mon Nov 5 08:46:32 2007 http://www.host-17792.com/ Title: 17792 Mon Nov 5 08:46:55 2007 http://www.host-17793.com/ Title: 17793 Mon Nov 5 08:47:48 2007 http://www.host-17794.com/ Title: 17794 Mon Nov 5 08:50:33 2007 http://www.host-17795.com/ Title: 17795 Mon Nov 5 08:50:37 2007 http://www.host-17796.com/ Title: 17796 Mon Nov 5 09:04:01 2007 http://www.host-17797.com/ Title: 17797 Mon Nov 5 09:04:40 2007 http://www.host-17798.com/ Title: 17798 Mon Nov 5 09:05:07 2007 http://host-17799.com/ Title: 17799 Mon Nov 5 09:05:49 2007 http://host-17800.com/ Title: 17800 Mon Nov 5 09:06:22 2007 http://www.host-17801.com/ Title: 17801 Mon Nov 5 13:01:15 2007 http://www.host-17802.com/ Title: 17802 Mon Nov 5 13:56:59 2007 http://www.host-17803.com/ Title: 17803 Mon Nov 5 13:57:17 2007 http://www.host-17804.com/ Title: 17804 Mon Nov 5 13:57:23 2007 http://www.host-17805.com/ Title: 17805 Mon Nov 5 13:57:39 2007 http://host-17806.com/ Title: 17806 Mon Nov 5 13:58:21 2007 http://host-17807.com/ Title: 17807 Tue Nov 6 10:51:07 2007 http://host-17808.com/ Title: 17808 Tue Nov 6 10:51:09 2007 http://www.host-17809.com/ Title: 17809 Tue Nov 6 10:51:13 2007 http://www.host-17810.com/ Title: 17810 Tue Nov 6 12:38:04 2007 http://www.host-17811.com/ Title: 17811 Tue Nov 6 15:57:54 2007 http://www.host-17812.com/ Title: 17812 Thu Nov 8 09:36:31 2007 http://www.host-17813.com/ Title: 17813 Thu Nov 8 09:46:31 2007 http://www.host-17814.com/ Title: 17814 Thu Nov 8 09:47:41 2007 http://host-17815.com/ Title: 17815 Thu Nov 8 09:59:57 2007 http://www.host-17816.com/ Title: 17816 Thu Nov 8 10:02:11 2007 http://host-17817.com/ Title: 17817 Thu Nov 8 10:02:11 2007 http://host-17818.com/ Title: 17818 Thu Nov 8 10:02:15 2007 http://www.host-17819.com/ Title: 17819 Thu Nov 8 10:05:29 2007 http://www.host-17820.com/ Title: 17820 Thu Nov 8 10:39:05 2007 http://www.host-17821.com/ Title: 17821 Thu Nov 8 10:39:23 2007 http://www.host-17822.com/ Title: 17822 Thu Nov 8 11:36:21 2007 http://www.host-17823.com/ Title: 17823 Thu Nov 8 11:36:24 2007 http://www.host-17824.com/ Title: 17824 Thu Nov 8 11:36:31 2007 http://host-17825.com/ Title: 17825 Thu Nov 8 11:36:39 2007 http://www.host-17826.com/ Title: 17826 Thu Nov 8 11:36:45 2007 http://host-17827.com/ Title: 17827 Thu Nov 8 11:54:11 2007 http://host-17828.com/ Title: 17828 Thu Nov 8 11:54:16 2007 http://host-17829.com/ Title: 17829 Thu Nov 8 11:54:25 2007 http://www.host-17830.com/ Title: 17830 Thu Nov 8 11:54:27 2007 http://www.host-17831.com/ Title: 17831 Thu Nov 8 11:56:52 2007 http://www.host-17832.com/ Title: 17832 Thu Nov 8 11:57:24 2007 http://host-17833.com/ Title: 17833 Thu Nov 8 11:57:32 2007 http://www.host-17834.com/ Title: 17834 Thu Nov 8 11:58:57 2007 http://host-17835.com/ Title: 17835 Thu Nov 8 11:59:07 2007 http://host-17836.com/ Title: 17836 Thu Nov 8 11:59:12 2007 http://www.host-17837.com/ Title: 17837 Thu Nov 8 11:59:16 2007 http://host-17838.com/ Title: 17838 Thu Nov 8 11:59:19 2007 http://host-17839.com/ Title: 17839 Thu Nov 8 11:59:26 2007 http://www.host-17840.com/ Title: 17840 Thu Nov 8 11:59:30 2007 http://www.host-17841.com/ Title: 17841 Thu Nov 8 11:59:34 2007 http://www.host-17842.com/ Title: 17842 Thu Nov 8 11:59:37 2007 http://www.host-17843.com/ Title: 17843 Thu Nov 8 11:59:40 2007 http://host-17844.com/ Title: 17844 Thu Nov 8 11:59:43 2007 http://www.host-17845.com/ Title: 17845 Thu Nov 8 11:59:46 2007 http://www.host-17846.com/ Title: 17846 Thu Nov 8 11:59:48 2007 http://host-17847.com/ Title: 17847 Thu Nov 8 11:59:51 2007 http://host-17848.com/ Title: 17848 Thu Nov 8 12:00:28 2007 http://www.host-17849.com/ Title: 17849 Thu Nov 8 12:00:33 2007 http://www.host-17850.com/ Title: 17850 Thu Nov 8 12:19:00 2007 http://www.host-17851.com/ Title: 17851 Thu Nov 8 12:19:26 2007 http://host-17852.com/ Title: 17852 Thu Nov 8 12:19:28 2007 http://www.host-17853.com/ Title: 17853 Thu Nov 8 12:21:27 2007 http://host-17854.com/ Title: 17854 Thu Nov 8 12:22:23 2007 http://www.host-17855.com/ Title: 17855 Thu Nov 8 12:23:56 2007 http://www.host-17856.com/ Title: 17856 Thu Nov 8 12:25:14 2007 http://host-17857.com/ Title: 17857 Thu Nov 8 15:21:26 2007 http://www.host-17858.com/ Title: 17858 Thu Nov 8 15:22:11 2007 http://host-17859.com/ Title: 17859 Fri Nov 9 09:59:05 2007 http://www.host-17860.com/ Title: 17860 Fri Nov 9 09:59:43 2007 http://host-17861.com/ Title: 17861 Fri Nov 9 09:59:43 2007 http://www.host-17862.com/ Title: 17862 Fri Nov 9 10:05:33 2007 http://www.host-17863.com/ Title: 17863 Fri Nov 9 10:05:34 2007 http://www.host-17864.com/ Title: 17864 Fri Nov 9 10:06:04 2007 http://www.host-17865.com/ Title: 17865 Fri Nov 9 10:07:38 2007 http://host-17866.com/ Title: 17866 Fri Nov 9 10:07:44 2007 http://www.host-17867.com/ Title: 17867 Fri Nov 9 10:08:28 2007 http://host-17868.com/ Title: 17868 Fri Nov 9 10:08:36 2007 http://www.host-17869.com/ Title: 17869 Fri Nov 9 10:11:42 2007 http://www.host-17870.com/ Title: 17870 Fri Nov 9 10:12:03 2007 http://www.host-17871.com/ Title: 17871 Fri Nov 9 10:12:18 2007 http://www.host-17872.com/ Title: 17872 Fri Nov 9 10:12:48 2007 http://host-17873.com/ Title: 17873 Fri Nov 9 10:14:49 2007 http://www.host-17874.com/ Title: 17874 Fri Nov 9 10:15:00 2007 http://www.host-17875.com/ Title: 17875 Fri Nov 9 10:15:03 2007 http://host-17876.com/ Title: 17876 Fri Nov 9 10:15:11 2007 http://host-17877.com/ Title: 17877 Fri Nov 9 10:15:21 2007 http://host-17878.com/ Title: 17878 Fri Nov 9 10:15:37 2007 http://www.host-17879.com/ Title: 17879 Fri Nov 9 10:17:05 2007 http://www.host-17880.com/ Title: 17880 Fri Nov 9 11:07:06 2007 http://www.host-17881.com/ Title: 17881 Fri Nov 9 12:44:12 2007 http://www.host-17882.com/ Title: 17882 Fri Nov 9 16:16:02 2007 http://host-17883.com/ Title: 17883 Fri Nov 9 16:16:17 2007 http://host-17884.com/ Title: 17884 Fri Nov 9 16:17:47 2007 http://www.host-17885.com/ Title: 17885 Fri Nov 9 16:19:34 2007 http://host-17886.com/ Title: 17886 Fri Nov 9 16:59:59 2007 http://www.host-17887.com/ Title: 17887 Fri Nov 9 18:10:13 2007 http://host-17888.com/ Title: 17888 Sat Nov 10 18:25:38 2007 http://www.host-17889.com/ Title: 17889 Mon Nov 12 10:18:18 2007 http://host-17890.com/ Title: 17890 Mon Nov 12 11:44:18 2007 http://host-17891.com/ Title: 17891 Mon Nov 12 11:44:22 2007 http://www.host-17892.com/ Title: 17892 Mon Nov 12 11:44:28 2007 http://www.host-17893.com/ Title: 17893 Mon Nov 12 11:44:36 2007 http://www.host-17894.com/ Title: 17894 Mon Nov 12 12:15:01 2007 http://host-17895.com/ Title: 17895 Mon Nov 12 12:15:07 2007 http://www.host-17896.com/ Title: 17896 Mon Nov 12 12:15:12 2007 http://host-17897.com/ Title: 17897 Mon Nov 12 12:30:26 2007 http://host-17898.com/ Title: 17898 Mon Nov 12 12:31:05 2007 http://host-17899.com/ Title: 17899 Mon Nov 12 13:19:11 2007 http://host-17900.com/ Title: 17900 Mon Nov 12 13:25:37 2007 http://host-17901.com/ Title: 17901 Mon Nov 12 13:29:32 2007 http://www.host-17902.com/ Title: 17902 Mon Nov 12 13:29:53 2007 http://www.host-17903.com/ Title: 17903 Mon Nov 12 13:30:57 2007 http://host-17904.com/ Title: 17904 Mon Nov 12 13:31:25 2007 http://host-17905.com/ Title: 17905 Mon Nov 12 13:31:40 2007 http://host-17906.com/ Title: 17906 Mon Nov 12 13:31:44 2007 http://host-17907.com/ Title: 17907 Mon Nov 12 13:32:00 2007 http://www.host-17908.com/ Title: 17908 Mon Nov 12 13:32:15 2007 http://www.host-17909.com/ Title: 17909 Mon Nov 12 14:22:28 2007 http://host-17910.com/ Title: 17910 Mon Nov 12 14:22:37 2007 http://host-17911.com/ Title: 17911 Mon Nov 12 14:22:40 2007 http://host-17912.com/ Title: 17912 Mon Nov 12 14:23:08 2007 http://www.host-17913.com/ Title: 17913 Mon Nov 12 14:23:12 2007 http://host-17914.com/ Title: 17914 Mon Nov 12 14:25:44 2007 http://www.host-17915.com/ Title: 17915 Mon Nov 12 14:53:20 2007 http://www.host-17916.com/ Title: 17916 Mon Nov 12 15:04:14 2007 http://host-17917.com/ Title: 17917 Tue Nov 13 10:24:45 2007 http://host-17918.com/ Title: 17918 Tue Nov 13 10:24:46 2007 http://www.host-17919.com/ Title: 17919 Tue Nov 13 10:24:51 2007 http://host-17920.com/ Title: 17920 Tue Nov 13 10:25:00 2007 http://host-17921.com/ Title: 17921 Tue Nov 13 10:25:03 2007 http://host-17922.com/ Title: 17922 Tue Nov 13 10:37:48 2007 http://host-17923.com/ Title: 17923 Tue Nov 13 10:55:18 2007 http://host-17924.com/ Title: 17924 Tue Nov 13 11:38:54 2007 http://www.host-17925.com/ Title: 17925 Tue Nov 13 14:25:57 2007 http://host-17926.com/ Title: 17926 Tue Nov 13 14:26:40 2007 http://www.host-17927.com/ Title: 17927 Tue Nov 13 14:26:45 2007 http://host-17928.com/ Title: 17928 Tue Nov 13 14:26:48 2007 http://host-17929.com/ Title: 17929 Tue Nov 13 14:27:00 2007 http://www.host-17930.com/ Title: 17930 Wed Nov 14 10:50:37 2007 http://www.host-17931.com/ Title: 17931 Wed Nov 14 10:53:10 2007 http://www.host-17932.com/ Title: 17932 Wed Nov 14 10:54:48 2007 http://www.host-17933.com/ Title: 17933 Wed Nov 14 10:57:54 2007 http://www.host-17934.com/ Title: 17934 Wed Nov 14 10:58:54 2007 http://host-17935.com/ Title: 17935 Wed Nov 14 11:55:24 2007 http://host-17936.com/ Title: 17936 Wed Nov 14 11:55:50 2007 http://host-17937.com/ Title: 17937 Wed Nov 14 12:18:28 2007 http://host-17938.com/ Title: 17938 Wed Nov 14 16:11:08 2007 http://host-17939.com/ Title: 17939 Wed Nov 14 16:13:08 2007 http://www.host-17940.com/ Title: 17940 Thu Nov 15 10:53:23 2007 http://host-17941.com/ Title: 17941 Thu Nov 15 10:53:36 2007 http://www.host-17942.com/ Title: 17942 Thu Nov 15 18:53:22 2007 http://host-17943.com/ Title: 17943 Fri Nov 16 11:51:17 2007 http://host-17944.com/ Title: 17944 Fri Nov 16 13:26:17 2007 http://host-17945.com/ Title: 17945 Fri Nov 16 13:57:34 2007 http://www.host-17946.com/ Title: 17946 Fri Nov 16 13:57:38 2007 http://www.host-17947.com/ Title: 17947 Fri Nov 16 13:57:48 2007 http://host-17948.com/ Title: 17948 Fri Nov 16 13:58:52 2007 http://host-17949.com/ Title: 17949 Fri Nov 16 13:59:01 2007 http://www.host-17950.com/ Title: 17950 Fri Nov 16 13:59:08 2007 http://host-17951.com/ Title: 17951 Fri Nov 16 13:59:17 2007 http://host-17952.com/ Title: 17952 Fri Nov 16 18:14:19 2007 http://host-17953.com/ Title: 17953 Mon Nov 19 11:18:17 2007 http://host-17954.com/ Title: 17954 Mon Nov 19 11:19:09 2007 http://host-17955.com/ Title: 17955 Mon Nov 19 11:45:19 2007 http://www.host-17956.com/ Title: 17956 Mon Nov 19 13:40:26 2007 http://www.host-17957.com/ Title: 17957 Mon Nov 19 15:11:51 2007 http://host-17958.com/ Title: 17958 Mon Nov 19 15:11:53 2007 http://www.host-17959.com/ Title: 17959 Mon Nov 19 15:12:04 2007 http://www.host-17960.com/ Title: 17960 Mon Nov 19 19:02:54 2007 http://host-17961.com/ Title: 17961 Tue Nov 20 11:00:26 2007 http://host-17962.com/ Title: 17962 Tue Nov 20 15:56:47 2007 http://host-17963.com/ Title: 17963 Wed Nov 21 10:50:19 2007 http://host-17964.com/ Title: 17964 Wed Nov 21 11:00:34 2007 http://host-17965.com/ Title: 17965 Wed Nov 21 18:04:42 2007 http://host-17966.com/ Title: 17966 Thu Nov 22 12:23:07 2007 http://www.host-17967.com/ Title: 17967 Thu Nov 22 12:39:14 2007 http://host-17968.com/ Title: 17968 Thu Nov 22 13:31:41 2007 http://host-17969.com/ Title: 17969 Thu Nov 22 14:00:33 2007 http://host-17970.com/ Title: 17970 Thu Nov 22 15:02:58 2007 http://www.host-17971.com/ Title: 17971 Thu Nov 22 16:39:02 2007 http://www.host-17972.com/ Title: 17972 Thu Nov 22 17:02:35 2007 http://www.host-17973.com/ Title: 17973 Thu Nov 22 18:26:12 2007 http://host-17974.com/ Title: 17974 Thu Nov 22 18:52:21 2007 http://www.host-17975.com/ Title: 17975 Thu Nov 22 18:52:22 2007 http://host-17976.com/ Title: 17976 Thu Nov 22 18:52:27 2007 http://www.host-17977.com/ Title: 17977 Thu Nov 22 18:52:30 2007 http://www.host-17978.com/ Title: 17978 Thu Nov 22 18:52:31 2007 http://www.host-17979.com/ Title: 17979 Thu Nov 22 18:53:17 2007 http://host-17980.com/ Title: 17980 Thu Nov 22 18:53:22 2007 http://www.host-17981.com/ Title: 17981 Thu Nov 22 18:53:31 2007 http://host-17982.com/ Title: 17982 Thu Nov 22 18:54:32 2007 http://host-17983.com/ Title: 17983 Thu Nov 22 18:55:20 2007 http://host-17984.com/ Title: 17984 Thu Nov 22 18:56:00 2007 http://host-17985.com/ Title: 17985 Thu Nov 22 18:56:04 2007 http://www.host-17986.com/ Title: 17986 Thu Nov 22 19:25:34 2007 http://www.host-17987.com/ Title: 17987 Thu Nov 22 19:27:23 2007 http://www.host-17988.com/ Title: 17988 Thu Nov 22 19:27:36 2007 http://host-17989.com/ Title: 17989 Fri Nov 23 14:22:27 2007 http://host-17990.com/ Title: 17990 Fri Nov 23 14:22:32 2007 http://www.host-17991.com/ Title: 17991 Fri Nov 23 14:31:21 2007 http://www.host-17992.com/ Title: 17992 Fri Nov 23 14:58:35 2007 http://host-17993.com/ Title: 17993 Fri Nov 23 15:33:34 2007 http://www.host-17994.com/ Title: 17994 Fri Nov 23 15:38:55 2007 http://host-17995.com/ Title: 17995 Fri Nov 23 15:38:57 2007 http://host-17996.com/ Title: 17996 Mon Nov 26 09:38:28 2007 http://www.host-17997.com/ Title: 17997 Mon Nov 26 09:39:22 2007 http://www.host-17998.com/ Title: 17998 Mon Nov 26 09:39:42 2007 http://host-17999.com/ Title: 17999 Mon Nov 26 09:39:55 2007 http://www.host-18000.com/ Title: 18000 Mon Nov 26 09:40:08 2007 http://host-18001.com/ Title: 18001 Mon Nov 26 09:40:20 2007 http://host-18002.com/ Title: 18002 Mon Nov 26 09:41:10 2007 http://host-18003.com/ Title: 18003 Mon Nov 26 09:41:45 2007 http://www.host-18004.com/ Title: 18004 Mon Nov 26 09:46:29 2007 http://host-18005.com/ Title: 18005 Mon Nov 26 11:58:04 2007 http://www.host-18006.com/ Title: 18006 Mon Nov 26 13:30:04 2007 http://host-18007.com/ Title: 18007 Mon Nov 26 13:30:48 2007 http://host-18008.com/ Title: 18008 Mon Nov 26 13:31:16 2007 http://host-18009.com/ Title: 18009 Mon Nov 26 13:36:03 2007 http://host-18010.com/ Title: 18010 Mon Nov 26 14:34:38 2007 http://www.host-18011.com/ Title: 18011 Mon Nov 26 14:47:39 2007 http://host-18012.com/ Title: 18012 Mon Nov 26 15:33:17 2007 http://host-18013.com/ Title: 18013 Mon Nov 26 15:37:45 2007 http://www.host-18014.com/ Title: 18014 Mon Nov 26 15:37:58 2007 http://host-18015.com/ Title: 18015 Mon Nov 26 15:39:36 2007 http://www.host-18016.com/ Title: 18016 Mon Nov 26 15:39:42 2007 http://www.host-18017.com/ Title: 18017 Mon Nov 26 15:39:43 2007 http://host-18018.com/ Title: 18018 Tue Nov 27 10:39:17 2007 http://www.host-18019.com/ Title: 18019 Tue Nov 27 10:59:37 2007 http://www.host-18020.com/ Title: 18020 Tue Nov 27 11:02:29 2007 http://www.host-18021.com/ Title: 18021 Tue Nov 27 11:03:12 2007 http://www.host-18022.com/ Title: 18022 Tue Nov 27 11:07:07 2007 http://host-18023.com/ Title: 18023 Tue Nov 27 11:07:12 2007 http://host-18024.com/ Title: 18024 Tue Nov 27 11:08:24 2007 http://www.host-18025.com/ Title: 18025 Tue Nov 27 11:52:45 2007 http://host-18026.com/ Title: 18026 Tue Nov 27 11:52:56 2007 http://www.host-18027.com/ Title: 18027 Tue Nov 27 11:53:06 2007 http://host-18028.com/ Title: 18028 Tue Nov 27 11:53:44 2007 http://host-18029.com/ Title: 18029 Tue Nov 27 11:53:45 2007 http://www.host-18030.com/ Title: 18030 Tue Nov 27 11:53:52 2007 http://www.host-18031.com/ Title: 18031 Tue Nov 27 11:54:11 2007 http://www.host-18032.com/ Title: 18032 Tue Nov 27 11:54:22 2007 http://www.host-18033.com/ Title: 18033 Tue Nov 27 11:54:45 2007 http://www.host-18034.com/ Title: 18034 Tue Nov 27 11:54:57 2007 http://www.host-18035.com/ Title: 18035 Tue Nov 27 11:56:35 2007 http://www.host-18036.com/ Title: 18036 Tue Nov 27 12:02:13 2007 http://www.host-18037.com/ Title: 18037 Tue Nov 27 12:02:40 2007 http://host-18038.com/ Title: 18038 Tue Nov 27 12:03:06 2007 http://host-18039.com/ Title: 18039 Tue Nov 27 12:03:16 2007 http://host-18040.com/ Title: 18040 Tue Nov 27 12:04:17 2007 http://www.host-18041.com/ Title: 18041 Tue Nov 27 12:04:31 2007 http://www.host-18042.com/ Title: 18042 Tue Nov 27 12:05:49 2007 http://host-18043.com/ Title: 18043 Tue Nov 27 12:08:11 2007 http://www.host-18044.com/ Title: 18044 Tue Nov 27 12:08:29 2007 http://host-18045.com/ Title: 18045 Tue Nov 27 12:08:35 2007 http://www.host-18046.com/ Title: 18046 Tue Nov 27 12:08:37 2007 http://host-18047.com/ Title: 18047 Tue Nov 27 12:14:25 2007 http://www.host-18048.com/ Title: 18048 Tue Nov 27 12:14:29 2007 http://host-18049.com/ Title: 18049 Tue Nov 27 12:15:30 2007 http://www.host-18050.com/ Title: 18050 Tue Nov 27 12:37:17 2007 http://host-18051.com/ Title: 18051 Tue Nov 27 12:38:33 2007 http://www.host-18052.com/ Title: 18052 Tue Nov 27 12:40:07 2007 http://www.host-18053.com/ Title: 18053 Tue Nov 27 12:46:57 2007 http://host-18054.com/ Title: 18054 Tue Nov 27 12:47:37 2007 http://www.host-18055.com/ Title: 18055 Tue Nov 27 12:47:57 2007 http://www.host-18056.com/ Title: 18056 Tue Nov 27 12:50:11 2007 http://www.host-18057.com/ Title: 18057 Tue Nov 27 12:50:18 2007 http://www.host-18058.com/ Title: 18058 Tue Nov 27 12:50:36 2007 http://host-18059.com/ Title: 18059 Tue Nov 27 12:51:04 2007 http://www.host-18060.com/ Title: 18060 Tue Nov 27 12:51:21 2007 http://www.host-18061.com/ Title: 18061 Tue Nov 27 12:52:55 2007 http://host-18062.com/ Title: 18062 Tue Nov 27 12:53:36 2007 http://host-18063.com/ Title: 18063 Tue Nov 27 12:54:12 2007 http://www.host-18064.com/ Title: 18064 Tue Nov 27 12:54:12 2007 http://host-18065.com/ Title: 18065 Tue Nov 27 12:54:16 2007 http://www.host-18066.com/ Title: 18066 Tue Nov 27 12:57:46 2007 http://www.host-18067.com/ Title: 18067 Tue Nov 27 12:57:49 2007 http://www.host-18068.com/ Title: 18068 Tue Nov 27 12:58:10 2007 http://www.host-18069.com/ Title: 18069 Tue Nov 27 12:59:13 2007 http://www.host-18070.com/ Title: 18070 Tue Nov 27 13:01:10 2007 http://host-18071.com/ Title: 18071 Tue Nov 27 13:01:50 2007 http://www.host-18072.com/ Title: 18072 Tue Nov 27 13:01:54 2007 http://host-18073.com/ Title: 18073 Tue Nov 27 13:03:18 2007 http://host-18074.com/ Title: 18074 Tue Nov 27 13:03:22 2007 http://host-18075.com/ Title: 18075 Tue Nov 27 13:05:16 2007 http://www.host-18076.com/ Title: 18076 Tue Nov 27 13:05:18 2007 http://www.host-18077.com/ Title: 18077 Tue Nov 27 13:10:31 2007 http://www.host-18078.com/ Title: 18078 Tue Nov 27 13:10:43 2007 http://host-18079.com/ Title: 18079 Tue Nov 27 13:10:44 2007 http://host-18080.com/ Title: 18080 Tue Nov 27 13:10:54 2007 http://www.host-18081.com/ Title: 18081 Tue Nov 27 13:11:01 2007 http://host-18082.com/ Title: 18082 Tue Nov 27 13:11:01 2007 http://host-18083.com/ Title: 18083 Tue Nov 27 13:11:14 2007 http://host-18084.com/ Title: 18084 Tue Nov 27 13:11:34 2007 http://www.host-18085.com/ Title: 18085 Tue Nov 27 13:13:07 2007 http://www.host-18086.com/ Title: 18086 Tue Nov 27 13:13:19 2007 http://www.host-18087.com/ Title: 18087 Tue Nov 27 13:13:24 2007 http://www.host-18088.com/ Title: 18088 Tue Nov 27 13:14:12 2007 http://host-18089.com/ Title: 18089 Tue Nov 27 13:14:13 2007 http://host-18090.com/ Title: 18090 Tue Nov 27 13:18:22 2007 http://www.host-18091.com/ Title: 18091 Tue Nov 27 13:20:16 2007 http://host-18092.com/ Title: 18092 Tue Nov 27 13:46:13 2007 http://www.host-18093.com/ Title: 18093 Tue Nov 27 14:04:10 2007 http://www.host-18094.com/ Title: 18094 Tue Nov 27 14:04:16 2007 http://www.host-18095.com/ Title: 18095 Tue Nov 27 14:06:11 2007 http://www.host-18096.com/ Title: 18096 Tue Nov 27 14:07:43 2007 http://www.host-18097.com/ Title: 18097 Tue Nov 27 14:07:47 2007 http://www.host-18098.com/ Title: 18098 Tue Nov 27 14:08:17 2007 http://www.host-18099.com/ Title: 18099 Tue Nov 27 14:16:05 2007 http://www.host-18100.com/ Title: 18100 Tue Nov 27 14:16:07 2007 http://host-18101.com/ Title: 18101 Tue Nov 27 14:16:13 2007 http://www.host-18102.com/ Title: 18102 Tue Nov 27 14:20:44 2007 http://host-18103.com/ Title: 18103 Tue Nov 27 14:20:50 2007 http://host-18104.com/ Title: 18104 Tue Nov 27 14:43:05 2007 http://www.host-18105.com/ Title: 18105 Tue Nov 27 14:44:31 2007 http://host-18106.com/ Title: 18106 Tue Nov 27 14:44:34 2007 http://www.host-18107.com/ Title: 18107 Tue Nov 27 14:47:09 2007 http://host-18108.com/ Title: 18108 Tue Nov 27 14:47:28 2007 http://host-18109.com/ Title: 18109 Tue Nov 27 16:01:16 2007 http://host-18110.com/ Title: 18110 Tue Nov 27 16:01:19 2007 http://www.host-18111.com/ Title: 18111 Tue Nov 27 16:19:01 2007 http://www.host-18112.com/ Title: 18112 Tue Nov 27 16:51:17 2007 http://www.host-18113.com/ Title: 18113 Tue Nov 27 16:51:30 2007 http://www.host-18114.com/ Title: 18114 Tue Nov 27 17:40:33 2007 http://www.host-18115.com/ Title: 18115 Wed Nov 28 11:09:56 2007 http://www.host-18116.com/ Title: 18116 Wed Nov 28 11:10:01 2007 http://www.host-18117.com/ Title: 18117 Wed Nov 28 11:10:05 2007 http://www.host-18118.com/ Title: 18118 Wed Nov 28 11:37:05 2007 http://www.host-18119.com/ Title: 18119 Wed Nov 28 12:22:36 2007 http://host-18120.com/ Title: 18120 Wed Nov 28 12:35:22 2007 http://host-18121.com/ Title: 18121 Wed Nov 28 12:37:26 2007 http://www.host-18122.com/ Title: 18122 Wed Nov 28 12:38:49 2007 http://host-18123.com/ Title: 18123 Wed Nov 28 12:38:58 2007 http://www.host-18124.com/ Title: 18124 Wed Nov 28 12:38:59 2007 http://www.host-18125.com/ Title: 18125 Wed Nov 28 12:39:08 2007 http://www.host-18126.com/ Title: 18126 Wed Nov 28 12:40:20 2007 http://www.host-18127.com/ Title: 18127 Wed Nov 28 12:40:42 2007 http://www.host-18128.com/ Title: 18128 Wed Nov 28 12:40:43 2007 http://host-18129.com/ Title: 18129 Wed Nov 28 12:40:55 2007 http://host-18130.com/ Title: 18130 Wed Nov 28 12:41:06 2007 http://host-18131.com/ Title: 18131 Wed Nov 28 12:41:11 2007 http://host-18132.com/ Title: 18132 Wed Nov 28 13:33:33 2007 http://host-18133.com/ Title: 18133 Wed Nov 28 13:33:38 2007 http://www.host-18134.com/ Title: 18134 Wed Nov 28 13:36:12 2007 http://host-18135.com/ Title: 18135 Wed Nov 28 13:37:17 2007 http://host-18136.com/ Title: 18136 Wed Nov 28 13:38:01 2007 http://www.host-18137.com/ Title: 18137 Wed Nov 28 13:38:12 2007 http://www.host-18138.com/ Title: 18138 Wed Nov 28 14:35:24 2007 http://host-18139.com/ Title: 18139 Wed Nov 28 14:35:28 2007 http://host-18140.com/ Title: 18140 Wed Nov 28 14:36:42 2007 http://www.host-18141.com/ Title: 18141 Wed Nov 28 14:38:25 2007 http://www.host-18142.com/ Title: 18142 Wed Nov 28 14:47:28 2007 http://host-18143.com/ Title: 18143 Wed Nov 28 14:57:50 2007 http://www.host-18144.com/ Title: 18144 Wed Nov 28 14:58:13 2007 http://host-18145.com/ Title: 18145 Wed Nov 28 14:58:13 2007 http://www.host-18146.com/ Title: 18146 Wed Nov 28 14:59:35 2007 http://www.host-18147.com/ Title: 18147 Wed Nov 28 15:00:06 2007 http://host-18148.com/ Title: 18148 Wed Nov 28 15:00:21 2007 http://www.host-18149.com/ Title: 18149 Wed Nov 28 15:02:07 2007 http://host-18150.com/ Title: 18150 Wed Nov 28 15:19:38 2007 http://host-18151.com/ Title: 18151 Wed Nov 28 15:19:52 2007 http://www.host-18152.com/ Title: 18152 Wed Nov 28 15:20:23 2007 http://host-18153.com/ Title: 18153 Wed Nov 28 15:20:33 2007 http://host-18154.com/ Title: 18154 Wed Nov 28 16:52:35 2007 http://host-18155.com/ Title: 18155 Thu Nov 29 10:39:21 2007 http://www.host-18156.com/ Title: 18156 Thu Nov 29 10:40:05 2007 http://host-18157.com/ Title: 18157 Thu Nov 29 10:45:21 2007 http://www.host-18158.com/ Title: 18158 Thu Nov 29 10:45:43 2007 http://www.host-18159.com/ Title: 18159 Thu Nov 29 10:48:47 2007 http://host-18160.com/ Title: 18160 Thu Nov 29 10:52:11 2007 http://www.host-18161.com/ Title: 18161 Thu Nov 29 10:52:26 2007 http://host-18162.com/ Title: 18162 Thu Nov 29 10:52:27 2007 http://www.host-18163.com/ Title: 18163 Thu Nov 29 10:59:45 2007 http://www.host-18164.com/ Title: 18164 Thu Nov 29 10:59:46 2007 http://host-18165.com/ Title: 18165 Thu Nov 29 11:04:57 2007 http://www.host-18166.com/ Title: 18166 Thu Nov 29 11:05:25 2007 http://www.host-18167.com/ Title: 18167 Thu Nov 29 11:05:44 2007 http://www.host-18168.com/ Title: 18168 Thu Nov 29 11:06:23 2007 http://www.host-18169.com/ Title: 18169 Thu Nov 29 11:06:48 2007 http://www.host-18170.com/ Title: 18170 Thu Nov 29 11:08:18 2007 http://www.host-18171.com/ Title: 18171 Thu Nov 29 11:08:54 2007 http://host-18172.com/ Title: 18172 Thu Nov 29 11:08:57 2007 http://host-18173.com/ Title: 18173 Thu Nov 29 11:12:35 2007 http://host-18174.com/ Title: 18174 Thu Nov 29 11:13:36 2007 http://host-18175.com/ Title: 18175 Thu Nov 29 11:13:42 2007 http://host-18176.com/ Title: 18176 Thu Nov 29 11:13:53 2007 http://www.host-18177.com/ Title: 18177 Thu Nov 29 11:14:09 2007 http://host-18178.com/ Title: 18178 Thu Nov 29 11:14:13 2007 http://host-18179.com/ Title: 18179 Thu Nov 29 11:14:30 2007 http://www.host-18180.com/ Title: 18180 Thu Nov 29 11:14:48 2007 http://www.host-18181.com/ Title: 18181 Thu Nov 29 11:14:49 2007 http://www.host-18182.com/ Title: 18182 Thu Nov 29 11:16:29 2007 http://www.host-18183.com/ Title: 18183 Thu Nov 29 13:03:48 2007 http://host-18184.com/ Title: 18184 Thu Nov 29 13:03:48 2007 http://www.host-18185.com/ Title: 18185 Thu Nov 29 13:03:52 2007 http://www.host-18186.com/ Title: 18186 Thu Nov 29 13:04:33 2007 http://www.host-18187.com/ Title: 18187 Thu Nov 29 13:04:36 2007 http://host-18188.com/ Title: 18188 Thu Nov 29 13:05:10 2007 http://host-18189.com/ Title: 18189 Thu Nov 29 13:05:11 2007 http://host-18190.com/ Title: 18190 Thu Nov 29 13:05:13 2007 http://www.host-18191.com/ Title: 18191 Thu Nov 29 13:36:29 2007 http://host-18192.com/ Title: 18192 Thu Nov 29 14:00:44 2007 http://host-18193.com/ Title: 18193 Thu Nov 29 14:00:45 2007 http://host-18194.com/ Title: 18194 Thu Nov 29 14:00:49 2007 http://www.host-18195.com/ Title: 18195 Thu Nov 29 18:14:27 2007 http://host-18196.com/ Title: 18196 Thu Nov 29 18:15:00 2007 http://www.host-18197.com/ Title: 18197 Thu Nov 29 18:21:29 2007 http://www.host-18198.com/ Title: 18198 Thu Nov 29 18:22:25 2007 http://host-18199.com/ Title: 18199 Thu Nov 29 18:22:27 2007 http://host-18200.com/ Title: 18200 Thu Nov 29 18:22:44 2007 http://host-18201.com/ Title: 18201 Thu Nov 29 18:22:48 2007 http://www.host-18202.com/ Title: 18202 Thu Nov 29 18:24:48 2007 http://www.host-18203.com/ Title: 18203 Thu Nov 29 18:25:24 2007 http://www.host-18204.com/ Title: 18204 Thu Nov 29 18:25:27 2007 http://www.host-18205.com/ Title: 18205 Thu Nov 29 18:28:10 2007 http://www.host-18206.com/ Title: 18206 Thu Nov 29 18:28:21 2007 http://host-18207.com/ Title: 18207 Thu Nov 29 18:28:26 2007 http://www.host-18208.com/ Title: 18208 Thu Nov 29 18:30:54 2007 http://www.host-18209.com/ Title: 18209 Thu Nov 29 18:32:12 2007 http://host-18210.com/ Title: 18210 Thu Nov 29 18:32:14 2007 http://www.host-18211.com/ Title: 18211 Fri Nov 30 11:06:48 2007 http://www.host-18212.com/ Title: 18212 Fri Nov 30 11:07:15 2007 http://www.host-18213.com/ Title: 18213 Fri Nov 30 11:08:30 2007 http://host-18214.com/ Title: 18214 Fri Nov 30 11:09:58 2007 http://www.host-18215.com/ Title: 18215 Fri Nov 30 11:10:49 2007 http://host-18216.com/ Title: 18216 Fri Nov 30 11:11:00 2007 http://www.host-18217.com/ Title: 18217 Fri Nov 30 11:13:28 2007 http://host-18218.com/ Title: 18218 Fri Nov 30 11:13:54 2007 http://www.host-18219.com/ Title: 18219 Fri Nov 30 11:18:33 2007 http://host-18220.com/ Title: 18220 Fri Nov 30 11:18:34 2007 http://www.host-18221.com/ Title: 18221 Fri Nov 30 11:18:37 2007 http://host-18222.com/ Title: 18222 Fri Nov 30 11:18:45 2007 http://www.host-18223.com/ Title: 18223 Fri Nov 30 11:18:45 2007 http://www.host-18224.com/ Title: 18224 Fri Nov 30 11:18:48 2007 http://host-18225.com/ Title: 18225 Fri Nov 30 11:21:13 2007 http://www.host-18226.com/ Title: 18226 Fri Nov 30 11:22:47 2007 http://www.host-18227.com/ Title: 18227 Fri Nov 30 11:22:49 2007 http://host-18228.com/ Title: 18228 Fri Nov 30 11:22:50 2007 http://www.host-18229.com/ Title: 18229 Fri Nov 30 11:24:28 2007 http://host-18230.com/ Title: 18230 Fri Nov 30 11:25:11 2007 http://www.host-18231.com/ Title: 18231 Fri Nov 30 11:25:16 2007 http://host-18232.com/ Title: 18232 Fri Nov 30 11:47:51 2007 http://www.host-18233.com/ Title: 18233 Fri Nov 30 14:51:40 2007 http://host-18234.com/ Title: 18234 Fri Nov 30 15:13:43 2007 http://host-18235.com/ Title: 18235 Fri Nov 30 15:36:33 2007 http://host-18236.com/ Title: 18236 Fri Nov 30 15:36:37 2007 http://www.host-18237.com/ Title: 18237 Fri Nov 30 16:15:23 2007 http://www.host-18238.com/ Title: 18238 Fri Nov 30 18:07:33 2007 http://host-18239.com/ Title: 18239 Fri Nov 30 18:07:38 2007 http://host-18240.com/ Title: 18240 Fri Nov 30 18:08:48 2007 http://www.host-18241.com/ Title: 18241 Fri Nov 30 18:18:00 2007 http://host-18242.com/ Title: 18242 Fri Nov 30 18:18:04 2007 http://host-18243.com/ Title: 18243 Fri Nov 30 19:01:50 2007 http://host-18244.com/ Title: 18244 Fri Nov 30 19:01:51 2007 http://www.host-18245.com/ Title: 18245 Fri Nov 30 19:01:54 2007 http://www.host-18246.com/ Title: 18246 Fri Nov 30 19:02:38 2007 http://host-18247.com/ Title: 18247 Fri Nov 30 19:03:19 2007 http://host-18248.com/ Title: 18248 Fri Nov 30 19:03:34 2007 http://host-18249.com/ Title: 18249 Fri Nov 30 19:04:40 2007 http://host-18250.com/ Title: 18250 Fri Nov 30 19:05:51 2007 http://host-18251.com/ Title: 18251 Fri Nov 30 19:22:09 2007 http://host-18252.com/ Title: 18252 Sun Dec 2 15:18:01 2007 http://www.host-18253.com/ Title: 18253 Sun Dec 2 15:18:46 2007 http://host-18254.com/ Title: 18254 Sun Dec 2 22:21:56 2007 http://www.host-18255.com/ Title: 18255 Sun Dec 2 22:22:20 2007 http://host-18256.com/ Title: 18256 Sun Dec 2 22:24:00 2007 http://www.host-18257.com/ Title: 18257 Sun Dec 2 22:24:56 2007 http://www.host-18258.com/ Title: 18258 Sun Dec 2 22:35:14 2007 http://host-18259.com/ Title: 18259 Tue Dec 4 09:50:45 2007 http://www.host-18260.com/ Title: 18260 Tue Dec 4 09:51:44 2007 http://host-18261.com/ Title: 18261 Tue Dec 4 09:51:47 2007 http://www.host-18262.com/ Title: 18262 Tue Dec 4 09:53:33 2007 http://www.host-18263.com/ Title: 18263 Tue Dec 4 09:54:05 2007 http://host-18264.com/ Title: 18264 Tue Dec 4 09:54:20 2007 http://host-18265.com/ Title: 18265 Tue Dec 4 09:54:23 2007 http://host-18266.com/ Title: 18266 Tue Dec 4 10:18:12 2007 http://www.host-18267.com/ Title: 18267 Tue Dec 4 10:19:08 2007 http://host-18268.com/ Title: 18268 Tue Dec 4 10:19:14 2007 http://host-18269.com/ Title: 18269 Tue Dec 4 10:19:15 2007 http://host-18270.com/ Title: 18270 Tue Dec 4 10:20:54 2007 http://host-18271.com/ Title: 18271 Tue Dec 4 10:21:02 2007 http://www.host-18272.com/ Title: 18272 Tue Dec 4 10:21:07 2007 http://www.host-18273.com/ Title: 18273 Tue Dec 4 10:22:59 2007 http://www.host-18274.com/ Title: 18274 Tue Dec 4 10:23:05 2007 http://www.host-18275.com/ Title: 18275 Tue Dec 4 10:33:23 2007 http://www.host-18276.com/ Title: 18276 Tue Dec 4 11:03:20 2007 http://www.host-18277.com/ Title: 18277 Tue Dec 4 11:03:24 2007 http://host-18278.com/ Title: 18278 Tue Dec 4 11:55:06 2007 http://www.host-18279.com/ Title: 18279 Tue Dec 4 11:56:30 2007 http://host-18280.com/ Title: 18280 Tue Dec 4 12:19:48 2007 http://host-18281.com/ Title: 18281 Tue Dec 4 14:15:09 2007 http://www.host-18282.com/ Title: 18282 Tue Dec 4 14:29:17 2007 http://www.host-18283.com/ Title: 18283 Wed Dec 5 11:53:31 2007 http://host-18284.com/ Title: 18284 Wed Dec 5 11:55:26 2007 http://www.host-18285.com/ Title: 18285 Wed Dec 5 11:55:43 2007 http://host-18286.com/ Title: 18286 Wed Dec 5 11:56:25 2007 http://host-18287.com/ Title: 18287 Wed Dec 5 11:56:28 2007 http://www.host-18288.com/ Title: 18288 Wed Dec 5 11:58:14 2007 http://host-18289.com/ Title: 18289 Wed Dec 5 12:01:47 2007 http://host-18290.com/ Title: 18290 Wed Dec 5 12:02:07 2007 http://host-18291.com/ Title: 18291 Wed Dec 5 12:02:21 2007 http://host-18292.com/ Title: 18292 Wed Dec 5 12:02:40 2007 http://www.host-18293.com/ Title: 18293 Wed Dec 5 12:02:44 2007 http://host-18294.com/ Title: 18294 Wed Dec 5 12:02:46 2007 http://www.host-18295.com/ Title: 18295 Wed Dec 5 12:02:47 2007 http://host-18296.com/ Title: 18296 Wed Dec 5 14:13:38 2007 http://host-18297.com/ Title: 18297 Wed Dec 5 14:30:22 2007 http://www.host-18298.com/ Title: 18298 Wed Dec 5 14:36:51 2007 http://host-18299.com/ Title: 18299 Wed Dec 5 18:25:20 2007 http://www.host-18300.com/ Title: 18300 Wed Dec 5 18:32:42 2007 http://www.host-18301.com/ Title: 18301 Wed Dec 5 18:50:48 2007 http://host-18302.com/ Title: 18302 Thu Dec 6 06:58:46 2007 http://www.host-18303.com/ Title: 18303 Thu Dec 6 10:08:04 2007 http://www.host-18304.com/ Title: 18304 Thu Dec 6 10:08:20 2007 http://www.host-18305.com/ Title: 18305 Thu Dec 6 10:08:28 2007 http://host-18306.com/ Title: 18306 Thu Dec 6 10:08:41 2007 http://www.host-18307.com/ Title: 18307 Thu Dec 6 12:04:48 2007 http://www.host-18308.com/ Title: 18308 Thu Dec 6 12:42:43 2007 http://host-18309.com/ Title: 18309 Thu Dec 6 13:22:52 2007 http://www.host-18310.com/ Title: 18310 Thu Dec 6 13:22:52 2007 http://www.host-18311.com/ Title: 18311 Thu Dec 6 13:22:54 2007 http://host-18312.com/ Title: 18312 Thu Dec 6 17:04:42 2007 http://host-18313.com/ Title: 18313 Thu Dec 6 18:53:04 2007 http://www.host-18314.com/ Title: 18314 Thu Dec 6 18:56:17 2007 http://www.host-18315.com/ Title: 18315 Thu Dec 6 18:56:21 2007 http://www.host-18316.com/ Title: 18316 Fri Dec 7 09:38:18 2007 http://www.host-18317.com/ Title: 18317 Fri Dec 7 09:38:23 2007 http://host-18318.com/ Title: 18318 Fri Dec 7 09:38:32 2007 http://www.host-18319.com/ Title: 18319 Fri Dec 7 09:38:39 2007 http://host-18320.com/ Title: 18320 Fri Dec 7 09:38:41 2007 http://host-18321.com/ Title: 18321 Fri Dec 7 12:41:26 2007 http://www.host-18322.com/ Title: 18322 Fri Dec 7 12:42:00 2007 http://www.host-18323.com/ Title: 18323 Fri Dec 7 12:42:38 2007 http://www.host-18324.com/ Title: 18324 Fri Dec 7 13:49:27 2007 http://host-18325.com/ Title: 18325 Fri Dec 7 15:50:57 2007 http://www.host-18326.com/ Title: 18326 Fri Dec 7 15:51:28 2007 http://host-18327.com/ Title: 18327 Fri Dec 7 15:51:44 2007 http://www.host-18328.com/ Title: 18328 Fri Dec 7 15:52:01 2007 http://www.host-18329.com/ Title: 18329 Fri Dec 7 15:54:04 2007 http://www.host-18330.com/ Title: 18330 Fri Dec 7 16:13:17 2007 http://host-18331.com/ Title: 18331 Fri Dec 7 16:13:23 2007 http://www.host-18332.com/ Title: 18332 Fri Dec 7 16:13:25 2007 http://host-18333.com/ Title: 18333 Fri Dec 7 16:15:14 2007 http://host-18334.com/ Title: 18334 Fri Dec 7 16:15:45 2007 http://host-18335.com/ Title: 18335 Fri Dec 7 16:16:00 2007 http://host-18336.com/ Title: 18336 Fri Dec 7 16:16:09 2007 http://host-18337.com/ Title: 18337 Fri Dec 7 16:17:50 2007 http://www.host-18338.com/ Title: 18338 Fri Dec 7 16:18:28 2007 http://www.host-18339.com/ Title: 18339 Fri Dec 7 16:18:34 2007 http://host-18340.com/ Title: 18340 Fri Dec 7 16:18:37 2007 http://host-18341.com/ Title: 18341 Fri Dec 7 16:18:43 2007 http://host-18342.com/ Title: 18342 Fri Dec 7 16:18:45 2007 http://www.host-18343.com/ Title: 18343 Fri Dec 7 16:18:53 2007 http://host-18344.com/ Title: 18344 Fri Dec 7 16:19:08 2007 http://host-18345.com/ Title: 18345 Fri Dec 7 16:28:00 2007 http://www.host-18346.com/ Title: 18346 Fri Dec 7 16:38:57 2007 http://www.host-18347.com/ Title: 18347 Fri Dec 7 16:49:25 2007 http://host-18348.com/ Title: 18348 Sun Dec 9 17:22:27 2007 http://www.host-18349.com/ Title: 18349 Sun Dec 9 17:22:43 2007 http://www.host-18350.com/ Title: 18350 Mon Dec 10 10:22:24 2007 http://host-18351.com/ Title: 18351 Mon Dec 10 10:39:17 2007 http://www.host-18352.com/ Title: 18352 Mon Dec 10 10:53:44 2007 http://host-18353.com/ Title: 18353 Mon Dec 10 10:54:28 2007 http://host-18354.com/ Title: 18354 Mon Dec 10 10:54:28 2007 http://www.host-18355.com/ Title: 18355 Mon Dec 10 10:54:29 2007 http://www.host-18356.com/ Title: 18356 Mon Dec 10 10:54:29 2007 http://host-18357.com/ Title: 18357 Mon Dec 10 10:54:30 2007 http://www.host-18358.com/ Title: 18358 Mon Dec 10 10:54:30 2007 http://host-18359.com/ Title: 18359 Mon Dec 10 11:00:25 2007 http://www.host-18360.com/ Title: 18360 Mon Dec 10 12:46:20 2007 http://host-18361.com/ Title: 18361 Mon Dec 10 13:33:12 2007 http://www.host-18362.com/ Title: 18362 Mon Dec 10 13:40:37 2007 http://host-18363.com/ Title: 18363 Mon Dec 10 13:40:38 2007 http://host-18364.com/ Title: 18364 Mon Dec 10 14:07:48 2007 http://host-18365.com/ Title: 18365 Mon Dec 10 14:07:48 2007 http://host-18366.com/ Title: 18366 Mon Dec 10 14:42:46 2007 http://host-18367.com/ Title: 18367 Mon Dec 10 14:46:42 2007 http://host-18368.com/ Title: 18368 Thu Dec 13 09:32:09 2007 http://www.host-18369.com/ Title: 18369 Thu Dec 13 09:41:21 2007 http://www.host-18370.com/ Title: 18370 Thu Dec 13 09:51:14 2007 http://www.host-18371.com/ Title: 18371 Thu Dec 13 09:51:33 2007 http://host-18372.com/ Title: 18372 Thu Dec 13 09:51:34 2007 http://www.host-18373.com/ Title: 18373 Thu Dec 13 10:02:37 2007 http://www.host-18374.com/ Title: 18374 Thu Dec 13 13:50:21 2007 http://host-18375.com/ Title: 18375 Thu Dec 13 13:50:24 2007 http://host-18376.com/ Title: 18376 Thu Dec 13 13:50:34 2007 http://www.host-18377.com/ Title: 18377 Thu Dec 13 15:24:40 2007 http://host-18378.com/ Title: 18378 Fri Dec 14 10:47:50 2007 http://www.host-18379.com/ Title: 18379 Fri Dec 14 10:52:32 2007 http://www.host-18380.com/ Title: 18380 Fri Dec 14 10:52:57 2007 http://www.host-18381.com/ Title: 18381 Fri Dec 14 10:53:00 2007 http://host-18382.com/ Title: 18382 Fri Dec 14 10:56:41 2007 http://host-18383.com/ Title: 18383 Fri Dec 14 10:57:08 2007 http://www.host-18384.com/ Title: 18384 Fri Dec 14 10:59:03 2007 http://host-18385.com/ Title: 18385 Fri Dec 14 11:42:01 2007 http://host-18386.com/ Title: 18386 Fri Dec 14 11:42:02 2007 http://host-18387.com/ Title: 18387 Fri Dec 14 15:03:08 2007 http://host-18388.com/ Title: 18388 Fri Dec 14 15:03:32 2007 http://host-18389.com/ Title: 18389 Fri Dec 14 15:33:27 2007 http://host-18390.com/ Title: 18390 Fri Dec 14 16:44:24 2007 http://www.host-18391.com/ Title: 18391 Fri Dec 14 16:48:51 2007 http://host-18392.com/ Title: 18392 Fri Dec 14 17:00:16 2007 http://www.host-18393.com/ Title: 18393 Fri Dec 14 17:02:30 2007 http://www.host-18394.com/ Title: 18394 Fri Dec 14 19:04:14 2007 http://host-18395.com/ Title: 18395 Fri Dec 14 19:04:15 2007 http://host-18396.com/ Title: 18396 Fri Dec 14 19:04:18 2007 http://host-18397.com/ Title: 18397 Fri Dec 14 21:53:45 2007 http://www.host-18398.com/ Title: 18398 Fri Dec 14 21:59:19 2007 http://host-18399.com/ Title: 18399 Mon Dec 17 10:25:35 2007 http://www.host-18400.com/ Title: 18400 Mon Dec 17 10:25:47 2007 http://host-18401.com/ Title: 18401 Mon Dec 17 10:26:01 2007 http://host-18402.com/ Title: 18402 Mon Dec 17 10:26:13 2007 http://host-18403.com/ Title: 18403 Mon Dec 17 10:45:26 2007 http://host-18404.com/ Title: 18404 Mon Dec 17 10:45:28 2007 http://host-18405.com/ Title: 18405 Mon Dec 17 11:17:45 2007 http://host-18406.com/ Title: 18406 Mon Dec 17 11:49:11 2007 http://www.host-18407.com/ Title: 18407 Mon Dec 17 12:01:13 2007 http://host-18408.com/ Title: 18408 Mon Dec 17 12:49:37 2007 http://host-18409.com/ Title: 18409 Mon Dec 17 12:49:38 2007 http://host-18410.com/ Title: 18410 Mon Dec 17 13:07:33 2007 http://host-18411.com/ Title: 18411 Mon Dec 17 13:20:02 2007 http://www.host-18412.com/ Title: 18412 Mon Dec 17 13:20:04 2007 http://host-18413.com/ Title: 18413 Mon Dec 17 13:20:59 2007 http://host-18414.com/ Title: 18414 Mon Dec 17 13:21:01 2007 http://host-18415.com/ Title: 18415 Mon Dec 17 13:36:05 2007 http://www.host-18416.com/ Title: 18416 Mon Dec 17 14:07:46 2007 http://www.host-18417.com/ Title: 18417 Mon Dec 17 14:37:23 2007 http://www.host-18418.com/ Title: 18418 Mon Dec 17 14:38:34 2007 http://host-18419.com/ Title: 18419 Mon Dec 17 14:45:44 2007 http://www.host-18420.com/ Title: 18420 Mon Dec 17 14:45:46 2007 http://host-18421.com/ Title: 18421 Mon Dec 17 14:50:20 2007 http://host-18422.com/ Title: 18422 Mon Dec 17 14:53:35 2007 http://host-18423.com/ Title: 18423 Mon Dec 17 15:00:17 2007 http://www.host-18424.com/ Title: 18424 Mon Dec 17 15:14:17 2007 http://host-18425.com/ Title: 18425 Mon Dec 17 15:25:53 2007 http://host-18426.com/ Title: 18426 Mon Dec 17 15:28:18 2007 http://host-18427.com/ Title: 18427 Mon Dec 17 15:38:36 2007 http://host-18428.com/ Title: 18428 Mon Dec 17 15:38:44 2007 http://host-18429.com/ Title: 18429 Mon Dec 17 15:38:50 2007 http://host-18430.com/ Title: 18430 Mon Dec 17 15:38:54 2007 http://www.host-18431.com/ Title: 18431 Mon Dec 17 16:01:11 2007 http://host-18432.com/ Title: 18432 Mon Dec 17 16:07:01 2007 http://www.host-18433.com/ Title: 18433 Mon Dec 17 16:44:14 2007 http://host-18434.com/ Title: 18434 Mon Dec 17 16:44:24 2007 http://www.host-18435.com/ Title: 18435 Mon Dec 17 16:46:26 2007 http://host-18436.com/ Title: 18436 Tue Dec 18 11:12:08 2007 http://host-18437.com/ Title: 18437 Tue Dec 18 11:22:29 2007 http://host-18438.com/ Title: 18438 Tue Dec 18 11:35:10 2007 http://www.host-18439.com/ Title: 18439 Tue Dec 18 11:35:27 2007 http://host-18440.com/ Title: 18440 Tue Dec 18 11:35:29 2007 http://www.host-18441.com/ Title: 18441 Tue Dec 18 11:40:44 2007 http://host-18442.com/ Title: 18442 Tue Dec 18 11:40:51 2007 http://www.host-18443.com/ Title: 18443 Tue Dec 18 11:41:03 2007 http://host-18444.com/ Title: 18444 Tue Dec 18 12:22:34 2007 http://www.host-18445.com/ Title: 18445 Tue Dec 18 12:31:54 2007 http://www.host-18446.com/ Title: 18446 Tue Dec 18 13:13:25 2007 http://host-18447.com/ Title: 18447 Tue Dec 18 13:13:36 2007 http://www.host-18448.com/ Title: 18448 Tue Dec 18 13:13:45 2007 http://host-18449.com/ Title: 18449 Tue Dec 18 13:14:13 2007 http://host-18450.com/ Title: 18450 Tue Dec 18 13:14:17 2007 http://host-18451.com/ Title: 18451 Tue Dec 18 13:14:21 2007 http://host-18452.com/ Title: 18452 Tue Dec 18 13:15:21 2007 http://host-18453.com/ Title: 18453 Tue Dec 18 13:15:38 2007 http://host-18454.com/ Title: 18454 Tue Dec 18 13:15:53 2007 http://host-18455.com/ Title: 18455 Tue Dec 18 13:16:22 2007 http://host-18456.com/ Title: 18456 Tue Dec 18 13:16:49 2007 http://www.host-18457.com/ Title: 18457 Tue Dec 18 13:16:53 2007 http://www.host-18458.com/ Title: 18458 Tue Dec 18 13:16:54 2007 http://www.host-18459.com/ Title: 18459 Tue Dec 18 13:16:58 2007 http://www.host-18460.com/ Title: 18460 Tue Dec 18 13:17:03 2007 http://www.host-18461.com/ Title: 18461 Tue Dec 18 13:17:04 2007 http://host-18462.com/ Title: 18462 Tue Dec 18 13:17:09 2007 http://www.host-18463.com/ Title: 18463 Tue Dec 18 13:17:51 2007 http://host-18464.com/ Title: 18464 Tue Dec 18 13:18:43 2007 http://www.host-18465.com/ Title: 18465 Tue Dec 18 13:18:48 2007 http://www.host-18466.com/ Title: 18466 Tue Dec 18 13:18:50 2007 http://www.host-18467.com/ Title: 18467 Tue Dec 18 13:18:54 2007 http://host-18468.com/ Title: 18468 Tue Dec 18 13:19:37 2007 http://www.host-18469.com/ Title: 18469 Tue Dec 18 13:19:38 2007 http://www.host-18470.com/ Title: 18470 Tue Dec 18 13:19:41 2007 http://host-18471.com/ Title: 18471 Tue Dec 18 14:43:24 2007 http://host-18472.com/ Title: 18472 Tue Dec 18 14:47:38 2007 http://www.host-18473.com/ Title: 18473 Tue Dec 18 14:52:01 2007 http://www.host-18474.com/ Title: 18474 Tue Dec 18 16:11:45 2007 http://host-18475.com/ Title: 18475 Tue Dec 18 16:23:38 2007 http://host-18476.com/ Title: 18476 Tue Dec 18 16:24:13 2007 http://host-18477.com/ Title: 18477 Tue Dec 18 16:24:21 2007 http://www.host-18478.com/ Title: 18478 Tue Dec 18 16:24:42 2007 http://host-18479.com/ Title: 18479 Tue Dec 18 16:24:44 2007 http://www.host-18480.com/ Title: 18480 Tue Dec 18 16:25:01 2007 http://www.host-18481.com/ Title: 18481 Tue Dec 18 16:32:22 2007 http://www.host-18482.com/ Title: 18482 Tue Dec 18 16:32:36 2007 http://www.host-18483.com/ Title: 18483 Tue Dec 18 17:07:18 2007 http://www.host-18484.com/ Title: 18484 Tue Dec 18 17:07:22 2007 http://www.host-18485.com/ Title: 18485 Tue Dec 18 17:07:24 2007 http://host-18486.com/ Title: 18486 Tue Dec 18 17:07:29 2007 http://host-18487.com/ Title: 18487 Tue Dec 18 17:19:21 2007 http://www.host-18488.com/ Title: 18488 Tue Dec 18 18:55:25 2007 http://host-18489.com/ Title: 18489 Tue Dec 18 19:19:43 2007 http://host-18490.com/ Title: 18490 Tue Dec 18 19:25:12 2007 http://host-18491.com/ Title: 18491 Tue Dec 18 19:41:57 2007 http://www.host-18492.com/ Title: 18492 Tue Dec 18 19:42:08 2007 http://www.host-18493.com/ Title: 18493 Tue Dec 18 19:53:47 2007 http://www.host-18494.com/ Title: 18494 Tue Dec 18 19:57:56 2007 http://www.host-18495.com/ Title: 18495 Tue Dec 18 19:58:51 2007 http://host-18496.com/ Title: 18496 Tue Dec 18 19:58:54 2007 http://host-18497.com/ Title: 18497 Tue Dec 18 19:59:52 2007 http://host-18498.com/ Title: 18498 Tue Dec 18 20:08:57 2007 http://www.host-18499.com/ Title: 18499 Tue Dec 18 21:07:45 2007 http://host-18500.com/ Title: 18500 Tue Dec 18 21:08:11 2007 http://host-18501.com/ Title: 18501 Tue Dec 18 21:08:50 2007 http://www.host-18502.com/ Title: 18502 Tue Dec 18 21:09:08 2007 http://host-18503.com/ Title: 18503 Tue Dec 18 21:09:26 2007 http://www.host-18504.com/ Title: 18504 Tue Dec 18 21:09:48 2007 http://host-18505.com/ Title: 18505 Tue Dec 18 21:10:03 2007 http://www.host-18506.com/ Title: 18506 Tue Dec 18 21:10:09 2007 http://www.host-18507.com/ Title: 18507 Tue Dec 18 21:10:17 2007 http://host-18508.com/ Title: 18508 Tue Dec 18 21:11:20 2007 http://host-18509.com/ Title: 18509 Tue Dec 18 21:11:31 2007 http://host-18510.com/ Title: 18510 Tue Dec 18 21:11:54 2007 http://www.host-18511.com/ Title: 18511 Tue Dec 18 21:12:03 2007 http://host-18512.com/ Title: 18512 Tue Dec 18 21:12:32 2007 http://www.host-18513.com/ Title: 18513 Tue Dec 18 21:12:34 2007 http://host-18514.com/ Title: 18514 Wed Dec 19 11:03:59 2007 http://host-18515.com/ Title: 18515 Wed Dec 19 11:04:32 2007 http://host-18516.com/ Title: 18516 Wed Dec 19 11:04:49 2007 http://www.host-18517.com/ Title: 18517 Wed Dec 19 11:04:49 2007 http://www.host-18518.com/ Title: 18518 Wed Dec 19 11:06:18 2007 http://www.host-18519.com/ Title: 18519 Wed Dec 19 11:06:25 2007 http://www.host-18520.com/ Title: 18520 Wed Dec 19 11:06:32 2007 http://www.host-18521.com/ Title: 18521 Wed Dec 19 11:08:49 2007 http://www.host-18522.com/ Title: 18522 Wed Dec 19 11:11:36 2007 http://www.host-18523.com/ Title: 18523 Wed Dec 19 11:12:15 2007 http://www.host-18524.com/ Title: 18524 Wed Dec 19 11:15:39 2007 http://host-18525.com/ Title: 18525 Wed Dec 19 11:15:40 2007 http://host-18526.com/ Title: 18526 Wed Dec 19 11:23:02 2007 http://host-18527.com/ Title: 18527 Wed Dec 19 11:23:24 2007 http://host-18528.com/ Title: 18528 Wed Dec 19 11:35:57 2007 http://www.host-18529.com/ Title: 18529 Wed Dec 19 11:43:44 2007 http://www.host-18530.com/ Title: 18530 Wed Dec 19 11:43:53 2007 http://host-18531.com/ Title: 18531 Wed Dec 19 12:08:34 2007 http://www.host-18532.com/ Title: 18532 Wed Dec 19 12:41:34 2007 http://www.host-18533.com/ Title: 18533 Wed Dec 19 13:07:22 2007 http://host-18534.com/ Title: 18534 Wed Dec 19 13:16:20 2007 http://www.host-18535.com/ Title: 18535 Wed Dec 19 13:24:20 2007 http://host-18536.com/ Title: 18536 Wed Dec 19 13:26:24 2007 http://www.host-18537.com/ Title: 18537 Wed Dec 19 13:47:43 2007 http://host-18538.com/ Title: 18538 Wed Dec 19 13:47:50 2007 http://www.host-18539.com/ Title: 18539 Wed Dec 19 13:54:25 2007 http://host-18540.com/ Title: 18540 Wed Dec 19 13:54:27 2007 http://www.host-18541.com/ Title: 18541 Wed Dec 19 13:54:28 2007 http://host-18542.com/ Title: 18542 Wed Dec 19 13:54:31 2007 http://host-18543.com/ Title: 18543 Wed Dec 19 13:54:35 2007 http://www.host-18544.com/ Title: 18544 Wed Dec 19 13:58:40 2007 http://host-18545.com/ Title: 18545 Wed Dec 19 13:58:40 2007 http://host-18546.com/ Title: 18546 Wed Dec 19 13:59:12 2007 http://host-18547.com/ Title: 18547 Wed Dec 19 15:43:18 2007 http://www.host-18548.com/ Title: 18548 Wed Dec 19 15:43:19 2007 http://host-18549.com/ Title: 18549 Wed Dec 19 15:43:20 2007 http://www.host-18550.com/ Title: 18550 Wed Dec 19 15:43:20 2007 http://host-18551.com/ Title: 18551 Wed Dec 19 15:43:23 2007 http://host-18552.com/ Title: 18552 Wed Dec 19 16:06:21 2007 http://www.host-18553.com/ Title: 18553 Wed Dec 19 16:22:57 2007 http://host-18554.com/ Title: 18554 Wed Dec 19 16:23:05 2007 http://host-18555.com/ Title: 18555 Wed Dec 19 18:41:42 2007 http://host-18556.com/ Title: 18556 Wed Dec 19 19:09:24 2007 http://host-18557.com/ Title: 18557 Wed Dec 19 19:11:00 2007 http://www.host-18558.com/ Title: 18558 Wed Dec 19 19:11:23 2007 http://host-18559.com/ Title: 18559 Wed Dec 19 19:11:30 2007 http://www.host-18560.com/ Title: 18560 Wed Dec 19 19:11:37 2007 http://host-18561.com/ Title: 18561 Wed Dec 19 19:11:38 2007 http://host-18562.com/ Title: 18562 Wed Dec 19 19:11:39 2007 http://host-18563.com/ Title: 18563 Wed Dec 19 19:14:33 2007 http://host-18564.com/ Title: 18564 Thu Dec 20 14:11:44 2007 http://host-18565.com/ Title: 18565 Thu Dec 20 14:16:19 2007 http://www.host-18566.com/ Title: 18566 Fri Dec 21 11:18:55 2007 http://host-18567.com/ Title: 18567 Fri Dec 21 11:18:58 2007 http://host-18568.com/ Title: 18568 Fri Dec 21 11:19:13 2007 http://host-18569.com/ Title: 18569 Fri Dec 21 11:19:26 2007 http://www.host-18570.com/ Title: 18570 Fri Dec 21 11:19:33 2007 http://www.host-18571.com/ Title: 18571 Fri Dec 21 11:19:34 2007 http://host-18572.com/ Title: 18572 Fri Dec 21 11:19:39 2007 http://www.host-18573.com/ Title: 18573 Fri Dec 21 11:21:41 2007 http://www.host-18574.com/ Title: 18574 Fri Dec 21 11:21:43 2007 http://www.host-18575.com/ Title: 18575 Fri Dec 21 11:27:14 2007 http://host-18576.com/ Title: 18576 Fri Dec 21 11:27:26 2007 http://www.host-18577.com/ Title: 18577 Fri Dec 21 11:27:38 2007 http://host-18578.com/ Title: 18578 Fri Dec 21 11:27:42 2007 http://www.host-18579.com/ Title: 18579 Fri Dec 21 11:46:24 2007 http://host-18580.com/ Title: 18580 Fri Dec 21 11:48:20 2007 http://www.host-18581.com/ Title: 18581 Fri Dec 21 12:10:33 2007 http://www.host-18582.com/ Title: 18582 Fri Dec 21 12:13:12 2007 http://www.host-18583.com/ Title: 18583 Fri Dec 21 12:13:13 2007 http://www.host-18584.com/ Title: 18584 Fri Dec 21 12:14:45 2007 http://host-18585.com/ Title: 18585 Fri Dec 21 12:15:35 2007 http://host-18586.com/ Title: 18586 Fri Dec 21 12:40:39 2007 http://host-18587.com/ Title: 18587 Fri Dec 21 12:40:41 2007 http://host-18588.com/ Title: 18588 Fri Dec 21 12:52:55 2007 http://host-18589.com/ Title: 18589 Fri Dec 21 13:27:02 2007 http://host-18590.com/ Title: 18590 Fri Dec 21 14:13:58 2007 http://www.host-18591.com/ Title: 18591 Fri Dec 21 14:16:49 2007 http://www.host-18592.com/ Title: 18592 Fri Dec 21 14:16:53 2007 http://host-18593.com/ Title: 18593 Fri Dec 21 14:18:39 2007 http://host-18594.com/ Title: 18594 Fri Dec 21 14:18:44 2007 http://www.host-18595.com/ Title: 18595 Fri Dec 21 18:34:47 2007 http://host-18596.com/ Title: 18596 Fri Dec 21 18:35:40 2007 http://www.host-18597.com/ Title: 18597 Fri Dec 21 18:37:01 2007 http://host-18598.com/ Title: 18598 Fri Dec 21 18:39:20 2007 http://www.host-18599.com/ Title: 18599 Sat Dec 22 21:02:52 2007 http://www.host-18600.com/ Title: 18600 Sat Dec 22 21:04:33 2007 http://www.host-18601.com/ Title: 18601 Wed Dec 26 18:49:42 2007 http://www.host-18602.com/ Title: 18602 Wed Dec 26 18:50:01 2007 http://www.host-18603.com/ Title: 18603 Wed Dec 26 19:08:32 2007 http://host-18604.com/ Title: 18604 Wed Dec 26 19:08:32 2007 http://host-18605.com/ Title: 18605 Wed Dec 26 19:08:32 2007 http://host-18606.com/ Title: 18606 Wed Dec 26 19:08:33 2007 http://host-18607.com/ Title: 18607 Wed Dec 26 19:10:34 2007 http://host-18608.com/ Title: 18608 Wed Dec 26 19:10:41 2007 http://www.host-18609.com/ Title: 18609 Thu Dec 27 09:40:20 2007 http://www.host-18610.com/ Title: 18610 Thu Dec 27 09:40:23 2007 http://host-18611.com/ Title: 18611 Thu Dec 27 09:40:34 2007 http://www.host-18612.com/ Title: 18612 Thu Dec 27 09:40:39 2007 http://host-18613.com/ Title: 18613 Thu Dec 27 09:43:14 2007 http://www.host-18614.com/ Title: 18614 Thu Dec 27 09:44:24 2007 http://www.host-18615.com/ Title: 18615 Thu Dec 27 09:44:30 2007 http://host-18616.com/ Title: 18616 Thu Dec 27 09:44:34 2007 http://www.host-18617.com/ Title: 18617 Thu Dec 27 09:44:48 2007 http://www.host-18618.com/ Title: 18618 Thu Dec 27 09:54:15 2007 http://host-18619.com/ Title: 18619 Thu Dec 27 09:54:20 2007 http://host-18620.com/ Title: 18620 Thu Dec 27 09:54:25 2007 http://www.host-18621.com/ Title: 18621 Thu Dec 27 09:54:28 2007 http://www.host-18622.com/ Title: 18622 Thu Dec 27 09:54:42 2007 http://host-18623.com/ Title: 18623 Thu Dec 27 09:54:50 2007 http://www.host-18624.com/ Title: 18624 Thu Dec 27 12:39:52 2007 http://host-18625.com/ Title: 18625 Thu Dec 27 12:39:58 2007 http://www.host-18626.com/ Title: 18626 Thu Dec 27 13:52:53 2007 http://host-18627.com/ Title: 18627 Thu Dec 27 15:12:51 2007 http://host-18628.com/ Title: 18628 Thu Dec 27 15:48:48 2007 http://host-18629.com/ Title: 18629 Thu Dec 27 15:48:50 2007 http://host-18630.com/ Title: 18630 Thu Dec 27 15:48:53 2007 http://www.host-18631.com/ Title: 18631 Thu Dec 27 15:49:26 2007 http://www.host-18632.com/ Title: 18632 Thu Dec 27 15:49:28 2007 http://www.host-18633.com/ Title: 18633 Thu Dec 27 15:49:32 2007 http://www.host-18634.com/ Title: 18634 Thu Dec 27 15:49:40 2007 http://www.host-18635.com/ Title: 18635 Thu Dec 27 15:49:41 2007 http://host-18636.com/ Title: 18636 Thu Dec 27 15:49:41 2007 http://www.host-18637.com/ Title: 18637 Thu Dec 27 15:49:42 2007 http://www.host-18638.com/ Title: 18638 Thu Dec 27 15:49:43 2007 http://www.host-18639.com/ Title: 18639 Thu Dec 27 15:49:44 2007 http://www.host-18640.com/ Title: 18640 Thu Dec 27 15:50:10 2007 http://www.host-18641.com/ Title: 18641 Thu Dec 27 15:50:12 2007 http://www.host-18642.com/ Title: 18642 Thu Dec 27 15:50:15 2007 http://www.host-18643.com/ Title: 18643 Thu Dec 27 15:50:15 2007 http://host-18644.com/ Title: 18644 Thu Dec 27 15:50:39 2007 http://www.host-18645.com/ Title: 18645 Thu Dec 27 15:50:45 2007 http://host-18646.com/ Title: 18646 Thu Dec 27 15:50:46 2007 http://host-18647.com/ Title: 18647 Thu Dec 27 15:50:46 2007 http://host-18648.com/ Title: 18648 Thu Dec 27 15:50:46 2007 http://host-18649.com/ Title: 18649 Thu Dec 27 15:50:47 2007 http://host-18650.com/ Title: 18650 Thu Dec 27 15:50:48 2007 http://www.host-18651.com/ Title: 18651 Thu Dec 27 15:50:52 2007 http://host-18652.com/ Title: 18652 Thu Dec 27 15:50:55 2007 http://host-18653.com/ Title: 18653 Thu Dec 27 15:50:57 2007 http://host-18654.com/ Title: 18654 Thu Dec 27 15:50:59 2007 http://www.host-18655.com/ Title: 18655 Thu Dec 27 15:51:02 2007 http://www.host-18656.com/ Title: 18656 Thu Dec 27 15:51:08 2007 http://www.host-18657.com/ Title: 18657 Thu Dec 27 15:51:15 2007 http://www.host-18658.com/ Title: 18658 Thu Dec 27 15:51:31 2007 http://host-18659.com/ Title: 18659 Thu Dec 27 15:51:37 2007 http://www.host-18660.com/ Title: 18660 Thu Dec 27 15:51:37 2007 http://www.host-18661.com/ Title: 18661 Thu Dec 27 15:51:39 2007 http://host-18662.com/ Title: 18662 Thu Dec 27 15:52:45 2007 http://www.host-18663.com/ Title: 18663 Thu Dec 27 17:13:10 2007 http://host-18664.com/ Title: 18664 Thu Dec 27 17:13:14 2007 http://www.host-18665.com/ Title: 18665 Thu Dec 27 17:27:03 2007 http://host-18666.com/ Title: 18666 Thu Dec 27 17:27:16 2007 http://host-18667.com/ Title: 18667 Thu Dec 27 17:27:21 2007 http://www.host-18668.com/ Title: 18668 Thu Dec 27 17:27:27 2007 http://host-18669.com/ Title: 18669 Thu Dec 27 17:27:31 2007 http://www.host-18670.com/ Title: 18670 Thu Dec 27 17:33:43 2007 http://www.host-18671.com/ Title: 18671 Thu Dec 27 17:36:56 2007 http://www.host-18672.com/ Title: 18672 Thu Dec 27 17:36:58 2007 http://host-18673.com/ Title: 18673 Thu Dec 27 17:38:48 2007 http://host-18674.com/ Title: 18674 Thu Dec 27 18:02:06 2007 arora-0.11.0/autotests/historymanager/tst_historymanager.cpp000066400000000000000000000402171145000221100244040ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include "qtest_arora.h" #include #include #include #include class tst_HistoryManager : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void history_data(); void history(); void addHistoryEntry_data(); void addHistoryEntry(); void updateHistoryEntry_data(); void updateHistoryEntry(); void daysToExpire_data(); void daysToExpire(); void clear_data(); void clear(); void setHistory_data(); void setHistory(); void saveload_data(); void saveload(); // TODO move to their own tests void big(); void historyDialog_data(); void historyDialog(); private: QList bigHistory; }; // Subclass that exposes the protected functions. class SubHistory : public HistoryManager { public: SubHistory() : HistoryManager() { QWidget w; setParent(&w); if (QWebHistoryInterface::defaultInterface() == this) QWebHistoryInterface::setDefaultInterface(0); setParent(0); } ~SubHistory() { setDaysToExpire(30); } void addHistoryEntry(const HistoryEntry &item) { HistoryManager::addHistoryEntry(item); } }; // This will be called before the first test function is executed. // It is only called once. void tst_HistoryManager::initTestCase() { QCoreApplication::setApplicationName("historytest"); QFile file("myhistory.txt"); if (!file.open(QFile::ReadOnly)) { qWarning() << "couldn't open file:" << file.fileName(); return; } QTextStream stream(&file); QList list; do { QString url = stream.readLine(); QString title = stream.readLine(); QString date = stream.readLine(); QDateTime dateTime = QDateTime::fromString(date); QVERIFY(dateTime.isValid()); HistoryEntry item(url, dateTime, title); list.prepend(item); } while (!stream.atEnd()); bigHistory = list; } // This will be called after the last test function is executed. // It is only called once. void tst_HistoryManager::cleanupTestCase() { } // This will be called before each test function is executed. void tst_HistoryManager::init() { } // This will be called after every test function. void tst_HistoryManager::cleanup() { } void tst_HistoryManager::history_data() { } void tst_HistoryManager::history() { SubHistory history; history.addHistoryEntry(HistoryEntry()); history.clear(); QCOMPARE(history.daysToExpire(), 30); history.setDaysToExpire(-1); history.updateHistoryEntry(QUrl(), QString()); } typedef QList HistoryList; Q_DECLARE_METATYPE(HistoryList) Q_DECLARE_METATYPE(HistoryEntry) void tst_HistoryManager::addHistoryEntry_data() { QTest::addColumn("initial"); QTest::addColumn("items"); QTest::addColumn("expected"); HistoryList empty; HistoryEntry item1("http://foo.com", QDateTime::currentDateTime().addDays(-3)); HistoryList one; one << item1; HistoryList one2; one2 << item1 << item1; QTest::newRow("0-1") << empty << (HistoryList() << item1) << one; QTest::newRow("1-0") << one << HistoryList() << one; QTest::newRow("1-1") << one << (HistoryList() << item1) << one2; HistoryEntry item2("http://bar.com", QDateTime::currentDateTime().addDays(-2)); HistoryEntry item2n("http://bar.com", QDateTime::currentDateTime()); HistoryList two = one; two.prepend(item2); HistoryList two2 = one; two2.prepend(item2); two2.prepend(item2); QTest::newRow("1-2") << one << (HistoryList() << item2) << two; QTest::newRow("2-2,2") << two << (HistoryList() << item2) << two2; HistoryList swap; swap << item2 << item1; QTest::newRow("2-2,1") << one << (HistoryList() << item2) << swap; /* // move to test for the historyFilterModel HistoryEntry item3("http://baz.com", QDateTime::currentDateTime().addDays(-1)); HistoryEntry item3n("http://baz.com", QDateTime::currentDateTime()); QTest::newRow("move-1") << (HistoryList() << item3 << item2 << item1) << (HistoryList() << item3) << (HistoryList() << item3 << item2 << item1); QTest::newRow("move-2") << (HistoryList() << item3 << item2 << item1) << (HistoryList() << item2n) << (HistoryList() << item2n << item3 << item1); QTest::newRow("move-3") << (HistoryList()) << (HistoryList() << item1 << item2 << item3 << item2n << item3n) << (HistoryList() << item3n << item2n << item1); */ } // public void addHistoryEntry(HistoryEntry *item) void tst_HistoryManager::addHistoryEntry() { QFETCH(HistoryList, initial); QFETCH(HistoryList, items); QFETCH(HistoryList, expected); SubHistory history; history.setHistory(initial); for (int i = 0; i < items.count(); ++i) history.addHistoryEntry(items[i]); QCOMPARE(history.history().count(), expected.count()); QCOMPARE(history.history(), expected); } void tst_HistoryManager::updateHistoryEntry_data() { QTest::addColumn("list"); QTest::addColumn("url"); QTest::addColumn("title"); QTest::newRow("null") << HistoryList() << QUrl() << QString(); QTest::newRow("one") << (HistoryList() << HistoryEntry()) << QUrl() << QString("foo"); QTest::newRow("two") << (HistoryList() << HistoryEntry() << HistoryEntry("http://foo.com")) << QUrl() << QString("foo"); } // public void updateHistoryEntry(QUrl const &url, QString const title) void tst_HistoryManager::updateHistoryEntry() { QFETCH(HistoryList, list); QFETCH(QUrl, url); QFETCH(QString, title); SubHistory history; history.setHistory(list); history.updateHistoryEntry(url, title); if (list.isEmpty()) QVERIFY(history.history().isEmpty()); else QVERIFY(history.history() != list); } void tst_HistoryManager::daysToExpire_data() { QTest::addColumn("list"); QTest::addColumn("daysToExpire"); QTest::addColumn("wait_seconds"); QTest::addColumn("post"); QDateTime now = QDateTime::currentDateTime(); QDateTime yesterday = now; yesterday.setDate(yesterday.date().addDays(-1)); yesterday.setTime(yesterday.time().addSecs(2)); HistoryEntry fooNow("http://foo.com", now); HistoryEntry barYesterday("http://bar.com", yesterday); QTest::newRow("two") << (HistoryList() << fooNow << barYesterday) << 1 << 3 << (HistoryList() << fooNow); yesterday.setTime(yesterday.time().addSecs(3)); barYesterday.dateTime = yesterday; HistoryEntry barYesterday2("http://bar2.com", yesterday); QTest::newRow("three") << (HistoryList() << fooNow << barYesterday << barYesterday2) << 1 << 3 << (HistoryList() << fooNow); } // public int daysToExpire() const void tst_HistoryManager::daysToExpire() { QFETCH(HistoryList, list); QFETCH(int, daysToExpire); QFETCH(int, wait_seconds); QFETCH(HistoryList, post); SubHistory history; history.setHistory(list); qSort(list.begin(), list.end()); QCOMPARE(history.history(), list); history.setDaysToExpire(daysToExpire); QCOMPARE(history.daysToExpire(), daysToExpire); QTest::qWait(wait_seconds*1000); QCOMPARE(history.history(), post); // re-add the items that have probably expired to catch any cache issues for (int i = 0; i < list.count(); ++i) { HistoryEntry item = list.at(i); item.dateTime = QDateTime::currentDateTime(); history.addHistoryEntry(item); } } void tst_HistoryManager::clear_data() { QTest::addColumn("list"); QTest::newRow("null") << HistoryList(); QTest::newRow("one") << (HistoryList() << HistoryEntry()); QTest::newRow("two") << (HistoryList() << HistoryEntry() << HistoryEntry("http://foo.com")); } // public void clear() void tst_HistoryManager::clear() { QFETCH(HistoryList, list); { SubHistory history; QSignalSpy spy(&history, SIGNAL(historyReset())); history.setHistory(list); history.clear(); QCOMPARE(history.history().count(), 0); QCOMPARE(spy.count(), 2); } { SubHistory history; QCOMPARE(history.history().count(), 0); } } void tst_HistoryManager::setHistory_data() { QTest::addColumn("list"); QTest::addColumn("post"); QDateTime now = QDateTime::currentDateTime(); QDateTime yesterday = now; yesterday.setDate(yesterday.date().addDays(-1)); QTest::newRow("empty") << HistoryList() << HistoryList(); HistoryEntry foo("http://foo.com", now); HistoryEntry bar("http://bar.com", yesterday); QTest::newRow("sort") << (HistoryList() << bar << foo) << (HistoryList() << foo << bar); // QTest::newRow("dupe-1") << (HistoryList() << bar << bar) << (HistoryList() << bar); // QTest::newRow("dupe-2") << (HistoryList() << bar << bar << foo) << (HistoryList() << foo << bar); QDateTime longAgo = now; longAgo.setDate(longAgo.date().addYears(-1)); HistoryEntry expired("http://junk.com", longAgo); QTest::newRow("removeExpired-1") << (HistoryList() << expired) << HistoryList(); QTest::newRow("removeExpired-2") << (HistoryList() << foo << expired) << (HistoryList() << foo); } void tst_HistoryManager::setHistory() { QFETCH(HistoryList, list); QFETCH(HistoryList, post); SubHistory history; history.setHistory(list); QCOMPARE(history.history(), post); } void tst_HistoryManager::saveload_data() { QTest::addColumn("list"); QTest::addColumn("post"); QDateTime now = QDateTime::currentDateTime(); QDateTime yesterday = now; yesterday.setDate(yesterday.date().addDays(-1)); QTest::newRow("empty") << HistoryList() << HistoryList(); HistoryEntry foo("http://foo.com", now); QTest::newRow("one item") << (HistoryList() << foo) << (HistoryList() << foo); HistoryEntry bar("http://bar.com", yesterday); QTest::newRow("two items") << (HistoryList() << bar << foo) << (HistoryList() << foo << bar); QTest::newRow("dupe-1") << (HistoryList() << bar << bar) << (HistoryList() << bar); QTest::newRow("dupe-2") << (HistoryList() << bar << bar << foo) << (HistoryList() << foo << bar); QDateTime longAgo = now; longAgo.setDate(longAgo.date().addYears(-1)); HistoryEntry expired("http://junk.com", longAgo); QTest::newRow("removeExpired-1") << (HistoryList() << expired) << HistoryList(); QTest::newRow("removeExpired-2") << (HistoryList() << foo << expired) << (HistoryList() << foo); } void tst_HistoryManager::saveload() { QFETCH(HistoryList, list); QFETCH(HistoryList, post); { SubHistory history; history.setHistory(list); } { SubHistory history; QCOMPARE(history.history(), post); // add url HistoryEntry foo("http://new.com", QDateTime::currentDateTime().addDays(1)); post.prepend(foo); history.addHistoryEntry(foo); } { SubHistory history; QCOMPARE(history.history(), post); } } void tst_HistoryManager::big() { SubHistory history; history.setDaysToExpire(-1); history.setHistory(bigHistory); QCOMPARE(history.history().count(), bigHistory.count()); HistoryMenu menu; HistoryModel model(&history); ModelTest test(&model); QCOMPARE(model.rowCount(), bigHistory.count()); HistoryCompletionModel completionModel; completionModel.setSourceModel(&model); ModelTest test2(&completionModel); QCOMPARE(completionModel.rowCount(), bigHistory.count()); HistoryTreeModel dialogModel(&model); ModelTest test3(&dialogModel); int r = 0; QDate d; for (int i = 0; i < bigHistory.count(); ++i) { if (bigHistory[i].dateTime.date() != d) { d = bigHistory[i].dateTime.date(); QDate rowDate = dialogModel.index(r, 0).data(HistoryModel::DateRole).toDate(); QCOMPARE(d, rowDate); r++; } } QCOMPARE(dialogModel.rowCount(), 328); HistoryDialog dialog(0, &history); QTest::qWait(100); } void tst_HistoryManager::historyDialog_data() { QTest::addColumn("parentRow"); QTest::addColumn("parentColumn"); QTest::addColumn("row"); QTest::addColumn("column"); QTest::addColumn("datesDiff"); QTest::addColumn("parentRowsDiff"); QTest::newRow("page-c") << 0 << 0 << 0 << 1 << 0 << -1; QTest::newRow("page-0") << 0 << 0 << 0 << 0 << 0 << -1; QTest::newRow("page-1") << 0 << 0 << 1 << 0 << 0 << -1; QTest::newRow("page-2") << 0 << 0 << 2 << 0 << 0 << -1; QTest::newRow("page-3") << 0 << 0 << 3 << 0 << 0 << -1; QTest::newRow("page-4") << 0 << 0 << 4 << 0 << 0 << -1; QTest::newRow("page-last") << 0 << 0 << -2 << 0 << 0 << -1; QTest::newRow("page-only") << 32 << 0 << 0 << 0 << -1 << -1; QTest::newRow("date-c") << -1 << -1 << 0 << 1 << -1 << 0; QTest::newRow("date-0") << -1 << -1 << 0 << 0 << -1 << 0; QTest::newRow("date-1") << -1 << -1 << 1 << 0 << -1 << 0; QTest::newRow("date-2") << -1 << -1 << 2 << 0 << -1 << 0; QTest::newRow("date-3") << -1 << -1 << 3 << 0 << -1 << 0; QTest::newRow("date-last") << -1 << -1 << -2 << 0 << -1 << 0; QTest::newRow("removeAll") << -1 << -1 << -3 << 0 << -1 << 0; } void tst_HistoryManager::historyDialog() { QFETCH(int, parentRow); QFETCH(int, parentColumn); QFETCH(int, row); QFETCH(int, column); QFETCH(int, datesDiff); QFETCH(int, parentRowsDiff); SubHistory history; history.setDaysToExpire(-1); history.setHistory(bigHistory); HistoryDialog dialog(0, &history); //QTest::qWait(300); QAbstractItemModel *model = dialog.tree->model(); ModelTest test(model); /* for (int i = 0; i < model->rowCount(); ++i) if (model->rowCount(model->index(i, 0)) == 1) qDebug() << i; */ if (parentRow == -2) parentRow = model->rowCount() - 1; QModelIndex parent = model->index(parentRow, parentColumn); if (row < -1) row = model->rowCount(parent) - 1; QModelIndex child = model->index(row, column, parent); QVERIFY(child.isValid()); int topRowCount = model->rowCount(); int parentRowCount = model->rowCount(parent.sibling(parent.row(), 0)); int childRowCount = model->rowCount(child.sibling(child.row(), 0)); /* qDebug() << "topRowCount" << topRowCount; qDebug() << "parentRowCount" << parentRowCount; qDebug() << "childRowCount" << childRowCount; qDebug() << "selecting" << child; */ dialog.tree->selectionModel()->select(child, QItemSelectionModel::SelectCurrent | QItemSelectionModel::Rows); if (row == -3) { dialog.tree->removeAll(); QCOMPARE(model->rowCount(), 0); QModelIndex idx = dialog.tree->indexAt(QPoint(10, 10)); QVERIFY(!idx.isValid()); } else { dialog.tree->removeSelected(); QCOMPARE(history.history().count(), bigHistory.count() + parentRowsDiff + (childRowCount * datesDiff)); QCOMPARE(model->rowCount(), topRowCount + datesDiff); if (parent.isValid() && datesDiff == 0) QCOMPARE(model->rowCount(parent), parentRowCount + parentRowsDiff); } } QTEST_MAIN(tst_HistoryManager) #include "tst_historymanager.moc" arora-0.11.0/autotests/modeltest/000077500000000000000000000000001145000221100167125ustar00rootroot00000000000000arora-0.11.0/autotests/modeltest/LICENSE.GPL000066400000000000000000000432461145000221100203510ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. ------------------------------------------------------------------------- arora-0.11.0/autotests/modeltest/README000066400000000000000000000026321145000221100175750ustar00rootroot00000000000000ModelTest provides a way to check for common errors in implementations of http://doc.trolltech.com/4/qabstractitemmodel.html. ModelTest continuously checks a model as it changes, helping to verify the state and catching many common errors the moment they show up such as:
  • Verifing X number of rows have been inserted in the correct place after the signal rowsAboutToBeInserted() says X rows will be inserted.
  • The parent of the first index of the first row is a QModelIndex()
  • Calling index() twice in a row with the same values will return the same QModelIndex
  • If rowCount() says there are X number of rows, model test will verify that is true.
  • Many possible off by one bugs
  • hasChildren() returns true if rowCount() is greater then zero.
  • and many more...
--- To Use the model test do the following: 1) Include the pri file at the end of your project pro file using the include() command like so: include(../path/to/dir/modeltest.pri) 2) Then in your source include "modeltest.h" and instantiate ModelTest with your model so the test can live for the lifetime of your model. For example: #include QDirModel *model = new QDirModel(this); new ModelTest(model, this); 3) That is it. When the test finds a problem it will assert. modeltest.cpp contains some hints on how to fix problems that the test finds. arora-0.11.0/autotests/modeltest/modeltest.cpp000066400000000000000000000453331145000221100214260ustar00rootroot00000000000000/**************************************************************************** ** ** Copyright (C) 2007 Trolltech ASA. All rights reserved. ** ** This file is part of the Qt Concurrent project on Trolltech Labs. ** ** This file may be used under the terms of the GNU General Public ** License version 2.0 as published by the Free Software Foundation ** and appearing in the file LICENSE.GPL included in the packaging of ** this file. Please review the following information to ensure GNU ** General Public Licensing requirements will be met: ** http://www.trolltech.com/products/qt/opensource.html ** ** If you are unsure which license is appropriate for your use, please ** review the following information: ** http://www.trolltech.com/products/qt/licensing.html or contact the ** sales department at sales@trolltech.com. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include #include "modeltest.h" Q_DECLARE_METATYPE(QModelIndex) /*! Connect to all of the models signals. Whenever anything happens recheck everything. */ ModelTest::ModelTest(QAbstractItemModel *_model, QObject *parent) : QObject(parent), model(_model), fetchingMore(false) { Q_ASSERT(model); connect(model, SIGNAL(columnsAboutToBeInserted(const QModelIndex &, int, int)), this, SLOT(runAllTests())); connect(model, SIGNAL(columnsAboutToBeRemoved(const QModelIndex &, int, int)), this, SLOT(runAllTests())); connect(model, SIGNAL(columnsInserted(const QModelIndex &, int, int)), this, SLOT(runAllTests())); connect(model, SIGNAL(columnsRemoved(const QModelIndex &, int, int)), this, SLOT(runAllTests())); connect(model, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(runAllTests())); connect(model, SIGNAL(headerDataChanged(Qt::Orientation, int, int)), this, SLOT(runAllTests())); connect(model, SIGNAL(layoutAboutToBeChanged ()), this, SLOT(runAllTests())); connect(model, SIGNAL(layoutChanged ()), this, SLOT(runAllTests())); connect(model, SIGNAL(modelReset ()), this, SLOT(runAllTests())); connect(model, SIGNAL(rowsAboutToBeInserted(const QModelIndex &, int, int)), this, SLOT(runAllTests())); connect(model, SIGNAL(rowsAboutToBeRemoved(const QModelIndex &, int, int)), this, SLOT(runAllTests())); connect(model, SIGNAL(rowsInserted(const QModelIndex &, int, int)), this, SLOT(runAllTests())); connect(model, SIGNAL(rowsRemoved(const QModelIndex &, int, int)), this, SLOT(runAllTests())); // Special checks for inserting/removing connect(model, SIGNAL(layoutAboutToBeChanged()), this, SLOT(layoutAboutToBeChanged())); connect(model, SIGNAL(layoutChanged()), this, SLOT(layoutChanged())); connect(model, SIGNAL(rowsAboutToBeInserted(const QModelIndex &, int, int)), this, SLOT(rowsAboutToBeInserted(const QModelIndex &, int, int))); connect(model, SIGNAL(rowsAboutToBeRemoved(const QModelIndex &, int, int)), this, SLOT(rowsAboutToBeRemoved(const QModelIndex &, int, int))); connect(model, SIGNAL(rowsInserted(const QModelIndex &, int, int)), this, SLOT(rowsInserted(const QModelIndex &, int, int))); connect(model, SIGNAL(rowsRemoved(const QModelIndex &, int, int)), this, SLOT(rowsRemoved(const QModelIndex &, int, int))); runAllTests(); } void ModelTest::runAllTests() { if (fetchingMore) return; nonDestructiveBasicTest(); rowCount(); columnCount(); hasIndex(); index(); parent(); data(); } /*! nonDestructiveBasicTest tries to call a number of the basic functions (not all) to make sure the model doesn't outright segfault, testing the functions that makes sense. */ void ModelTest::nonDestructiveBasicTest() { Q_ASSERT(model->buddy(QModelIndex()) == QModelIndex()); model->canFetchMore(QModelIndex()); Q_ASSERT(model->columnCount(QModelIndex()) >= 0); Q_ASSERT(model->data(QModelIndex()) == QVariant()); fetchingMore = true; model->fetchMore(QModelIndex()); fetchingMore = false; Qt::ItemFlags flags = model->flags(QModelIndex()); Q_ASSERT(flags == Qt::ItemIsDropEnabled || flags == 0); model->hasChildren(QModelIndex()); model->hasIndex(0, 0); model->headerData(0, Qt::Horizontal); model->index(0, 0); model->itemData(QModelIndex()); QVariant cache; model->match(QModelIndex(), -1, cache); model->mimeTypes(); Q_ASSERT(model->parent(QModelIndex()) == QModelIndex()); Q_ASSERT(model->rowCount() >= 0); QVariant variant; model->setData(QModelIndex(), variant, -1); model->setHeaderData(-1, Qt::Horizontal, QVariant()); model->setHeaderData(0, Qt::Horizontal, QVariant()); model->setHeaderData(999999, Qt::Horizontal, QVariant()); QMap roles; model->sibling(0, 0, QModelIndex()); model->span(QModelIndex()); model->supportedDropActions(); } /*! Tests model's implementation of QAbstractItemModel::rowCount() and hasChildren() Models that are dynamically populated are not as fully tested here. */ void ModelTest::rowCount() { // check top row QModelIndex topIndex = model->index(0, 0, QModelIndex()); int rows = model->rowCount(topIndex); Q_ASSERT(rows >= 0); if (rows > 0) Q_ASSERT(model->hasChildren(topIndex) == true); QModelIndex secondLevelIndex = model->index(0, 0, topIndex); if (secondLevelIndex.isValid()) { // not the top level // check a row count where parent is valid rows = model->rowCount(secondLevelIndex); Q_ASSERT(rows >= 0); if (rows > 0) Q_ASSERT(model->hasChildren(secondLevelIndex) == true); } // The models rowCount() is tested more extensively in checkChildren(), // but this catches the big mistakes } /*! Tests model's implementation of QAbstractItemModel::columnCount() and hasChildren() */ void ModelTest::columnCount() { // check top row QModelIndex topIndex = model->index(0, 0, QModelIndex()); Q_ASSERT(model->columnCount(topIndex) >= 0); // check a column count where parent is valid QModelIndex childIndex = model->index(0, 0, topIndex); if (childIndex.isValid()) Q_ASSERT(model->columnCount(childIndex) >= 0); // columnCount() is tested more extensively in checkChildren(), // but this catches the big mistakes } /*! Tests model's implementation of QAbstractItemModel::hasIndex() */ void ModelTest::hasIndex() { // Make sure that invalid values returns an invalid index Q_ASSERT(model->hasIndex(-2, -2) == false); Q_ASSERT(model->hasIndex(-2, 0) == false); Q_ASSERT(model->hasIndex(0, -2) == false); int rows = model->rowCount(); int columns = model->columnCount(); // check out of bounds Q_ASSERT(model->hasIndex(rows, columns) == false); Q_ASSERT(model->hasIndex(rows + 1, columns + 1) == false); if (rows > 0) Q_ASSERT(model->hasIndex(0, 0) == true); // hasIndex() is tested more extensively in checkChildren(), // but this catches the big mistakes } /*! Tests model's implementation of QAbstractItemModel::index() */ void ModelTest::index() { // Make sure that invalid values returns an invalid index Q_ASSERT(model->index(-2, -2) == QModelIndex()); Q_ASSERT(model->index(-2, 0) == QModelIndex()); Q_ASSERT(model->index(0, -2) == QModelIndex()); int rows = model->rowCount(); int columns = model->columnCount(); if (rows == 0) return; // Catch off by one errors Q_ASSERT(model->index(rows, columns) == QModelIndex()); Q_ASSERT(model->index(0, 0).isValid() == true); // Make sure that the same index is _always_ returned QModelIndex a = model->index(0, 0); QModelIndex b = model->index(0, 0); Q_ASSERT(a == b); // index() is tested more extensively in checkChildren(), // but this catches the big mistakes } /*! Tests model's implementation of QAbstractItemModel::parent() */ void ModelTest::parent() { // Make sure the model wont crash and will return an invalid QModelIndex // when asked for the parent of an invalid index. Q_ASSERT(model->parent(QModelIndex()) == QModelIndex()); if (model->rowCount() == 0) return; // Column 0 | Column 1 | // QModelIndex() | | // \- topIndex | topIndex1 | // \- childIndex | childIndex1 | // Common error test #1, make sure that a top level index has a parent // that is a invalid QModelIndex. QModelIndex topIndex = model->index(0, 0, QModelIndex()); Q_ASSERT(model->parent(topIndex) == QModelIndex()); // Common error test #2, make sure that a second level index has a parent // that is the first level index. if (model->rowCount(topIndex) > 0) { QModelIndex childIndex = model->index(0, 0, topIndex); Q_ASSERT(model->parent(childIndex) == topIndex); } // Common error test #3, the second column should NOT have the same children // as the first column in a row. // Usually the second column shouldn't have children. QModelIndex topIndex1 = model->index(0, 1, QModelIndex()); if (model->rowCount(topIndex1) > 0) { QModelIndex childIndex = model->index(0, 0, topIndex); QModelIndex childIndex1 = model->index(0, 0, topIndex1); Q_ASSERT(childIndex != childIndex1); } // Full test, walk n levels deep through the model making sure that all // parent's children correctly specify their parent. checkChildren(QModelIndex()); } /*! Called from the parent() test. A model that returns an index of parent X should also return X when asking for the parent of the index. This recursive function does pretty extensive testing on the whole model in an effort to catch edge cases. This function assumes that rowCount(), columnCount() and index() already work. If they have a bug it will point it out, but the above tests should have already found the basic bugs because it is easier to figure out the problem in those tests then this one. */ void ModelTest::checkChildren(const QModelIndex &parent, int currentDepth) { // First just try walking back up the tree. QModelIndex p = parent; while (p.isValid()) p = p.parent(); // For models that are dynamically populated if (model->canFetchMore(parent)) { fetchingMore = true; model->fetchMore(parent); fetchingMore = false; } int rows = model->rowCount(parent); int columns = model->columnCount(parent); if (rows > 0) Q_ASSERT(model->hasChildren(parent)); // Some further testing against rows(), columns(), and hasChildren() Q_ASSERT(rows >= 0); Q_ASSERT(columns >= 0); if (rows > 0) Q_ASSERT(model->hasChildren(parent) == true); //qDebug() << "parent:" << model->data(parent).toString() << "rows:" << rows // << "columns:" << columns << "parent column:" << parent.column(); Q_ASSERT(model->hasIndex(rows + 1, 0, parent) == false); for (int r = 0; r < rows; ++r) { if (model->canFetchMore(parent)) { fetchingMore = true; model->fetchMore(parent); fetchingMore = false; } Q_ASSERT(model->hasIndex(r, columns + 1, parent) == false); for (int c = 0; c < columns; ++c) { Q_ASSERT(model->hasIndex(r, c, parent) == true); QModelIndex index = model->index(r, c, parent); // rowCount() and columnCount() said that it existed... Q_ASSERT(index.isValid() == true); // index() should always return the same index when called twice in a row QModelIndex modifiedIndex = model->index(r, c, parent); Q_ASSERT(index == modifiedIndex); // Make sure we get the same index if we request it twice in a row QModelIndex a = model->index(r, c, parent); QModelIndex b = model->index(r, c, parent); Q_ASSERT(a == b); // Some basic checking on the index that is returned Q_ASSERT(index.model() == model); Q_ASSERT(index.row() == r); Q_ASSERT(index.column() == c); // While you can technically return a QVariant usually this is a sign // of an bug in data() Disable if this really is ok in your model. Q_ASSERT(model->data(index, Qt::DisplayRole).isValid() == true); // If the next test fails here is some somewhat useful debug you play with. /* if (model->parent(index) != parent) { qDebug() << r << c << currentDepth << model->data(index).toString() << model->data(parent).toString(); qDebug() << index << parent << model->parent(index); // And a view that you can even use to show the model. //QTreeView view; //view.setModel(model); //view.show(); }*/ // Check that we can get back our real parent. Q_ASSERT(model->parent(index) == parent); // recursively go down the children if (model->hasChildren(index) && currentDepth < 10) { //qDebug() << r << c << "has children" << model->rowCount(index); checkChildren(index, ++currentDepth); }/* else { if (currentDepth >= 10) qDebug() << "checked 10 deep"; };*/ // make sure that after testing the children that the index doesn't change. QModelIndex newerIndex = model->index(r, c, parent); Q_ASSERT(index == newerIndex); } } } /*! Tests model's implementation of QAbstractItemModel::data() */ void ModelTest::data() { // Invalid index should return an invalid qvariant Q_ASSERT(!model->data(QModelIndex()).isValid()); if (model->rowCount() == 0) return; // A valid index should have a valid QVariant data Q_ASSERT(model->index(0, 0).isValid()); // shouldn't be able to set data on an invalid index Q_ASSERT(model->setData(QModelIndex(), QLatin1String("foo"), Qt::DisplayRole) == false); // General Purpose roles that should return a QString QVariant variant = model->data(model->index(0, 0), Qt::ToolTipRole); if (variant.isValid()) { Q_ASSERT(qVariantCanConvert(variant)); } variant = model->data(model->index(0, 0), Qt::StatusTipRole); if (variant.isValid()) { Q_ASSERT(qVariantCanConvert(variant)); } variant = model->data(model->index(0, 0), Qt::WhatsThisRole); if (variant.isValid()) { Q_ASSERT(qVariantCanConvert(variant)); } // General Purpose roles that should return a QSize variant = model->data(model->index(0, 0), Qt::SizeHintRole); if (variant.isValid()) { Q_ASSERT(qVariantCanConvert(variant)); } // General Purpose roles that should return a QFont QVariant fontVariant = model->data(model->index(0, 0), Qt::FontRole); if (fontVariant.isValid()) { Q_ASSERT(qVariantCanConvert(fontVariant)); } // Check that the alignment is one we know about QVariant textAlignmentVariant = model->data(model->index(0, 0), Qt::TextAlignmentRole); if (textAlignmentVariant.isValid()) { int alignment = textAlignmentVariant.toInt(); Q_ASSERT(alignment == (alignment & (Qt::AlignHorizontal_Mask | Qt::AlignVertical_Mask))); } // General Purpose roles that should return a QColor QVariant colorVariant = model->data(model->index(0, 0), Qt::BackgroundColorRole); if (colorVariant.isValid()) { Q_ASSERT(qVariantCanConvert(colorVariant)); } colorVariant = model->data(model->index(0, 0), Qt::TextColorRole); if (colorVariant.isValid()) { Q_ASSERT(qVariantCanConvert(colorVariant)); } // Check that the "check state" is one we know about. QVariant checkStateVariant = model->data(model->index(0, 0), Qt::CheckStateRole); if (checkStateVariant.isValid()) { int state = checkStateVariant.toInt(); Q_ASSERT(state == Qt::Unchecked || state == Qt::PartiallyChecked || state == Qt::Checked); } } /*! Store what is about to be inserted to make sure it actually happens \sa rowsInserted() */ void ModelTest::rowsAboutToBeInserted(const QModelIndex &parent, int start, int end) { Q_UNUSED(end); Changing c; c.parent = parent; c.oldSize = model->rowCount(parent); c.last = model->data(model->index(start - 1, 0, parent)); c.next = model->data(model->index(start, 0, parent)); insert.push(c); } /*! Confirm that what was said was going to happen actually did \sa rowsAboutToBeInserted() */ void ModelTest::rowsInserted(const QModelIndex & parent, int start, int end) { Changing c = insert.pop(); Q_ASSERT(c.parent == parent); Q_ASSERT(c.oldSize + (end - start + 1) == model->rowCount(parent)); Q_ASSERT(c.last == model->data(model->index(start - 1, 0, c.parent))); /* if (c.next != model->data(model->index(end + 1, 0, c.parent))) { qDebug() << start << end; for (int i=0; i < model->rowCount(); ++i) qDebug() << model->index(i, 0).data().toString(); qDebug() << c.next << model->data(model->index(end + 1, 0, c.parent)); } */ Q_ASSERT(c.next == model->data(model->index(end + 1, 0, c.parent))); } void ModelTest::layoutAboutToBeChanged() { for (int i = 0; i < qBound(0, model->rowCount(), 100); ++i) changing.append(QPersistentModelIndex(model->index(i, 0))); } void ModelTest::layoutChanged() { for (int i = 0; i < changing.count(); ++i) { QPersistentModelIndex p = changing[i]; Q_ASSERT(p == model->index(p.row(), p.column(), p.parent())); } changing.clear(); } /*! Store what is about to be inserted to make sure it actually happens \sa rowsRemoved() */ void ModelTest::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end) { Changing c; c.parent = parent; c.oldSize = model->rowCount(parent); c.last = model->data(model->index(start - 1, 0, parent)); c.next = model->data(model->index(end + 1, 0, parent)); remove.push(c); } /*! Confirm that what was said was going to happen actually did \sa rowsAboutToBeRemoved() */ void ModelTest::rowsRemoved(const QModelIndex & parent, int start, int end) { Changing c = remove.pop(); Q_ASSERT(c.parent == parent); Q_ASSERT(c.oldSize - (end - start + 1) == model->rowCount(parent)); Q_ASSERT(c.last == model->data(model->index(start - 1, 0, c.parent))); Q_ASSERT(c.next == model->data(model->index(start, 0, c.parent))); } arora-0.11.0/autotests/modeltest/modeltest.h000066400000000000000000000043341145000221100210670ustar00rootroot00000000000000/**************************************************************************** ** ** Copyright (C) 2007 Trolltech ASA. All rights reserved. ** ** This file is part of the Qt Concurrent project on Trolltech Labs. ** ** This file may be used under the terms of the GNU General Public ** License version 2.0 as published by the Free Software Foundation ** and appearing in the file LICENSE.GPL included in the packaging of ** this file. Please review the following information to ensure GNU ** General Public Licensing requirements will be met: ** http://www.trolltech.com/products/qt/opensource.html ** ** If you are unsure which license is appropriate for your use, please ** review the following information: ** http://www.trolltech.com/products/qt/licensing.html or contact the ** sales department at sales@trolltech.com. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef MODELTEST_H #define MODELTEST_H #include #include #include class ModelTest : public QObject { Q_OBJECT public: ModelTest(QAbstractItemModel *model, QObject *parent = 0); private Q_SLOTS: void nonDestructiveBasicTest(); void rowCount(); void columnCount(); void hasIndex(); void index(); void parent(); void data(); protected Q_SLOTS: void runAllTests(); void layoutAboutToBeChanged(); void layoutChanged(); void rowsAboutToBeInserted(const QModelIndex &parent, int start, int end); void rowsInserted(const QModelIndex & parent, int start, int end); void rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end); void rowsRemoved(const QModelIndex & parent, int start, int end); private: void checkChildren(const QModelIndex &parent, int currentDepth = 0); QAbstractItemModel *model; struct Changing { QModelIndex parent; int oldSize; QVariant last; QVariant next; }; QStack insert; QStack remove; bool fetchingMore; QList changing; }; #endif arora-0.11.0/autotests/modeltest/modeltest.pri000066400000000000000000000001451145000221100214260ustar00rootroot00000000000000INCLUDEPATH += $$PWD DEPENDPATH += $$PWD SOURCES += $$PWD/modeltest.cpp HEADERS += $$PWD/modeltest.h arora-0.11.0/autotests/modeltoolbar/000077500000000000000000000000001145000221100173755ustar00rootroot00000000000000arora-0.11.0/autotests/modeltoolbar/.gitignore000066400000000000000000000000151145000221100213610ustar00rootroot00000000000000modeltoolbar arora-0.11.0/autotests/modeltoolbar/modeltoolbar.pro000066400000000000000000000001731145000221100226030ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../autotests.pri) SOURCES += \ tst_modeltoolbar.cpp arora-0.11.0/autotests/modeltoolbar/tst_modeltoolbar.cpp000066400000000000000000000212731145000221100234630ustar00rootroot00000000000000/* * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include #include "qtry.h" #include "browserapplication.h" #include "modelmenu.h" #include #include #include #include class tst_ModelToolBar : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void modeltoolbar(); void index(); void model(); void rootIndex(); void activated_data(); void activated(); void build_data(); void build(); void showHide(); }; // Subclass that exposes the protected functions. class SubModelToolBar : public ModelToolBar { public: void call_activated(QModelIndex const &index) { return SubModelToolBar::activated(index); } void call_build() { SubModelToolBar::build(); resize(sizeHint()); } ModelMenu *call_createMenu() { return SubModelToolBar::createMenu(); } }; class ColorModel : public QAbstractItemModel { public: ColorModel(QObject *parent = 0) : QAbstractItemModel(parent) { m_colours = QColor::colorNames(); } bool hasChildren(const QModelIndex &parent = QModelIndex()) const { Q_UNUSED(parent) return false; } int rowCount(const QModelIndex &parent = QModelIndex()) const { if (parent.isValid()) return 0; return m_colours.count(); } int columnCount(const QModelIndex &parent = QModelIndex()) const { if (parent.isValid()) return 0; return 1; } QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const { if (index.parent().isValid() || index.column() > 0) return QVariant(); switch (role) { case Qt::DisplayRole: return m_colours.at(index.row()); break; default: return QVariant(); break; } } QModelIndex parent(const QModelIndex &index) const { Q_UNUSED(index); return QModelIndex(); } QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const { if (parent.isValid()) return QModelIndex(); return createIndex(row, column); } private: QStringList m_colours; }; // This will be called before the first test function is executed. // It is only called once. void tst_ModelToolBar::initTestCase() { } // This will be called after the last test function is executed. // It is only called once. void tst_ModelToolBar::cleanupTestCase() { } // This will be called before each test function is executed. void tst_ModelToolBar::init() { } // This will be called after every test function. void tst_ModelToolBar::cleanup() { } void tst_ModelToolBar::modeltoolbar() { SubModelToolBar bar; QCOMPARE(bar.model(), (QAbstractItemModel*)0); QCOMPARE(bar.index(0), QModelIndex()); QCOMPARE(bar.rootIndex(), QModelIndex()); bar.setModel(new QStandardItemModel(&bar)); QVERIFY(bar.model()); bar.show(); bar.hide(); bar.call_build(); } // public static QModelIndex index(QAction *action) void tst_ModelToolBar::index() { SubModelToolBar bar; ColorModel model; bar.setModel(&model); QCOMPARE(bar.model(), &model); bar.show(); QList actions = bar.actions(); QVERIFY(!actions.isEmpty()); for (int i = 0; i < model.rowCount(); ++i) { QModelIndex index = model.index(i, 0); QAction *action = actions.at(i); QVERIFY(action); QVERIFY(bar.index(action).isValid()); QCOMPARE(index.data(Qt::DisplayRole).toString(), action->text()); QCOMPARE(index.data(Qt::DecorationRole).value(), action->icon()); QCOMPARE(model.hasChildren(index), (bool)action->menu()); if (action->menu()) { ModelMenu *menu = static_cast(action->menu()); QVERIFY(menu); QCOMPARE(bar.index(action), menu->rootIndex()); QCOMPARE(bar.model(), menu->model()); QCOMPARE(model.rowCount(bar.index(action)), menu->actions().count()); } } } // public QAbstractItemModel *model() const void tst_ModelToolBar::model() { SubModelToolBar bar; QCOMPARE(bar.model(), (QAbstractItemModel*)0); bar.setModel(0); QCOMPARE(bar.model(), (QAbstractItemModel*)0); ColorModel model; bar.setModel(&model); QCOMPARE(bar.model(), &model); } // public QModelIndex rootIndex() const void tst_ModelToolBar::rootIndex() { SubModelToolBar bar; QCOMPARE(bar.rootIndex(), QModelIndex()); bar.setRootIndex(QModelIndex()); QCOMPARE(bar.rootIndex(), QModelIndex()); ColorModel model; bar.setModel(&model); QCOMPARE(bar.model(), &model); QVERIFY(model.rowCount(QModelIndex()) > 0); bar.setRootIndex(model.index(0, 0, QModelIndex())); QCOMPARE(bar.rootIndex(), model.index(0, 0, QModelIndex())); } void tst_ModelToolBar::activated_data() { QTest::addColumn("items"); QTest::newRow("null") << QStringList(); QTest::newRow("foobarbaz") << (QStringList() << "foo" << "bar" << "baz" << "bar" << "foo"); QTest::newRow("colors") << QColor::colorNames(); QTest::newRow("environment") << QProcess::systemEnvironment(); } // protected void activated(QModelIndex const &index) void tst_ModelToolBar::activated() { QFETCH(QStringList, items); SubModelToolBar bar; QStringListModel model(items); bar.setModel(&model); QCOMPARE(bar.model(), &model); bar.show(); bar.call_build(); QCOMPARE(bar.actions().isEmpty(), items.isEmpty()); QRect rect = bar.childrenRect(); QPoint point = rect.topLeft(); QSignalSpy spy(&bar, SIGNAL(activated(QModelIndex const&))); while (rect.contains(point)) { QAction *action = bar.actionAt(point); QWidget *widget = bar.childAt(point); if (action) { QVERIFY(widget); QVERIFY(bar.index(action).isValid()); } else { QVERIFY(!widget); QVERIFY(!bar.index(action).isValid()); } if (!widget) widget = &bar; QTest::mouseClick(widget, Qt::LeftButton, Qt::NoModifier, bar.mapToGlobal(point)); QTest::mouseClick(widget, Qt::MidButton, Qt::ShiftModifier, bar.mapToGlobal(point)); QTRY_COMPARE(spy.count(), (bool)action * 2); if (spy.count()) QCOMPARE(spy.at(0).at(0).value(), bar.index(action)); if (action) { QCOMPARE(BrowserApplication::instance()->eventMouseButtons(), Qt::MidButton); QCOMPARE(BrowserApplication::instance()->eventKeyboardModifiers(), Qt::ShiftModifier); } spy.clear(); point.setX(point.x() + 50); } } void tst_ModelToolBar::build_data() { QTest::addColumn("items"); QTest::newRow("null") << QStringList(); QTest::newRow("foobarbaz") << (QStringList() << "foo" << "bar" << "baz" << "bar" << "foo"); QTest::newRow("colors") << QColor::colorNames(); QTest::newRow("environment") << QProcess::systemEnvironment(); } // protected void build() void tst_ModelToolBar::build() { QFETCH(QStringList, items); SubModelToolBar bar; QStringListModel model(items); bar.setModel(&model); QCOMPARE(bar.model(), &model); QCOMPARE(items.count(), model.rowCount()); QVERIFY(bar.actions().isEmpty()); bar.call_build(); QCOMPARE(bar.actions().count(), items.count()); bar.call_build(); QCOMPARE(bar.actions().count(), model.rowCount()); } void tst_ModelToolBar::showHide() { SubModelToolBar bar; ColorModel model; bar.setModel(&model); QCOMPARE(bar.model(), &model); QVERIFY(bar.actions().isEmpty()); bar.show(); QCOMPARE(bar.actions().count(), model.rowCount()); bar.hide(); QVERIFY(bar.actions().isEmpty()); bar.show(); QCOMPARE(bar.actions().count(), model.rowCount()); } QTEST_MAIN(tst_ModelToolBar) #include "tst_modeltoolbar.moc" arora-0.11.0/autotests/opensearchengine/000077500000000000000000000000001145000221100202275ustar00rootroot00000000000000arora-0.11.0/autotests/opensearchengine/.gitignore000066400000000000000000000000211145000221100222100ustar00rootroot00000000000000opensearchengine arora-0.11.0/autotests/opensearchengine/opensearchengine.pro000066400000000000000000000004621145000221100242700ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../autotests.pri) SOURCES = \ opensearchengine.cpp \ opensearchenginedelegate.cpp \ tst_opensearchengine.cpp HEADERS = \ opensearchengine.h \ opensearchenginedelegate.h FORMS = RESOURCES = \ opensearchengine.qrc arora-0.11.0/autotests/opensearchengine/opensearchengine.qrc000066400000000000000000000001431145000221100242510ustar00rootroot00000000000000 suggestions.txt arora-0.11.0/autotests/opensearchengine/suggestions.txt000066400000000000000000000006571145000221100233520ustar00rootroot00000000000000["sea", ["sears", "search engines", "search engine", "search", "sears.com", "seattle times"], ["7,390,000 results", "17,900,000 results", "25,700,000 results", "1,220,000,000 results", "1 result", "17,600,000 results"], ["http://example.com?q=sears", "http://example.com?q=search+engines", "http://example.com?q=search+engine", "http://example.com?q=search", "http://example.com?q=sears.com", "http://example.com?q=seattle+times"]]arora-0.11.0/autotests/opensearchengine/tst_opensearchengine.cpp000066400000000000000000000744311145000221100251530ustar00rootroot00000000000000/* * Copyright 2009 Benjamin C. Meyer * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include "qtry.h" #include "opensearchengine.h" #include "opensearchenginedelegate.h" #include #include #include #include #include #include #include #include typedef OpenSearchEngine::Parameters Parameters; typedef OpenSearchEngine::Parameter Parameter; class tst_OpenSearchEngine : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void opensearchengine_data(); void opensearchengine(); void description_data(); void description(); void image(); void imageUrl_data(); void imageUrl(); void isValid_data(); void isValid(); void name_data(); void name(); void operatorlessthan(); void operatorequal_data(); void operatorequal(); void providesSuggestions_data(); void providesSuggestions(); void requestSuggestions_data(); void requestSuggestions(); void requestSuggestionsCrash(); void searchParameters_data(); void searchParameters(); void searchUrl_data(); void searchUrl(); void searchUrlTemplate_data(); void searchUrlTemplate(); void suggestionsParameters_data(); void suggestionsParameters(); void suggestionsUrl_data(); void suggestionsUrl(); void suggestionsUrlTemplate_data(); void suggestionsUrlTemplate(); void parseTemplate_data(); void parseTemplate(); void languageCodes_data(); void languageCodes(); void requestMethods(); void delegate(); }; // Subclass that exposes the protected functions. class SubOpenSearchEngine : public OpenSearchEngine { public: void call_imageChanged() { return SubOpenSearchEngine::imageChanged(); } void call_loadImage() const { return SubOpenSearchEngine::loadImage(); } QString call_parseTemplate(QString const &searchTerm, QString const &searchTemplate) const { return SubOpenSearchEngine::parseTemplate(searchTerm, searchTemplate); } void call_suggestions(QStringList const &suggestions) { return SubOpenSearchEngine::suggestions(suggestions); } }; class SuggestionsTestNetworkReply : public QNetworkReply { Q_OBJECT public: SuggestionsTestNetworkReply(const QNetworkRequest &request, QObject *parent = 0) : QNetworkReply(parent) { setOperation(QNetworkAccessManager::GetOperation); setRequest(request); setUrl(request.url()); setOpenMode(QIODevice::ReadOnly); expectedResult.setFileName(":/suggestions.txt"); expectedResult.open(QIODevice::ReadOnly); setError(QNetworkReply::NoError, tr("No Error")); QTimer::singleShot(50, this, SLOT(sendSuggestions())); } ~SuggestionsTestNetworkReply() { close(); } qint64 bytesAvailable() const { return expectedResult.bytesAvailable() + QNetworkReply::bytesAvailable(); } void close() { expectedResult.close(); } qint64 readData(char *data, qint64 maxSize) { return expectedResult.read(data, maxSize); } void abort() { } private slots: void sendSuggestions() { // Publish result setHeader(QNetworkRequest::ContentTypeHeader, QByteArray("text/html")); setHeader(QNetworkRequest::ContentLengthHeader, expectedResult.bytesAvailable()); setAttribute(QNetworkRequest::HttpStatusCodeAttribute, 200); setAttribute(QNetworkRequest::HttpReasonPhraseAttribute, QByteArray("Ok")); emit metaDataChanged(); emit readyRead(); emit downloadProgress(expectedResult.size(), expectedResult.size()); emit finished(); } private: QFile expectedResult; }; class SuggestionsTestNetworkAccessManager : public QNetworkAccessManager { public: SuggestionsTestNetworkAccessManager(QObject *parent = 0) : QNetworkAccessManager(parent) { } QNetworkRequest lastRequest; Operation lastOperation; bool lastOutgoingData; protected: QNetworkReply *createRequest(QNetworkAccessManager::Operation operation, const QNetworkRequest &request, QIODevice *outgoingData = 0) { lastOperation = operation; lastRequest = request; lastOutgoingData = (bool)outgoingData; return new SuggestionsTestNetworkReply(request, 0); } }; class Delegate : public OpenSearchEngineDelegate { public: Delegate() : OpenSearchEngineDelegate() , callsCount(0) { } ~Delegate() { } void performSearchRequest(const QNetworkRequest &request, QNetworkAccessManager::Operation operation, const QByteArray &data) { ++callsCount; lastRequest = request; lastOperation = operation; lastData = data; } QNetworkRequest lastRequest; QNetworkAccessManager::Operation lastOperation; QByteArray lastData; int callsCount; }; // This will be called before the first test function is executed. // It is only called once. void tst_OpenSearchEngine::initTestCase() { QCoreApplication::setApplicationName("tst_opensearchengine"); } // This will be called after the last test function is executed. // It is only called once. void tst_OpenSearchEngine::cleanupTestCase() { } // This will be called before each test function is executed. void tst_OpenSearchEngine::init() { } // This will be called after every test function. void tst_OpenSearchEngine::cleanup() { } void tst_OpenSearchEngine::opensearchengine_data() { } void tst_OpenSearchEngine::opensearchengine() { SubOpenSearchEngine engine; QCOMPARE(engine.description(), QString()); QCOMPARE(engine.image(), QImage()); QCOMPARE(engine.imageUrl(), QString()); QCOMPARE(engine.isValid(), false); QCOMPARE(engine.name(), QString()); OpenSearchEngine other; QCOMPARE(engine.operator<(other), false); QCOMPARE(engine.operator==(other), true); QCOMPARE(engine.providesSuggestions(), false); engine.requestSuggestions(QString()); QCOMPARE(engine.searchParameters(), QList()); QCOMPARE(engine.searchUrl(QString()), QUrl()); QCOMPARE(engine.searchUrlTemplate(), QString()); engine.setDescription(QString()); engine.setImage(QImage()); engine.setImageUrl(QString()); engine.setName(QString()); engine.setSearchParameters(QList()); engine.setSearchUrlTemplate(QString()); engine.setSuggestionsParameters(QList()); engine.setSuggestionsUrlTemplate(QString()); QCOMPARE(engine.suggestionsParameters(), QList()); QCOMPARE(engine.suggestionsUrl(QString()), QUrl()); QCOMPARE(engine.suggestionsUrlTemplate(), QString()); engine.call_imageChanged(); engine.call_loadImage(); QVERIFY(!engine.networkAccessManager()); QNetworkAccessManager manager; engine.setNetworkAccessManager(&manager); QCOMPARE(engine.networkAccessManager(), &manager); QCOMPARE(engine.call_parseTemplate(QString(), QString()), QString()); engine.call_suggestions(QStringList()); } void tst_OpenSearchEngine::description_data() { QTest::addColumn("description"); QTest::newRow("null") << QString(); QTest::newRow("foo") << QString("foo"); } // public QString description() const void tst_OpenSearchEngine::description() { QFETCH(QString, description); SubOpenSearchEngine engine; QSignalSpy spy0(&engine, SIGNAL(imageChanged())); QSignalSpy spy1(&engine, SIGNAL(suggestions(QStringList const&))); engine.setDescription(description); QCOMPARE(engine.description(), description); QCOMPARE(engine.property("description").toString(), description); engine.setProperty("description", QString()); QCOMPARE(engine.property("description").toString(), QString()); QCOMPARE(spy0.count(), 0); QCOMPARE(spy1.count(), 0); } // public QImage image() const void tst_OpenSearchEngine::image() { SubOpenSearchEngine engine; QNetworkAccessManager manager; engine.setNetworkAccessManager(&manager); QSignalSpy spy0(&engine, SIGNAL(imageChanged())); QSignalSpy spy1(&engine, SIGNAL(suggestions(QStringList const&))); QBuffer imageBuffer; imageBuffer.open(QBuffer::ReadWrite); QPixmap image(1, 1); image.fill(); image.save(&imageBuffer, "PNG"); QString imageUrl = QString("data:image/png;base64,").append(imageBuffer.buffer().toBase64()); engine.setImageUrl(imageUrl); QCOMPARE(engine.image(), QImage()); QTRY_COMPARE(spy0.count(), 1); QCOMPARE(spy1.count(), 0); QVERIFY(engine.image() != QImage()); SubOpenSearchEngine engine2; QSignalSpy spy2(&engine2, SIGNAL(imageChanged())); QVERIFY(engine2.imageUrl().isEmpty()); engine2.setImage(engine.image()); QCOMPARE(engine2.imageUrl(), imageUrl); QCOMPARE(spy2.count(), 1); } void tst_OpenSearchEngine::imageUrl_data() { QTest::addColumn("imageUrl"); QTest::newRow("null") << QString(); QTest::newRow("foo") << QString("foo"); } // public QString imageUrl() const void tst_OpenSearchEngine::imageUrl() { QFETCH(QString, imageUrl); SubOpenSearchEngine engine; QSignalSpy spy0(&engine, SIGNAL(imageChanged())); QSignalSpy spy1(&engine, SIGNAL(suggestions(QStringList const&))); engine.setImageUrl(imageUrl); QCOMPARE(engine.imageUrl(), imageUrl); QCOMPARE(engine.property("imageUrl").toString(), imageUrl); engine.setProperty("imageUrl", QString()); QCOMPARE(engine.property("imageUrl").toString(), QString()); QCOMPARE(spy0.count(), 0); QCOMPARE(spy1.count(), 0); } void tst_OpenSearchEngine::isValid_data() { QTest::addColumn("name"); QTest::addColumn("searchUrlTemplate"); QTest::addColumn("isValid"); QTest::newRow("false-0") << QString() << QString() << false; QTest::newRow("false-1") << QString() << QString("x") << false; QTest::newRow("false-2") << QString("x") << QString() << false; QTest::newRow("true") << QString("x") << QString("y") << true; } // public bool isValid() const void tst_OpenSearchEngine::isValid() { QFETCH(QString, name); QFETCH(QString, searchUrlTemplate); QFETCH(bool, isValid); SubOpenSearchEngine engine; QSignalSpy spy0(&engine, SIGNAL(imageChanged())); QSignalSpy spy1(&engine, SIGNAL(suggestions(QStringList const&))); engine.setName(name); engine.setSearchUrlTemplate(searchUrlTemplate); QCOMPARE(engine.isValid(), isValid); QCOMPARE(spy0.count(), 0); QCOMPARE(spy1.count(), 0); } void tst_OpenSearchEngine::name_data() { QTest::addColumn("name"); QTest::newRow("null") << QString(); QTest::newRow("foo") << QString("foo"); } // public QString name() const void tst_OpenSearchEngine::name() { QFETCH(QString, name); SubOpenSearchEngine engine; QSignalSpy spy0(&engine, SIGNAL(imageChanged())); QSignalSpy spy1(&engine, SIGNAL(suggestions(QStringList const&))); engine.setName(name); QCOMPARE(engine.name(), name); QCOMPARE(engine.property("name").toString(), name); engine.setProperty("name", QString()); QCOMPARE(engine.property("name").toString(), QString()); QCOMPARE(spy0.count(), 0); QCOMPARE(spy1.count(), 0); } // public bool operator<(OpenSearchEngine const &other) const void tst_OpenSearchEngine::operatorlessthan() { SubOpenSearchEngine engine1; engine1.setName("a"); SubOpenSearchEngine engine2; engine2.setName("b"); QVERIFY(engine1 < engine2); } Q_DECLARE_METATYPE(Parameters) void tst_OpenSearchEngine::operatorequal_data() { QTest::addColumn("name"); QTest::addColumn("description"); QTest::addColumn("imageUrl"); QTest::addColumn("searchUrlTemplate"); QTest::addColumn("suggestionsUrlTemplate"); QTest::addColumn("searchParameters"); QTest::addColumn("suggestionsParameters"); QTest::addColumn("operatorequal"); QTest::newRow("null") << QString() << QString() << QString() << QString() << QString() << Parameters() << Parameters() << true; QTest::newRow("name") << QString("x") << QString() << QString() << QString() << QString() << Parameters() << Parameters() << false; QTest::newRow("description") << QString() << QString("x") << QString() << QString() << QString() << Parameters() << Parameters() << false; QTest::newRow("imageUrl") << QString() << QString() << QString("x") << QString() << QString() << Parameters() << Parameters() << false; QTest::newRow("parameters") << QString() << QString() << QString() << QString() << QString() << (Parameters() << Parameter("a", "b")) << Parameters() << false; } // public bool operator==(OpenSearchEngine const &other) const void tst_OpenSearchEngine::operatorequal() { QFETCH(QString, name); QFETCH(QString, description); QFETCH(QString, imageUrl); QFETCH(QString, searchUrlTemplate); QFETCH(QString, suggestionsUrlTemplate); QFETCH(Parameters, searchParameters); QFETCH(Parameters, suggestionsParameters); QFETCH(bool, operatorequal); SubOpenSearchEngine engine; SubOpenSearchEngine other; other.setName(name); other.setDescription(description); other.setImageUrl(imageUrl); other.setSearchUrlTemplate(searchUrlTemplate); other.setSuggestionsUrlTemplate(suggestionsUrlTemplate); other.setSearchParameters(searchParameters); other.setSuggestionsParameters(suggestionsParameters); QCOMPARE(engine.operator==(other), operatorequal); } void tst_OpenSearchEngine::providesSuggestions_data() { QTest::addColumn("suggestionsUrlTemplate"); QTest::addColumn("providesSuggestions"); QTest::newRow("false") << QString() << false; QTest::newRow("true") << QString("foo") << true; } // public bool providesSuggestions() const void tst_OpenSearchEngine::providesSuggestions() { QFETCH(QString, suggestionsUrlTemplate); QFETCH(bool, providesSuggestions); SubOpenSearchEngine engine; QSignalSpy spy0(&engine, SIGNAL(imageChanged())); QSignalSpy spy1(&engine, SIGNAL(suggestions(QStringList const&))); engine.setSuggestionsUrlTemplate(suggestionsUrlTemplate); QCOMPARE(engine.providesSuggestions(), providesSuggestions); QCOMPARE(spy0.count(), 0); QCOMPARE(spy1.count(), 0); } void tst_OpenSearchEngine::requestSuggestions_data() { QTest::addColumn("searchTerm"); QTest::addColumn("method"); QTest::addColumn("lastOperation"); QTest::newRow("null") << QString() << QString() << QNetworkAccessManager::GetOperation; QTest::newRow("foo") << QString("foo") << QString("get") << QNetworkAccessManager::GetOperation; QTest::newRow("bar") << QString("bar") << QString("post") << QNetworkAccessManager::PostOperation; QTest::newRow("baz") << QString("baz") << QString("put") << QNetworkAccessManager::GetOperation; } Q_DECLARE_METATYPE(QNetworkAccessManager::Operation) // public void requestSuggestions(QString const &searchTerm) void tst_OpenSearchEngine::requestSuggestions() { QFETCH(QString, searchTerm); QFETCH(QString, method); QFETCH(QNetworkAccessManager::Operation, lastOperation); SuggestionsTestNetworkAccessManager manager; SubOpenSearchEngine engine; engine.setNetworkAccessManager(&manager); engine.setSuggestionsMethod(method); engine.setSuggestionsUrlTemplate("http://foobar.baz"); engine.setSuggestionsParameters(Parameters() << Parameter("a", "b")); QVERIFY(engine.providesSuggestions()); QSignalSpy spy(&engine, SIGNAL(suggestions(QStringList const&))); engine.requestSuggestions(searchTerm); if (searchTerm.isEmpty()) { QTest::qWait(200); QCOMPARE(spy.count(), 0); } else { QTRY_COMPARE(spy.count(), 1); QStringList suggestions; suggestions << "sears" << "search engines" << "search engine" << "search" << "sears.com" << "seattle times"; QCOMPARE(spy.at(0).at(0).toStringList(), suggestions); QCOMPARE(manager.lastOperation, lastOperation); QCOMPARE(manager.lastOutgoingData, lastOperation == QNetworkAccessManager::PostOperation); } } void tst_OpenSearchEngine::requestSuggestionsCrash() { SuggestionsTestNetworkAccessManager manager; SubOpenSearchEngine engine; engine.setNetworkAccessManager(&manager); engine.setSuggestionsUrlTemplate("http://foobar.baz"); QVERIFY(engine.providesSuggestions()); QSignalSpy spy(&engine, SIGNAL(suggestions(QStringList const&))); QStringList colors = QColor::colorNames(); for (int i = 0; i < colors.count(); ++i) engine.requestSuggestions(colors.at(i)); QTRY_COMPARE(spy.count(), 1); QStringList suggestions; suggestions << "sears" << "search engines" << "search engine" << "search" << "sears.com" << "seattle times"; QCOMPARE(spy.at(0).at(0).toStringList(), suggestions); } void tst_OpenSearchEngine::searchParameters_data() { QTest::addColumn("searchParameters"); QTest::newRow("null") << QList(); QTest::newRow("something") << (Parameters() << Parameter("a", "b")); } // public QList searchParameters() const void tst_OpenSearchEngine::searchParameters() { QFETCH(Parameters, searchParameters); SubOpenSearchEngine engine; QSignalSpy spy0(&engine, SIGNAL(imageChanged())); QSignalSpy spy1(&engine, SIGNAL(suggestions(QStringList const&))); engine.setSearchParameters(searchParameters); QCOMPARE(engine.searchParameters(), searchParameters); QCOMPARE(qvariant_cast(engine.property("searchParameters")), searchParameters); QCOMPARE(spy0.count(), 0); QCOMPARE(spy1.count(), 0); } void tst_OpenSearchEngine::searchUrl_data() { QTest::addColumn("searchTerm"); QTest::addColumn("searchUrlTemplate"); QTest::addColumn("parameters"); QTest::addColumn("searchUrl"); QTest::newRow("null") << QString() << QString() << Parameters() << QUrl(); QTest::newRow("foo") << QString("foo") << QString("http://foobar.baz/?q={searchTerms}") << Parameters() << QUrl(QString("http://foobar.baz/?q=foo")); QTest::newRow("empty") << QString() << QString("http://foobar.baz/?q={searchTerms}") << Parameters() << QUrl(QString("http://foobar.baz/?q=")); QTest::newRow("parameters") << QString("baz") << QString("http://foobar.baz/?q={searchTerms}") << (Parameters() << Parameter("abc", "{searchTerms}") << Parameter("x", "yz")) << QUrl(QString("http://foobar.baz/?q=baz&abc=baz&x=yz")); } // public QUrl searchUrl(QString const &searchTerm) const void tst_OpenSearchEngine::searchUrl() { QFETCH(QString, searchTerm); QFETCH(QString, searchUrlTemplate); QFETCH(Parameters, parameters); QFETCH(QUrl, searchUrl); SubOpenSearchEngine engine; engine.setSearchParameters(parameters); engine.setSearchUrlTemplate(searchUrlTemplate); QCOMPARE(engine.searchUrl(searchTerm), searchUrl); } void tst_OpenSearchEngine::searchUrlTemplate_data() { QTest::addColumn("searchUrlTemplate"); QTest::newRow("null") << QString(); QTest::newRow("foo") << QString("foo"); } // public QString searchUrlTemplate() const void tst_OpenSearchEngine::searchUrlTemplate() { QFETCH(QString, searchUrlTemplate); SubOpenSearchEngine engine; QSignalSpy spy0(&engine, SIGNAL(imageChanged())); QSignalSpy spy1(&engine, SIGNAL(suggestions(QStringList const&))); engine.setSearchUrlTemplate(searchUrlTemplate); QCOMPARE(engine.property("searchUrlTemplate").toString(), searchUrlTemplate); engine.setProperty("searchUrlTemplate", QString()); QCOMPARE(engine.property("searchUrlTemplate").toString(), QString()); engine.setProperty("searchUrlTemplate", searchUrlTemplate); QCOMPARE(engine.searchUrlTemplate(), searchUrlTemplate); QCOMPARE(spy0.count(), 0); QCOMPARE(spy1.count(), 0); } void tst_OpenSearchEngine::suggestionsParameters_data() { QTest::addColumn("suggestionsParameters"); QTest::newRow("null") << QList(); QTest::newRow("something") << (Parameters() << Parameter("a", "b")); } // public QList suggestionsParameters() const void tst_OpenSearchEngine::suggestionsParameters() { QFETCH(Parameters, suggestionsParameters); SubOpenSearchEngine engine; QSignalSpy spy0(&engine, SIGNAL(imageChanged())); QSignalSpy spy1(&engine, SIGNAL(suggestions(QStringList const&))); engine.setSuggestionsParameters(suggestionsParameters); QCOMPARE(engine.suggestionsParameters(), suggestionsParameters); QCOMPARE(spy0.count(), 0); QCOMPARE(spy1.count(), 0); } void tst_OpenSearchEngine::suggestionsUrl_data() { QTest::addColumn("searchTerm"); QTest::addColumn("suggestionsUrlTemplate"); QTest::addColumn("parameters"); QTest::addColumn("suggestionsUrl"); QTest::newRow("null") << QString() << QString() << Parameters() << QUrl(); QTest::newRow("foo") << QString("foo") << QString("http://foobar.baz/?q={searchTerms}") << Parameters() << QUrl(QString("http://foobar.baz/?q=foo")); QTest::newRow("empty") << QString() << QString("http://foobar.baz/?q={searchTerms}") << Parameters() << QUrl(QString("http://foobar.baz/?q=")); QTest::newRow("parameters") << QString("baz") << QString("http://foobar.baz/?q={searchTerms}") << (Parameters() << Parameter("a", "bc")) << QUrl(QString("http://foobar.baz/?q=baz&a=bc")); } // public QUrl suggestionsUrl(QString const &searchTerm) const void tst_OpenSearchEngine::suggestionsUrl() { QFETCH(QString, searchTerm); QFETCH(QString, suggestionsUrlTemplate); QFETCH(Parameters, parameters); QFETCH(QUrl, suggestionsUrl); SubOpenSearchEngine engine; engine.setSuggestionsParameters(parameters); engine.setSuggestionsUrlTemplate(suggestionsUrlTemplate); QCOMPARE(engine.suggestionsUrl(searchTerm), suggestionsUrl); } void tst_OpenSearchEngine::suggestionsUrlTemplate_data() { QTest::addColumn("suggestionsUrlTemplate"); QTest::newRow("null") << QString(); QTest::newRow("foo") << QString("foo"); } // public QString suggestionsUrlTemplate() const void tst_OpenSearchEngine::suggestionsUrlTemplate() { QFETCH(QString, suggestionsUrlTemplate); SubOpenSearchEngine engine; QSignalSpy spy0(&engine, SIGNAL(imageChanged())); QSignalSpy spy1(&engine, SIGNAL(suggestions(QStringList const&))); engine.setSuggestionsUrlTemplate(suggestionsUrlTemplate); QCOMPARE(engine.suggestionsUrlTemplate(), suggestionsUrlTemplate); QCOMPARE(spy0.count(), 0); QCOMPARE(spy1.count(), 0); } void tst_OpenSearchEngine::parseTemplate_data() { QString lang = QLocale().name().replace(QLatin1Char('_'), QLatin1Char('-')); QTest::addColumn("searchTerm"); QTest::addColumn("searchTemplate"); QTest::addColumn("parseTemplate"); QTest::addColumn("valid"); QTest::newRow("null") << QString() << QString() << QString() << false; QTest::newRow("foo") << QString("foo") << QString("http://foobar.baz/?q={searchTerms}") << QString("http://foobar.baz/?q=foo") << true; QTest::newRow("allParameters") << QString("bar") << QString("http://foobar.baz/?st={searchTerms}&c={count}" "&si={startIndex}&sp={startPage}&l={language}" "&ie={inputEncoding}&oe={outputEncoding}") << QString("http://foobar.baz/?st=bar&c=20&si=0&" "sp=0&l=%1&ie=UTF-8&oe=UTF-8").arg(lang) << true; QTest::newRow("tricky") << QString("{count}") << QString("http://foobar.baz/q={searchTerms}&count={count}") << QString("http://foobar.baz/q=%7Bcount%7D&count=20") << true; QTest::newRow("multiple") << QString("abc") << QString("http://foobar.baz/?q={searchTerms}&x={searchTerms}") << QString("http://foobar.baz/?q=abc&x=abc") << true; QTest::newRow("referrer") << QString("foo") << QString("http://foobar.baz/?q={searchTerms}&a={source}&b={ref:source}&c={referrer:source?}") << QString("http://foobar.baz/?q=foo&a=tst_opensearchengine" "&b=tst_opensearchengine&c=tst_opensearchengine") << true; QTest::newRow("inputEncoding") << QString("c++") << QString("http://foobar.baz/?q={searchTerms}") << QString("http://foobar.baz/?q=c%2B%2B") << true; } // protected QString parseTemplate(QString const &searchTerm, QString const &searchTemplate) const void tst_OpenSearchEngine::parseTemplate() { QFETCH(QString, searchTerm); QFETCH(QString, searchTemplate); QFETCH(QString, parseTemplate); QFETCH(bool, valid); SubOpenSearchEngine engine; QString url = engine.call_parseTemplate(searchTerm, searchTemplate); QCOMPARE(url, parseTemplate); QCOMPARE(QUrl(url).isValid(), valid); } void tst_OpenSearchEngine::languageCodes_data() { QTest::addColumn("languageCode"); QTest::addColumn("url"); QTest::newRow("es") << QString("es") << QString("http://foobar.baz/?l=es-ES"); QTest::newRow("pt_BR") << QString("pt_BR") << QString("http://foobar.baz/?l=pt-BR"); } void tst_OpenSearchEngine::languageCodes() { QFETCH(QString, languageCode); QFETCH(QString, url); QLocale::setDefault(QLocale(languageCode)); SubOpenSearchEngine engine; QCOMPARE(engine.call_parseTemplate(QString("foo"), QString("http://foobar.baz/?l={language}")), url); } void tst_OpenSearchEngine::requestMethods() { SubOpenSearchEngine engine; QCOMPARE(engine.searchMethod(), QString("get")); QCOMPARE(engine.suggestionsMethod(), QString("get")); engine.setSearchMethod("post"); QCOMPARE(engine.searchMethod(), QString("post")); QCOMPARE(engine.suggestionsMethod(), QString("get")); engine.setSearchMethod("get"); QCOMPARE(engine.searchMethod(), QString("get")); QCOMPARE(engine.suggestionsMethod(), QString("get")); engine.setSuggestionsMethod("PoSt"); QCOMPARE(engine.searchMethod(), QString("get")); QCOMPARE(engine.suggestionsMethod(), QString("post")); engine.setSearchMethod("foo"); QCOMPARE(engine.searchMethod(), QString("get")); QCOMPARE(engine.suggestionsMethod(), QString("post")); engine.setSuggestionsMethod("bar"); QCOMPARE(engine.searchMethod(), QString("get")); QCOMPARE(engine.suggestionsMethod(), QString("post")); } void tst_OpenSearchEngine::delegate() { SubOpenSearchEngine engine; engine.setName(QString("foo")); engine.setDescription(QString("bar")); engine.setSearchUrlTemplate(QString("http://foobar.baz/?q={searchTerms}")); QCOMPARE(engine.delegate(), (Delegate*)0); engine.setDelegate(0); QCOMPARE(engine.delegate(), (Delegate*)0); engine.requestSearchResults(QString("baz")); Delegate delegate; engine.setDelegate(&delegate); QCOMPARE(engine.delegate(), &delegate); engine.requestSearchResults(QString("baz")); QCOMPARE(delegate.callsCount, 1); QCOMPARE(delegate.lastOperation, QNetworkAccessManager::GetOperation); QCOMPARE(delegate.lastData, QByteArray()); QNetworkRequest request(QUrl(engine.call_parseTemplate(QString("baz"), engine.searchUrlTemplate()))); QCOMPARE(delegate.lastRequest, request); QVERIFY(delegate.lastRequest.url().hasQueryItem("q")); QCOMPARE(delegate.lastRequest.url().queryItemValue("q"), QString("baz")); engine.setSearchParameters(Parameters() << Parameter("a", "b") << Parameter("b", "c")); engine.requestSearchResults(QString("baz")); QCOMPARE(delegate.callsCount, 2); QCOMPARE(delegate.lastOperation, QNetworkAccessManager::GetOperation); QCOMPARE(delegate.lastData, QByteArray()); QVERIFY(delegate.lastRequest.url().hasQueryItem("a")); QCOMPARE(delegate.lastRequest.url().queryItemValue("a"), QString("b")); QVERIFY(delegate.lastRequest.url().hasQueryItem("b")); QCOMPARE(delegate.lastRequest.url().queryItemValue("b"), QString("c")); QVERIFY(delegate.lastRequest.url().hasQueryItem("q")); QCOMPARE(delegate.lastRequest.url().queryItemValue("q"), QString("baz")); QUrl url(engine.call_parseTemplate(QString("baz"), engine.searchUrlTemplate())); QCOMPARE(delegate.lastRequest.url().toString(QUrl::RemoveQuery), url.toString(QUrl::RemoveQuery)); engine.setSearchMethod(QString("post")); engine.requestSearchResults(QString("baz")); QCOMPARE(delegate.callsCount, 3); QCOMPARE(delegate.lastOperation, QNetworkAccessManager::PostOperation); request = QNetworkRequest(QUrl(engine.call_parseTemplate(QString("baz"), engine.searchUrlTemplate()))); QCOMPARE(delegate.lastRequest, request); QVERIFY(delegate.lastRequest.url().hasQueryItem("q")); QCOMPARE(delegate.lastRequest.url().queryItemValue("q"), QString("baz")); QVERIFY(!delegate.lastData.isEmpty()); QStringList query = QString(delegate.lastData).split('&'); QCOMPARE(query.count(), 2); QCOMPARE(query, QStringList() << "a=b" << "b=c"); } QTEST_MAIN(tst_OpenSearchEngine) #include "tst_opensearchengine.moc" arora-0.11.0/autotests/opensearchmanager/000077500000000000000000000000001145000221100203745ustar00rootroot00000000000000arora-0.11.0/autotests/opensearchmanager/.gitignore000066400000000000000000000000221145000221100223560ustar00rootroot00000000000000opensearchmanager arora-0.11.0/autotests/opensearchmanager/opensearchmanager.pro000066400000000000000000000001771145000221100246050ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../autotests.pri) SOURCES += \ tst_opensearchmanager.cpparora-0.11.0/autotests/opensearchmanager/tst_opensearchmanager.cpp000066400000000000000000000255031145000221100254610ustar00rootroot00000000000000/* * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include "qtest_arora.h" #include "opensearchengine.h" #include "opensearchmanager.h" class tst_OpenSearchManager : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void addRemoveEngine_data(); void addRemoveEngine(); void setCurrentEngine_data(); void setCurrentEngine(); void generateEngineFileName_data(); void generateEngineFileName(); void restoreDefaults(); void keywords(); void convertKeywordSearchToUrl(); void convertKeywordSearchToUrl_data(); }; class SubOpenSearchManager : public OpenSearchManager { public: QString generateEngineFileName(const QString &engineName) { return OpenSearchManager::generateEngineFileName(engineName); } static int defaultCount() { return QDir(":/searchengines/").count(); } }; // This will be called before the first test function is executed. // It is only called once. void tst_OpenSearchManager::initTestCase() { QCoreApplication::setApplicationName("opensearchtest"); SubOpenSearchManager manager; foreach (const QString &name, manager.allEnginesNames()) manager.removeEngine(name); QCOMPARE(manager.enginesCount(), 1); } // This will be called after the last test function is executed. // It is only called once. void tst_OpenSearchManager::cleanupTestCase() { SubOpenSearchManager manager; QCOMPARE(manager.enginesCount(), 1); } // This will be called before each test function is executed. void tst_OpenSearchManager::init() { SubOpenSearchManager manager; QCOMPARE(manager.enginesCount(), 1); } // This will be called after every test function. void tst_OpenSearchManager::cleanup() { SubOpenSearchManager manager; foreach (const QString &name, manager.allEnginesNames()) manager.removeEngine(name); QCOMPARE(manager.enginesCount(), 1); } void tst_OpenSearchManager::addRemoveEngine_data() { QTest::addColumn("name"); QTest::addColumn("description"); QTest::addColumn("searchUrlTemplate"); QTest::addColumn("valid"); QTest::newRow("valid") << "Foo" << "Bar" << "http://foobaz.bar" << true; QTest::newRow("invalid") << "Baz" << "Foo" << "" << false; } void tst_OpenSearchManager::addRemoveEngine() { QFETCH(QString, name); QFETCH(QString, description); QFETCH(QString, searchUrlTemplate); QFETCH(bool, valid); SubOpenSearchManager manager; QSignalSpy signalSpy(&manager, SIGNAL(changed())); OpenSearchEngine *engine = new OpenSearchEngine(); engine->setName(name); engine->setDescription(description); engine->setSearchUrlTemplate(searchUrlTemplate); QCOMPARE(manager.enginesCount(), 1); QVERIFY(!manager.engineExists(name)); bool result = manager.addEngine(engine); QCOMPARE(result, valid); QCOMPARE(manager.enginesCount(), (valid ? 2 : 1)); QCOMPARE(manager.engineExists(name), valid); QCOMPARE(signalSpy.count(), (valid ? 1 : 0)); manager.removeEngine(engine->name()); QCOMPARE(manager.enginesCount(), 1); QVERIFY(!manager.engineExists(name)); QCOMPARE(signalSpy.count(), (valid ? 2 : 0)); } void tst_OpenSearchManager::setCurrentEngine_data() { QTest::addColumn("name"); QTest::addColumn("description"); QTest::addColumn("searchUrlTemplate"); QTest::addColumn("valid"); QTest::newRow("valid") << "Foo" << "Bar" << "http://foobaz.bar" << true; QTest::newRow("invalid") << "Baz" << "Foo" << "" << false; } void tst_OpenSearchManager::setCurrentEngine() { QFETCH(QString, name); QFETCH(QString, description); QFETCH(QString, searchUrlTemplate); QFETCH(bool, valid); SubOpenSearchManager manager; QCOMPARE(manager.enginesCount(), 1); QString oldCurrentEngineName = manager.currentEngineName(); OpenSearchEngine *oldCurrentEngine = manager.currentEngine(); QSignalSpy signalSpy(&manager, SIGNAL(currentEngineChanged())); OpenSearchEngine *engine = new OpenSearchEngine(); engine->setName(name); engine->setDescription(description); engine->setSearchUrlTemplate(searchUrlTemplate); bool result = manager.addEngine(engine); QCOMPARE(result, valid); manager.setCurrentEngineName(name); QCOMPARE(manager.currentEngineName(), (valid ? name : oldCurrentEngineName)); QCOMPARE(*manager.currentEngine(), (valid ? *engine : *oldCurrentEngine)); QCOMPARE(signalSpy.count(), (valid ? 1 : 0)); manager.removeEngine(engine->name()); QCOMPARE(signalSpy.count(), (valid ? 2 : 0)); } void tst_OpenSearchManager::generateEngineFileName_data() { QTest::addColumn("name"); QTest::addColumn("fileName"); QTest::newRow("simple") << "FooBar" << "FooBar.xml"; QTest::newRow("with-spaces") << "Foo Bar" << "Foo_Bar.xml"; QTest::newRow("with-special-chars") << ":Foo&Bar*Baz-" << "FooBarBaz.xml"; QTest::newRow("with-special-chars-and-spaces") << ": Foo & Bar -" << "_Foo__Bar_.xml"; } void tst_OpenSearchManager::generateEngineFileName() { QFETCH(QString, name); QFETCH(QString, fileName); SubOpenSearchManager manager; QCOMPARE(manager.generateEngineFileName(name), fileName); } void tst_OpenSearchManager::restoreDefaults() { SubOpenSearchManager manager; QCOMPARE(manager.enginesCount(), 1); manager.restoreDefaults(); QCOMPARE(manager.enginesCount(), manager.defaultCount()); foreach (const QString &name, manager.allEnginesNames()) manager.removeEngine(name); // Never let the manager have no engines. QCOMPARE(manager.enginesCount(), 1); OpenSearchEngine *engine = new OpenSearchEngine(); engine->setName("Foobarbaz"); engine->setSearchUrlTemplate("http://foobarbaz.baz"); manager.addEngine(engine); manager.restoreDefaults(); QCOMPARE(manager.enginesCount(), manager.defaultCount() + 1); manager.removeEngine(engine->name()); } void tst_OpenSearchManager::keywords() { { SubOpenSearchManager manager; QVERIFY(!manager.engineForKeyword("foo")); QVERIFY(!manager.engineForKeyword(QString())); manager.setEngineForKeyword("foo", 0); manager.setEngineForKeyword(QString(), 0); QVERIFY(!manager.engineForKeyword("foo")); QVERIFY(!manager.engineForKeyword(QString())); QCOMPARE(manager.keywordsForEngine(0), QStringList()); manager.setKeywordsForEngine(0, QStringList() << "foo"); QCOMPARE(manager.keywordsForEngine(0), QStringList()); manager.restoreDefaults(); OpenSearchEngine *engine1 = manager.engine(manager.allEnginesNames().at(0)); OpenSearchEngine *engine2 = manager.engine(manager.allEnginesNames().at(1)); QCOMPARE(manager.keywordsForEngine(engine1), QStringList()); QCOMPARE(manager.keywordsForEngine(engine2), QStringList()); manager.setEngineForKeyword("foo", engine1); manager.setEngineForKeyword("bar", engine1); manager.setEngineForKeyword("baz", engine2); QCOMPARE(manager.engineForKeyword("foo"), engine1); QCOMPARE(manager.engineForKeyword("bar"), engine1); QCOMPARE(manager.engineForKeyword("baz"), engine2); QCOMPARE(manager.keywordsForEngine(engine1), QStringList() << "foo" << "bar"); QCOMPARE(manager.keywordsForEngine(engine2), QStringList() << "baz"); manager.setKeywordsForEngine(engine1, QStringList() << "baz"); manager.setKeywordsForEngine(engine2, QStringList() << "foo" << "bar"); QCOMPARE(manager.engineForKeyword("foo"), engine2); QCOMPARE(manager.engineForKeyword("bar"), engine2); QCOMPARE(manager.engineForKeyword("baz"), engine1); QCOMPARE(manager.keywordsForEngine(engine2), QStringList() << "foo" << "bar"); QCOMPARE(manager.keywordsForEngine(engine1), QStringList() << "baz"); } { SubOpenSearchManager manager; manager.restoreDefaults(); OpenSearchEngine *engine1 = manager.engine(manager.allEnginesNames().at(0)); OpenSearchEngine *engine2 = manager.engine(manager.allEnginesNames().at(1)); QCOMPARE(*manager.engineForKeyword("foo"), *engine2); QCOMPARE(*manager.engineForKeyword("bar"), *engine2); QCOMPARE(*manager.engineForKeyword("baz"), *engine1); QCOMPARE(manager.keywordsForEngine(engine2), QStringList() << "foo" << "bar"); QCOMPARE(manager.keywordsForEngine(engine1), QStringList() << "baz"); manager.setEngineForKeyword("foo", 0); QVERIFY(!manager.engineForKeyword("foo")); QCOMPARE(*manager.engineForKeyword("bar"), *engine2); QCOMPARE(*manager.engineForKeyword("baz"), *engine1); QCOMPARE(manager.keywordsForEngine(engine2), QStringList() << "bar"); QCOMPARE(manager.keywordsForEngine(engine1), QStringList() << "baz"); manager.setKeywordsForEngine(engine1, QStringList()); manager.setKeywordsForEngine(engine2, QStringList()); } } void tst_OpenSearchManager::convertKeywordSearchToUrl_data() { QTest::addColumn("string"); QTest::addColumn("valid"); QTest::newRow("invalid-0") << "null" << false; QTest::newRow("invalid-1") << "foo" << false; QTest::newRow("invalid-2") << "bar" << false; QTest::newRow("invalid-3") << "baz" << false; QTest::newRow("invalid-4") << "foo " << false; QTest::newRow("invalid-5") << "foobar" << false; QTest::newRow("valid-0") << "foo searchstring" << true; } void tst_OpenSearchManager::convertKeywordSearchToUrl() { QFETCH(QString, string); QFETCH(bool, valid); SubOpenSearchManager manager; manager.restoreDefaults(); OpenSearchEngine *engine1 = manager.engine(manager.allEnginesNames().at(0)); manager.setEngineForKeyword("foo", engine1); manager.setEngineForKeyword("bar", engine1); OpenSearchEngine *engine2 = manager.engine(manager.allEnginesNames().at(1)); manager.setEngineForKeyword("baz", engine2); QCOMPARE(manager.convertKeywordSearchToUrl(string).isValid(), valid); } QTEST_MAIN(tst_OpenSearchManager) #include "tst_opensearchmanager.moc" arora-0.11.0/autotests/opensearchreader/000077500000000000000000000000001145000221100202245ustar00rootroot00000000000000arora-0.11.0/autotests/opensearchreader/.gitignore000066400000000000000000000000211145000221100222050ustar00rootroot00000000000000opensearchreader arora-0.11.0/autotests/opensearchreader/opensearchreader.pro000066400000000000000000000004431145000221100242610ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../autotests.pri) SOURCES = \ opensearchengine.cpp \ opensearchreader.cpp \ tst_opensearchreader.cpp HEADERS = \ opensearchengine.h \ opensearchreader.h FORMS = RESOURCES = \ opensearchreader.qrc arora-0.11.0/autotests/opensearchreader/opensearchreader.qrc000066400000000000000000000004331145000221100242450ustar00rootroot00000000000000 testfile1.xml testfile2.xml testfile3.xml testfile4.xml testfile5.xml testfile6.xml testfile7.xml arora-0.11.0/autotests/opensearchreader/testfile1.xml000066400000000000000000000012311145000221100226430ustar00rootroot00000000000000 Wikipedia (en) Full text search in the English Wikipedia http://en.wikipedia.org/favicon.ico arora-0.11.0/autotests/opensearchreader/testfile2.xml000066400000000000000000000005421145000221100226500ustar00rootroot00000000000000 Wikipedia (en) http://en.wikipedia.org/favicon.ico arora-0.11.0/autotests/opensearchreader/testfile3.xml000066400000000000000000000010421145000221100226450ustar00rootroot00000000000000 GitHub Search GitHub arora-0.11.0/autotests/opensearchreader/testfile4.xml000066400000000000000000000007611145000221100226550ustar00rootroot00000000000000 Google Google Web Search http://www.google.com/favicon.ico arora-0.11.0/autotests/opensearchreader/testfile5.xml000066400000000000000000000000261145000221100226500ustar00rootroot00000000000000arora-0.11.0/autotests/opensearchreader/testfile6.xml000066400000000000000000000003311145000221100226500ustar00rootroot00000000000000 Google Google Web Search arora-0.11.0/autotests/opensearchreader/testfile7.xml000066400000000000000000000000001145000221100226420ustar00rootroot00000000000000arora-0.11.0/autotests/opensearchreader/tst_opensearchreader.cpp000066400000000000000000000142401145000221100251350ustar00rootroot00000000000000/* * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include "opensearchreader.h" #include "opensearchengine.h" class tst_OpenSearchReader : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void read_data(); void read(); }; // This will be called before the first test function is executed. // It is only called once. void tst_OpenSearchReader::initTestCase() { } // This will be called after the last test function is executed. // It is only called once. void tst_OpenSearchReader::cleanupTestCase() { } // This will be called before each test function is executed. void tst_OpenSearchReader::init() { } // This will be called after every test function. void tst_OpenSearchReader::cleanup() { } Q_DECLARE_METATYPE(OpenSearchEngine::Parameters) void tst_OpenSearchReader::read_data() { QTest::addColumn("fileName"); QTest::addColumn("valid"); QTest::addColumn("name"); QTest::addColumn("description"); QTest::addColumn("searchUrlTemplate"); QTest::addColumn("suggestionsUrlTemplate"); QTest::addColumn("imageUrl"); QTest::addColumn("searchParameters"); QTest::addColumn("suggestionsParameters"); QTest::addColumn("searchMethod"); QTest::addColumn("suggestionsMethod"); QTest::newRow("null") << QString(":/doesNotExist") << false << QString() << QString() << QString() << QString() << QString() << OpenSearchEngine::Parameters() << OpenSearchEngine::Parameters() << QString("get") << QString("get"); QTest::newRow("testfile1") << QString(":/testfile1.xml") << true << QString("Wikipedia (en)") << QString("Full text search in the English Wikipedia") << QString("http://en.wikipedia.org/bar") << QString("http://en.wikipedia.org/foo") << QString("http://en.wikipedia.org/favicon.ico") << OpenSearchEngine::Parameters() << OpenSearchEngine::Parameters() << QString("post") << QString("get"); QTest::newRow("testfile2") << QString(":/testfile2.xml") << false << QString("Wikipedia (en)") << QString() << QString() << QString("http://en.wikipedia.org/foo") << QString("http://en.wikipedia.org/favicon.ico") << OpenSearchEngine::Parameters() << OpenSearchEngine::Parameters() << QString("get") << QString("get"); QTest::newRow("testfile3") << QString(":/testfile3.xml") << true << QString("GitHub") << QString("Search GitHub") << QString("http://github.com/search") << QString("http://github.com/suggestions") << QString() << (OpenSearchEngine::Parameters() << OpenSearchEngine::Parameter(QString("q"), QString("{searchTerms}")) << OpenSearchEngine::Parameter(QString("b"), QString("foo"))) << (OpenSearchEngine::Parameters() << OpenSearchEngine::Parameter(QString("bar"), QString("baz"))) << QString("get") << QString("post"); QTest::newRow("testfile4") << QString(":/testfile4.xml") << true << QString("Google") << QString("Google Web Search") << QString("http://www.google.com/search?bar") << QString("http://suggestqueries.google.com/complete/foo") << QString("http://www.google.com/favicon.ico") << OpenSearchEngine::Parameters() << OpenSearchEngine::Parameters() << QString("get") << QString("get"); QTest::newRow("testfile5") << QString(":/testfile5.xml") << false << QString() << QString() << QString() << QString() << QString() << OpenSearchEngine::Parameters() << OpenSearchEngine::Parameters() << QString("get") << QString("get"); QTest::newRow("testfile6") << QString(":/testfile6.xml") << false << QString() << QString() << QString() << QString() << QString() << OpenSearchEngine::Parameters() << OpenSearchEngine::Parameters() << QString("get") << QString("get"); QTest::newRow("testfile7") << QString(":/testfile7.xml") << false << QString() << QString() << QString() << QString() << QString() << OpenSearchEngine::Parameters() << OpenSearchEngine::Parameters() << QString("get") << QString("get"); } void tst_OpenSearchReader::read() { QFETCH(QString, fileName); QFETCH(bool, valid); QFETCH(QString, name); QFETCH(QString, description); QFETCH(QString, searchUrlTemplate); QFETCH(QString, suggestionsUrlTemplate); QFETCH(QString, imageUrl); QFETCH(OpenSearchEngine::Parameters, searchParameters); QFETCH(OpenSearchEngine::Parameters, suggestionsParameters); QFETCH(QString, searchMethod); QFETCH(QString, suggestionsMethod); QFile file(fileName); file.open(QIODevice::ReadOnly); OpenSearchReader reader; OpenSearchEngine *engine = reader.read(&file); QCOMPARE(engine->isValid(), valid); QCOMPARE(engine->name(), name); QCOMPARE(engine->description(), description); QCOMPARE(engine->searchUrlTemplate(), searchUrlTemplate); QCOMPARE(engine->suggestionsUrlTemplate(), suggestionsUrlTemplate); QCOMPARE(engine->searchParameters(), searchParameters); QCOMPARE(engine->suggestionsParameters(), suggestionsParameters); QCOMPARE(engine->imageUrl(), imageUrl); QCOMPARE(engine->searchMethod(), searchMethod); QCOMPARE(engine->suggestionsMethod(), suggestionsMethod); delete engine; } QTEST_MAIN(tst_OpenSearchReader) #include "tst_opensearchreader.moc" arora-0.11.0/autotests/opensearchwriter/000077500000000000000000000000001145000221100202765ustar00rootroot00000000000000arora-0.11.0/autotests/opensearchwriter/.gitignore000066400000000000000000000000211145000221100222570ustar00rootroot00000000000000opensearchwriter arora-0.11.0/autotests/opensearchwriter/opensearchwriter.pro000066400000000000000000000004431145000221100244050ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../autotests.pri) SOURCES = \ opensearchengine.cpp \ opensearchwriter.cpp \ tst_opensearchwriter.cpp HEADERS = \ opensearchengine.h \ opensearchwriter.h FORMS = RESOURCES = \ opensearchwriter.qrc arora-0.11.0/autotests/opensearchwriter/opensearchwriter.qrc000066400000000000000000000002371145000221100243730ustar00rootroot00000000000000 testfile1.xml testfile2.xml testfile3.xml arora-0.11.0/autotests/opensearchwriter/testfile1.xml000066400000000000000000000004371145000221100227240ustar00rootroot00000000000000 Foo Bar Bar Foo arora-0.11.0/autotests/opensearchwriter/testfile2.xml000066400000000000000000000006641145000221100227270ustar00rootroot00000000000000 Arora! a cross platform web browser built using Qt and WebKit arora-0.11.0/autotests/opensearchwriter/testfile3.xml000066400000000000000000000012741145000221100227260ustar00rootroot00000000000000 Foo Bar Bar Foo arora-0.11.0/autotests/opensearchwriter/tst_opensearchwriter.cpp000066400000000000000000000107631145000221100252670ustar00rootroot00000000000000/* * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include "opensearchwriter.h" #include "opensearchengine.h" class tst_OpenSearchWriter : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void write_data(); void write(); }; // This will be called before the first test function is executed. // It is only called once. void tst_OpenSearchWriter::initTestCase() { } // This will be called after the last test function is executed. // It is only called once. void tst_OpenSearchWriter::cleanupTestCase() { } // This will be called before each test function is executed. void tst_OpenSearchWriter::init() { } // This will be called after every test function. void tst_OpenSearchWriter::cleanup() { } Q_DECLARE_METATYPE(OpenSearchEngine::Parameters) void tst_OpenSearchWriter::write_data() { QTest::addColumn("name"); QTest::addColumn("description"); QTest::addColumn("searchUrlTemplate"); QTest::addColumn("suggestionsUrlTemplate"); QTest::addColumn("imageUrl"); QTest::addColumn("searchParameters"); QTest::addColumn("suggestionsParameters"); QTest::addColumn("searchMethod"); QTest::addColumn("suggestionsMethod"); QTest::addColumn("fileName"); QTest::newRow("testfile1") << QString("Foo Bar") << QString("Bar Foo") << QString("http://foobar.barfoo/search") << QString() << QString() << OpenSearchEngine::Parameters() << OpenSearchEngine::Parameters() << QString() << QString("get") << QString(":/testfile1.xml"); QTest::newRow("testfile2") << QString("Arora!") << QString("a cross platform web browser built using Qt and WebKit") << QString("http://foobar.barfoo/search") << QString("http://foobar.barfoo/suggest") << QString() << OpenSearchEngine::Parameters() << OpenSearchEngine::Parameters() << QString("get") << QString("post") << QString(":/testfile2.xml"); QTest::newRow("testile3") << QString("Foo Bar") << QString("Bar Foo") << QString("http://foobar.barfoo/search") << QString("http://foobar.barfoo/suggest") << QString() << (OpenSearchEngine::Parameters() << OpenSearchEngine::Parameter("q", "{searchTerms}") << OpenSearchEngine::Parameter("a", "foo")) << (OpenSearchEngine::Parameters() << OpenSearchEngine::Parameter("q", "{searchTerms}")) << QString("post") << QString("foo") << QString(":/testfile3.xml"); } void tst_OpenSearchWriter::write() { QFETCH(QString, name); QFETCH(QString, description); QFETCH(QString, searchUrlTemplate); QFETCH(QString, suggestionsUrlTemplate); QFETCH(QString, imageUrl); QFETCH(OpenSearchEngine::Parameters, searchParameters); QFETCH(OpenSearchEngine::Parameters, suggestionsParameters); QFETCH(QString, searchMethod); QFETCH(QString, suggestionsMethod); QFETCH(QString, fileName); OpenSearchEngine engine; OpenSearchWriter writer; engine.setName(name); engine.setDescription(description); engine.setSearchUrlTemplate(searchUrlTemplate); engine.setSuggestionsUrlTemplate(suggestionsUrlTemplate); engine.setImageUrl(imageUrl); engine.setSearchParameters(searchParameters); engine.setSuggestionsParameters(suggestionsParameters); engine.setSearchMethod(searchMethod); engine.setSuggestionsMethod(suggestionsMethod); QByteArray output; QBuffer buffer(&output); writer.write(&buffer, &engine); QFile expected(fileName); expected.open(QIODevice::ReadOnly); QCOMPARE(output, expected.readAll()); } QTEST_MAIN(tst_OpenSearchWriter) #include "tst_opensearchwriter.moc" arora-0.11.0/autotests/qtest_arora.h000066400000000000000000000022251145000221100174100ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef QTEST_ARORA_H #define QTEST_ARORA_H #include #include #include "qtry.h" #undef QTEST_MAIN #define QTEST_MAIN(TestObject) \ int main(int argc, char *argv[]) \ { \ Q_INIT_RESOURCE(htmls); \ Q_INIT_RESOURCE(data); \ BrowserApplication app(argc, argv); \ TestObject tc; \ return QTest::qExec(&tc, argc, argv); \ } #endif arora-0.11.0/autotests/qtry.h000066400000000000000000000043251145000221100160660ustar00rootroot00000000000000/** * Copyright (c) 2008 - 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef QTRY_H #define QTRY_H #include #ifndef QTRY_COMPARE #define __TRY_TIMEOUT__ 5000 #define __TRY_STEP__ 50 #define __QTRY(__expression__, __functionToCall__) \ do { \ int __i = 0; \ while (!(__expression__) && __i < __TRY_TIMEOUT__) { \ QTest::qWait(__TRY_STEP__); \ __i += __TRY_STEP__; \ } \ __functionToCall__; \ } while (0) #define QTRY_COMPARE(__expression__, __expected__) \ __QTRY((__expression__ == __expected__), QCOMPARE(__expression__, __expected__)); #define QTRY_VERIFY(__expression__) \ __QTRY(__expression__, QVERIFY(__expression__)); #endif // QTRY_COMPARE #endif // QTRY_H arora-0.11.0/autotests/runTests.sh000077500000000000000000000005711145000221100171030ustar00rootroot00000000000000#!/bin/sh for directory in `ls -d */` do name=`basename $directory` if [ $name == "modeltest" ] then continue fi if [ $name == "downloadmanager" ] then continue fi cd $name if [ ! -f $name ] then printf "$name/$name is not compiled.\n" else ./$name -silent fi printf "\n" cd ../ donearora-0.11.0/autotests/searchlineedit/000077500000000000000000000000001145000221100176755ustar00rootroot00000000000000arora-0.11.0/autotests/searchlineedit/.gitignore000066400000000000000000000000171145000221100216630ustar00rootroot00000000000000searchlineedit arora-0.11.0/autotests/searchlineedit/searchlineedit.pro000066400000000000000000000001771145000221100234070ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../autotests.pri) # Input SOURCES += tst_searchlineedit.cpp arora-0.11.0/autotests/searchlineedit/tst_searchlineedit.cpp000066400000000000000000000036141145000221100242620ustar00rootroot00000000000000/* * Copyright 2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include class tst_SearchLineEdit : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void searchlineedit_data(); void searchlineedit(); }; // Subclass that exposes the protected functions. class SubSearchLineEdit : public SearchLineEdit { public:}; // This will be called before the first test function is executed. // It is only called once. void tst_SearchLineEdit::initTestCase() { } // This will be called after the last test function is executed. // It is only called once. void tst_SearchLineEdit::cleanupTestCase() { } // This will be called before each test function is executed. void tst_SearchLineEdit::init() { } // This will be called after every test function. void tst_SearchLineEdit::cleanup() { } void tst_SearchLineEdit::searchlineedit_data() { } void tst_SearchLineEdit::searchlineedit() { SubSearchLineEdit edit; QVERIFY(edit.clearButton() != 0); QVERIFY(edit.searchButton() != 0); } QTEST_MAIN(tst_SearchLineEdit) #include "tst_searchlineedit.moc" arora-0.11.0/autotests/tabbar/000077500000000000000000000000001145000221100161455ustar00rootroot00000000000000arora-0.11.0/autotests/tabbar/.gitignore000066400000000000000000000000071145000221100201320ustar00rootroot00000000000000tabbar arora-0.11.0/autotests/tabbar/tabbar.pro000066400000000000000000000002061145000221100201200ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . ../ include(../autotests.pri) # Input SOURCES += tst_tabbar.cpp HEADERS += arora-0.11.0/autotests/tabbar/tst_tabbar.cpp000066400000000000000000000107311145000221100210000ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include #include class tst_TabBar : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void tabbar_data(); void tabbar(); void showTabBarWhenOneTab_data(); void showTabBarWhenOneTab(); void tabSizeHint_data(); void tabSizeHint(); }; // Subclass that exposes the protected functions. class SubTabBar : public TabBar { public: void call_cloneTab(int index) { return SubTabBar::cloneTab(index); } void call_closeOtherTabs(int index) { return SubTabBar::closeOtherTabs(index); } void call_closeTab(int index) { return SubTabBar::closeTab(index); } void call_dragEnterEvent(QDragEnterEvent *event) { return SubTabBar::dragEnterEvent(event); } void call_dropEvent(QDropEvent *event) { return SubTabBar::dropEvent(event); } void call_mouseMoveEvent(QMouseEvent *event) { return SubTabBar::mouseMoveEvent(event); } void call_mousePressEvent(QMouseEvent *event) { return SubTabBar::mousePressEvent(event); } void call_newTab() { return SubTabBar::newTab(); } void call_reloadAllTabs() { return SubTabBar::reloadAllTabs(); } void call_reloadTab(int index) { return SubTabBar::reloadTab(index); } void call_tabLayoutChange() { return SubTabBar::tabLayoutChange(); } QSize call_tabSizeHint(int index) const { return SubTabBar::tabSizeHint(index); } }; // This will be called before the first test function is executed. // It is only called once. void tst_TabBar::initTestCase() { } // This will be called after the last test function is executed. // It is only called once. void tst_TabBar::cleanupTestCase() { } // This will be called before each test function is executed. void tst_TabBar::init() { } // This will be called after every test function. void tst_TabBar::cleanup() { } void tst_TabBar::tabbar_data() { } void tst_TabBar::tabbar() { SubTabBar bar; QCOMPARE(bar.showTabBarWhenOneTab(), true); bar.setShowTabBarWhenOneTab(false); QVERIFY(bar.viewTabBarAction() != 0); bar.call_tabLayoutChange(); } void tst_TabBar::showTabBarWhenOneTab_data() { QTest::addColumn("showTabBarWhenOneTab"); QTest::newRow("true") << false; QTest::newRow("false") << false; } // public bool showTabBarWhenOneTab() const void tst_TabBar::showTabBarWhenOneTab() { QFETCH(bool, showTabBarWhenOneTab); SubTabBar bar; bar.show(); bar.setShowTabBarWhenOneTab(showTabBarWhenOneTab); QAction *action = bar.viewTabBarAction(); QVERIFY(action); QCOMPARE(action->text(), (showTabBarWhenOneTab ? QString("Hide Tab Bar") : QString("Show Tab Bar"))); QCOMPARE(bar.showTabBarWhenOneTab(), showTabBarWhenOneTab); bar.addTab("one"); QCOMPARE(bar.count(), 1); QCOMPARE(bar.isVisible(), showTabBarWhenOneTab); bar.addTab("two"); QCOMPARE(bar.count(), 2); QCOMPARE(bar.isVisible(), true); QCOMPARE(action->text(), QString("Hide Tab Bar")); QCOMPARE(action->isEnabled(), false); bar.removeTab(0); QCOMPARE(bar.count(), 1); QCOMPARE(bar.isVisible(), showTabBarWhenOneTab); QCOMPARE(action->isEnabled(), true); QCOMPARE(action->text(), (showTabBarWhenOneTab ? QString("Hide Tab Bar") : QString("Show Tab Bar"))); } void tst_TabBar::tabSizeHint_data() { QTest::addColumn("index"); QTest::newRow("0") << 0; } // protected QSize tabSizeHint(int index) const void tst_TabBar::tabSizeHint() { QFETCH(int, index); SubTabBar bar; QVERIFY(bar.call_tabSizeHint(index).width() <= 250); } QTEST_MAIN(tst_TabBar) #include "tst_tabbar.moc" arora-0.11.0/autotests/tabwidget/000077500000000000000000000000001145000221100166645ustar00rootroot00000000000000arora-0.11.0/autotests/tabwidget/.gitignore000066400000000000000000000000121145000221100206450ustar00rootroot00000000000000tabwidget arora-0.11.0/autotests/tabwidget/tabwidget.pro000066400000000000000000000002111145000221100213520ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . ../ include(../autotests.pri) # Input SOURCES += tst_tabwidget.cpp HEADERS += arora-0.11.0/autotests/tabwidget/tst_tabwidget.cpp000066400000000000000000000457421145000221100222500ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include #include "qtest_arora.h" #include #include class tst_TabWidget : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void tabwidget_data(); void tabwidget(); void addWebAction_data(); void addWebAction(); void closeTab_data(); void closeTab(); void currentLocationBar_data(); void currentLocationBar(); void currentWebView_data(); void currentWebView(); void locationBarStack_data(); void locationBarStack(); void loadUrl_data(); void loadUrl(); void newTab_data(); void newTab(); void nextTab_data(); void nextTab(); void previousTab_data(); void previousTab(); void recentlyClosedTabsAction_data(); void recentlyClosedTabsAction(); void linkHovered_data(); void linkHovered(const QString &); void loadProgress_data(); void loadProgress(int); void setCurrentTitle_data(); void setCurrentTitle(const QString &); void showStatusBarMessage_data(); void showStatusBarMessage(const QString &); void tabsChanged_data(); void tabsChanged(); void saveState(); }; // Subclass that exposes the protected functions. class SubTabWidget : public TabWidget { public: void call_linkHovered(QString const &link) { return SubTabWidget::linkHovered(link); } void call_loadProgress(int progress) { return SubTabWidget::loadProgress(progress); } void call_setCurrentTitle(QString const &url) { return SubTabWidget::setCurrentTitle(url); } void call_showStatusBarMessage(QString const &message) { return SubTabWidget::showStatusBarMessage(message); } void call_tabsChanged() { return SubTabWidget::tabsChanged(); } }; // This will be called before the first test function is executed. // It is only called once. void tst_TabWidget::initTestCase() { } // This will be called after the last test function is executed. // It is only called once. void tst_TabWidget::cleanupTestCase() { } // This will be called before each test function is executed. void tst_TabWidget::init() { } // This will be called after every test function. void tst_TabWidget::cleanup() { } void tst_TabWidget::tabwidget_data() { } void tst_TabWidget::tabwidget() { SubTabWidget widget; widget.addWebAction((QAction*)0, QWebPage::Back); widget.closeTab(); QVERIFY(widget.closeTabAction()); widget.currentWebView(); widget.locationBarStack(); widget.loadUrl(QUrl()); widget.newTab(); QVERIFY(widget.newTabAction()); widget.nextTab(); QVERIFY(widget.nextTabAction()); widget.previousTab(); QVERIFY(widget.previousTabAction()); QVERIFY(widget.recentlyClosedTabsAction()); QVERIFY(widget.currentLocationBar()); } Q_DECLARE_METATYPE(QWebPage::WebAction) void tst_TabWidget::addWebAction_data() { QTest::addColumn("webAction"); QTest::newRow("back") << QWebPage::Back; } // public void addWebAction(QAction *action, QWebPage::WebAction webAction) void tst_TabWidget::addWebAction() { QFETCH(QWebPage::WebAction, webAction); SubTabWidget widget; QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &))); QSignalSpy spy2(&widget, SIGNAL(loadProgress(int))); QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &))); QSignalSpy spy4(&widget, SIGNAL(showStatusBarMessage(const QString &))); QSignalSpy spy5(&widget, SIGNAL(tabsChanged())); QSignalSpy spy6(&widget, SIGNAL(lastTabClosed())); QAction *action = new QAction(&widget); widget.addWebAction(action, webAction); widget.newTab(); QVERIFY(!action->isEnabled()); widget.loadUrl(QUrl("about:config")); QUrl url1(":/notfound.html"); //QUrl("http://www.google.com/")); QUrl url2(":/notfound2.html"); //QUrl("http://www.yahoo.com/")); widget.loadUrl(url1); widget.loadUrl(url2); QTRY_VERIFY(action->isEnabled()); widget.newTab(); QVERIFY(!action->isEnabled()); QCOMPARE(spy0.count(), 0); QVERIFY(spy2.count() > 0); QCOMPARE(spy3.count(), 8); QVERIFY(spy4.count() > 0); QCOMPARE(spy5.count(), 6); QCOMPARE(spy6.count(), 0); } void tst_TabWidget::closeTab_data() { QTest::addColumn("index"); QTest::newRow("null") << 0; } // public void closeTab(int index = -1) void tst_TabWidget::closeTab() { QFETCH(int, index); SubTabWidget widget; QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &))); QSignalSpy spy2(&widget, SIGNAL(loadProgress(int))); QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &))); QSignalSpy spy4(&widget, SIGNAL(showStatusBarMessage(const QString &))); QSignalSpy spy5(&widget, SIGNAL(tabsChanged())); QSignalSpy spy6(&widget, SIGNAL(lastTabClosed())); widget.closeTab(index); widget.newTab(); widget.newTab(); widget.loadUrl(QUrl("about:config")); widget.newTab(); qDebug() << "TODO"; return; QCOMPARE(spy0.count(), 0); QCOMPARE(spy2.count(), 4); QCOMPARE(spy3.count(), 2); QCOMPARE(spy4.count(), 4); QCOMPARE(spy5.count(), 0); QCOMPARE(spy6.count(), 0); } Q_DECLARE_METATYPE(QLineEdit*) void tst_TabWidget::currentLocationBar_data() { /* QTest::addColumn("currentLocationBar"); QTest::newRow("null") << QLineEdit*(); */ } // public QLineEdit *currentLocationBar() const void tst_TabWidget::currentLocationBar() { /* QFETCH(QLineEdit*, currentLocationBar); SubTabWidget widget; QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &))); QSignalSpy spy2(&widget, SIGNAL(loadProgress(int))); QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &))); QSignalSpy spy4(&widget, SIGNAL(showStatusBarMessage(const QString &))); QSignalSpy spy5(&widget, SIGNAL(tabsChanged())); QSignalSpy spy6(&widget, SIGNAL(lastTabClosed())); QCOMPARE(widget.currentLocationBar(), currentLocationBar); QCOMPARE(spy0.count(), 0); QCOMPARE(spy2.count(), 0); QCOMPARE(spy3.count(), 0); QCOMPARE(spy4.count(), 0); QCOMPARE(spy5.count(), 0); QCOMPARE(spy6.count(), 0); */ QSKIP("Test is not implemented.", SkipAll); } Q_DECLARE_METATYPE(WebView*) void tst_TabWidget::currentWebView_data() { /* QTest::addColumn("currentWebView"); QTest::newRow("null") << WebView*(); */ } // public WebView *currentWebView() const void tst_TabWidget::currentWebView() { /* QFETCH(WebView*, currentWebView); SubTabWidget widget; QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &))); QSignalSpy spy2(&widget, SIGNAL(loadProgress(int))); QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &))); QSignalSpy spy4(&widget, SIGNAL(showStatusBarMessage(const QString &))); QSignalSpy spy5(&widget, SIGNAL(tabsChanged())); QSignalSpy spy6(&widget, SIGNAL(lastTabClosed())); QCOMPARE(widget.currentWebView(), currentWebView); QCOMPARE(spy0.count(), 0); QCOMPARE(spy2.count(), 0); QCOMPARE(spy3.count(), 0); QCOMPARE(spy4.count(), 0); QCOMPARE(spy5.count(), 0); QCOMPARE(spy6.count(), 0); */ QSKIP("Test is not implemented.", SkipAll); } Q_DECLARE_METATYPE(QWidget*) void tst_TabWidget::locationBarStack_data() { /* QTest::addColumn("locationBarStack"); QTest::newRow("null") << QWidget*(); */ } // public QWidget *locationBarStack() const void tst_TabWidget::locationBarStack() { /* QFETCH(QWidget*, locationBarStack); SubTabWidget widget; QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &))); QSignalSpy spy2(&widget, SIGNAL(loadProgress(int))); QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &))); QSignalSpy spy4(&widget, SIGNAL(showStatusBarMessage(const QString &))); QSignalSpy spy5(&widget, SIGNAL(tabsChanged())); QSignalSpy spy6(&widget, SIGNAL(lastTabClosed())); QCOMPARE(widget.locationBarStack(), locationBarStack); QCOMPARE(spy0.count(), 0); QCOMPARE(spy2.count(), 0); QCOMPARE(spy3.count(), 0); QCOMPARE(spy4.count(), 0); QCOMPARE(spy5.count(), 0); QCOMPARE(spy6.count(), 0); */ QSKIP("Test is not implemented.", SkipAll); } void tst_TabWidget::loadUrl_data() { QTest::addColumn("url"); QTest::newRow("null") << QUrl(); } // public void loadUrl(QUrl const &url) void tst_TabWidget::loadUrl() { /* QFETCH(QUrl, url); SubTabWidget widget; QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &))); QSignalSpy spy2(&widget, SIGNAL(loadProgress(int))); QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &))); QSignalSpy spy4(&widget, SIGNAL(showStatusBarMessage(const QString &))); QSignalSpy spy5(&widget, SIGNAL(tabsChanged())); QSignalSpy spy6(&widget, SIGNAL(lastTabClosed())); widget.loadUrl(url); QCOMPARE(spy0.count(), 0); QCOMPARE(spy2.count(), 0); QCOMPARE(spy3.count(), 0); QCOMPARE(spy4.count(), 0); QCOMPARE(spy5.count(), 0); QCOMPARE(spy6.count(), 0); */ QSKIP("Test is not implemented.", SkipAll); } void tst_TabWidget::newTab_data() { QTest::addColumn("foo"); QTest::newRow("null") << 0; } // public void newTab() void tst_TabWidget::newTab() { /* QFETCH(int, foo); SubTabWidget widget; QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &))); QSignalSpy spy2(&widget, SIGNAL(loadProgress(int))); QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &))); QSignalSpy spy4(&widget, SIGNAL(showStatusBarMessage(const QString &))); QSignalSpy spy5(&widget, SIGNAL(tabsChanged())); QSignalSpy spy6(&widget, SIGNAL(lastTabClosed())); widget.newTab(); QCOMPARE(spy0.count(), 0); QCOMPARE(spy2.count(), 0); QCOMPARE(spy3.count(), 0); QCOMPARE(spy4.count(), 0); QCOMPARE(spy5.count(), 0); QCOMPARE(spy6.count(), 0); */ QSKIP("Test is not implemented.", SkipAll); } void tst_TabWidget::nextTab_data() { QTest::addColumn("foo"); QTest::newRow("null") << 0; } // public void nextTab() void tst_TabWidget::nextTab() { /* QFETCH(int, foo); SubTabWidget widget; QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &))); QSignalSpy spy2(&widget, SIGNAL(loadProgress(int))); QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &))); QSignalSpy spy4(&widget, SIGNAL(showStatusBarMessage(const QString &))); QSignalSpy spy5(&widget, SIGNAL(tabsChanged())); QSignalSpy spy6(&widget, SIGNAL(lastTabClosed())); widget.nextTab(); QCOMPARE(spy0.count(), 0); QCOMPARE(spy2.count(), 0); QCOMPARE(spy3.count(), 0); QCOMPARE(spy4.count(), 0); QCOMPARE(spy5.count(), 0); QCOMPARE(spy6.count(), 0); */ QSKIP("Test is not implemented.", SkipAll); } void tst_TabWidget::previousTab_data() { QTest::addColumn("foo"); QTest::newRow("null") << 0; } // public void previousTab() void tst_TabWidget::previousTab() { /* QFETCH(int, foo); SubTabWidget widget; QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &))); QSignalSpy spy2(&widget, SIGNAL(loadProgress(int))); QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &))); QSignalSpy spy4(&widget, SIGNAL(showStatusBarMessage(const QString &))); QSignalSpy spy5(&widget, SIGNAL(tabsChanged())); QSignalSpy spy6(&widget, SIGNAL(lastTabClosed())); widget.previousTab(); QCOMPARE(spy0.count(), 0); QCOMPARE(spy2.count(), 0); QCOMPARE(spy3.count(), 0); QCOMPARE(spy4.count(), 0); QCOMPARE(spy5.count(), 0); QCOMPARE(spy6.count(), 0); */ QSKIP("Test is not implemented.", SkipAll); } void tst_TabWidget::recentlyClosedTabsAction_data() { /* QTest::addColumn("recentlyClosedTabsAction"); QTest::newRow("null") << QAction*(); */ } // public QAction *recentlyClosedTabsAction() const void tst_TabWidget::recentlyClosedTabsAction() { /* QFETCH(QAction*, recentlyClosedTabsAction); SubTabWidget widget; QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &))); QSignalSpy spy2(&widget, SIGNAL(loadProgress(int))); QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &))); QSignalSpy spy4(&widget, SIGNAL(showStatusBarMessage(const QString &))); QSignalSpy spy5(&widget, SIGNAL(tabsChanged())); QSignalSpy spy6(&widget, SIGNAL(lastTabClosed())); QCOMPARE(widget.recentlyClosedTabsAction(), recentlyClosedTabsAction); QCOMPARE(spy0.count(), 0); QCOMPARE(spy2.count(), 0); QCOMPARE(spy3.count(), 0); QCOMPARE(spy4.count(), 0); QCOMPARE(spy5.count(), 0); QCOMPARE(spy6.count(), 0); */ QSKIP("Test is not implemented.", SkipAll); } void tst_TabWidget::linkHovered_data() { QTest::addColumn("link"); QTest::newRow("null") << QString("foo"); } // protected void linkHovered(QString const &link) void tst_TabWidget::linkHovered(const QString &) { /* QFETCH(QString, link); SubTabWidget widget; QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &))); QSignalSpy spy2(&widget, SIGNAL(loadProgress(int))); QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &))); QSignalSpy spy4(&widget, SIGNAL(showStatusBarMessage(const QString &))); QSignalSpy spy5(&widget, SIGNAL(tabsChanged())); QSignalSpy spy6(&widget, SIGNAL(lastTabClosed())); widget.call_linkHovered(link); QCOMPARE(spy0.count(), 0); QCOMPARE(spy2.count(), 0); QCOMPARE(spy3.count(), 0); QCOMPARE(spy4.count(), 0); QCOMPARE(spy5.count(), 0); QCOMPARE(spy6.count(), 0); */ QSKIP("Test is not implemented.", SkipAll); } void tst_TabWidget::loadProgress_data() { QTest::addColumn("progress"); QTest::newRow("null") << 0; } // protected void loadProgress(int progress) void tst_TabWidget::loadProgress(int) { /* QFETCH(int, progress); SubTabWidget widget; QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &))); QSignalSpy spy2(&widget, SIGNAL(loadProgress(int))); QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &))); QSignalSpy spy4(&widget, SIGNAL(showStatusBarMessage(const QString &))); QSignalSpy spy5(&widget, SIGNAL(tabsChanged())); QSignalSpy spy6(&widget, SIGNAL(lastTabClosed())); widget.call_loadProgress(progress); QCOMPARE(spy0.count(), 0); QCOMPARE(spy2.count(), 0); QCOMPARE(spy3.count(), 0); QCOMPARE(spy4.count(), 0); QCOMPARE(spy5.count(), 0); QCOMPARE(spy6.count(), 0); */ QSKIP("Test is not implemented.", SkipAll); } void tst_TabWidget::setCurrentTitle_data() { QTest::addColumn("url"); QTest::newRow("null") << QString("foo"); } // protected void setCurrentTitle(QString const &url) void tst_TabWidget::setCurrentTitle(const QString &) { /* QFETCH(QString, url); SubTabWidget widget; QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &))); QSignalSpy spy2(&widget, SIGNAL(loadProgress(int))); QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &))); QSignalSpy spy4(&widget, SIGNAL(showStatusBarMessage(const QString &))); QSignalSpy spy5(&widget, SIGNAL(tabsChanged())); QSignalSpy spy6(&widget, SIGNAL(lastTabClosed())); widget.call_setCurrentTitle(url); QCOMPARE(spy0.count(), 0); QCOMPARE(spy2.count(), 0); QCOMPARE(spy3.count(), 0); QCOMPARE(spy4.count(), 0); QCOMPARE(spy5.count(), 0); QCOMPARE(spy6.count(), 0); */ QSKIP("Test is not implemented.", SkipAll); } void tst_TabWidget::showStatusBarMessage_data() { QTest::addColumn("message"); QTest::newRow("null") << QString("foo"); } // protected void showStatusBarMessage(QString const &message) void tst_TabWidget::showStatusBarMessage(const QString &) { /* QFETCH(QString, message); SubTabWidget widget; QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &))); QSignalSpy spy2(&widget, SIGNAL(loadProgress(int))); QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &))); QSignalSpy spy4(&widget, SIGNAL(showStatusBarMessage(const QString &))); QSignalSpy spy5(&widget, SIGNAL(tabsChanged())); QSignalSpy spy6(&widget, SIGNAL(lastTabClosed())); widget.call_showStatusBarMessage(message); QCOMPARE(spy0.count(), 0); QCOMPARE(spy2.count(), 0); QCOMPARE(spy3.count(), 0); QCOMPARE(spy4.count(), 0); QCOMPARE(spy5.count(), 0); QCOMPARE(spy6.count(), 0); */ QSKIP("Test is not implemented.", SkipAll); } void tst_TabWidget::tabsChanged_data() { QTest::addColumn("foo"); QTest::newRow("null") << 0; } // protected void tabsChanged() void tst_TabWidget::tabsChanged() { /* QFETCH(int, foo); SubTabWidget widget; QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &))); QSignalSpy spy2(&widget, SIGNAL(loadProgress(int))); QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &))); QSignalSpy spy4(&widget, SIGNAL(showStatusBarMessage(const QString &))); QSignalSpy spy5(&widget, SIGNAL(tabsChanged())); QSignalSpy spy6(&widget, SIGNAL(lastTabClosed())); widget.call_tabsChanged(); QCOMPARE(spy0.count(), 0); QCOMPARE(spy2.count(), 0); QCOMPARE(spy3.count(), 0); QCOMPARE(spy4.count(), 0); QCOMPARE(spy5.count(), 0); QCOMPARE(spy6.count(), 0); */ QSKIP("Test is not implemented.", SkipAll); } void tst_TabWidget::saveState() { SubTabWidget widget; widget.newTab(); QCOMPARE(widget.count(), 1); QUrl url = QUrl("data:text/html;base32,Hello%20World"); widget.loadUrl(url, TabWidget::CurrentTab); QCOMPARE(widget.count(), 1); QCOMPARE(widget.webView(0)->url(), url); widget.loadUrl(url, TabWidget::NewTab); QCOMPARE(widget.count(), 2); QCOMPARE(widget.webView(1)->url(), url); QByteArray state = widget.saveState(); widget.closeTab(); QCOMPARE(widget.count(), 1); widget.closeTab(); QCOMPARE(widget.count(), 0); widget.newTab(); widget.restoreState(state); QCOMPARE(widget.count(), 2); QVERIFY(widget.webView(0)); QCOMPARE(widget.webView(0)->url(), url); QVERIFY(widget.webView(1)); QCOMPARE(widget.webView(1)->url(), url); widget.closeTab(); widget.closeTab(); } QTEST_MAIN(tst_TabWidget) #include "tst_tabwidget.moc" arora-0.11.0/autotests/utils/000077500000000000000000000000001145000221100160525ustar00rootroot00000000000000arora-0.11.0/autotests/utils/editlistview/000077500000000000000000000000001145000221100205665ustar00rootroot00000000000000arora-0.11.0/autotests/utils/editlistview/.gitignore000066400000000000000000000000151145000221100225520ustar00rootroot00000000000000editlistview arora-0.11.0/autotests/utils/editlistview/editlistview.pro000066400000000000000000000002751145000221100240300ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../../autotests.pri) # Input SOURCES = tst_editlistview.cpp editlistview.cpp HEADERS = editlistview.h FORMS = RESOURCES = arora-0.11.0/autotests/utils/editlistview/tst_editlistview.cpp000066400000000000000000000100761145000221100247040ustar00rootroot00000000000000/* * Copyright 2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include #include class tst_EditListView : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void editlistview_data(); void editlistview(); void keyPressEvent_data(); void keyPressEvent(); void removeAll_data(); void removeAll(); void removeSelected_data(); void removeSelected(); }; // Subclass that exposes the protected functions. class SubEditListView : public EditListView { public: }; // This will be called before the first test function is executed. // It is only called once. void tst_EditListView::initTestCase() { } // This will be called after the last test function is executed. // It is only called once. void tst_EditListView::cleanupTestCase() { } // This will be called before each test function is executed. void tst_EditListView::init() { } // This will be called after every test function. void tst_EditListView::cleanup() { } void tst_EditListView::editlistview_data() { } Q_DECLARE_METATYPE(Qt::Key) void tst_EditListView::editlistview() { SubEditListView view; QTest::keyClick(&view, Qt::Key_Delete); QTest::keyClick(&view, Qt::Key_R); view.removeAll(); view.removeSelected(); } void tst_EditListView::keyPressEvent_data() { QTest::addColumn("key"); QTest::addColumn("predata"); QTest::addColumn("postdata"); QStringList predata; predata << "a"; QTest::newRow("R") << Qt::Key_R << predata << predata; QTest::newRow("delete") << Qt::Key_Delete << predata << QStringList(); } // public void keyPressEvent(QKeyEvent *event) void tst_EditListView::keyPressEvent() { QFETCH(Qt::Key, key); QFETCH(QStringList, predata); QFETCH(QStringList, postdata); SubEditListView view; QStringListModel *model = new QStringListModel(predata); view.setModel(model); view.setCurrentIndex(model->index(0, 0)); QTest::keyClick(&view, key); QCOMPARE(model->stringList(), postdata); } void tst_EditListView::removeAll_data() { QTest::addColumn("data"); QTest::newRow("0") << QStringList(); QTest::newRow("3") << (QStringList() << "x" << "y" << "z"); } // public void removeAll() void tst_EditListView::removeAll() { QFETCH(QStringList, data); SubEditListView view; view.setModel(new QStringListModel(data)); view.removeAll(); QCOMPARE(view.model()->rowCount(), 0); } void tst_EditListView::removeSelected_data() { QTest::addColumn("key"); QTest::addColumn("predata"); QTest::addColumn("postdata"); QStringList predata; predata << "a"; QTest::newRow("R") << Qt::Key_R << predata << predata; QTest::newRow("delete") << Qt::Key_Delete << predata << QStringList(); } // public void removeSelected() void tst_EditListView::removeSelected() { QFETCH(Qt::Key, key); QFETCH(QStringList, predata); QFETCH(QStringList, postdata); SubEditListView view; QStringListModel *model = new QStringListModel(predata); view.setModel(model); view.setCurrentIndex(model->index(0, 0)); QTest::keyClick(&view, key); QCOMPARE(model->stringList(), postdata); } QTEST_MAIN(tst_EditListView) #include "tst_editlistview.moc" arora-0.11.0/autotests/utils/edittreeview/000077500000000000000000000000001145000221100205525ustar00rootroot00000000000000arora-0.11.0/autotests/utils/edittreeview/.gitignore000066400000000000000000000000151145000221100225360ustar00rootroot00000000000000edittreeview arora-0.11.0/autotests/utils/edittreeview/edittreeview.pro000066400000000000000000000003011145000221100237660ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . ../ include(../../autotests.pri) # Input SOURCES = tst_edittreeview.cpp edittreeview.cpp HEADERS = edittreeview.h FORMS = RESOURCES = arora-0.11.0/autotests/utils/edittreeview/tst_edittreeview.cpp000066400000000000000000000115431145000221100246540ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include #include class tst_EditTreeView : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void edittreeview_data(); void edittreeview(); void keyPressEvent_data(); void keyPressEvent(); void removeAll(); void removeSelected_data(); void removeSelected(); }; // Subclass that exposes the protected functions. class SubEditTreeView : public EditTreeView { public: void addModel() { QStandardItemModel *model = new QStandardItemModel(this); QStandardItem *parentItem = model->invisibleRootItem(); for (int i = 0; i < 4; ++i) { QStandardItem *item = 0; for (int j = 0; j < 4; ++j) { item = new QStandardItem(QString("item %0").arg(j)); parentItem->appendRow(item); } parentItem = item; } setModel(model); } }; // This will be called before the first test function is executed. // It is only called once. void tst_EditTreeView::initTestCase() { } // This will be called after the last test function is executed. // It is only called once. void tst_EditTreeView::cleanupTestCase() { } // This will be called before each test function is executed. void tst_EditTreeView::init() { } // This will be called after every test function. void tst_EditTreeView::cleanup() { } void tst_EditTreeView::edittreeview_data() { } void tst_EditTreeView::edittreeview() { SubEditTreeView view; QTest::keyClick(&view, Qt::Key_Space); QTest::keyClick(&view, Qt::Key_Delete); view.removeAll(); view.removeSelected(); } Q_DECLARE_METATYPE(Qt::Key) void tst_EditTreeView::keyPressEvent_data() { QTest::addColumn("key"); QTest::newRow("space") << Qt::Key_Space; QTest::newRow("delete") << Qt::Key_Delete; } // public void keyPressEvent(QKeyEvent *event) void tst_EditTreeView::keyPressEvent() { QFETCH(Qt::Key, key); SubEditTreeView view; view.addModel(); QModelIndex idx = view.model()->index(0, 0); view.selectionModel()->select(idx, QItemSelectionModel::SelectCurrent); int oldCount = view.model()->rowCount(); QTest::keyClick(&view, key); if (key == Qt::Key_Delete) QCOMPARE(oldCount - 1, view.model()->rowCount()); else QCOMPARE(oldCount, view.model()->rowCount()); } // public void removeAll() void tst_EditTreeView::removeAll() { SubEditTreeView view; view.addModel(); view.removeAll(); QCOMPARE(view.model()->rowCount(), 0); } typedef QList IntList; Q_DECLARE_METATYPE(IntList) void tst_EditTreeView::removeSelected_data() { QTest::addColumn("selectParent"); QTest::addColumn("select"); QTest::addColumn("upParent"); QTest::addColumn("isSelected"); QTest::newRow("first in list") << 3 << (IntList() << 0) << false << 0; QTest::newRow("last in list") << 3 << (IntList() << 3) << false << 2; QTest::newRow("all in list") << 3 << (IntList() << 0 << 1 << 2 << 3) << true << 3; } // public void removeSelected() void tst_EditTreeView::removeSelected() { QFETCH(int, selectParent); QFETCH(IntList, select); QFETCH(bool, upParent); QFETCH(int, isSelected); SubEditTreeView view; view.show(); view.addModel(); QAbstractItemModel *model = view.model(); view.expandAll(); QModelIndex parent = model->index(selectParent, 0); while (!select.isEmpty()) { QModelIndex idx = model->index(select.takeLast(), 0, parent); view.selectionModel()->select(idx, QItemSelectionModel::SelectCurrent | QItemSelectionModel::Rows); view.setCurrentIndex(idx); view.removeSelected(); } if (upParent) parent = parent.parent(); QModelIndex idx = model->index(isSelected, 0, parent); QCOMPARE(view.currentIndex(), idx); QCOMPARE(view.selectionModel()->selectedRows().count(), 1); QCOMPARE(view.selectionModel()->selectedRows().first(), idx); } QTEST_MAIN(tst_EditTreeView) #include "tst_edittreeview.moc" arora-0.11.0/autotests/utils/languagemanager/000077500000000000000000000000001145000221100211705ustar00rootroot00000000000000arora-0.11.0/autotests/utils/languagemanager/.gitignore000066400000000000000000000000201145000221100231500ustar00rootroot00000000000000languagemanager arora-0.11.0/autotests/utils/languagemanager/languagemanager.pro000066400000000000000000000003621145000221100250310ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . ../ include(../../autotests.pri) include(../../../src/locale/locale.pri) # Input SOURCES = languagemanager.cpp tst_languagemanager.cpp HEADERS = languagemanager.h FORMS = RESOURCES = arora-0.11.0/autotests/utils/languagemanager/tst_languagemanager.cpp000066400000000000000000000144641145000221100257150ustar00rootroot00000000000000/** * Copyright (c) 2008, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include #include #include #include class tst_LanguageManager : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void languagemanager_data(); void languagemanager(); void isLanguageAvailable_data(); void isLanguageAvailable(); void chooseNewLanguage_data(); void chooseNewLanguage(); void setCurrentLanguage_data(); void setCurrentLanguage(); }; // Subclass that exposes the protected functions. class SubLanguageManager : public LanguageManager { public: SubLanguageManager() : LanguageManager() { addLocaleDirectory(qApp->applicationDirPath() + QLatin1String("/.qm/locale")); } }; class TestWidget : public QWidget { public: void changeEvent(QEvent *event) { if (event->type() == QEvent::LanguageChange) retranslate = true; QWidget::changeEvent(event); } bool retranslate; }; // This will be called before the first test function is executed. // It is only called once. void tst_LanguageManager::initTestCase() { } // This will be called after the last test function is executed. // It is only called once. void tst_LanguageManager::cleanupTestCase() { } // This will be called before each test function is executed. void tst_LanguageManager::init() { SubLanguageManager manager; manager.setCurrentLanguage(QString()); } // This will be called after every test function. void tst_LanguageManager::cleanup() { } void tst_LanguageManager::languagemanager_data() { } void tst_LanguageManager::languagemanager() { SubLanguageManager manager; manager.languages(); // spawns an event loop... // manager.chooseNewLanguage(); QString fallbackLanguage; if (manager.isLanguageAvailable(QLocale::system().name())) fallbackLanguage = QLocale::system().name(); QCOMPARE(manager.currentLanguage(), fallbackLanguage); manager.setCurrentLanguage(QString()); } void tst_LanguageManager::isLanguageAvailable_data() { QTest::addColumn("language"); QTest::addColumn("available"); QTest::newRow("null") << QString() << true; QTest::newRow("fallback0") << "ca_ES" << true; QTest::newRow("fallback1") << "ca_ES.UTF-8" << true; QTest::newRow("fallback2") << "de_AT" << true; } void tst_LanguageManager::isLanguageAvailable() { QFETCH(QString, language); QFETCH(bool, available); SubLanguageManager manager; QCOMPARE(manager.isLanguageAvailable(language), available); } void tst_LanguageManager::chooseNewLanguage_data() { QTest::addColumn("foo"); QTest::newRow("null") << 0; } // public void chooseNewLanguage() void tst_LanguageManager::chooseNewLanguage() { // how do you test this? #if 0 QFETCH(int, foo); SubLanguageManager manager; manager.chooseNewLanguage(); #endif QSKIP("Test is not implemented.", SkipAll); } void tst_LanguageManager::setCurrentLanguage_data() { SubLanguageManager manager; QString fallbackLanguage; if (manager.isLanguageAvailable(QLocale::system().name())) fallbackLanguage = QLocale::system().name(); QTest::addColumn("language"); QTest::addColumn("success"); QTest::addColumn("result"); QTest::newRow("null-foo") << QString("foo") << false << fallbackLanguage; QTest::newRow("null-null") << QString() << false << fallbackLanguage; QString validLanguage = manager.languages().value(0); if (validLanguage.isEmpty()) QSKIP("no languages to test with", SkipAll); QTest::newRow(validLanguage.toLatin1()) << validLanguage << true << validLanguage; QTest::newRow("fallback") << "ca_ES" << true << "ca_ES"; } // public void setCurrentLanguage(QString const &language) void tst_LanguageManager::setCurrentLanguage() { QFETCH(QString, language); QFETCH(bool, success); QFETCH(QString, result); SubLanguageManager manager; QString initialLanguage = manager.currentLanguage(); QSignalSpy spy(&manager, SIGNAL(languageChanged(const QString &))); TestWidget widget; widget.retranslate = false; QCOMPARE(manager.setCurrentLanguage(language), success); QCOMPARE(manager.currentLanguage(), result); // test if we set the default locale properly // this is essential for opensearch localization QLocale currentLocale(manager.currentLanguage()); if (manager.currentLanguage().isEmpty()) currentLocale = QLocale(); QCOMPARE(currentLocale, QLocale()); qApp->processEvents(); QCOMPARE(widget.retranslate, success); QCOMPARE(spy.count(), success ? 1 : 0); if (success) { QVERIFY(manager.setCurrentLanguage(QString())); QCOMPARE(spy.count(), 2); } } QTEST_MAIN(tst_LanguageManager) #include "tst_languagemanager.moc" arora-0.11.0/autotests/utils/lineedit/000077500000000000000000000000001145000221100176475ustar00rootroot00000000000000arora-0.11.0/autotests/utils/lineedit/.gitignore000066400000000000000000000000111145000221100216270ustar00rootroot00000000000000lineedit arora-0.11.0/autotests/utils/lineedit/lineedit.pro000066400000000000000000000002761145000221100221730ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../../autotests.pri) # Input SOURCES = tst_lineedit.cpp lineedit.cpp HEADERS = lineedit.h lineedit_p.h FORMS = RESOURCES = arora-0.11.0/autotests/utils/lineedit/tst_lineedit.cpp000066400000000000000000000120221145000221100230370ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include #include class tst_LineEdit : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void lineedit_data(); void lineedit(); void addWidget_data(); void addWidget(); void removeWidget(); void setWidgetSpacing_data(); void setWidgetSpacing(); void textMargin_data(); void textMargin(); void inactiveText_data(); void inactiveText(); }; // Subclass that exposes the protected functions. class SubLineEdit : public LineEdit { public: void call_resizeEvent(QResizeEvent *event) { return SubLineEdit::resizeEvent(event); } }; // This will be called before the first test function is executed. // It is only called once. void tst_LineEdit::initTestCase() { } // This will be called after the last test function is executed. // It is only called once. void tst_LineEdit::cleanupTestCase() { } // This will be called before each test function is executed. void tst_LineEdit::init() { } // This will be called after every test function. void tst_LineEdit::cleanup() { } void tst_LineEdit::lineedit_data() { } void tst_LineEdit::lineedit() { SubLineEdit edit; edit.addWidget((QWidget*)0, LineEdit::LeftSide); edit.addWidget((QWidget*)0, LineEdit::RightSide); edit.removeWidget((QWidget*)0); QCOMPARE(edit.widgetSpacing(), 3); edit.setWidgetSpacing(-1); QCOMPARE(edit.textMargin(LineEdit::LeftSide), 0); QCOMPARE(edit.textMargin(LineEdit::RightSide), 0); } Q_DECLARE_METATYPE(LineEdit::WidgetPosition) void tst_LineEdit::addWidget_data() { QTest::addColumn("position"); QTest::addColumn("spacing"); for (int i = 0; i < 4; ++i) { QTest::newRow("left") << LineEdit::LeftSide << i; QTest::newRow("right") << LineEdit::RightSide << i; } } // public void addWidget(QWidget *widget, LineEdit::WidgetPosition position) void tst_LineEdit::addWidget() { QFETCH(LineEdit::WidgetPosition, position); QFETCH(int, spacing); LineEdit::WidgetPosition other = position == LineEdit::LeftSide ? LineEdit::RightSide : LineEdit::LeftSide; SubLineEdit edit; edit.setWidgetSpacing(spacing); QToolButton *button = new QToolButton; button->setMinimumSize(10, 10); button->setMaximumSize(10, 10); edit.addWidget(button, position); edit.show(); spacing = edit.widgetSpacing(); QCOMPARE(edit.textMargin(position), 10 + spacing * 2); QCOMPARE(edit.textMargin(other), 0); edit.removeWidget(button); qApp->processEvents(); QCOMPARE(edit.textMargin(position), 0); } // public void removeWidget(QWidget *widget) void tst_LineEdit::removeWidget() { SubLineEdit edit; QToolButton *button = new QToolButton; edit.addWidget(button, LineEdit::LeftSide); edit.show(); QVERIFY(edit.textMargin(LineEdit::LeftSide) != 0); edit.removeWidget(button); qApp->processEvents(); QVERIFY(edit.textMargin(LineEdit::LeftSide) == 0); } void tst_LineEdit::setWidgetSpacing_data() { QTest::addColumn("spacing"); QTest::newRow("0") << 0; QTest::newRow("1") << 1; QTest::newRow("2") << 2; } // public void setWidgetSpacing(int spacing) void tst_LineEdit::setWidgetSpacing() { QFETCH(int, spacing); SubLineEdit edit; edit.setWidgetSpacing(spacing); QCOMPARE(edit.widgetSpacing(), spacing); } void tst_LineEdit::textMargin_data() { QTest::addColumn("position"); QTest::addColumn("textMargin"); QTest::newRow("null") << LineEdit::LeftSide << 0; } // public int textMargin(LineEdit::WidgetPosition position) const void tst_LineEdit::textMargin() { QFETCH(LineEdit::WidgetPosition, position); QFETCH(int, textMargin); SubLineEdit edit; QCOMPARE(edit.textMargin(position), textMargin); } void tst_LineEdit::inactiveText_data() { QTest::addColumn("inactiveText"); QTest::newRow("foo") << QString("foo"); } // public QString inactiveText() const void tst_LineEdit::inactiveText() { QFETCH(QString, inactiveText); SubLineEdit edit; edit.setInactiveText(inactiveText); QCOMPARE(edit.inactiveText(), inactiveText); } QTEST_MAIN(tst_LineEdit) #include "tst_lineedit.moc" arora-0.11.0/autotests/utils/networkaccessmanagerproxy/000077500000000000000000000000001145000221100233625ustar00rootroot00000000000000arora-0.11.0/autotests/utils/networkaccessmanagerproxy/.gitignore000066400000000000000000000000321145000221100253450ustar00rootroot00000000000000networkaccessmanagerproxy arora-0.11.0/autotests/utils/networkaccessmanagerproxy/networkaccessmanagerproxy.pro000066400000000000000000000004421145000221100314140ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../../autotests.pri) # Input SOURCES = tst_networkaccessmanagerproxy.cpp networkaccessmanagerproxy.cpp webpageproxy.cpp HEADERS = networkaccessmanagerproxy.h networkaccessmanagerproxy_p.h webpageproxy.h FORMS = RESOURCES = arora-0.11.0/autotests/utils/networkaccessmanagerproxy/tst_networkaccessmanagerproxy.cpp000066400000000000000000000102471145000221100322740ustar00rootroot00000000000000/* * Copyright 2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include #include #include #include #include class tst_NetworkAccessManagerProxy : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void networkaccessmanagerproxy_data(); void networkaccessmanagerproxy(); void primaryNetworkAccessManager(); void webPage(); void createRequest_data(); void createRequest(); }; // Subclass that exposes the protected functions. class SubNetworkAccessManagerProxy : public NetworkAccessManagerProxy { public: QNetworkReply *call_createRequest(QNetworkAccessManager::Operation op, QNetworkRequest const &request, QIODevice *outgoingData = 0) { return SubNetworkAccessManagerProxy::createRequest(op, request, outgoingData); } }; // This will be called before the first test function is executed. // It is only called once. void tst_NetworkAccessManagerProxy::initTestCase() { } // This will be called after the last test function is executed. // It is only called once. void tst_NetworkAccessManagerProxy::cleanupTestCase() { } // This will be called before each test function is executed. void tst_NetworkAccessManagerProxy::init() { } // This will be called after every test function. void tst_NetworkAccessManagerProxy::cleanup() { } void tst_NetworkAccessManagerProxy::networkaccessmanagerproxy_data() { } void tst_NetworkAccessManagerProxy::networkaccessmanagerproxy() { SubNetworkAccessManagerProxy proxy; QVERIFY(proxy.call_createRequest(QNetworkAccessManager::GetOperation, QNetworkRequest(), (QIODevice*)0)); } // public void setPrimaryNetworkAccessManager(NetworkAccessManagerProxy *primaryManager) void tst_NetworkAccessManagerProxy::primaryNetworkAccessManager() { SubNetworkAccessManagerProxy proxy; NetworkAccessManagerProxy primaryManager; proxy.setPrimaryNetworkAccessManager(&primaryManager); QCOMPARE(&primaryManager, proxy.primaryNetworkAccessManager()); QVERIFY(primaryManager.cookieJar()->parent() == &primaryManager); } // public void setWebPage(WebPageProxy *page) void tst_NetworkAccessManagerProxy::webPage() { SubNetworkAccessManagerProxy proxy; WebPageProxy webPage; proxy.setWebPage(&webPage); QCOMPARE(&webPage, proxy.webPage()); } void tst_NetworkAccessManagerProxy::createRequest_data() { QTest::addColumn("primary"); QTest::newRow("true") << true; QTest::newRow("false") << false; } // protected QNetworkReply *createRequest(QNetworkAccessManager::Operation op, QNetworkRequest const &request, QIODevice *outgoingData = 0) void tst_NetworkAccessManagerProxy::createRequest() { QFETCH(bool, primary); SubNetworkAccessManagerProxy proxy; SubNetworkAccessManagerProxy primaryManager; WebPageProxy webPage; if (!primary) { proxy.setPrimaryNetworkAccessManager(&primaryManager); proxy.setWebPage(&webPage); } QIODevice *outgoingData = 0; QNetworkRequest request; QNetworkReply *reply = proxy.call_createRequest(QNetworkAccessManager::GetOperation, request, outgoingData); QVERIFY(reply); if (primary) QCOMPARE(reply->request(), request); else QVERIFY(reply->request() != request); } QTEST_MAIN(tst_NetworkAccessManagerProxy) #include "tst_networkaccessmanagerproxy.moc" arora-0.11.0/autotests/utils/utils.pro000066400000000000000000000001741145000221100177360ustar00rootroot00000000000000TEMPLATE = subdirs SUBDIRS = \ editlistview \ edittreeview \ languagemanager \ lineedit CONFIG += ordered arora-0.11.0/autotests/utils/webpageproxy/000077500000000000000000000000001145000221100205665ustar00rootroot00000000000000arora-0.11.0/autotests/utils/webpageproxy/.gitignore000066400000000000000000000000151145000221100225520ustar00rootroot00000000000000webpageproxy arora-0.11.0/autotests/utils/webpageproxy/tst_webpageproxy.cpp000066400000000000000000000051631145000221100247050ustar00rootroot00000000000000/* * Copyright 2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include #include class tst_WebPageProxy : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void webpageproxy_data(); void webpageproxy(); void populateNetworkRequest(); }; // Subclass that exposes the protected functions. class SubWebPageProxy : public WebPageProxy { public: void call_populateNetworkRequest(QNetworkRequest &request) { return SubWebPageProxy::populateNetworkRequest(request); } }; // This will be called before the first test function is executed. // It is only called once. void tst_WebPageProxy::initTestCase() { } // This will be called after the last test function is executed. // It is only called once. void tst_WebPageProxy::cleanupTestCase() { } // This will be called before each test function is executed. void tst_WebPageProxy::init() { } // This will be called after every test function. void tst_WebPageProxy::cleanup() { } void tst_WebPageProxy::webpageproxy_data() { } void tst_WebPageProxy::webpageproxy() { SubWebPageProxy proxy; QCOMPARE(proxy.pageAttributeId(), 1100); QNetworkRequest request; proxy.call_populateNetworkRequest(request); } // protected void populateNetworkRequest(QNetworkRequest &request) void tst_WebPageProxy::populateNetworkRequest() { SubWebPageProxy proxy; QNetworkRequest emptyRequest; QNetworkRequest request = emptyRequest; proxy.call_populateNetworkRequest(request); QVERIFY(request != emptyRequest); QVariant v = request.attribute((QNetworkRequest::Attribute)(proxy.pageAttributeId())); QVERIFY(v.isValid()); QWebPage *webPage = (QWebPage*)(v.value()); QVERIFY(webPage); QCOMPARE(webPage, &proxy); } QTEST_MAIN(tst_WebPageProxy) #include "tst_webpageproxy.moc" arora-0.11.0/autotests/utils/webpageproxy/webpageproxy.pro000066400000000000000000000002751145000221100240300ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../../autotests.pri) # Input SOURCES = tst_webpageproxy.cpp webpageproxy.cpp HEADERS = webpageproxy.h FORMS = RESOURCES = arora-0.11.0/autotests/webactionmapper/000077500000000000000000000000001145000221100200725ustar00rootroot00000000000000arora-0.11.0/autotests/webactionmapper/.gitignore000066400000000000000000000000201145000221100220520ustar00rootroot00000000000000webactionmapper arora-0.11.0/autotests/webactionmapper/tst_webactionmapper.cpp000066400000000000000000000130351145000221100246520ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include #include #include #include #include #include "qtest_arora.h" class tst_WebActionMapper : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void webactionmapper_data(); void webactionmapper(); void addChild(); void updateCurrent_data(); void updateCurrent(); void triggerRoot(); void destroyRoot(); void destroyCurrent(); void childChanged_data(); void childChanged(); }; // Subclass that exposes the protected functions. class SubWebActionMapper : public WebActionMapper { public: SubWebActionMapper(QAction *root, QWebPage::WebAction webAction, QObject *parent) : WebActionMapper(root, webAction, parent) {} }; // This will be called before the first test function is executed. // It is only called once. void tst_WebActionMapper::initTestCase() { } // This will be called after the last test function is executed. // It is only called once. void tst_WebActionMapper::cleanupTestCase() { } // This will be called before each test function is executed. void tst_WebActionMapper::init() { } // This will be called after every test function. void tst_WebActionMapper::cleanup() { } void tst_WebActionMapper::webactionmapper_data() { } void tst_WebActionMapper::webactionmapper() { SubWebActionMapper mapper(0, QWebPage::Stop, 0); mapper.addChild(0); mapper.updateCurrent(0); QCOMPARE(mapper.webAction(), QWebPage::Stop); } // public void addChild(QAction *action) void tst_WebActionMapper::addChild() { QAction *root = new QAction(this); SubWebActionMapper mapper(root, QWebPage::Stop, 0); QVERIFY(!root->isEnabled()); QAction *child = new QAction(this); mapper.addChild(child); child->setEnabled(true); QVERIFY(!root->isEnabled()); } void tst_WebActionMapper::updateCurrent_data() { QTest::addColumn("currentParentCount"); QTest::newRow("null") << 0; } // public void updateCurrent(WebView *currentParent) void tst_WebActionMapper::updateCurrent() { QAction *root = new QAction(this); SubWebActionMapper mapper(root, QWebPage::Stop, 0); QVERIFY(!root->isEnabled()); WebView webView; QAction *childAction = webView.page()->action(mapper.webAction()); mapper.addChild(childAction); mapper.updateCurrent(webView.page()); QCOMPARE(root->isChecked(), childAction->isChecked()); QCOMPARE(root->isEnabled(), childAction->isEnabled()); mapper.updateCurrent(0); QCOMPARE(root->isChecked(), false); QCOMPARE(root->isEnabled(), false); } void tst_WebActionMapper::triggerRoot() { QAction *root = new QAction(this); SubWebActionMapper mapper(root, QWebPage::Reload, 0); WebView webView; QAction *childAction = webView.page()->action(mapper.webAction()); mapper.addChild(childAction); mapper.updateCurrent(webView.page()); QCOMPARE(root->isEnabled(), true); QSignalSpy spy(childAction, SIGNAL(triggered())); root->trigger(); QCOMPARE(spy.count(), 1); } void tst_WebActionMapper::destroyRoot() { QAction *root = new QAction(this); SubWebActionMapper mapper(root, QWebPage::Reload, 0); WebView webView; QAction *childAction = webView.page()->action(mapper.webAction()); mapper.addChild(childAction); mapper.updateCurrent(webView.page()); QCOMPARE(root->isEnabled(), true); delete root; mapper.updateCurrent(webView.page()); webView.load(QUrl("data:text/html;

hello world")); childAction->setEnabled(false); childAction->setEnabled(true); } void tst_WebActionMapper::destroyCurrent() { QAction *root = new QAction(this); SubWebActionMapper mapper(root, QWebPage::Reload, 0); WebView *webView = new WebView; QAction *childAction = webView->page()->action(mapper.webAction()); mapper.addChild(childAction); mapper.updateCurrent(webView->page()); delete webView; root->trigger(); } void tst_WebActionMapper::childChanged_data() { QTest::addColumn("isCurrent"); QTest::newRow("true") << true; QTest::newRow("false") << false; } void tst_WebActionMapper::childChanged() { QFETCH(bool, isCurrent); QAction *root = new QAction(this); SubWebActionMapper mapper(root, QWebPage::Reload, 0); WebView webView; QAction *childAction = webView.page()->action(mapper.webAction()); mapper.addChild(childAction); if (isCurrent) mapper.updateCurrent(webView.page()); childAction->setEnabled(false); QSignalSpy spy(root, SIGNAL(changed())); webView.load(QUrl("data:text/html;

hello world")); QCOMPARE(spy.count(), isCurrent ? 1 : 0); } QTEST_MAIN(tst_WebActionMapper) #include "tst_webactionmapper.moc" arora-0.11.0/autotests/webactionmapper/webactionmapper.pro000066400000000000000000000002131145000221100237700ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../autotests.pri) # Input SOURCES += tst_webactionmapper.cpp HEADERS += arora-0.11.0/autotests/webpage/000077500000000000000000000000001145000221100163245ustar00rootroot00000000000000arora-0.11.0/autotests/webpage/.gitignore000066400000000000000000000000101145000221100203030ustar00rootroot00000000000000webpage arora-0.11.0/autotests/webpage/tst_webpage.cpp000066400000000000000000000332061145000221100213400ustar00rootroot00000000000000/* * Copyright 2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include #include #include #include #include "qtest_arora.h" class tst_WebPage : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void webpage_data(); void webpage(); void loadSettings_data(); void loadSettings(); void webPluginFactory_data(); void webPluginFactory(); void acceptNavigationRequest_data(); void acceptNavigationRequest(); void createPlugin_data(); void createPlugin(); void createWindow_data(); void createWindow(); void handleUnsupportedContent(); void linkedResources(); void javaScriptObjects_data(); void javaScriptObjects(); void userAgent(); }; // Subclass that exposes the protected functions. class SubWebPage : public WebPage { public: QString call_userAgentForUrl(const QUrl &url) const { return SubWebPage::userAgentForUrl(url); } void call_aboutToLoadUrl(QUrl const &url) { return SubWebPage::aboutToLoadUrl(url); } bool call_acceptNavigationRequest(QWebFrame *frame, QNetworkRequest const &request, NavigationType type) { return SubWebPage::acceptNavigationRequest(frame, request, type); } QObject *call_createPlugin(QString const &classId, QUrl const &url, QStringList const ¶mNames, QStringList const ¶mValues) { return SubWebPage::createPlugin(classId, url, paramNames, paramValues); } QWebPage *call_createWindow(QWebPage::WebWindowType type) { return SubWebPage::createWindow(type); } }; // This will be called before the first test function is executed. // It is only called once. void tst_WebPage::initTestCase() { QCoreApplication::setApplicationName("tst_webpage"); QDesktopServices::setUrlHandler(QLatin1String("mailto"), this, "openUrl"); QDesktopServices::setUrlHandler(QLatin1String("ftp"), this, "openUrl"); } // This will be called after the last test function is executed. // It is only called once. void tst_WebPage::cleanupTestCase() { QSettings settings; settings.setValue("userAgent", QString()); } // This will be called before each test function is executed. void tst_WebPage::init() { } // This will be called after every test function. void tst_WebPage::cleanup() { } void tst_WebPage::webpage_data() { } void tst_WebPage::webpage() { SubWebPage page; page.loadSettings(); QVERIFY(page.webPluginFactory()); page.call_aboutToLoadUrl(QUrl()); QCOMPARE(page.call_acceptNavigationRequest((QWebFrame*)0, QNetworkRequest(), QWebPage::NavigationTypeLinkClicked), true); QCOMPARE(page.call_createPlugin(QString(), QUrl(), QStringList(), QStringList()), (QObject*)0); QCOMPARE(page.call_createWindow(QWebPage::WebBrowserWindow), (QWebPage*)0); } void tst_WebPage::loadSettings_data() { QTest::addColumn("foo"); QTest::newRow("0") << 0; QTest::newRow("-1") << -1; } // public void loadSettings() void tst_WebPage::loadSettings() { #if 0 QFETCH(int, foo); SubWebPage page; QSignalSpy spy0(&page, SIGNAL(aboutToLoadUrl(QUrl const&))); page.loadSettings(); QCOMPARE(spy0.count(), 0); #endif QSKIP("Test is not implemented.", SkipAll); } Q_DECLARE_METATYPE(WebPluginFactory*) void tst_WebPage::webPluginFactory_data() { #if 0 QTest::addColumn("webPluginFactory"); QTest::newRow("null") << WebPluginFactory*(); #endif } // public WebPluginFactory *webPluginFactory() void tst_WebPage::webPluginFactory() { #if 0 QFETCH(WebPluginFactory*, webPluginFactory); SubWebPage page; QSignalSpy spy0(&page, SIGNAL(aboutToLoadUrl(QUrl const&))); QCOMPARE(page.webPluginFactory(), webPluginFactory); QCOMPARE(spy0.count(), 0); #endif QSKIP("Test is not implemented.", SkipAll); } Q_DECLARE_METATYPE(QWebPage::WebWindowType) Q_DECLARE_METATYPE(QWebPage::NavigationType) Q_DECLARE_METATYPE(Qt::MouseButton) Q_DECLARE_METATYPE(Qt::KeyboardModifier) void tst_WebPage::acceptNavigationRequest_data() { QTest::addColumn("pressedButton"); QTest::addColumn("pressedKeys"); QTest::addColumn("validFrame"); QTest::addColumn("request"); QTest::addColumn("type"); QTest::addColumn("acceptNavigationRequest"); QTest::addColumn("spyCount"); QTest::newRow("null-noframe") << Qt::NoButton << Qt::NoModifier << false << QNetworkRequest() << QWebPage::NavigationTypeLinkClicked << true << 0; QTest::newRow("null-frame") << Qt::NoButton << Qt::NoModifier << true << QNetworkRequest() << QWebPage::NavigationTypeLinkClicked << true << 1; QTest::newRow("mailto-0") << Qt::NoButton << Qt::NoModifier << true << QNetworkRequest(QUrl("mailto:foo@bar.com")) << QWebPage::NavigationTypeLinkClicked << false << 0; QTest::newRow("mailto-1") << Qt::NoButton << Qt::NoModifier << false << QNetworkRequest(QUrl("mailto:foo@bar.com")) << QWebPage::NavigationTypeLinkClicked << false << 0; QTest::newRow("ftp-0") << Qt::NoButton << Qt::NoModifier << true << QNetworkRequest(QUrl("ftp:foo@bar.com")) << QWebPage::NavigationTypeLinkClicked << false << 0; QTest::newRow("ftp-1") << Qt::NoButton << Qt::NoModifier << false << QNetworkRequest(QUrl("ftp:foo@bar.com")) << QWebPage::NavigationTypeLinkClicked << false << 0; QTest::newRow("normal-0") << Qt::NoButton << Qt::NoModifier << false << QNetworkRequest(QUrl("http://www.foo.com")) << QWebPage::NavigationTypeLinkClicked << true << 0; QTest::newRow("normal-1") << Qt::NoButton << Qt::NoModifier << true << QNetworkRequest(QUrl("http://www.foo.com")) << QWebPage::NavigationTypeLinkClicked << true << 1; QTest::newRow("midclick-0") << Qt::MidButton << Qt::NoModifier << true << QNetworkRequest(QUrl("http://www.foo.com")) << QWebPage::NavigationTypeLinkClicked << false << 0; QTest::newRow("midclick-1") << Qt::MidButton << Qt::ShiftModifier << true << QNetworkRequest(QUrl("http://www.foo.com")) << QWebPage::NavigationTypeLinkClicked << false << 0; QTest::newRow("midclick-2") << Qt::MidButton << Qt::AltModifier << true << QNetworkRequest(QUrl("http://www.foo.com")) << QWebPage::NavigationTypeLinkClicked << false << 0; } // protected bool acceptNavigationRequest(QWebFrame *frame, QNetworkRequest const &request, NavigationType type) void tst_WebPage::acceptNavigationRequest() { QFETCH(Qt::MouseButton, pressedButton); QFETCH(Qt::KeyboardModifier, pressedKeys); QFETCH(bool, validFrame); QFETCH(QNetworkRequest, request); QFETCH(QWebPage::NavigationType, type); QFETCH(bool, acceptNavigationRequest); QFETCH(int, spyCount); BrowserApplication::instance()->setEventMouseButtons(pressedButton); BrowserApplication::instance()->setEventKeyboardModifiers(pressedKeys); SubWebPage page; QSignalSpy spy0(&page, SIGNAL(aboutToLoadUrl(QUrl const&))); QWebFrame *frame = validFrame ? page.mainFrame() : (QWebFrame*)0; QCOMPARE(page.call_acceptNavigationRequest(frame, request, type), acceptNavigationRequest); QCOMPARE(spy0.count(), spyCount); BrowserApplication::instance()->setEventMouseButtons(Qt::NoButton); BrowserApplication::instance()->setEventKeyboardModifiers(Qt::NoModifier); } Q_DECLARE_METATYPE(QStringList) Q_DECLARE_METATYPE(QObject*) void tst_WebPage::createPlugin_data() { #if 0 QTest::addColumn("classId"); QTest::addColumn("url"); QTest::addColumn("paramNames"); QTest::addColumn("paramValues"); QTest::addColumn("createPlugin"); QTest::newRow("null") << QString() << QUrl() << QStringList() << QStringList() << QObject*(); #endif } // protected QObject *createPlugin(QString const &classId, QUrl const &url, QStringList const ¶mNames, QStringList const ¶mValues) void tst_WebPage::createPlugin() { #if 0 QFETCH(QString, classId); QFETCH(QUrl, url); QFETCH(QStringList, paramNames); QFETCH(QStringList, paramValues); QFETCH(QObject*, createPlugin); SubWebPage page; QSignalSpy spy0(&page, SIGNAL(aboutToLoadUrl(QUrl const&))); QCOMPARE(page.call_createPlugin(classId, url, paramNames, paramValues), createPlugin); QCOMPARE(spy0.count(), 0); #endif QSKIP("Test is not implemented.", SkipAll); } Q_DECLARE_METATYPE(QWebPage*) void tst_WebPage::createWindow_data() { #if 0 QTest::addColumn("type"); QTest::addColumn("createWindow"); QTest::newRow("null") << QWebPage::WebWindowType() << QWebPage*(); #endif } // protected QWebPage *createWindow(QWebPage::WebWindowType type) void tst_WebPage::createWindow() { #if 0 QFETCH(QWebPage::WebWindowType, type); QFETCH(QWebPage*, createWindow); SubWebPage page; QSignalSpy spy0(&page, SIGNAL(aboutToLoadUrl(QUrl const&))); QCOMPARE(page.call_createWindow(type), createWindow); QCOMPARE(spy0.count(), 0); #endif QSKIP("Test is not implemented.", SkipAll); } void tst_WebPage::handleUnsupportedContent() { SubWebPage page; QSignalSpy spy(&page, SIGNAL(loadFinished(bool))); page.mainFrame()->load(QUrl("http://exampletesttesttesttesttesttes.com/test.html")); QTRY_COMPARE(spy.count(), 1); } void tst_WebPage::linkedResources() { SubWebPage page; QString html = "" "" "" "" "" "" "" "" "" "" ""; page.mainFrame()->setHtml(html, QUrl("http://foobar.baz/foo/")); QList resources = page.linkedResources(); QCOMPARE(resources.count(), 4); QCOMPARE(resources.at(0).rel, QString("stylesheet")); QCOMPARE(resources.at(0).type, QString("text/css")); QCOMPARE(resources.at(0).href, QUrl("http://foobar.baz/foo/styles/common.css")); QCOMPARE(resources.at(0).title, QString()); QCOMPARE(resources.at(1).rel, QString("alternate")); QCOMPARE(resources.at(1).type, QString("application/rss+xml")); QCOMPARE(resources.at(1).href, QUrl("http://foobar.baz/foo/rss.xml")); QCOMPARE(resources.at(2).href, QUrl("http://foobar.baz/atom.xml")); QCOMPARE(resources.at(2).title, QString("Feed")); QCOMPARE(resources.at(3).rel, QString("search")); QCOMPARE(resources.at(3).type, QString("application/opensearchdescription+xml")); QCOMPARE(resources.at(3).href, QUrl("http://external.foo/search.xml")); QString js = "var base = document.createElement('base');" "base.setAttribute('href', 'http://barbaz.foo/bar/');" "document.getElementsByTagName('head')[0].appendChild(base);"; page.mainFrame()->evaluateJavaScript(js); resources = page.linkedResources(); QCOMPARE(resources.count(), 4); QCOMPARE(resources.at(0).href, QUrl("http://barbaz.foo/bar/styles/common.css")); QCOMPARE(resources.at(1).href, QUrl("http://barbaz.foo/bar/rss.xml")); QCOMPARE(resources.at(2).href, QUrl("http://barbaz.foo/atom.xml")); QCOMPARE(resources.at(3).href, QUrl("http://external.foo/search.xml")); } void tst_WebPage::javaScriptObjects_data() { QTest::addColumn("url"); QTest::addColumn("windowExternal"); QTest::addColumn("windowArora"); QTest::newRow("qrc:/notfound.html") << QUrl("qrc:/notfound.html") << true << false; QTest::newRow("qrc:/startpage.html") << QUrl("qrc:/startpage.html") << true << true; } void tst_WebPage::javaScriptObjects() { QFETCH(QUrl, url); QFETCH(bool, windowExternal); QFETCH(bool, windowArora); SubWebPage page; QSignalSpy spy(&page, SIGNAL(loadFinished(bool))); page.mainFrame()->load(url); QTRY_COMPARE(spy.count(), 1); QVariant windowExternalVariant = page.mainFrame()->evaluateJavaScript(QLatin1String("window.external")); QVariant windowAroraVariant = page.mainFrame()->evaluateJavaScript(QLatin1String("window.arora")); QCOMPARE(windowExternal, !windowExternalVariant.isNull()); QCOMPARE(windowArora, !windowAroraVariant.isNull()); } void tst_WebPage::userAgent() { QSettings settings; settings.setValue("userAgent", QString()); SubWebPage page; QString defaultUserAgent = page.call_userAgentForUrl(QUrl()); QVERIFY(!defaultUserAgent.isEmpty()); QVERIFY(defaultUserAgent.contains("tst_webpage")); settings.setValue("userAgent", "ben"); page.loadSettings(); QString customUserAgent = page.call_userAgentForUrl(QUrl()); QVERIFY(!customUserAgent.isEmpty()); QCOMPARE(customUserAgent, QString("ben")); } QTEST_MAIN(tst_WebPage) #include "tst_webpage.moc" arora-0.11.0/autotests/webpage/webpage.pro000066400000000000000000000002071145000221100204570ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . ../ include(../autotests.pri) # Input SOURCES += tst_webpage.cpp HEADERS += arora-0.11.0/autotests/xbel/000077500000000000000000000000001145000221100156445ustar00rootroot00000000000000arora-0.11.0/autotests/xbel/.gitignore000066400000000000000000000000051145000221100176270ustar00rootroot00000000000000xbel arora-0.11.0/autotests/xbel/all.xbel000066400000000000000000000017271145000221100172770ustar00rootroot00000000000000 Folder Title Title Title 2 Title 3 Has SubFolder SubFolder Title Title3 arora-0.11.0/autotests/xbel/bad.xbel000066400000000000000000000015551145000221100172540ustar00rootroot00000000000000 Folder Title Title Title 2 Has SubFolder SubFolder Title Title3 arora-0.11.0/autotests/xbel/frank.xbel000066400000000000000000000247711145000221100176340ustar00rootroot00000000000000 Literate Programming Synopsis of Literate Programming Literate Programming: Propaganda and Tools Literate Programming by Henrik Turbell Literate Programming Library Literate Programming Basics Literate Programming Overview POD is not Literate Programming Computers That We Can Count On Literate Programming - Issues and Problems Literate Programming - Wiki Pages What is well-commented code? Bibliography on literate programming - A searchable bibliography Program comprehension and code reading bibliography Elucidative Programming AVL Trees (TexiWeb) Literate Programming on Wikiverse Physically Based Rendering: From Theory to Implementation Useful C++ Links STL STL Reference Documentation STL Tutorial STL Reference Qt Qt 2.3 Reference Qt 3.3 Reference Qt 4.0 Reference Trolltech Home Page IOStreams IO Stream Library Binary I/O I/O Stream FAQ gdb GDB Tutorial Debugging with GDB GDB Quick Reference Page (PDF) (Handy) Classes and Constructors Constructor FAQ Organizing Classes Software Documentation or System Documentation The Almighty Thud Microsoft Coding Techniques and Programming Practices Software and Documentation The Source Code is the Design What is Software Design? How To Write Unmaintainable Code Self Documenting Program Code Remains a Distant Goal Place Tab A in Slot B UML Reference Card TeX Resources The TeX User's Group MikTeX website MetaPost website HEVEA is a quite complete and fast LATEX to HTML translator Portable Document Format (PDF) Adobe - The postscript and PDF standards Reference Manual Portable Document Format Adobe Acrobat Software Development Kit Literature Sites Guide to Special Collections (Columbia University) Literary Criticism on the Web from the Internet Public Library Victorian Web. Voice of the Shuttle. Modernist Journals Project Museum of American Poetics Modern American Poetry FindArticles.com Literary History Literary Encyclopedia The University of California Press Wright American Fiction, 1851-1875 Documenting the American South: Beginnings to 1920 Electronic Text Center at the University of Virginia The Schomburg Center for Research in Black Culture Alex Catalogue of Electronic Texts. arora-0.11.0/autotests/xbel/tst_xbel.cpp000066400000000000000000000151521145000221100202000ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include "bookmarknode.h" #include "xbelreader.h" #include "xbelwriter.h" class tst_Xbel : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void xbelreader_data(); void xbelreader(); void read_data(); void read(); void readProperly(); void xbelwriter_data(); void xbelwriter(); void write_data(); void write(); }; // Subclass that exposes the protected functions. class SubXbelReader : public XbelReader { public: }; // Subclass that exposes the protected functions. class SubXbelWriter : public XbelWriter { public: }; // This will be called before the first test function is executed. // It is only called once. void tst_Xbel::initTestCase() { } // This will be called after the last test function is executed. // It is only called once. void tst_Xbel::cleanupTestCase() { } // This will be called before each test function is executed. void tst_Xbel::init() { } // This will be called after every test function. void tst_Xbel::cleanup() { } void tst_Xbel::xbelreader_data() { } void tst_Xbel::xbelreader() { SubXbelReader reader; BookmarkNode *root = reader.read(QString()); QVERIFY(root); QVERIFY(reader.error() == QXmlStreamReader::NoError); delete root; } Q_DECLARE_METATYPE(QXmlStreamReader::Error) void tst_Xbel::read_data() { QTest::addColumn("fileName"); QTest::addColumn("error"); QTest::newRow("null") << QString() << QXmlStreamReader::NoError; QTest::newRow("frank") << QString("frank.xbel") << QXmlStreamReader::NoError; QTest::newRow("frank") << QString("all.xbel") << QXmlStreamReader::NoError; QTest::newRow("bad") << QString("bad.xbel") << QXmlStreamReader::CustomError; } // public BookmarkNode *read(QString const &fileName) void tst_Xbel::read() { QFETCH(QString, fileName); QFETCH(QXmlStreamReader::Error, error); SubXbelReader reader; BookmarkNode *root = reader.read(fileName); QVERIFY(root); delete root; QCOMPARE(reader.error(), error); } void tst_Xbel::readProperly() { SubXbelReader reader; BookmarkNode *root = reader.read("all.xbel"); QCOMPARE(reader.error(), QXmlStreamReader::NoError); QListchildren = root->children(); QCOMPARE(children.count(), 4); // null folder QCOMPARE(children[0]->children().count(), 0); QCOMPARE(children[0]->title, QString()); QCOMPARE(children[0]->url, QString()); QCOMPARE(children[0]->expanded, false); // folded = no QCOMPARE(children[1]->children().count(), 0); QCOMPARE(children[1]->title, QString()); QCOMPARE(children[1]->url, QString()); QCOMPARE(children[1]->expanded, true); QCOMPARE(children[1]->type(), BookmarkNode::Folder); QCOMPARE(children[2]->children().count(), 3); QCOMPARE(children[2]->title, QString("Folder Title")); QCOMPARE(children[2]->url, QString()); QCOMPARE(children[2]->expanded, false); QCOMPARE(children[2]->type(), BookmarkNode::Folder); { children = children[2]->children(); QCOMPARE(children[0]->children().count(), 0); QCOMPARE(children[0]->title, QString("Title")); QCOMPARE(children[0]->url, QString("http://www.foo.com/")); QCOMPARE(children[0]->expanded, false); QCOMPARE(children[0]->type(), BookmarkNode::Bookmark); QCOMPARE(children[1]->children().count(), 0); QCOMPARE(children[1]->title, QString("Title 2")); QCOMPARE(children[1]->url, QString("http://www.bar.com/")); QCOMPARE(children[1]->expanded, false); QCOMPARE(children[1]->type(), BookmarkNode::Bookmark); QCOMPARE(children[2]->title, QString("Title 3")); } children = root->children(); QCOMPARE(children[3]->children().count(), 3); QCOMPARE(children[3]->title, QString("Has SubFolder")); QCOMPARE(children[3]->url, QString()); QCOMPARE(children[3]->expanded, true); QCOMPARE(children[3]->type(), BookmarkNode::Folder); { children = children[3]->children(); QCOMPARE(children[0]->children().count(), 0); QCOMPARE(children[0]->title, QString()); QCOMPARE(children[0]->url, QString()); QCOMPARE(children[0]->expanded, false); QCOMPARE(children[0]->type(), BookmarkNode::Separator); QCOMPARE(children[1]->children().count(), 3); QCOMPARE(children[1]->title, QString("SubFolder")); QCOMPARE(children[1]->url, QString()); QCOMPARE(children[1]->expanded, true); QCOMPARE(children[1]->type(), BookmarkNode::Folder); // children not checked QCOMPARE(children[2]->children().count(), 0); QCOMPARE(children[2]->title, QString()); QCOMPARE(children[2]->url, QString()); QCOMPARE(children[2]->expanded, false); QCOMPARE(children[2]->type(), BookmarkNode::Separator); } delete root; } void tst_Xbel::xbelwriter_data() { } void tst_Xbel::xbelwriter() { SubXbelWriter writer; QCOMPARE(writer.write(QString(), 0), false); QCOMPARE(writer.write(QString(), 0), false); } void tst_Xbel::write_data() { QTest::addColumn("readFileName"); QTest::newRow("frank") << QString("frank.xbel"); QTest::newRow("all") << QString("all.xbel"); } // public BookmarkNode *read(QString const &fileName) void tst_Xbel::write() { QFETCH(QString, readFileName); SubXbelReader reader; BookmarkNode *root = reader.read(readFileName); QVERIFY(root); QVERIFY(reader.error() == QXmlStreamReader::NoError); SubXbelWriter writer; QTemporaryFile file; QVERIFY (file.open()); QVERIFY(writer.write(file.fileName(), root)); BookmarkNode *writtenRoot = reader.read(file.fileName()); QVERIFY(*writtenRoot == *root); delete root; delete writtenRoot; } QTEST_MAIN(tst_Xbel) #include "tst_xbel.moc" arora-0.11.0/autotests/xbel/xbel.pro000066400000000000000000000005211145000221100173160ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../autotests.pri) # Input SOURCES = \ tst_xbel.cpp \ bookmarks/bookmarknode.cpp \ bookmarks/xbel/xbelreader.cpp \ bookmarks/xbel/xbelwriter.cpp HEADERS = \ bookmarks/bookmarknode.h \ bookmarks/xbel/xbelreader.h \ bookmarks/xbel/xbelwriter.h arora-0.11.0/builddeb.sh000077500000000000000000000004031145000221100147650ustar00rootroot00000000000000#!/bin/sh ln -sf debian-upstream debian cat debian/changelog.in | sed "s/##DATE##/`date +%Y%m%d`/g" | sed "s/##RDATE##/`date -R`/g" | sed "s/##DIST##/`lsb_release -cs`/g" > debian/changelog debuild -b fakeroot debian/rules clean rm debian/changelog rm debian arora-0.11.0/buildosx.sh000077500000000000000000000013661145000221100150550ustar00rootroot00000000000000#!/bin/sh # # This script requires the use of the macdeployqt tool that is found in Qt 4.5 # APP="Arora" VERSION="0.11.0" #BACKGROUND="src/data/512x512/arora.png" DIR="bundle" if [ -d $DIR.app ] ; then echo "$DIR.app already exists" exit 1; fi # build app with Qt libraries make distclean --quiet qmake -r -config release make --quiet $QTDIR/bin/macdeployqt $APP.app/ # Create Bundle mkdir $DIR #cp $BACKGROUND $DIR/.Background.png cp -rf $APP.app $DIR/ hdiutil create -ov -srcfolder $DIR -format UDBZ -volname "$APP $VERSION" "$APP.dmg" hdiutil internet-enable -yes "$APP.dmg" rm -rf $DIR DATE=`date +"%m-%d-%Y"` QTVERSION=`qmake --version | grep Qt | sed -e s/.*4/4/g -e 's/\/.*//g'` mv $APP.dmg "$APP Snapshot ($DATE) Intel-Qt$QTVERSION.dmg" arora-0.11.0/debian-upstream/000077500000000000000000000000001145000221100157375ustar00rootroot00000000000000arora-0.11.0/debian-upstream/arora.menu000066400000000000000000000002601145000221100177270ustar00rootroot00000000000000?package(arora):needs="x11" section="Applications/Network/Web Browsing" \ title="Arora" longtitle="Arora Web Browser" \ command="arora" icon="/usr/share/pixmaps/arora.xpm" arora-0.11.0/debian-upstream/arora.postinst000066400000000000000000000003451145000221100206520ustar00rootroot00000000000000#!/bin/sh set -e update-alternatives --install \ /usr/bin/x-www-browser x-www-browser /usr/bin/arora 90 \ --slave /usr/share/man/man1/x-www-browser.1.gz x-www-browser.1.gz /usr/share/man/man1/arora.1.gz #DEBHELPER# arora-0.11.0/debian-upstream/arora.prerm000066400000000000000000000002401145000221100201060ustar00rootroot00000000000000#!/bin/sh set -e if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ] ; then update-alternatives --remove x-www-browser /usr/bin/arora fi #DEBHELPER# exit 0 arora-0.11.0/debian-upstream/changelog.in000066400000000000000000000002331145000221100202140ustar00rootroot00000000000000arora (0.11.0~git##DATE##-1~##DIST##1~upstream1) ##DIST##; urgency=low * Initial release (LP: #231731) -- Matvey Kozhev ##RDATE## arora-0.11.0/debian-upstream/compat000066400000000000000000000000021145000221100171350ustar00rootroot000000000000005 arora-0.11.0/debian-upstream/control000066400000000000000000000006301145000221100173410ustar00rootroot00000000000000Source: arora Section: web Priority: extra Maintainer: Sune Vuorela Build-Depends: debhelper (>= 5), libqt4-dev (>= 4.5) Standards-Version: 3.7.3 Package: arora Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Provides: www-browser Description: Arora is an open-source browser project that aims to build a cross-platform WebKit browser that integrates with every desktop. arora-0.11.0/debian-upstream/copyright000066400000000000000000000040311145000221100176700ustar00rootroot00000000000000This package was debianized by Sune Vuorela on Sun, 25 May 2008 15:45:28 +0200. It was downloaded from http://arora-browser.org Upstream Author: Benjamin Meyer Copyright: Copyright 1998-1999 Netscape Communications Corporation. All Copyright 2005-2008 Trolltech ASA. All rights reserved. Copyright 2006 Junio C Hamano Copyright 2007-2009 Benjamin C. Meyer Copyright 2008 Ariya Hidayat Copyright 2008-2009 Christian Franke Copyright 2008 Diego Iastrubni, elcuco, at, kde.org Copyright 2008 Jason A. Donenfeld Copyright 2008 Matvey Kozhev Copyright 2008-2009 Arora Developers Copyright 2008-2009 Benjamin K. Stuhl Copyright 2008-2009 Jason A. Donenfeld Copyright 2009 Jakub Wieczorek Copyright 2009 Torch Mobile Inc. http://www.torchmobile.com/ License: The contents is a mix of files under GPLv2, GPLv2 or later, GPLv2 with Trolltech exceptions. Effectively, this makes the package GPLv2: This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-2'. The Debian packaging is (C) 2008, Sune Vuorela and is licensed under the GPL, see above. arora-0.11.0/debian-upstream/docs000066400000000000000000000000071145000221100166070ustar00rootroot00000000000000README arora-0.11.0/debian-upstream/rules000077500000000000000000000022361145000221100170220ustar00rootroot00000000000000#!/usr/bin/make -f # -*- makefile -*- # Sample debian/rules that uses debhelper. # This file was originally written by Joey Hess and Craig Small. # As a special exception, when this file is copied by dh-make into a # dh-make output file, you may use that output file without restriction. # This special exception was added by Craig Small in version 0.37 of dh-make. # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 builddir: mkdir -p builddir builddir/Makefile: builddir cd builddir && qmake-qt4 PREFIX=/usr ../arora.pro build: build-stamp build-stamp: builddir/Makefile dh_testdir cd builddir && $(MAKE) touch $@ clean: dh_testdir dh_testroot rm -rf builddir dh_clean build-stamp install: build dh_testdir dh_testroot dh_clean -k cd builddir && $(MAKE) INSTALL_ROOT=$(CURDIR)/debian/arora install binary-indep: build install binary-arch: build install dh_testdir dh_testroot dh_installchangelogs ChangeLog dh_installdocs dh_link dh_strip dh_compress dh_fixperms dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install configure arora-0.11.0/debian-upstream/watch000066400000000000000000000001701145000221100167660ustar00rootroot00000000000000version=3 http://code.google.com/p/arora/downloads/list \ http://arora.googlecode.com/files/arora-([\d\.]+)\.tar\.gz arora-0.11.0/generateAuthors000077500000000000000000000026221145000221100157470ustar00rootroot00000000000000#!/bin/sh # # Generate a list of everyone who has contributed to the project merging those who commited under two names or email addresses. # # To can pass an arg (which goes to git log) # Example: to see everyone who contributed between tag 0.6 and now # ./generateAuthors 0.6..HEAD # # Currently this is sorted based on # of commits, sorting contributions is not a simple topic # as pointed out in this article http://lwn.net/Articles/222773/ # git log --pretty="format:%an %ae" $1 \ | sed -e 's/smart2128 /Vincenzo Reale /g' \ | sed -e 's/buster\.xtense\.dyndns\.org/ts2server\.com/g' \ | sed -e 's/^cfchris6 /Christian Franke /g' \ | sed -e 's/^faw /Jakub Wieczorek /g' \ | sed -e 's/^LEW21 /Janusz Lewandowski /g' \ | sed -e 's/lew21@pecet.(none)$/lew21st@gmail.com/g' \ | sed -e 's/adam\.treat@torchmobile\.com/treat@kde\.org/g' \ | sed -e 's/torarnv@gmail\.com/tavestbo@trolltech\.com/g' \ | sed -e 's/bks@coldkeck2\.colorado\.edu/bks24@cornell\.edu/g' \ | sed -e 's/porphyr /Mark Reiche /g' \ | sed -e 's/vinx@zulu\.(none)/smart2128@baslug\.org/g' \ | sed -e 's/Matvey Kozhev/Maia Kozheva/g' \ | sed -e 's/kristof@localhost.(none)/kristof.bal@gmail.com/g' \ | sed -e 's/tavestbo@trolltech.com/tor.arne.vestbo@nokia.com/g' \ | sed -e 's/ariya.hidayat@trolltech.com/ariya.hidayat@gmail.com/g' \ | sort | uniq -c | sort -n -r | sed -e 's/^ *[0-9]* //g' arora-0.11.0/generateReleaseContributors000077500000000000000000000007771145000221100203310ustar00rootroot00000000000000#!/bin/bash ./generateAuthors 0.10.2..HEAD | while read line do name=`echo $line | sed -e 's/ [^ ]*@[^ ]*//g'` email=`echo $line | sed -e 's/.* //g' | tr [A-Z] [a-z]` echo -n "\"$name\"src=\"https://secure.gravatar.com/avatar/""; echo " $name $email
" done arora-0.11.0/git_hooks/000077500000000000000000000000001145000221100146455ustar00rootroot00000000000000arora-0.11.0/git_hooks/README000066400000000000000000000005441145000221100155300ustar00rootroot00000000000000These are various git hooks that are used to help improve the quality of Arora. They are managed using the git-hooks tool (Available here http://github.com/icefox/git-hooks) To enable them run "git hooks --install" Some hooks to add: check for a license in the file commited check that the author has a copyright statement in the file they are modifing arora-0.11.0/git_hooks/helper/000077500000000000000000000000001145000221100161245ustar00rootroot00000000000000arora-0.11.0/git_hooks/helper/findstyleerrors.sh000077500000000000000000000016201145000221100217200ustar00rootroot00000000000000#!/bin/sh # # Coding style: http://code.google.com/p/arora/wiki/CodingStyle # case "${1}" in --about ) echo "Hack of a script to find some common style errors." exit 0 ;; esac args=$1 if [ -z "${args}" ] ; then args="*" fi options="-n --exclude=moc_* --exclude=qrc_* --include=*.cpp --include=*.h -r" grep $options '( ' $args grep $options ' )' $args grep $options 'if(' $args grep $options 'for(' $args grep $options 'while(' $args grep $options 'switch(' $args grep $options 'foreach(' $args grep $options ' $' $args grep $options '^{ }*{' $args grep $options '){' $args grep $options ' ' $args grep $options ' \*>' $args grep $options '#include "q' $args egrep $options '\(.*\* .*\)' $args | grep '::' grep $options '[a-z]++' $args | grep 'for' grep $options '[a-z]--' $args | grep 'for' # var *name; grep $options '[^\* \/]\* ' $args grep $options '[^& ]& ' $args exit 0 arora-0.11.0/git_hooks/pre-commit/000077500000000000000000000000001145000221100167215ustar00rootroot00000000000000arora-0.11.0/git_hooks/pre-commit/compile000077500000000000000000000037101145000221100203000ustar00rootroot00000000000000#!/bin/bash # # Copyright (c) 2010, Benjamin C. Meyer # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. Neither the name of the project nor the # names of its contributors may be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ''AS IS'' AND ANY # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # function compile { unset GIT_DIR echo "--Attempting to build in $PWD--" if [ -f Makefile ] ; then make --quiet if [ $? != 0 ] ; then echo "--Build failed, fix failure before commiting--"; exit 1 fi fi echo "--Attempting to build pass--" } case "${1}" in --about ) echo "Wherever you are make sure something compiles". ;; * ) compile ;; esac arora-0.11.0/git_hooks/pre-commit/compile_manualtest000077500000000000000000000050411145000221100225340ustar00rootroot00000000000000#!/bin/bash # # Copyright (c) 2010, Benjamin C. Meyer # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. Neither the name of the project nor the # names of its contributors may be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ''AS IS'' AND ANY # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # dir=`dirname $0` function test_file { file="${1}" QMAKE=qmake $QMAKE --version 2>&1 | grep 3.3 > /dev/null if [ $? -eq 0 ] ; then QMAKE=qmake-qt4 fi file=`echo $file | sed -e 's/src\///g' -e 's/.cpp//g'` if [ ! -d $dir/../autotests/$file ] ; then file=`echo $file | sed -e 's/.*\///g'`; fi if [ -d $dir/../manualtests/$file ] ; then echo "--checking manualtest (should still build): $file--" cd "$dir/../../manualtests/$file/"; $QMAKE; make --quiet if [ $? != 0 ] ; then echo "--Manualtest build failed, fix failure before commiting--"; exit 1 fi echo "--checking manualtest: $file done--" fi } case "${1}" in --about ) echo "Check that existing manualtest for files that are being commited still build They can break when the API changes." ;; * ) for file in `git diff-index --cached --name-only HEAD | grep .cpp` ; do test_file "${file}" done ;; esac arora-0.11.0/git_hooks/pre-commit/copyrightyear000077500000000000000000000040201145000221100215340ustar00rootroot00000000000000#!/bin/bash # # Copyright (c) 2010, Benjamin C. Meyer # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. Neither the name of the project nor the # names of its contributors may be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ''AS IS'' AND ANY # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # function test_file { year=`date +%Y` echo "--checking copyright year: $file" grep $year $file >> /dev/null if [ $? -ne 0 ] ; then echo "Warning: $file seems to be missing a copyright string with the year $year in it."; fi } case "${1}" in --about ) echo "Check the files that are being committed for a copyright with a proper year." ;; * ) for file in `git diff-index --cached --name-only HEAD` ; do test_file "${file}" done ;; esac arora-0.11.0/git_hooks/pre-commit/run_autotest000077500000000000000000000055521145000221100214120ustar00rootroot00000000000000#!/bin/bash # # Copyright (c) 2010, Benjamin C. Meyer # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. Neither the name of the project nor the # names of its contributors may be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ''AS IS'' AND ANY # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # dir=`dirname $0` function test_file { file="${1}" QMAKE=qmake $QMAKE --version 2>&1 | grep 3.3 > /dev/null if [ $? -eq 0 ] ; then QMAKE=qmake-qt4 fi unset GIT_DIR file=`echo $file | sed -e 's/src\///g' -e 's/.cpp//g'` autotest=`echo $file | sed -e 's/.*\///g'` if [ ! -d $dir/../autotests/$file ] ; then file=$autotest; fi if [ -d $dir/../autotests/$file ] ; then echo "--checking autotest: $file--" tempfoo=`basename $0` TMPFILE=`mktemp -t ${tempfoo}.XXXXXXXXXX` || exit 1 (cd "$dir/../../autotests/$file/"; $QMAKE; make --quiet $MAKE_FLAGS; ./$autotest >> $TMPFILE) output=`cat $TMPFILE | grep ' failed,' | sed -e 's/.*passed, //g' -e 's/ failed.*//g'` if [ "${output}" != "0" ] ; then echo "Autotests failed for $file, please fix before committing." cat $TMPFILE rm $TMPFILE exit 1 fi rm $TMPFILE echo "--checking autotest: $file done--" else echo "--missing autotest: $file--" fi } case "${1}" in --about ) echo "Check that existing autotests for files that are being commited are not currently failing." ;; * ) for file in `git diff-index --cached --name-only HEAD | grep .cpp` ; do test_file "${file}" done ;; esac arora-0.11.0/git_hooks/pre-commit/stylecheck_astyle000077500000000000000000000054371145000221100223770ustar00rootroot00000000000000#!/bin/bash # # Copyright (c) 2010, Benjamin C. Meyer # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. Neither the name of the project nor the # names of its contributors may be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ''AS IS'' AND ANY # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # function test_file { file="${1}" # Something close to our style which is the same as the Qt4 code style #astyle --indent=spaces=4 --brackets=linux --indent-labels --pad=oper --unpad=paren --one-line=keep-statements --convert-tabs --indent-preprocessor `find -type f -name '*.cpp'` `find -type f -name '*.h'` echo "--Checking style--" tempfoo=`basename $0` newfile=`mktemp /tmp/${tempfoo}.XXXXXX` || exit 1 astyle --indent=spaces=4 --brackets=linux --indent-labels --pad=oper --one-line=keep-statements --convert-tabs --indent-preprocessor < $file > $newfile 2>> /dev/null diff "${file}" "${newfile}" r=$? rm "${newfile}" if [ $r != 0 ] ; then echo "Code style error in $file, please fix before commiting." exit 1 fi echo "--Checking style pass--" } case "${1}" in --about ) echo "Check that the code follows a consistent code style." ;; * ) astyle --version 2>> /dev/null if [ $? -eq 127 ] ; then echo "--AStyle not found installed on the system, skiping style check" exit 0; fi for file in `git diff-index --cached --name-only HEAD | grep *.cpp` ; do test_file "${file}" done ;; esac arora-0.11.0/git_hooks/pre-commit/stylecheck_bash000077500000000000000000000037531145000221100220120ustar00rootroot00000000000000#!/bin/bash # # Copyright (c) 2010, Benjamin C. Meyer # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. Neither the name of the project nor the # names of its contributors may be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ''AS IS'' AND ANY # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # dir=`dirname $0` function test_file { file="${1}" echo "--checking style via bash hack: $file" GITDIR=`git rev-parse --git-dir` cd $GITDIR/../ $dir/../helper/findstyleerrors.sh $file } case "${1}" in --about ) echo "Check the files that are being commited with the bash grep style checker." ;; * ) for file in `git diff-index --cached --name-only HEAD | grep .cpp` ; do test_file "${file}" done ;; esac arora-0.11.0/install.pri000066400000000000000000000002561145000221100150440ustar00rootroot00000000000000 unix { isEmpty(PREFIX) { PREFIX = /usr/local } BINDIR = $$PREFIX/bin INSTALLS += target target.path = $$BINDIR DATADIR = $$PREFIX/share } arora-0.11.0/manualtests/000077500000000000000000000000001145000221100152175ustar00rootroot00000000000000arora-0.11.0/manualtests/adblock/000077500000000000000000000000001145000221100166165ustar00rootroot00000000000000arora-0.11.0/manualtests/adblock/adblock.pro000066400000000000000000000001341145000221100207350ustar00rootroot00000000000000TEMPLATE = subdirs SUBDIRS = \ adblockdialog \ adblockmodel CONFIG += ordered arora-0.11.0/manualtests/adblock/adblockdialog/000077500000000000000000000000001145000221100213755ustar00rootroot00000000000000arora-0.11.0/manualtests/adblock/adblockdialog/.gitignore000066400000000000000000000000161145000221100233620ustar00rootroot00000000000000adblockdialog arora-0.11.0/manualtests/adblock/adblockdialog/adblockdialog.pro000066400000000000000000000003031145000221100246720ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../../manualtests.pri) include(../../../autotests/modeltest/modeltest.pri) # Input SOURCES += main_adblockdialog.cpp HEADERS += arora-0.11.0/manualtests/adblock/adblockdialog/main_adblockdialog.cpp000066400000000000000000000034451145000221100256720ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include #include #include "adblockdialog.h" #include "modeltest.h" int main(int argc, char **argv) { QApplication app(argc, argv); AdBlockDialog dialog; new ModelTest(dialog.treeView->model()); dialog.show(); return app.exec(); } arora-0.11.0/manualtests/adblock/adblockmodel/000077500000000000000000000000001145000221100212365ustar00rootroot00000000000000arora-0.11.0/manualtests/adblock/adblockmodel/.gitignore000066400000000000000000000000151145000221100232220ustar00rootroot00000000000000adblockmodel arora-0.11.0/manualtests/adblock/adblockmodel/adblockmodel.pro000066400000000000000000000003021145000221100243730ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../../manualtests.pri) include(../../../autotests/modeltest/modeltest.pri) # Input SOURCES += main_adblockmodel.cpp HEADERS += arora-0.11.0/manualtests/adblock/adblockmodel/main_adblockmodel.cpp000066400000000000000000000035171145000221100253740ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include #include #include "adblockmodel.h" #include "modeltest.h" int main(int argc, char **argv) { QApplication app(argc, argv); QTreeView view; AdBlockModel *model = new AdBlockModel; new ModelTest(model); view.setModel(model); view.show(); return app.exec(); } arora-0.11.0/manualtests/bookmarks/000077500000000000000000000000001145000221100172075ustar00rootroot00000000000000arora-0.11.0/manualtests/bookmarks/.gitignore000066400000000000000000000000121145000221100211700ustar00rootroot00000000000000bookmarks arora-0.11.0/manualtests/bookmarks/bookmarks.pro000066400000000000000000000002711145000221100217210ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../manualtests.pri) include(../../autotests/modeltest/modeltest.pri) # Input SOURCES += main_bookmarks.cpp HEADERS += arora-0.11.0/manualtests/bookmarks/main_bookmarks.cpp000066400000000000000000000034301145000221100227070ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include "addbookmarkdialog.h" #include "bookmarksdialog.h" #include "bookmarksmanager.h" #include "bookmarksmodel.h" #include "browserapplication.h" #include "modeltest.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); QCoreApplication::setApplicationName(QLatin1String("arora")); QCoreApplication::setApplicationVersion(QLatin1String("0.1")); new ModelTest(BrowserApplication::bookmarksManager()->bookmarksModel()); BookmarksDialog *dialog = new BookmarksDialog; dialog->show(); QString url("http://www.reddit.com"); AddBookmarkDialog adddialog; adddialog.setTitle(QString("Reddit.com: a time drain")); adddialog.setUrl(url); //adddialog.show(); QMenuBar bar; QMenu *edit = bar.addMenu(("&Edit")); edit->addAction(BrowserApplication::bookmarksManager()->undoRedoStack()->createUndoAction(edit)); edit->addAction(BrowserApplication::bookmarksManager()->undoRedoStack()->createRedoAction(edit)); return app.exec(); } arora-0.11.0/manualtests/downloadmanager/000077500000000000000000000000001145000221100203615ustar00rootroot00000000000000arora-0.11.0/manualtests/downloadmanager/.gitignore000066400000000000000000000000201145000221100223410ustar00rootroot00000000000000downloadmanager arora-0.11.0/manualtests/downloadmanager/downloadmanager.pro000066400000000000000000000002321145000221100242420ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../manualtests.pri) # Input RESOURCES = SOURCES += main_downloadmanager.cpp HEADERS += arora-0.11.0/manualtests/downloadmanager/main_downloadmanager.cpp000066400000000000000000000020751145000221100252370ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "downloadmanager.h" int main(int argc, char **argv) { QApplication application(argc, argv); DownloadManager manager; QUrl url("http://10.0.0.3/~ben/distccKNOPPIX-1.3-2004-08-20-gcc-3.3.iso"); manager.download(url); manager.show(); return application.exec(); } arora-0.11.0/manualtests/history/000077500000000000000000000000001145000221100167205ustar00rootroot00000000000000arora-0.11.0/manualtests/history/.gitignore000066400000000000000000000000101145000221100206770ustar00rootroot00000000000000history arora-0.11.0/manualtests/history/history.pro000066400000000000000000000002671145000221100211500ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../manualtests.pri) include(../../autotests/modeltest/modeltest.pri) # Input SOURCES += main_history.cpp HEADERS += arora-0.11.0/manualtests/history/main_history.cpp000066400000000000000000000056741145000221100221450ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include #include #include #include #include #include int main(int argc, char **argv) { QApplication application(argc, argv); QMainWindow w; QCoreApplication::setApplicationName("arora"); HistoryManager history; QTabWidget tabWidget; QTableView *historyModelView = new QTableView(&tabWidget); historyModelView->horizontalHeader()->setStretchLastSection(true); historyModelView->setModel(history.historyModel()); tabWidget.addTab(historyModelView, "HistoryModel"); QTableView *historyFilterModelView = new QTableView(&tabWidget); historyFilterModelView->horizontalHeader()->setStretchLastSection(true); historyFilterModelView->setModel(history.historyFilterModel()); tabWidget.addTab(historyFilterModelView, "HistoryFilterModel"); QTreeView *historyTreeModelView = new QTreeView(&tabWidget); historyTreeModelView->header()->setStretchLastSection(true); historyTreeModelView->setModel(history.historyTreeModel()); new ModelTest(history.historyTreeModel()); tabWidget.addTab(historyTreeModelView, "HistoryTreeModel"); QTreeView *historyMenuModelView = new QTreeView(&tabWidget); historyMenuModelView->header()->setStretchLastSection(true); HistoryMenuModel *menuModel = new HistoryMenuModel((HistoryTreeModel*)history.historyTreeModel(), &tabWidget); new ModelTest(menuModel); historyMenuModelView->setModel(menuModel); tabWidget.addTab(historyMenuModelView, "HistoryMenuModel"); QTableView *historyCompletionModelView = new QTableView(&tabWidget); historyCompletionModelView->horizontalHeader()->setStretchLastSection(true); HistoryCompletionModel *completionModel = new HistoryCompletionModel(&tabWidget); completionModel->setSourceModel(history.historyFilterModel()); historyCompletionModelView->setModel(completionModel); tabWidget.addTab(historyCompletionModelView, "HistoryCompletionModel"); HistoryDialog dialog; tabWidget.addTab(dialog.tree, "DialogModel"); tabWidget.setCurrentIndex(3); tabWidget.show(); return application.exec(); } arora-0.11.0/manualtests/locationbar/000077500000000000000000000000001145000221100175145ustar00rootroot00000000000000arora-0.11.0/manualtests/locationbar/.gitignore000066400000000000000000000000141145000221100214770ustar00rootroot00000000000000locationbar arora-0.11.0/manualtests/locationbar/locationbar.pro000066400000000000000000000002131145000221100225270ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../manualtests.pri) # Input SOURCES += main_locationbar.cpp HEADERS += arora-0.11.0/manualtests/locationbar/main_locationbar.cpp000066400000000000000000000037761145000221100235360ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include #include #include #include #include "browserapplication.h" #include "locationbar.h" #include "webview.h" int main(int argc, char **argv) { BrowserApplication application(argc, argv); QCoreApplication::setApplicationName(QLatin1String("urllineeditexample")); QMainWindow w; QWidget *window = new QWidget; QComboBox *comboBox = new QComboBox(window); comboBox->setEditable(true); QLineEdit *lineEdit = new QLineEdit(window); LocationBar *s1 = new LocationBar(window); LocationBar *s2 = new LocationBar(window); WebView *view = new WebView(window); view->setUrl(QUrl("http://www.google.com")); s2->setWebView(view); QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(comboBox); layout->addWidget(lineEdit); layout->addWidget(s1); layout->addWidget(s2); layout->addWidget(view); window->setLayout(layout); w.show(); w.setCentralWidget(window); QToolBar *bar = w.addToolBar("foo"); QSplitter *splitter = new QSplitter(window); splitter->addWidget(new LocationBar); splitter->addWidget(new QLineEdit); bar->addWidget(splitter); return application.exec(); } arora-0.11.0/manualtests/manualtests.pri000066400000000000000000000001211145000221100202650ustar00rootroot00000000000000win32: CONFIG += console mac:CONFIG -= app_bundle include($$PWD/../src/src.pri) arora-0.11.0/manualtests/manualtests.pro000066400000000000000000000003161145000221100203010ustar00rootroot00000000000000TEMPLATE = subdirs SUBDIRS = \ adblock \ bookmarks \ downloadmanager \ history \ locationbar \ modelmenu \ searchlineedit \ utils \ webviewsearch CONFIG += ordered arora-0.11.0/manualtests/modelmenu/000077500000000000000000000000001145000221100172045ustar00rootroot00000000000000arora-0.11.0/manualtests/modelmenu/.gitignore000066400000000000000000000000121145000221100211650ustar00rootroot00000000000000modelmenu arora-0.11.0/manualtests/modelmenu/main_modelmenu.cpp000066400000000000000000000056171145000221100227120ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include #include #include #include #include #include class Menu : public ModelMenu { Q_OBJECT public: Menu(QWidget *parent); protected: bool prePopulated(); void postPopulated(); ModelMenu *createBaseMenu(); private slots: void activated2(const QModelIndex &index); }; Menu::Menu(QWidget *parent) : ModelMenu(parent) { connect(this, SIGNAL(activated(const QModelIndex &)), this, SLOT(activated2(const QModelIndex &))); } bool Menu::prePopulated() { qDebug() << __FUNCTION__; return ModelMenu::prePopulated(); } void Menu::postPopulated() { qDebug() << __FUNCTION__; return ModelMenu::postPopulated(); } ModelMenu *Menu::createBaseMenu() { qDebug() << __FUNCTION__; return new Menu(this); return ModelMenu::createBaseMenu(); } void Menu::activated2(const QModelIndex &index) { qDebug() << __FUNCTION__ << index.data() << this; } int main(int argc, char **argv) { QApplication app(argc, argv); QMainWindow mainWindow; Menu *menu = new Menu(&mainWindow); menu->setTitle("Test"); QDirModel *model = new QDirModel(menu); menu->setModel(model); menu->setRootIndex(model->index(QDir::homePath())); mainWindow.menuBar()->addMenu(menu); mainWindow.show(); return app.exec(); } #include "main_modelmenu.moc" arora-0.11.0/manualtests/modelmenu/modelmenu.pro000066400000000000000000000002101145000221100217040ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../manualtests.pri) # Input SOURCES += main_modelmenu.cpp HEADERS += arora-0.11.0/manualtests/searchlineedit/000077500000000000000000000000001145000221100202025ustar00rootroot00000000000000arora-0.11.0/manualtests/searchlineedit/.gitignore000066400000000000000000000000171145000221100221700ustar00rootroot00000000000000searchlineedit arora-0.11.0/manualtests/searchlineedit/main_searchlineedit.cpp000066400000000000000000000034311145000221100246760ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include #include #include #include #include #include "searchlineedit.h" #include "searchbutton.h" int main(int argc, char **argv) { QApplication application(argc, argv); QDialog window; QPushButton *button1 = new QPushButton("One"); SearchLineEdit *s1 = new SearchLineEdit(&window); SearchLineEdit *s2 = new SearchLineEdit(&window); QCompleter *completer = new QCompleter(&window); s2->setCompleter(completer); s2->searchButton()->setShowMenuTriangle(true); QObject::connect(s2->searchButton(), SIGNAL(clicked()), completer, SLOT(complete())); QStringList list; list << "a" << "b" << "c"; s2->completer()->setModel(new QStringListModel(list)); QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(s1); layout->addWidget(s2); layout->addWidget(button1); window.setLayout(layout); window.show(); return application.exec(); } arora-0.11.0/manualtests/searchlineedit/searchlineedit.pro000066400000000000000000000004621145000221100237110ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../manualtests.pri) # Input RESOURCES = FORMS = SOURCES = searchbutton.cpp clearbutton.cpp lineedit.cpp searchlineedit.cpp HEADERS = searchbutton.h clearbutton.h lineedit.h lineedit_p.h searchlineedit.h SOURCES += main_searchlineedit.cpp arora-0.11.0/manualtests/utils/000077500000000000000000000000001145000221100163575ustar00rootroot00000000000000arora-0.11.0/manualtests/utils/editview/000077500000000000000000000000001145000221100201775ustar00rootroot00000000000000arora-0.11.0/manualtests/utils/editview/.gitignore000066400000000000000000000000111145000221100221570ustar00rootroot00000000000000editview arora-0.11.0/manualtests/utils/editview/editview.pro000066400000000000000000000002411145000221100225360ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../../manualtests.pri) # Input FORMS += editview.ui SOURCES += main_editview.cpp HEADERS += arora-0.11.0/manualtests/utils/editview/editview.ui000066400000000000000000000044431145000221100223630ustar00rootroot00000000000000 Dialog 0 0 790 398 Dialog Qt::Horizontal RemoveAll RemoveAll RemoveAll EditListView QListView

editlistview.h
EditTreeView QTreeView
edittreeview.h
EditTableView QTableView
edittableview.h
arora-0.11.0/manualtests/utils/editview/main_editview.cpp000066400000000000000000000054401145000221100235320ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include #include #include #include "ui_editview.h" class Window : public QDialog, public Ui_Dialog { Q_OBJECT public: Window(); }; Window::Window() : QDialog() { setupUi(this); QStringList list; list << "a" << "b" << "c"; listView->setModel(new QStringListModel(list)); tableView->setModel(new QStringListModel(list)); connect(listViewRemoveAllButton, SIGNAL(clicked()), listView, SLOT(removeAll())); connect(tableViewRemoveAllButton, SIGNAL(clicked()), tableView, SLOT(removeAll())); connect(treeViewRemoveAllButton, SIGNAL(clicked()), treeView, SLOT(removeAll())); QStandardItemModel *model = new QStandardItemModel(this); QStandardItem *parentItem = model->invisibleRootItem(); for (int i = 0; i < 4; ++i) { QStandardItem *item = new QStandardItem(QString("item %0").arg(i)); parentItem->appendRow(item); item = new QStandardItem(QString("item %0").arg(i * 2)); parentItem->appendRow(item); parentItem = item; } treeView->setModel(model); treeView->expandAll(); } int main(int argc, char **argv) { QApplication app(argc, argv); Window window; window.show(); return app.exec(); } #include "main_editview.moc" arora-0.11.0/manualtests/utils/lineedit/000077500000000000000000000000001145000221100201545ustar00rootroot00000000000000arora-0.11.0/manualtests/utils/lineedit/.gitignore000066400000000000000000000000111145000221100221340ustar00rootroot00000000000000lineedit arora-0.11.0/manualtests/utils/lineedit/bookmark.png000066400000000000000000000016741145000221100224770ustar00rootroot00000000000000PNG  IHDRasRGBbKGD pHYs B(xtIMEXxއ_O3㵧e V \_'7`rӓrA #`tmaQΜ\8٫20^|>|.2&r$ C&HkF`tBз_ к=雃v|.|魖f<eqov˟cӣ(Hu,?I;P,TJ;k^Ӹϐ`p|ʳxЄΉEqPepTfՌ#{+#_o.)TPAz@&h!+1Q]Qv,9ߗtі K~^N-p]2IBH|ĶF6JvR300Qœɿ=\Na`9 Y ZDtn|p9bPi&BCk P*I "i}$AJTBɥ۾xɱ` "ۏo"TBH%1'x,)45]9lu/w`SDZ6;e0kv'N^Rw;IozOn=nyMaD`̃+O+?Ҏoc;ĵ&si$KV1Zt‘6w@BY"F$dt5m ;wcꛐ ӖBB#Ef=`UNai?-(ۀipd[T{UUIENDB`arora-0.11.0/manualtests/utils/lineedit/dialog.ui000066400000000000000000000172161145000221100217610ustar00rootroot00000000000000 Dialog 0 0 474 348 Dialog Left: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Foo Bar Baz Arora LineEdit Manual Test This is the end Right: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Foo Bar Baz Arora LineEdit Manual Test This is the end Foo Bar Baz Arora LineEdit Manual Test This is the end Empty: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Qt::Horizontal 40 20 Qt::Horizontal Qt::Horizontal 40 20 Foo Bar Baz Arora LineEdit Manual Test Qt::Horizontal 40 20 Widget Site Icon true RSS false Bookmark Position Left true Right 0 0 3 Qt::Horizontal 40 20 Qt::Vertical 20 28 Add Remove Swap Visibility Qt::Horizontal 40 20 Add ToolButton LineEdit QLineEdit
lineedit.h
arora-0.11.0/manualtests/utils/lineedit/lineedit.pro000066400000000000000000000003151145000221100224720ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../../manualtests.pri) # Input RESOURCES = FORMS = dialog.ui SOURCES = main_lineedit.cpp lineedit.cpp HEADERS = lineedit.h lineedit_p.h arora-0.11.0/manualtests/utils/lineedit/main_lineedit.cpp000066400000000000000000000073461145000221100234730ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include #include #include "ui_dialog.h" class Dialog : public QDialog, public Ui_Dialog { Q_OBJECT public: Dialog(QWidget *parent = 0); QLabel *rssButton; QLabel *bookmarkButton; QLabel *siteIconButton; private slots: void setWidgetSpacing(int s); void add(); void remove(); void showW(); void addToolButton(); QWidget *getWidget(); }; Dialog::Dialog(QWidget *parent) : QDialog(parent) { setupUi(this); rssButton = new QLabel(this); rssButton->setPixmap(QPixmap("rss.png")); rssButton->hide(); bookmarkButton = new QLabel(this); bookmarkButton->setPixmap(QPixmap("bookmark.png")); bookmarkButton->hide(); siteIconButton = new QLabel(this); siteIconButton->setPixmap(QPixmap("siteicon.png")); siteIconButton->hide(); { QToolButton *b = new QToolButton(this); b->resize(16, 16); leftLineEdit->addWidget(b, LineEdit::LeftSide); } { QToolButton *b = new QToolButton(this); b->resize(16, 16); rightLineEdit->addWidget(b, LineEdit::RightSide); } connect(addButton, SIGNAL(clicked()), this, SLOT(add())); connect(removeButton, SIGNAL(clicked()), this, SLOT(remove())); connect(showButton, SIGNAL(clicked()), this, SLOT(showW())); connect(addToolButtonButton, SIGNAL(clicked()), this, SLOT(addToolButton())); connect(spacing, SIGNAL(valueChanged(int)), this, SLOT(setWidgetSpacing(int))); } QWidget *Dialog::getWidget() { if (rssWidget->isChecked()) { bookmarkWidget->setChecked(true); return rssButton; } if (bookmarkWidget->isChecked()) { siteIconWidget->setChecked(true); return bookmarkButton; } if (siteIconWidget->isChecked()) { rssWidget->setChecked(true); return siteIconButton; } return 0; } void Dialog::setWidgetSpacing(int s) { lineEdit->setWidgetSpacing(s); } void Dialog::add() { LineEdit::WidgetPosition position = leftSide->isChecked() ? LineEdit::LeftSide : LineEdit::RightSide; lineEdit->addWidget(getWidget(), position); } void Dialog::remove() { lineEdit->removeWidget(getWidget()); } void Dialog::showW() { QWidget *w = getWidget(); w->setVisible(!w->isVisible()); } void Dialog::addToolButton() { LineEdit::WidgetPosition position = leftSide->isChecked() ? LineEdit::LeftSide : LineEdit::RightSide; QToolButton *button = new QToolButton; lineEdit->addWidget(button, position); } int main(int argc,char ** argv) { QApplication app(argc,argv); if (app.arguments().count() == 1) { Dialog dialog; dialog.show(); return app.exec(); } else { LineEdit lineEdit; QPushButton *rightButton = new QPushButton("Dialog bar"); qDebug() << rightButton->sizeHint(); lineEdit.addWidget(rightButton, LineEdit::RightSide); lineEdit.show(); return app.exec(); } } #include "main_lineedit.moc" arora-0.11.0/manualtests/utils/lineedit/rss.png000077500000000000000000000012611145000221100214740ustar00rootroot00000000000000PNG  IHDRH-gAMA7tEXtSoftwareAdobe ImageReadyqe<CIDATxڌMHaδ1E"!HD*(PKtPnEХ:oAAHBRQ!%B]Y; ys4I@#֒Ps ZH sYLKDzzdR`TB ~;Ub# 4b^)uk)C2̝KhJlMlhim~&@eI25 K,M mGa<]ao% ޏ/q'Qʽbv[M)`q~fBYxaqd dg)BWM7H^lP@Qzz֦`H/7JeyJ%W\If m}XX\^+`_ǹ\,űX{+17j6+NDuZ(5]t6j.<&m+ARDž) ݬN GhȮ4ytPZ*k`r4M1MDC E2X$? GbIENDB`arora-0.11.0/manualtests/utils/lineedit/siteicon.png000066400000000000000000000014111145000221100224740ustar00rootroot00000000000000PNG  IHDRasRGBbKGD pHYs  tIME Ҁ tEXtCommentCreated with GIMPWdIDAT8˥Kp?fGө A"*2)%haXDP_@)"Rh̹lJV6c L_e/\J>!ޅj&G6L&g)vS0aҕi(?]t3pxÃ$$j8n9mw}[' DZ]`a*vQrMzյ =U b 460D$YG0 :;P8Dcs.-9<ʳ稭Ck`O:  @ѥhIXVU;0  O:X,ѥj*TXb`t7DvMͭ[tP}BH)s?#X{l,..br#yk(b+7ڹr2 dTTT0bR>! Kx.wAGّCdeeP(B8N^_>慘|v01{2r.\S>uflο/2rzIENDB`arora-0.11.0/manualtests/utils/singleapplication/000077500000000000000000000000001145000221100220645ustar00rootroot00000000000000arora-0.11.0/manualtests/utils/singleapplication/.gitignore000066400000000000000000000000221145000221100240460ustar00rootroot00000000000000singleapplication arora-0.11.0/manualtests/utils/singleapplication/main_singleapplication.cpp000066400000000000000000000050301145000221100272770ustar00rootroot00000000000000/** * Copyright (c) 2008, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include #include #include #include #include class PlainTextEdit : public QPlainTextEdit { Q_OBJECT public: PlainTextEdit(QWidget *parent = 0) : QPlainTextEdit(parent) { } public slots: void messageReceived(QLocalSocket *socket) { QString message; QTextStream stream(socket); stream >> message; appendPlainText(message); } }; int main(int argc, char **argv) { SingleApplication app(argc, argv); app.setApplicationName("testapp"); if (app.arguments().count() > 1 && app.sendMessage(app.arguments().last().toUtf8())) return 0; PlainTextEdit plainTextEdit; plainTextEdit.show(); if (!app.startSingleServer()) qWarning() << "Error starting server"; app.connect(&app, SIGNAL(messageReceived(QLocalSocket *)), &plainTextEdit, SLOT(messageReceived(QLocalSocket *))); return app.exec(); } #include "main_singleapplication.moc" arora-0.11.0/manualtests/utils/singleapplication/singleapplication.pro000066400000000000000000000003171145000221100263140ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../../manualtests.pri) # Input RESOURCES = FORMS = SOURCES = main_singleapplication.cpp singleapplication.cpp HEADERS = singleapplication.h arora-0.11.0/manualtests/utils/squeezelabel/000077500000000000000000000000001145000221100210405ustar00rootroot00000000000000arora-0.11.0/manualtests/utils/squeezelabel/.gitignore000066400000000000000000000000151145000221100230240ustar00rootroot00000000000000squeezelabel arora-0.11.0/manualtests/utils/squeezelabel/main_squeezelabel.cpp000066400000000000000000000023301145000221100252270ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include "squeezelabel.h" int main(int argc, char **argv) { QApplication application(argc, argv); SqueezeLabel label; if (application.arguments().count() > 1) label.setText(application.arguments().value(1)); else label.setText("This is one long sentence that I will have to ponder the meaning of"); label.show(); label.resize(100, label.height()); return application.exec(); } arora-0.11.0/manualtests/utils/squeezelabel/squeezelabel.pro000066400000000000000000000003001145000221100242340ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../../manualtests.pri) # Input RESOURCES = FORMS = SOURCES = main_squeezelabel.cpp squeezelabel.cpp HEADERS = squeezelabel.h arora-0.11.0/manualtests/utils/treesortfilterproxymodel/000077500000000000000000000000001145000221100235575ustar00rootroot00000000000000arora-0.11.0/manualtests/utils/treesortfilterproxymodel/.gitignore000066400000000000000000000000311145000221100255410ustar00rootroot00000000000000treesortfilterproxymodel arora-0.11.0/manualtests/utils/treesortfilterproxymodel/main_treesortfilterproxymodel.cpp000066400000000000000000000030541145000221100324710ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "treesortfilterproxymodel.h" #include "ui_treesortfilterproxymodeldialog.h" #include #include #include int main(int argc, char **argv) { QApplication application(argc, argv); QDialog dialog; Ui_TreeSortFilterProxyModelDialog ui; ui.setupUi(&dialog); TreeSortFilterProxyModel *proxy = new TreeSortFilterProxyModel(&dialog); dialog.connect(ui.search, SIGNAL(textChanged(const QString &)), proxy, SLOT(setFilterRegExp(const QString &))); QDirModel *dirModel = new QDirModel(&dialog); proxy->setSourceModel(dirModel); ui.treeView->setModel(proxy); ui.treeView->setRootIndex(proxy->mapFromSource(dirModel->index(QDir::homePath()))); dialog.show(); return application.exec(); } arora-0.11.0/manualtests/utils/treesortfilterproxymodel/treesortfilterproxymodel.pro000066400000000000000000000003741145000221100315050ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../../manualtests.pri) # Input SOURCES = main_treesortfilterproxymodel.cpp treesortfilterproxymodel.cpp HEADERS = treesortfilterproxymodel.h FORMS += treesortfilterproxymodeldialog.ui arora-0.11.0/manualtests/utils/treesortfilterproxymodel/treesortfilterproxymodeldialog.ui000066400000000000000000000012261145000221100324770ustar00rootroot00000000000000 TreeSortFilterProxyModelDialog 0 0 400 300 Dialog arora-0.11.0/manualtests/utils/utils.pro000066400000000000000000000002351145000221100202410ustar00rootroot00000000000000TEMPLATE = subdirs SUBDIRS = \ editview \ lineedit \ singleapplication \ squeezelabel \ treesortfilterproxymodel CONFIG += ordered arora-0.11.0/manualtests/webviewsearch/000077500000000000000000000000001145000221100200555ustar00rootroot00000000000000arora-0.11.0/manualtests/webviewsearch/.gitignore000066400000000000000000000000161145000221100220420ustar00rootroot00000000000000webviewsearch arora-0.11.0/manualtests/webviewsearch/main_webviewsearch.cpp000066400000000000000000000047251145000221100244330ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include #include #include #include #include "webviewsearch.h" class WebViewWSearch : public QWebView { Q_OBJECT public: WebViewWSearch(QWidget *parent = 0) : QWebView(parent) { } protected: void resizeEvent(QResizeEvent *event) { int offset = event->size().height() - event->oldSize().height(); int currentValue = page()->mainFrame()->scrollBarValue(Qt::Vertical); setUpdatesEnabled(false); page()->mainFrame()->setScrollBarValue(Qt::Vertical, currentValue - offset); setUpdatesEnabled(true); QWebView::resizeEvent(event); } public slots: void findText(const QString &text) { findText(text); } }; int main(int argc, char **argv) { QApplication application(argc, argv); QMainWindow mainWindow; QWidget *window = new QWidget; QVBoxLayout *layout = new QVBoxLayout; layout->setSpacing(0); layout->setContentsMargins(0, 0, 0, 0); WebViewWSearch *webView = new WebViewWSearch(&mainWindow); WebViewSearch *webViewSearch = new WebViewSearch(webView); layout->addWidget(webViewSearch); webView->load(QUrl("http://reddit.com")); layout->addWidget(webView); window->setLayout(layout); mainWindow.setCentralWidget(window); mainWindow.show(); QMenuBar bar; QMenu *editMenu = bar.addMenu(("&Edit")); QAction *m_find = editMenu->addAction(("&Find")); m_find->setShortcuts(QKeySequence::Find); QObject::connect(m_find, SIGNAL(triggered()), webViewSearch, SLOT(showFind())); new QShortcut(QKeySequence(Qt::Key_Slash), webViewSearch, SLOT(showFind())); return application.exec(); } #include "main_webviewsearch.moc" arora-0.11.0/manualtests/webviewsearch/webviewsearch.pro000066400000000000000000000002041145000221100234310ustar00rootroot00000000000000TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include(../manualtests.pri) SOURCES += main_webviewsearch.cpp HEADERS += arora-0.11.0/src/000077500000000000000000000000001145000221100134465ustar00rootroot00000000000000arora-0.11.0/src/Info_mac.plist000066400000000000000000000032321145000221100162360ustar00rootroot00000000000000 CFBundleIconFile @ICON@ CFBundlePackageType APPL CFBundleGetInfoString Created by Qt/QMake CFBundleIdentifier com.Arora.Arora CFBundleSignature ttxt CFBundleExecutable @EXECUTABLE@ CFBundleDocumentTypes CFBundleTypeExtensions html htm shtml xht xhtml CFBundleTypeIconFile @ICON@ CFBundleTypeName HTML Document CFBundleTypeOSTypes HTML CFBundleTypeRole Viewer NOTE Arora Browser by the Arora team arora-0.11.0/src/aboutdialog.cpp000066400000000000000000000057011145000221100164470ustar00rootroot00000000000000/* * Copyright 2007-2008 Benjamin C. Meyer * Copyright 2008 Matvey Kozhev * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "aboutdialog.h" #include #include #include #include #include #include #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) #include #endif AboutDialog::AboutDialog(QWidget *parent) : QDialog(parent) { setupUi(this); setWindowTitle(tr("About %1").arg(qApp->applicationName())); logo->setPixmap(qApp->windowIcon().pixmap(128, 128)); name->setText(qApp->applicationName()); version->setText(qApp->applicationVersion()); #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) webkitVersion->setText(tr("WebKit version: %1").arg(qWebKitVersion())); #else webkitVersion->hide(); #endif connect(authorsButton, SIGNAL(clicked()), this, SLOT(authorsButtonClicked())); connect(licenseButton, SIGNAL(clicked()), this, SLOT(licenseButtonClicked())); } void AboutDialog::displayFile(const QString &fileName, const QString &title) { QDialog dialog(this); QVBoxLayout layout(&dialog); QTextEdit textEdit(&dialog); QDialogButtonBox buttonBox(QDialogButtonBox::Close, Qt::Horizontal, &dialog); textEdit.setLayoutDirection(Qt::LeftToRight); QFile file(fileName); if (!file.open(QIODevice::ReadOnly)) return; QTextStream stream(&file); stream.setCodec("UTF-8"); QString text = stream.readAll(); // this is done to force the content of the text editor to be LTR, and monospaced. textEdit.setHtml(QString(QLatin1String("
%1
")).arg(text)); textEdit.setReadOnly(true); connect(&buttonBox, SIGNAL(rejected()), &dialog, SLOT(close())); buttonBox.setCenterButtons(true); layout.addWidget(&textEdit); layout.addWidget(&buttonBox); layout.setMargin(6); dialog.setLayout(&layout); dialog.setWindowTitle(title); dialog.setWindowFlags(Qt::Sheet); dialog.resize(600, 350); dialog.exec(); } void AboutDialog::authorsButtonClicked() { displayFile(QLatin1String(":AUTHORS"), tr("Authors")); } void AboutDialog::licenseButtonClicked() { displayFile(QLatin1String(":LICENSE.GPL2"), tr("License")); } arora-0.11.0/src/aboutdialog.h000066400000000000000000000022571145000221100161170ustar00rootroot00000000000000/* * Copyright 2007-2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef ABOUTDIALOG_H #define ABOUTDIALOG_H #include #include "ui_aboutdialog.h" class AboutDialog : public QDialog, private Ui_AboutDialog { Q_OBJECT public: AboutDialog(QWidget *parent = 0); private slots: void authorsButtonClicked(); void licenseButtonClicked(); private: void displayFile(const QString &fileName, const QString &title); }; #endif // ABOUTDIALOG_H arora-0.11.0/src/aboutdialog.ui000066400000000000000000000162461145000221100163100ustar00rootroot00000000000000 AboutDialog 0 0 450 240 true 0 0 false Qt::AlignCenter 0 0 16 75 true Qt::AlignCenter Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse 0 0 12 50 false Qt::AlignCenter Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse 0 0 11 50 false Qt::AlignCenter Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse Lightweight WebKit-based web browser Qt::AlignCenter Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse 0 0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2010 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> Qt::AlignCenter true Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse 0 0 <a href="http://arora-browser.org">http://arora-browser.org</a> Qt::AlignCenter true Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse Qt::Horizontal 40 20 Authors License Close true Qt::Horizontal 40 20 closeButton clicked() AboutDialog accept() 322 204 372 206 arora-0.11.0/src/acceptlanguagedialog.cpp000066400000000000000000000136341145000221100203040ustar00rootroot00000000000000/* * Copyright 2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "acceptlanguagedialog.h" #include "browserapplication.h" #include "languagemanager.h" #include #include AcceptLanguageDialog::AcceptLanguageDialog(QWidget *parent, Qt::WindowFlags flags) : QDialog(parent, flags) { setupUi(this); connect(addButton, SIGNAL(clicked()), this, SLOT(addLanguage())); connect(removeButton, SIGNAL(clicked()), this, SLOT(removeLanguage())); connect(moveUpButton, SIGNAL(clicked()), this, SLOT(moveLanguageUp())); connect(moveDownButton, SIGNAL(clicked()), this, SLOT(moveLanguageDown())); listView->setModel(&m_model); connect(listView->selectionModel(), SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(currentChanged(const QModelIndex &, const QModelIndex &))); load(); QStringList allLanguages; for (int i = 1 + (int)QLocale::C; i <= (int)QLocale::LastLanguage; ++i) allLanguages += expand(QLocale::Language(i)); m_allLanguagesModel.setStringList(allLanguages); addComboBox->setModel(&m_allLanguagesModel); } QStringList AcceptLanguageDialog::expand(const QLocale::Language language) { QStringList allLanguages; QList countries = QLocale::countriesForLanguage(language); for (int j = 0; j < countries.size(); ++j) { QString languageString; if (countries.count() == 1) { languageString = QString(QLatin1String("%1 [%2]")) .arg(QLocale::languageToString(language)) .arg(QLocale(language).name().split(QLatin1Char('_')).at(0)); } else { languageString = QString(QLatin1String("%1/%2 [%3]")) .arg(QLocale::languageToString(language)) .arg(QLocale::countryToString(countries.at(j))) .arg(QLocale(language, countries.at(j)).name().split(QLatin1Char('_')).join(QLatin1String("-")).toLower()); } if (!allLanguages.contains(languageString)) allLanguages.append(languageString); } return allLanguages; } void AcceptLanguageDialog::currentChanged(const QModelIndex ¤t, const QModelIndex &previous) { Q_UNUSED(previous); removeButton->setEnabled(current.isValid()); int row = current.row(); moveUpButton->setEnabled(row > 0); moveDownButton->setEnabled(row != -1 && row < m_model.rowCount() - 1); } QStringList AcceptLanguageDialog::defaultAcceptList() { QString currentLanguage = BrowserApplication::instance()->languageManager()->currentLanguage(); if (currentLanguage.isEmpty()) return QStringList(); return expand(QLocale(currentLanguage).language()); } void AcceptLanguageDialog::accept() { save(); QDialog::accept(); } void AcceptLanguageDialog::load() { QSettings settings; settings.beginGroup(QLatin1String("network")); m_model.setStringList(settings.value(QLatin1String("acceptLanguages"), defaultAcceptList()).toStringList()); } void AcceptLanguageDialog::save() { QSettings settings; settings.beginGroup(QLatin1String("network")); QStringList result = m_model.stringList(); if (result == defaultAcceptList() || result.isEmpty()) settings.remove(QLatin1String("acceptLanguages")); else settings.setValue(QLatin1String("acceptLanguages"), result); } /* Return a ByteArray that can be sent along with the Accept-Language http header See RFC 2616 section 14.4 */ QByteArray AcceptLanguageDialog::httpString(const QStringList &list) { QStringList processed; qreal qvalue = 1.0; foreach (const QString &string, list) { int leftBracket = string.indexOf(QLatin1Char('[')); int rightBracket = string.indexOf(QLatin1Char(']')); QString tag = string.mid(leftBracket + 1, rightBracket - leftBracket - 1); if (processed.isEmpty()) { processed << tag; } else { processed << QString(QLatin1String("%1; %2")).arg(tag).arg(QString::number(qvalue, 'f', 1)); } if (qvalue > .1) qvalue -= .1; } return processed.join(QLatin1String(", ")).toLatin1(); } void AcceptLanguageDialog::moveLanguageUp() { int currentRow = listView->currentIndex().row(); QString item = listView->currentIndex().data().toString(); m_model.removeRow(currentRow); m_model.insertRows(currentRow - 1, 1); m_model.setData(m_model.index(currentRow - 1), item); listView->setCurrentIndex(m_model.index(currentRow + 1)); } void AcceptLanguageDialog::moveLanguageDown() { int currentRow = listView->currentIndex().row(); QString item = listView->currentIndex().data().toString(); m_model.removeRow(currentRow); m_model.insertRows(currentRow + 1, 1); m_model.setData(m_model.index(currentRow + 1), item); listView->setCurrentIndex(m_model.index(currentRow + 1)); } void AcceptLanguageDialog::removeLanguage() { int currentRow = listView->currentIndex().row(); m_model.removeRow(currentRow); } void AcceptLanguageDialog::addLanguage() { QString text = addComboBox->currentText(); if (m_model.stringList().contains(text)) return; m_model.insertRow(m_model.rowCount()); m_model.setData(m_model.index(m_model.rowCount() - 1), text); } arora-0.11.0/src/acceptlanguagedialog.h000066400000000000000000000031711145000221100177440ustar00rootroot00000000000000/* * Copyright 2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef ACCEPTLANGUAGEDIALOG_H #define ACCEPTLANGUAGEDIALOG_H #include #include "ui_acceptlanguagedialog.h" #include class AcceptLanguageDialog : public QDialog, public Ui_AcceptLanguage { Q_OBJECT public: AcceptLanguageDialog(QWidget *parent = 0, Qt::WindowFlags flags = 0); void accept(); static QByteArray httpString(const QStringList &list); static QStringList defaultAcceptList(); private slots: void load(); void save(); void currentChanged(const QModelIndex ¤t, const QModelIndex &previous); void moveLanguageUp(); void moveLanguageDown(); void removeLanguage(); void addLanguage(); private: static QStringList expand(const QLocale::Language language); QStringListModel m_allLanguagesModel; QStringListModel m_model; }; #endif // ACCEPTLANGUAGEDIALOG_H arora-0.11.0/src/acceptlanguagedialog.ui000066400000000000000000000066061145000221100201400ustar00rootroot00000000000000 AcceptLanguage 0 0 397 251 Languages Languages: in order of preference: true false Move &Up false Move &Down false &Remove Qt::Vertical 20 38 Add... Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok listView moveUpButton moveDownButton removeButton addComboBox addButton buttonBox buttonBox accepted() AcceptLanguage accept() 227 228 157 250 buttonBox rejected() AcceptLanguage reject() 295 234 286 250 arora-0.11.0/src/adblock/000077500000000000000000000000001145000221100150455ustar00rootroot00000000000000arora-0.11.0/src/adblock/adblock.pri000066400000000000000000000010731145000221100171610ustar00rootroot00000000000000INCLUDEPATH += $$PWD DEPENDPATH += $$PWD HEADERS += \ adblockblockednetworkreply.h \ adblockdialog.h \ adblockmanager.h \ adblockmodel.h \ adblocknetwork.h \ adblockpage.h \ adblockrule.h \ adblockschemeaccesshandler.h \ adblocksubscription.h SOURCES += \ adblockblockednetworkreply.cpp \ adblockdialog.cpp \ adblockmanager.cpp \ adblockmodel.cpp \ adblocknetwork.cpp \ adblockpage.cpp \ adblockrule.cpp \ adblockschemeaccesshandler.cpp \ adblocksubscription.cpp FORMS += \ adblockdialog.ui arora-0.11.0/src/adblock/adblockblockednetworkreply.cpp000066400000000000000000000045071145000221100231700ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "adblockblockednetworkreply.h" #include "adblockrule.h" #include #include AdBlockBlockedNetworkReply::AdBlockBlockedNetworkReply(const QNetworkRequest &request, const AdBlockRule *rule, QObject *parent) : QNetworkReply(parent) { setOperation(QNetworkAccessManager::GetOperation); setRequest(request); setUrl(request.url()); setError(QNetworkReply::ContentAccessDenied, tr("Blocked by AdBlockRule: %1").arg(rule->filter())); QTimer::singleShot(0, this, SLOT(delayedFinished())); } qint64 AdBlockBlockedNetworkReply::readData(char *data, qint64 maxSize) { Q_UNUSED(data); Q_UNUSED(maxSize); return -1; } void AdBlockBlockedNetworkReply::delayedFinished() { emit error(QNetworkReply::ContentAccessDenied); emit finished(); } arora-0.11.0/src/adblock/adblockblockednetworkreply.h000066400000000000000000000037761145000221100226440ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef ADBLOCKBLOCKEDNETWORKREPLY_H #define ADBLOCKBLOCKEDNETWORKREPLY_H #include class AdBlockRule; class AdBlockBlockedNetworkReply : public QNetworkReply { Q_OBJECT public: AdBlockBlockedNetworkReply(const QNetworkRequest &request, const AdBlockRule *rule, QObject *parent = 0); void abort() {}; protected: qint64 readData(char *data, qint64 maxSize); private slots: void delayedFinished(); }; #endif // ADBLOCKBLOCKEDNETWORKREPLY_H arora-0.11.0/src/adblock/adblockdialog.cpp000066400000000000000000000132151145000221100203320ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "adblockdialog.h" #include "adblockmodel.h" #include "adblockmanager.h" #include "adblocksubscription.h" #include "treesortfilterproxymodel.h" #include #include #include #include AdBlockDialog::AdBlockDialog(QWidget *parent) : QDialog(parent) { setupUi(this); m_adBlockModel = new AdBlockModel(this); m_proxyModel = new TreeSortFilterProxyModel(this); m_proxyModel->setSourceModel(m_adBlockModel); treeView->setModel(m_proxyModel); connect(search, SIGNAL(textChanged(QString)), m_proxyModel, SLOT(setFilterFixedString(QString))); AdBlockManager *manager = AdBlockManager::instance(); adblockCheckBox->setChecked(manager->isEnabled()); connect(adblockCheckBox, SIGNAL(toggled(bool)), AdBlockManager::instance(), SLOT(setEnabled(bool))); QMenu *menu = new QMenu(this); connect(menu, SIGNAL(aboutToShow()), this, SLOT(aboutToShowActionMenu())); actionToolButton->setMenu(menu); actionToolButton->setIcon(QIcon(QLatin1String(":128x128/run.png"))); actionToolButton->setPopupMode(QToolButton::InstantPopup); AdBlockSubscription *subscription = manager->customRules(); QModelIndex subscriptionIndex = m_adBlockModel->index(subscription); treeView->expand(m_proxyModel->mapFromSource(subscriptionIndex)); } void AdBlockDialog::aboutToShowActionMenu() { QMenu *menu = actionToolButton->menu(); menu->clear(); QAction *addRule = menu->addAction(tr("Add Custom Rule")); connect(addRule, SIGNAL(triggered()), this, SLOT(addCustomRule())); QAction *learnRule = menu->addAction(tr("Learn more about writing rules...")); connect(learnRule, SIGNAL(triggered()), this, SLOT(learnAboutWritingFilters())); menu->addSeparator(); QModelIndex idx = m_proxyModel->mapToSource(treeView->currentIndex()); QAction *updateSubscription = menu->addAction(tr("Update Subscription")); connect(updateSubscription, SIGNAL(triggered()), this, SLOT(updateSubscription())); if (!idx.isValid()) updateSubscription->setEnabled(false); QAction *addSubscription = menu->addAction(tr("Browse Subscriptions...")); connect(addSubscription, SIGNAL(triggered()), this, SLOT(browseSubscriptions())); menu->addSeparator(); QAction *removeSubscription = menu->addAction(tr("Remove Subscription")); connect(removeSubscription, SIGNAL(triggered()), this, SLOT(removeSubscription())); if (!idx.isValid()) removeSubscription->setEnabled(false); } void AdBlockDialog::addCustomRule(const QString &rule) { AdBlockManager *manager = AdBlockManager::instance(); AdBlockSubscription *subscription = manager->customRules(); Q_ASSERT(subscription); subscription->addRule(AdBlockRule(rule)); // reset the model qApp->processEvents(); QModelIndex parent = m_adBlockModel->index(subscription); int x = m_adBlockModel->rowCount(parent); QModelIndex ruleIndex = m_adBlockModel->index(x - 1, 0, parent); treeView->expand(m_proxyModel->mapFromSource(parent)); treeView->edit(m_proxyModel->mapFromSource(ruleIndex)); } void AdBlockDialog::updateSubscription() { QModelIndex idx = m_proxyModel->mapToSource(treeView->currentIndex()); if (!idx.isValid()) return; if (idx.parent().isValid()) idx = idx.parent(); AdBlockSubscription *subscription = (AdBlockSubscription*)m_adBlockModel->subscription(idx); subscription->updateNow(); } void AdBlockDialog::browseSubscriptions() { QUrl url(QLatin1String("http://adblockplus.org/en/subscriptions")); QDesktopServices::openUrl(url); } void AdBlockDialog::learnAboutWritingFilters() { QUrl url(QLatin1String("http://adblockplus.org/en/filters")); QDesktopServices::openUrl(url); } void AdBlockDialog::removeSubscription() { QModelIndex idx = m_proxyModel->mapToSource(treeView->currentIndex()); if (!idx.isValid()) return; if (idx.parent().isValid()) idx = idx.parent(); AdBlockSubscription *subscription = (AdBlockSubscription*)m_adBlockModel->subscription(idx); AdBlockManager::instance()->removeSubscription(subscription); } arora-0.11.0/src/adblock/adblockdialog.h000066400000000000000000000042471145000221100200040ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef ADBLOCKDIALOG_H #define ADBLOCKDIALOG_H #include #include "ui_adblockdialog.h" class AdBlockModel; class TreeSortFilterProxyModel; class AdBlockDialog : public QDialog, public Ui_AdBlockDialog { Q_OBJECT public: AdBlockDialog(QWidget *parent = 0); public slots: void addCustomRule(const QString &rule = QString()); private slots: void learnAboutWritingFilters(); void aboutToShowActionMenu(); void updateSubscription(); void browseSubscriptions(); void removeSubscription(); private: AdBlockModel *m_adBlockModel; TreeSortFilterProxyModel *m_proxyModel; }; #endif // ADBLOCKDIALOG_H arora-0.11.0/src/adblock/adblockdialog.ui000066400000000000000000000073751145000221100201770ustar00rootroot00000000000000 AdBlockDialog 0 0 483 487 AdBlock Configuration Enable AdBlock true Qt::Horizontal QDialogButtonBox::Ok true 0 Qt::Horizontal 398 23 Action Qt::Horizontal 40 20 SearchLineEdit QLineEdit
searchlineedit.h
EditTreeView QTreeView
edittreeview.h
buttonBox accepted() AdBlockDialog accept() 75 495 157 274 buttonBox rejected() AdBlockDialog reject() 75 495 286 274 adblockCheckBox toggled(bool) adblockWidget setEnabled(bool) 106 39 349 74
arora-0.11.0/src/adblock/adblockmanager.cpp000066400000000000000000000164041145000221100205100ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "adblockmanager.h" #include "autosaver.h" #include "adblockdialog.h" #include "adblocknetwork.h" #include "adblockpage.h" #include "adblocksubscription.h" #include "browserapplication.h" #include "networkaccessmanager.h" #include #include #include // #define ADBLOCKMANAGER_DEBUG AdBlockManager *AdBlockManager::s_adBlockManager = 0; AdBlockManager::AdBlockManager(QObject *parent) : QObject(parent) , m_loaded(false) , m_enabled(true) , m_saveTimer(new AutoSaver(this)) , m_adBlockDialog(0) , m_adBlockNetwork(0) , m_adBlockPage(0) { connect(this, SIGNAL(rulesChanged()), m_saveTimer, SLOT(changeOccurred())); } AdBlockManager::~AdBlockManager() { m_saveTimer->saveIfNeccessary(); } AdBlockManager *AdBlockManager::instance() { if (!s_adBlockManager) { // Set a parent that will delete us before the application exits s_adBlockManager = new AdBlockManager(BrowserApplication::networkAccessManager()); } return s_adBlockManager; } bool AdBlockManager::isEnabled() const { if (!m_loaded) { AdBlockManager *that = const_cast(this); that->load(); } return m_enabled; } void AdBlockManager::setEnabled(bool enabled) { if (isEnabled() == enabled) return; m_enabled = enabled; emit rulesChanged(); } AdBlockNetwork *AdBlockManager::network() { if (!m_adBlockNetwork) m_adBlockNetwork = new AdBlockNetwork(this); return m_adBlockNetwork; } AdBlockPage *AdBlockManager::page() { if (!m_adBlockPage) m_adBlockPage = new AdBlockPage(this); return m_adBlockPage; } static QUrl customSubscriptionLocation() { QString fileName = BrowserApplication::dataFilePath(QLatin1String("adblock_subscription_custom")); return QUrl::fromLocalFile(fileName); } QUrl AdBlockManager::customSubscriptionUrl() { QUrl location = customSubscriptionLocation(); QString encodedUrl = QString::fromUtf8(location.toEncoded()); QUrl url(QString(QLatin1String("abp:subscribe?location=%1&title=%2")) .arg(encodedUrl) .arg(tr("Custom Rules"))); return url; } AdBlockSubscription *AdBlockManager::customRules() { QUrl location = customSubscriptionLocation(); foreach (AdBlockSubscription *subscription, m_subscriptions) { if (subscription->location() == location) return subscription; } QUrl url = customSubscriptionUrl(); AdBlockSubscription *customAdBlockSubscription = new AdBlockSubscription(url, this); addSubscription(customAdBlockSubscription); return customAdBlockSubscription; } QList AdBlockManager::subscriptions() const { if (!m_loaded) { AdBlockManager *that = const_cast(this); that->load(); } return m_subscriptions; } void AdBlockManager::removeSubscription(AdBlockSubscription *subscription) { if (!subscription) return; #if defined(ADBLOCKMANAGER_DEBUG) qDebug() << "AdBlockManager::" << __FUNCTION__ << subscription->location(); #endif m_saveTimer->saveIfNeccessary(); m_subscriptions.removeOne(subscription); if (subscription->parent() == this) subscription->deleteLater(); emit rulesChanged(); } void AdBlockManager::addSubscription(AdBlockSubscription *subscription) { if (!subscription) return; #if defined(ADBLOCKMANAGER_DEBUG) qDebug() << "AdBlockManager::" << __FUNCTION__ << subscription->location(); #endif m_subscriptions.append(subscription); connect(subscription, SIGNAL(rulesChanged()), this, SIGNAL(rulesChanged())); connect(subscription, SIGNAL(changed()), this, SIGNAL(rulesChanged())); emit rulesChanged(); } void AdBlockManager::save() { #if defined(ADBLOCKMANAGER_DEBUG) qDebug() << "AdBlockManager::" << __FUNCTION__ << m_loaded; #endif if (!m_loaded) return; QSettings settings; settings.beginGroup(QLatin1String("AdBlock")); settings.setValue(QLatin1String("enabled"), m_enabled); QStringList subscriptions; foreach (AdBlockSubscription *subscription, m_subscriptions) { if (!subscription) continue; subscriptions.append(QString::fromUtf8(subscription->url().toEncoded())); subscription->saveRules(); } settings.setValue(QLatin1String("subscriptions"), subscriptions); } void AdBlockManager::load() { #if defined(ADBLOCKMANAGER_DEBUG) qDebug() << "AdBlockManager::" << __FUNCTION__ << m_loaded; #endif if (m_loaded) return; m_loaded = true; QSettings settings; settings.beginGroup(QLatin1String("AdBlock")); m_enabled = settings.value(QLatin1String("enabled"), m_enabled).toBool(); QStringList defaultSubscriptions; defaultSubscriptions.append(QString::fromUtf8(customSubscriptionUrl().toEncoded())); defaultSubscriptions.append(QLatin1String("abp:subscribe?location=http://adblockplus.mozdev.org/easylist/easylist.txt&title=EasyList")); QStringList subscriptions = settings.value(QLatin1String("subscriptions"), defaultSubscriptions).toStringList(); foreach (const QString &subscription, subscriptions) { QUrl url = QUrl::fromEncoded(subscription.toUtf8()); AdBlockSubscription *adBlockSubscription = new AdBlockSubscription(url, this); connect(adBlockSubscription, SIGNAL(rulesChanged()), this, SIGNAL(rulesChanged())); connect(adBlockSubscription, SIGNAL(changed()), this, SIGNAL(rulesChanged())); m_subscriptions.append(adBlockSubscription); } } AdBlockDialog *AdBlockManager::showDialog() { if (!m_adBlockDialog) { m_adBlockDialog = new AdBlockDialog(0); m_adBlockDialog->setAttribute(Qt::WA_DeleteOnClose, true); } m_adBlockDialog->show(); return m_adBlockDialog; } arora-0.11.0/src/adblock/adblockmanager.h000066400000000000000000000053331145000221100201540ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef ADBLOCKMANAGER_H #define ADBLOCKMANAGER_H #include #include class QUrl; class AutoSaver; class AdBlockDialog; class AdBlockNetwork; class AdBlockPage; class AdBlockSubscription; class AdBlockManager : public QObject { Q_OBJECT signals: void rulesChanged(); public: AdBlockManager(QObject *parent = 0); ~AdBlockManager(); void load(); static AdBlockManager *instance(); bool isEnabled() const; QList subscriptions() const; void removeSubscription(AdBlockSubscription *subscription); void addSubscription(AdBlockSubscription *subscription); AdBlockNetwork *network(); AdBlockPage *page(); AdBlockSubscription *customRules(); public slots: void setEnabled(bool enabled); AdBlockDialog *showDialog(); private slots: void save(); private: static QUrl customSubscriptionUrl(); static AdBlockManager *s_adBlockManager; bool m_loaded; bool m_enabled; AutoSaver *m_saveTimer; QPointer m_adBlockDialog; AdBlockNetwork *m_adBlockNetwork; AdBlockPage *m_adBlockPage; QList m_subscriptions; }; #endif // ADBLOCKMANAGER_H arora-0.11.0/src/adblock/adblockmodel.cpp000066400000000000000000000220331145000221100201710ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "adblockmodel.h" #include "adblockrule.h" #include "adblocksubscription.h" #include "adblockmanager.h" AdBlockModel::AdBlockModel(QObject *parent) : QAbstractItemModel(parent) , m_manager(AdBlockManager::instance()) { connect(m_manager, SIGNAL(rulesChanged()), this, SLOT(rulesChanged())); } void AdBlockModel::rulesChanged() { reset(); } const AdBlockRule AdBlockModel::rule(const QModelIndex &index) const { const AdBlockSubscription *parent = static_cast(index.internalPointer()); Q_ASSERT(parent); return parent->allRules().at(index.row()); } AdBlockSubscription *AdBlockModel::subscription(const QModelIndex &index) const { const AdBlockSubscription *parent = static_cast(index.internalPointer()); if (parent) return 0; int row = index.row(); if (row < 0 || row >= m_manager->subscriptions().count()) return 0; return m_manager->subscriptions().at(row); } QModelIndex AdBlockModel::index(AdBlockSubscription *subscription) { int row = m_manager->subscriptions().indexOf(subscription); if (row < 0 || row >= m_manager->subscriptions().count()) return QModelIndex(); return createIndex(row, 0, 0); } QVariant AdBlockModel::headerData(int section, Qt::Orientation orientation, int role) const { if (orientation == Qt::Horizontal && role == Qt::DisplayRole) { switch (section) { case 0: return tr("Rule"); } } return QAbstractItemModel::headerData(section, orientation, role); } QVariant AdBlockModel::data(const QModelIndex &index, int role) const { if (!index.isValid() || index.model() != this || index.column() != 0) return QVariant(); switch (role) { case Qt::EditRole: case Qt::DisplayRole: if (index.parent().isValid()) { const AdBlockRule r = rule(index); return r.filter(); } else { AdBlockSubscription *sub = subscription(index); if (sub) return sub->title(); } break; case Qt::CheckStateRole: if (index.parent().isValid()) { const AdBlockRule r = rule(index); return r.isEnabled() ? Qt::Checked : Qt::Unchecked; } else { AdBlockSubscription *sub = subscription(index); if (sub) return sub->isEnabled() ? Qt::Checked : Qt::Unchecked; } break; default: break; } return QVariant(); } int AdBlockModel::columnCount(const QModelIndex &parent) const { return (parent.column() > 0) ? 0 : 1; } int AdBlockModel::rowCount(const QModelIndex &parent) const { if (parent.column() > 0) return 0; if (!parent.isValid()) return m_manager->subscriptions().count(); if (parent.internalPointer() != 0) return 0; const AdBlockSubscription *parentNode = subscription(parent); return parentNode ? parentNode->allRules().count() : 0; } QModelIndex AdBlockModel::index(int row, int column, const QModelIndex &parent) const { if (row < 0 || column < 0 || row >= rowCount(parent) || column >= columnCount(parent)) return QModelIndex(); if (!parent.isValid()) return createIndex(row, column, (void*)0); // get the parent node const AdBlockSubscription *parentNode = subscription(parent); return createIndex(row, column, (void*)parentNode); } QModelIndex AdBlockModel::parent(const QModelIndex &index) const { if (!index.isValid()) return QModelIndex(); AdBlockSubscription *parent = static_cast(index.internalPointer()); if (!parent) return QModelIndex(); int parentRow = m_manager->subscriptions().indexOf(parent); return createIndex(parentRow, 0, 0); } Qt::ItemFlags AdBlockModel::flags(const QModelIndex &index) const { if (!index.isValid()) return Qt::NoItemFlags; Qt::ItemFlags flags = Qt::ItemIsSelectable; if (index.parent().isValid()) { flags |= Qt::ItemIsUserCheckable | Qt::ItemIsEditable; const AdBlockSubscription *parentNode = subscription(index.parent()); if (parentNode && parentNode->isEnabled()) flags |= Qt::ItemIsEnabled; } else { flags |= Qt::ItemIsUserCheckable | Qt::ItemIsEditable | Qt::ItemIsEnabled; } return flags; } bool AdBlockModel::removeRows(int row, int count, const QModelIndex &parent) { if (row < 0 || count <= 0 || row + count > rowCount(parent)) return false; if (!parent.isValid()) { disconnect(m_manager, SIGNAL(rulesChanged()), this, SLOT(rulesChanged())); beginRemoveRows(QModelIndex(), row, row + count - 1); for (int i = row + count - 1; i >= row; --i) { AdBlockManager *manager = AdBlockManager::instance(); manager->removeSubscription(manager->subscriptions().at(i)); } endRemoveRows(); connect(m_manager, SIGNAL(rulesChanged()), this, SLOT(rulesChanged())); return true; } else { AdBlockSubscription *sub = subscription(parent); if (sub) { disconnect(m_manager, SIGNAL(rulesChanged()), this, SLOT(rulesChanged())); beginRemoveRows(parent, row, row + count - 1); QList rules = sub->allRules(); for (int i = row + count - 1; i >= row; --i) sub->removeRule(i); endRemoveRows(); connect(m_manager, SIGNAL(rulesChanged()), this, SLOT(rulesChanged())); return true; } } return false; } bool AdBlockModel::setData(const QModelIndex &index, const QVariant &value, int role) { if (!index.isValid() || index.model() != this || index.column() != 0 || (flags(index) & Qt::ItemIsEditable) == 0) return false; disconnect(m_manager, SIGNAL(rulesChanged()), this, SLOT(rulesChanged())); bool changed = false; switch (role) { case Qt::EditRole: case Qt::DisplayRole: if (index.parent().isValid()) { AdBlockSubscription *sub = subscription(index.parent()); if (sub) { AdBlockRule r = rule(index); r.setFilter(value.toString()); sub->replaceRule(r, index.row()); dataChanged(index, index); changed = true; } } else { AdBlockSubscription *sub = subscription(index); if (sub) { sub->setTitle(value.toString()); dataChanged(index, index); changed = true; } } break; case Qt::CheckStateRole: if (index.parent().isValid()) { AdBlockSubscription *sub = subscription(index.parent()); if (sub) { AdBlockRule r = rule(index); r.setEnabled(value == Qt::Checked); sub->replaceRule(r, index.row()); dataChanged(index, index); changed = true; } } else { AdBlockSubscription *sub = subscription(index); if (sub) { sub->setEnabled(value == Qt::Checked); dataChanged(index, index); changed = true; } } break; default: break; } connect(m_manager, SIGNAL(rulesChanged()), this, SLOT(rulesChanged())); return changed; } bool AdBlockModel::hasChildren(const QModelIndex &parent) const { if (!parent.isValid()) return true; if (parent.internalPointer() == 0) return true; return false; } arora-0.11.0/src/adblock/adblockmodel.h000066400000000000000000000055361145000221100176470ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef ADBLOCKMODEL_H #define ADBLOCKMODEL_H #include class AdBlockRule; class AdBlockSubscription; class AdBlockManager; class AdBlockModel : public QAbstractItemModel { Q_OBJECT public: AdBlockModel(QObject *parent = 0); QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; int columnCount(const QModelIndex &parent = QModelIndex()) const; int rowCount(const QModelIndex &parent = QModelIndex()) const; QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const; QModelIndex parent(const QModelIndex &index = QModelIndex()) const; Qt::ItemFlags flags(const QModelIndex &index) const; bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); bool hasChildren(const QModelIndex &parent = QModelIndex()) const; const AdBlockRule rule(const QModelIndex &index) const; AdBlockSubscription *subscription(const QModelIndex &index) const; QModelIndex index(AdBlockSubscription *subscription); private slots: void rulesChanged(); private: AdBlockManager *m_manager; }; #endif // ADBLOCKMODEL_H arora-0.11.0/src/adblock/adblocknetwork.cpp000066400000000000000000000057071145000221100205730ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "adblocknetwork.h" #include "adblockblockednetworkreply.h" #include "adblockmanager.h" #include "adblocksubscription.h" #include // #define ADBLOCKNETWORK_DEBUG AdBlockNetwork::AdBlockNetwork(QObject *parent) : QObject(parent) { } QNetworkReply *AdBlockNetwork::block(const QNetworkRequest &request) { QUrl url = request.url(); if (url.scheme() == QLatin1String("data")) return 0; AdBlockManager *manager = AdBlockManager::instance(); if (!manager->isEnabled()) return 0; QString urlString = QString::fromUtf8(url.toEncoded()); const AdBlockRule *blockedRule = 0; const AdBlockSubscription *blockingSubscription = 0; QList subscriptions = manager->subscriptions(); foreach (AdBlockSubscription *subscription, subscriptions) { if (subscription->allow(urlString)) return 0; if (const AdBlockRule *rule = subscription->block(urlString)) { blockedRule = rule; blockingSubscription = subscription; break; } } if (blockedRule) { #if defined(ADBLOCKNETWORK_DEBUG) qDebug() << "AdBlockNetwork::" << __FUNCTION__ << "rule:" << blockedRule->filter() << "subscription:" << blockingSubscription->title() << url; #endif AdBlockBlockedNetworkReply *reply = new AdBlockBlockedNetworkReply(request, blockedRule, this); return reply; } return 0; } arora-0.11.0/src/adblock/adblocknetwork.h000066400000000000000000000035231145000221100202320ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef ADBLOCKNETWORK_H #define ADBLOCKNETWORK_H #include class QNetworkRequest; class QNetworkReply; class AdBlockNetwork : public QObject { Q_OBJECT public: AdBlockNetwork(QObject *parent = 0); QNetworkReply *block(const QNetworkRequest &request); }; #endif // ADBLOCKNETWORK_H arora-0.11.0/src/adblock/adblockpage.cpp000066400000000000000000000100341145000221100200030ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "adblockpage.h" #include "adblockmanager.h" #include "adblocksubscription.h" #include "adblockrule.h" #if QT_VERSION >= 0x040600 #include #endif #include #include #include // #define ADBLOCKPAGE_DEBUG AdBlockPage::AdBlockPage(QObject *parent) : QObject(parent) { } void AdBlockPage::checkRule(const AdBlockRule *rule, QWebPage *page, const QString &host) { if (!rule->isEnabled()) return; QString filter = rule->filter(); int offset = filter.indexOf(QLatin1String("##")); if (offset == -1) return; QString selectorQuery; if (offset > 0) { QString domainRules = filter.mid(0, offset); selectorQuery = filter.mid(offset + 2); QStringList domains = domainRules.split(QLatin1Char(',')); bool match = false; foreach (const QString &domain, domains) { bool reverse = (domain[0] == QLatin1Char('~')); if (reverse) { QString xdomain = domain.mid(1); if (host.endsWith(xdomain)) return; match = true; } if (host.endsWith(domain)) match = true; } if (!match) return; } if (offset == 0) selectorQuery = filter.mid(2); Q_UNUSED(page); #if QT_VERSION >= 0x040600 QWebElement document = page->mainFrame()->documentElement(); QWebElementCollection elements = document.findAll(selectorQuery); #if defined(ADBLOCKPAGE_DEBUG) if (elements.count() != 0) qDebug() << "AdBlockPage::" << __FUNCTION__ << "blocking" << elements.count() << "items" << selectorQuery << elements.count() << "rule:" << rule->filter(); #endif foreach (QWebElement element, elements) { element.setStyleProperty(QLatin1String("visibility"), QLatin1String("hidden")); element.removeFromDocument(); } #endif } void AdBlockPage::applyRulesToPage(QWebPage *page) { if (!page || !page->mainFrame()) return; AdBlockManager *manager = AdBlockManager::instance(); if (!manager->isEnabled()) return; #if QT_VERSION >= 0x040600 QString host = page->mainFrame()->url().host(); QList subscriptions = manager->subscriptions(); foreach (AdBlockSubscription *subscription, subscriptions) { QList rules = subscription->pageRules(); foreach (const AdBlockRule *rule, rules) { checkRule(rule, page, host); } } #endif } arora-0.11.0/src/adblock/adblockpage.h000066400000000000000000000036071145000221100174600ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef ADBLOCKPAGE_H #define ADBLOCKPAGE_H #include class AdBlockRule; class QWebPage; class AdBlockPage : public QObject { Q_OBJECT public: AdBlockPage(QObject *parent = 0); void applyRulesToPage(QWebPage *page); private: void checkRule(const AdBlockRule *rule, QWebPage *page, const QString &host); }; #endif // ADBLOCKPAGE_H arora-0.11.0/src/adblock/adblockrule.cpp000066400000000000000000000155541145000221100200520ustar00rootroot00000000000000/** * Copyright (c) 2009, Zsombor Gegesy * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "adblockrule.h" #include "adblocksubscription.h" #include #include #include // #define ADBLOCKRULE_DEBUG AdBlockRule::AdBlockRule(const QString &filter) { setFilter(filter); } QString AdBlockRule::filter() const { return m_filter; } void AdBlockRule::setFilter(const QString &filter) { m_filter = filter; m_cssRule = false; m_enabled = true; m_exception = false; bool regExpRule = false; if (filter.startsWith(QLatin1String("!")) || filter.trimmed().isEmpty()) m_enabled = false; if (filter.contains(QLatin1String("##"))) m_cssRule = true; QString parsedLine = filter; if (parsedLine.startsWith(QLatin1String("@@"))) { m_exception = true; parsedLine = parsedLine.mid(2); } if (parsedLine.startsWith(QLatin1Char('/'))) { if (parsedLine.endsWith(QLatin1Char('/'))) { parsedLine = parsedLine.mid(1); parsedLine = parsedLine.left(parsedLine.size() - 1); regExpRule = true; } } int options = parsedLine.indexOf(QLatin1String("$"), 0); if (options >= 0) { m_options = parsedLine.mid(options + 1).split(QLatin1Char(',')); parsedLine = parsedLine.left(options); } setPattern(parsedLine, regExpRule); if (m_options.contains(QLatin1String("match-case"))) { m_regExp.setCaseSensitivity(Qt::CaseSensitive); m_options.removeOne(QLatin1String("match-case")); } } bool AdBlockRule::networkMatch(const QString &encodedUrl) const { if (m_cssRule) { #if defined(ADBLOCKRULE_DEBUG) qDebug() << "AdBlockRule::" << __FUNCTION__ << "m_cssRule" << m_cssRule; #endif return false; } if (!m_enabled) { #if defined(ADBLOCKRULE_DEBUG) qDebug() << "AdBlockRule::" << __FUNCTION__ << "is not enabled"; #endif return false; } bool matched = m_regExp.indexIn(encodedUrl) != -1; if (matched && !m_options.isEmpty()) { // we only support domain right now if (m_options.count() == 1) { foreach (const QString &option, m_options) { if (option.startsWith(QLatin1String("domain="))) { QUrl url = QUrl::fromEncoded(encodedUrl.toUtf8()); QString host = url.host(); QStringList domainOptions = option.mid(7).split(QLatin1Char('|')); foreach (QString domainOption, domainOptions) { bool negate = domainOption.at(0) == QLatin1Char('~'); if (negate) domainOption = domainOption.mid(1); bool hostMatched = domainOption == host; if (hostMatched && !negate) return true; if (!hostMatched && negate) return true; } } } } #if defined(ADBLOCKRULE_DEBUG) qDebug() << "AdBlockRule::" << __FUNCTION__ << "options are currently not supported" << m_options; #endif return false; } #if defined(ADBLOCKRULE_DEBUG) //qDebug() << "AdBlockRule::" << __FUNCTION__ << encodedUrl << "MATCHED" << matched << filter(); #endif return matched; } bool AdBlockRule::isException() const { return m_exception; } void AdBlockRule::setException(bool exception) { m_exception = exception; } bool AdBlockRule::isEnabled() const { return m_enabled; } void AdBlockRule::setEnabled(bool enabled) { m_enabled = enabled; if (!enabled) { m_filter = QLatin1String("!") + m_filter; } else { m_filter = m_filter.mid(1); } } QString AdBlockRule::regExpPattern() const { return m_regExp.pattern(); } static QString convertPatternToRegExp(const QString &wildcardPattern) { QString pattern = wildcardPattern; return pattern.replace(QRegExp(QLatin1String("\\*+")), QLatin1String("*")) // remove multiple wildcards .replace(QRegExp(QLatin1String("\\^\\|$")), QLatin1String("^")) // remove anchors following separator placeholder .replace(QRegExp(QLatin1String("^(\\*)")), QLatin1String("")) // remove leading wildcards .replace(QRegExp(QLatin1String("(\\*)$")), QLatin1String("")) // remove trailing wildcards .replace(QRegExp(QLatin1String("(\\W)")), QLatin1String("\\\\1")) // escape special symbols .replace(QRegExp(QLatin1String("^\\\\\\|\\\\\\|")), QLatin1String("^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?")) // process extended anchor at expression start .replace(QRegExp(QLatin1String("\\\\\\^")), QLatin1String("(?:[^\\w\\d\\-.%]|$)")) // process separator placeholders .replace(QRegExp(QLatin1String("^\\\\\\|")), QLatin1String("^")) // process anchor at expression start .replace(QRegExp(QLatin1String("\\\\\\|$")), QLatin1String("$")) // process anchor at expression end .replace(QRegExp(QLatin1String("\\\\\\*")), QLatin1String(".*")) // replace wildcards by .* ; } void AdBlockRule::setPattern(const QString &pattern, bool isRegExp) { m_regExp = QRegExp(isRegExp ? pattern : convertPatternToRegExp(pattern), Qt::CaseInsensitive, QRegExp::RegExp2); } arora-0.11.0/src/adblock/adblockrule.h000066400000000000000000000044231145000221100175100ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef ADBLOCKRULE_H #define ADBLOCKRULE_H #include class QUrl; class QRegExp; class AdBlockRule { public: AdBlockRule(const QString &filter = QString()); QString filter() const; void setFilter(const QString &filter); bool isCSSRule() const { return m_cssRule; } bool networkMatch(const QString &encodedUrl) const; bool isException() const; void setException(bool exception); bool isEnabled() const; void setEnabled(bool enabled); QString regExpPattern() const; void setPattern(const QString &pattern, bool isRegExp); private: QString m_filter; bool m_cssRule; bool m_exception; bool m_enabled; QRegExp m_regExp; QStringList m_options; }; #endif // ADBLOCKRULE_H arora-0.11.0/src/adblock/adblockschemeaccesshandler.cpp000066400000000000000000000056101145000221100230570ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "adblockschemeaccesshandler.h" #include "adblockmanager.h" #include "adblocksubscription.h" #include "adblockdialog.h" #include #include AdBlockSchemeAccessHandler::AdBlockSchemeAccessHandler(QObject *parent) : SchemeAccessHandler(parent) { } QNetworkReply *AdBlockSchemeAccessHandler::createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *outgoingData) { Q_UNUSED(outgoingData); if (op != QNetworkAccessManager::GetOperation) return 0; if (request.url().path() != QLatin1String("subscribe")) return 0; AdBlockSubscription *subscription = new AdBlockSubscription(request.url(), AdBlockManager::instance()); QMessageBox::StandardButton result = QMessageBox::question(0 , tr("Subscribe?") , tr("Subscribe to this AdBlock subscription?\n%1").arg(subscription->title()) , QMessageBox::Yes | QMessageBox::No); if (result == QMessageBox::No) { delete subscription; } else { AdBlockManager::instance()->addSubscription(subscription); AdBlockDialog *dialog = AdBlockManager::instance()->showDialog(); QAbstractItemModel *model = dialog->treeView->model(); dialog->treeView->setCurrentIndex(model->index(model->rowCount() -1, 0)); dialog->setFocus(); } return 0; } arora-0.11.0/src/adblock/adblockschemeaccesshandler.h000066400000000000000000000036751145000221100225350ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef ADBLOCKSCHEMEACCESSHANDLER_H #define ADBLOCKSCHEMEACCESSHANDLER_H #include "schemeaccesshandler.h" class AdBlockSchemeAccessHandler : public SchemeAccessHandler { public: AdBlockSchemeAccessHandler(QObject *parent = 0); virtual QNetworkReply *createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *outgoingData = 0); }; #endif // ADBLOCKSCHEMEACCESSHANDLER_H arora-0.11.0/src/adblock/adblocksubscription.cpp000066400000000000000000000264531145000221100216270ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "adblocksubscription.h" #include "browserapplication.h" #include "networkaccessmanager.h" #include #include #include #include #include // #define ADBLOCKSUBSCRIPTION_DEBUG AdBlockSubscription::AdBlockSubscription(const QUrl &url, QObject *parent) : QObject(parent) , m_url(url.toEncoded()) , m_enabled(false) , m_downloading(0) { parseUrl(url); } void AdBlockSubscription::parseUrl(const QUrl &url) { #if defined(ADBLOCKSUBSCRIPTION_DEBUG) qDebug() << "AdBlockSubscription::" << __FUNCTION__ << url; #endif if (url.scheme() != QLatin1String("abp")) return; if (url.path() != QLatin1String("subscribe")) return; m_title = QUrl::fromPercentEncoding(url.encodedQueryItemValue("title")); m_enabled = QUrl::fromPercentEncoding(url.encodedQueryItemValue("enabled")) != QLatin1String("false"); m_location = QUrl::fromPercentEncoding(url.encodedQueryItemValue("location")).toUtf8(); QByteArray lastUpdateByteArray = url.encodedQueryItemValue("lastUpdate"); QString lastUpdateString = QUrl::fromPercentEncoding(lastUpdateByteArray); m_lastUpdate = QDateTime::fromString(lastUpdateString, Qt::ISODate); loadRules(); } QUrl AdBlockSubscription::url() const { QUrl url; url.setScheme(QLatin1String("abp")); url.setPath(QLatin1String("subscribe")); typedef QPair Query; QList queryItems; queryItems.append(Query(QLatin1String("location"), QString::fromUtf8(m_location))); queryItems.append(Query(QLatin1String("title"), m_title)); if (!m_enabled) queryItems.append(Query(QLatin1String("enabled"), QLatin1String("false"))); if (m_lastUpdate.isValid()) queryItems.append(Query(QLatin1String("lastUpdate"), m_lastUpdate.toString(Qt::ISODate))); url.setQueryItems(queryItems); return url; } bool AdBlockSubscription::isEnabled() const { return m_enabled; } void AdBlockSubscription::setEnabled(bool enabled) { if (m_enabled == enabled) return; m_enabled = enabled; populateCache(); emit changed(); } QString AdBlockSubscription::title() const { return m_title; } void AdBlockSubscription::setTitle(const QString &title) { if (m_title == title) return; m_title = title; emit changed(); } QUrl AdBlockSubscription::location() const { return QUrl::fromEncoded(m_location); } void AdBlockSubscription::setLocation(const QUrl &url) { if (url == location()) return; m_location = url.toEncoded(); m_lastUpdate = QDateTime(); emit changed(); } QDateTime AdBlockSubscription::lastUpdate() const { return m_lastUpdate; } QString AdBlockSubscription::rulesFileName() const { if (location().scheme() == QLatin1String("file")) return location().toLocalFile(); if (m_location.isEmpty()) return QString(); QByteArray sha1 = QCryptographicHash::hash(m_location, QCryptographicHash::Sha1).toHex(); QString fileName = BrowserApplication::dataFilePath(QString(QLatin1String("adblock_subscription_%1")).arg(QLatin1String(sha1))); return fileName; } void AdBlockSubscription::loadRules() { QString fileName = rulesFileName(); #if defined(ADBLOCKSUBSCRIPTION_DEBUG) qDebug() << "AdBlockSubscription::" << __FUNCTION__ << fileName; #endif QFile file(fileName); if (file.exists()) { if (!file.open(QFile::ReadOnly)) { qWarning() << "AdBlockSubscription::" << __FUNCTION__ << "Unable to open adblock file for reading" << fileName; } else { QTextStream textStream(&file); QString header = textStream.readLine(1024); if (!header.startsWith(QLatin1String("[Adblock"))) { qWarning() << "AdBlockSubscription::" << __FUNCTION__ << "adblock file does not start with [Adblock" << fileName << "Header:" << header; file.close(); file.remove(); m_lastUpdate = QDateTime(); } else { m_rules.clear(); while (!textStream.atEnd()) { QString line = textStream.readLine(); m_rules.append(AdBlockRule(line)); } populateCache(); emit rulesChanged(); } } } if (!m_lastUpdate.isValid() || m_lastUpdate.addDays(7) < QDateTime::currentDateTime()) { updateNow(); } } void AdBlockSubscription::updateNow() { #if defined(ADBLOCKSUBSCRIPTION_DEBUG) qDebug() << "AdBlockSubscription::" << __FUNCTION__ << location(); #endif if (m_downloading) { #if defined(ADBLOCKSUBSCRIPTION_DEBUG) qDebug() << "AdBlockSubscription::" << __FUNCTION__ << "already downloading, stopping"; #endif return; } if (!location().isValid()) { #if defined(ADBLOCKSUBSCRIPTION_DEBUG) qDebug() << "AdBlockSubscription::" << __FUNCTION__ << location() << "isn't valid"; #endif return; } if (location().scheme() == QLatin1String("file")) { #if defined(ADBLOCKSUBSCRIPTION_DEBUG) qDebug() << "AdBlockSubscription::" << __FUNCTION__ << "local file, not downloading"; #endif m_lastUpdate = QDateTime::currentDateTime(); loadRules(); emit changed(); return; } QNetworkRequest request(location()); QNetworkReply *reply = BrowserApplication::networkAccessManager()->get(request); m_downloading = reply; connect(reply, SIGNAL(finished()), this, SLOT(rulesDownloaded())); } void AdBlockSubscription::rulesDownloaded() { #if defined(ADBLOCKSUBSCRIPTION_DEBUG) qDebug() << "AdBlockSubscription::" << __FUNCTION__ << rulesFileName(); #endif QNetworkReply *reply = qobject_cast(sender()); if (!reply) { #if defined(ADBLOCKSUBSCRIPTION_DEBUG) qDebug() << "AdBlockSubscription::" << __FUNCTION__ << "no reply?"; #endif return; } QByteArray response = reply->readAll(); QUrl redirect = reply->attribute(QNetworkRequest::RedirectionTargetAttribute).toUrl(); reply->close(); reply->deleteLater(); if (reply->error() != QNetworkReply::NoError) { qWarning() << "AdBlockSubscription::" << __FUNCTION__ << "error" << reply->errorString(); return; } if (redirect.isValid()) { #if defined(ADBLOCKSUBSCRIPTION_DEBUG) qDebug() << "AdBlockSubscription::" << __FUNCTION__ << "redirect to:" << redirect; #endif QNetworkRequest request(redirect); m_downloading = BrowserApplication::networkAccessManager()->get(request); connect(m_downloading, SIGNAL(finished()), this, SLOT(rulesDownloaded())); return; } if (response.isEmpty()) { qWarning() << "AdBlockSubscription::" << __FUNCTION__ << "empty response"; return; } QString fileName = rulesFileName(); QFile file(fileName); if (!file.open(QFile::ReadWrite)) { qWarning() << "AdBlockSubscription::" << __FUNCTION__ << "Unable to open adblock file for writing:" << fileName; return; } file.write(response); m_lastUpdate = QDateTime::currentDateTime(); loadRules(); emit changed(); m_downloading = 0; } void AdBlockSubscription::saveRules() { #if defined(ADBLOCKSUBSCRIPTION_DEBUG) qDebug() << "AdBlockSubscription::" << __FUNCTION__ << rulesFileName() << m_rules.count(); #endif QString fileName = rulesFileName(); if (fileName.isEmpty()) return; QFile file(fileName); if (!file.open(QFile::ReadWrite | QIODevice::Truncate)) { qWarning() << "AdBlockSubscription::" << __FUNCTION__ << "Unable to open adblock file for writing:" << fileName; return; } QTextStream textStream(&file); textStream << "[Adblock Plus 0.7.1]" << endl; foreach (const AdBlockRule &rule, m_rules) textStream << rule.filter() << endl; } QList AdBlockSubscription::pageRules() const { return m_pageRules; } const AdBlockRule *AdBlockSubscription::allow(const QString &urlString) const { foreach (const AdBlockRule *rule, m_networkExceptionRules) { if (rule->networkMatch(urlString)) return rule; } return 0; } const AdBlockRule *AdBlockSubscription::block(const QString &urlString) const { foreach (const AdBlockRule *rule, m_networkBlockRules) { if (rule->networkMatch(urlString)) return rule; } return 0; } QList AdBlockSubscription::allRules() const { return m_rules; } void AdBlockSubscription::addRule(const AdBlockRule &rule) { #if defined(ADBLOCKSUBSCRIPTION_DEBUG) qDebug() << "AdBlockSubscription::" << __FUNCTION__ << rule.filter(); #endif m_rules.append(rule); populateCache(); emit rulesChanged(); } void AdBlockSubscription::removeRule(int offset) { #if defined(ADBLOCKSUBSCRIPTION_DEBUG) qDebug() << "AdBlockSubscription::" << __FUNCTION__ << offset << m_rules.count(); #endif if (offset < 0 || offset >= m_rules.count()) return; m_rules.removeAt(offset); populateCache(); emit rulesChanged(); } void AdBlockSubscription::replaceRule(const AdBlockRule &rule, int offset) { if (offset < 0 || offset >= m_rules.count()) return; m_rules[offset] = rule; populateCache(); emit rulesChanged(); } void AdBlockSubscription::populateCache() { m_networkExceptionRules.clear(); m_networkBlockRules.clear(); m_pageRules.clear(); if (!isEnabled()) return; for (int i = 0; i < m_rules.count(); ++i) { const AdBlockRule *rule = &m_rules.at(i); if (!rule->isEnabled()) continue; if (rule->isCSSRule()) { m_pageRules.append(rule); continue; } if (rule->isException()) { m_networkExceptionRules.append(rule); } else { m_networkBlockRules.append(rule); } } } arora-0.11.0/src/adblock/adblocksubscription.h000066400000000000000000000061201145000221100212610ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef ADBLOCKSUBSCRIPTION_H #define ADBLOCKSUBSCRIPTION_H #include #include "adblockrule.h" #include #include class QNetworkReply; class QUrl; class AdBlockSubscription : public QObject { Q_OBJECT signals: void changed(); void rulesChanged(); public: AdBlockSubscription(const QUrl &url, QObject *parent = 0); QUrl url() const; bool isEnabled() const; void setEnabled(bool enabled); QString title() const; void setTitle(const QString &title); QUrl location() const; void setLocation(const QUrl &url); void updateNow(); QDateTime lastUpdate() const; void saveRules(); const AdBlockRule *allow(const QString &urlString) const; const AdBlockRule *block(const QString &urlString) const; QList pageRules() const; QList allRules() const; void addRule(const AdBlockRule &rule); void removeRule(int offset); void replaceRule(const AdBlockRule &rule, int offset); private slots: void rulesDownloaded(); private: void populateCache(); QString rulesFileName() const; void parseUrl(const QUrl &url); void loadRules(); QByteArray m_url; QString m_title; QByteArray m_location; QDateTime m_lastUpdate; bool m_enabled; QNetworkReply *m_downloading; QList m_rules; // sorted list QList m_networkExceptionRules; QList m_networkBlockRules; QList m_pageRules; }; #endif // ADBLOCKSUBSCRIPTION_H arora-0.11.0/src/arora.desktop000077500000000000000000000022351145000221100161520ustar00rootroot00000000000000[Desktop Entry] Name=Arora Name[en_US]=Arora Name[es]=Arora Name[gl]=Arora Name[sr]=Арора Name[sr@latin]=Arora Comment=Browse the World Wide Web Comment[ast]=Restola pola World Wide Web Comment[es]=Navegar por internet Comment[fr_FR]=Surfer sur le web Comment[gl]=Navegar pola internet Comment[nl]=Surfen op het wereldwijde web Comment[nl_NL]=Surfen op het wereldwijde web Comment[sr]=Крстарите интернетом Comment[sr@latin]=Krstarite Internetom Comment[ja_JP]=Webを閲覧します GenericName=Web Browser GenericName[ast]=Restolador web GenericName[cs_CZ]=Webový prohlížeč GenericName[en_US]=Web Browser GenericName[es]=Navegador web GenericName[fr_FR]=Navigateur web GenericName[gl]=Navegador web GenericName[nl]=Webbrowser GenericName[nl_NL]=Webbrowser GenericName[pl]=Przeglądarka WWW GenericName[sr]=Веб прегледач GenericName[sr@latin]=Web pregledač GenericName[nb_NO]=Nettleser GenericName[ja_JP]=Webブラウザ Exec=arora %u Terminal=false Type=Application Icon=arora Categories=Application;Qt;Network;WebBrowser; MimeType=text/html;text/xml;application/xhtml+xml;application/xml;image/gif;image/jpeg;image/png; StartupNotify=true arora-0.11.0/src/autofilldialog.cpp000066400000000000000000000145351145000221100171610ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "autofilldialog.h" #include "autofillmanager.h" #include "browserapplication.h" #include AutoFillModel::AutoFillModel(QObject *parent) : QAbstractTableModel(parent) { AutoFillManager *manager = BrowserApplication::instance()->autoFillManager(); Q_ASSERT(manager); connect(manager, SIGNAL(autoFillChanged()), this, SLOT(autoFillChanged())); autoFillChanged(); } void AutoFillModel::autoFillChanged() { AutoFillManager *manager = BrowserApplication::instance()->autoFillManager(); m_forms = manager->forms(); reset(); } QVariant AutoFillModel::headerData(int section, Qt::Orientation orientation, int role) const { if (orientation == Qt::Horizontal && role == Qt::DisplayRole) { switch (section) { case 0: return tr("WebSite"); case 1: return tr("User Name"); } } return QAbstractTableModel::headerData(section, orientation, role); } QVariant AutoFillModel::data(const QModelIndex &index, int role) const { if (index.row() < 0 || index.row() >= m_forms.size()) return QVariant(); switch (role) { case Qt::UserRole: return m_forms[index.row()].hasAPassword; case Qt::DisplayRole: case Qt::EditRole: { switch (index.column()) { case 0: return m_forms[index.row()].url.host(); case 1: { QStringList help; QStringList choices; foreach (const AutoFillManager::Element &element, m_forms[index.row()].elements) { QString key = element.first.toLower(); if (key.contains(QLatin1String("pass"))) continue; if (key.contains(QLatin1String("user")) || key.contains(QLatin1String("email")) || key.contains(QLatin1String("login")) || key == QLatin1String("u")) return element.second; choices.append(element.second); help.append(element.first); } if (choices.count() == 1) return choices.first(); qWarning() << "AutoFillModel: Unknown user id, choices:" << help << "url" << m_forms[index.row()].url.toString(); return help.join(QLatin1String(",")); } } } default: break; } return QVariant(); } int AutoFillModel::columnCount(const QModelIndex &parent) const { return (parent.isValid()) ? 0 : 2; } int AutoFillModel::rowCount(const QModelIndex &parent) const { return (parent.isValid()) ? 0 : m_forms.count(); } bool AutoFillModel::removeRows(int row, int count, const QModelIndex &parent) { if (parent.isValid()) return false; int lastRow = row + count - 1; beginRemoveRows(parent, row, lastRow); for (int i = lastRow; i >= row; --i) m_forms.removeAt(i); AutoFillManager *manager = BrowserApplication::instance()->autoFillManager(); disconnect(manager, SIGNAL(autoFillChanged()), this, SLOT(autoFillChanged())); manager->setForms(m_forms); connect(manager, SIGNAL(autoFillChanged()), this, SLOT(autoFillChanged())); endRemoveRows(); return true; } AutoFillDialog::AutoFillDialog(QWidget *parent, Qt::WindowFlags flags) : QDialog(parent, flags) { setupUi(this); setWindowFlags(Qt::Sheet); connect(removeButton, SIGNAL(clicked()), tableView, SLOT(removeSelected())); connect(removeAllButton, SIGNAL(clicked()), tableView, SLOT(removeAll())); tableView->verticalHeader()->hide(); tableView->setSelectionBehavior(QAbstractItemView::SelectRows); tableView->setAlternatingRowColors(true); tableView->setTextElideMode(Qt::ElideMiddle); tableView->setShowGrid(false); tableView->setSortingEnabled(true); AutoFillModel *model = new AutoFillModel(); QSortFilterProxyModel *m_proxyModel = new QSortFilterProxyModel(this); connect(search, SIGNAL(textChanged(QString)), m_proxyModel, SLOT(setFilterFixedString(QString))); m_proxyModel->setSourceModel(model); tableView->setModel(m_proxyModel); QFont f = font(); f.setPointSize(10); QFontMetrics fm(f); int height = fm.height() + fm.height() / 3; tableView->verticalHeader()->setDefaultSectionSize(height); tableView->verticalHeader()->setMinimumSectionSize(-1); for (int i = 0; i < model->columnCount(); ++i) { int header = tableView->horizontalHeader()->sectionSizeHint(i); switch (i) { case 0: header = fm.width(QLatin1String("averagehost.domain.com")); break; case 1: header = fm.width(QLatin1String("_session_id")); break; } int buffer = fm.width(QLatin1String("xx")); header += buffer; tableView->horizontalHeader()->resizeSection(i, header); } tableView->horizontalHeader()->setStretchLastSection(true); } arora-0.11.0/src/autofilldialog.h000066400000000000000000000047521145000221100166260ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef AUTOFILLDIALOG_H #define AUTOFILLDIALOG_H #include #include "ui_autofilldialog.h" #include "autofillmanager.h" #include class AutoFillModel : public QAbstractTableModel { Q_OBJECT public: AutoFillModel(QObject *parent = 0); QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; int columnCount(const QModelIndex &parent = QModelIndex()) const; int rowCount(const QModelIndex &parent = QModelIndex()) const; bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); private slots: void autoFillChanged(); private: QList m_forms; }; class AutoFillDialog : public QDialog, public Ui_AutoFillDialog { Q_OBJECT public: AutoFillDialog(QWidget *parent = 0, Qt::WindowFlags flags = 0); }; #endif // AUTOFILLDIALOG_H arora-0.11.0/src/autofilldialog.ui000066400000000000000000000057741145000221100170210ustar00rootroot00000000000000 AutoFillDialog 0 0 529 421 Form Passwords Qt::Horizontal 252 20 false Remove Remove All Qt::Horizontal 36 20 Qt::Horizontal QDialogButtonBox::Ok EditTableView QTableView
edittableview.h
SearchLineEdit QLineEdit
searchlineedit.h
buttonBox accepted() AutoFillDialog accept() 248 254 157 274 buttonBox rejected() AutoFillDialog reject() 316 260 286 274
arora-0.11.0/src/autofillmanager.cpp000066400000000000000000000337761145000221100173440ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "autofillmanager.h" #include "autosaver.h" #include "browserapplication.h" #include "browsermainwindow.h" #include "networkaccessmanagerproxy.h" #include "webview.h" #include #include #include #include #include #include #include #include #include // #define AUTOFILL_DEBUG AutoFillManager::AutoFillManager(QObject *parent) : QObject(parent) , m_savePasswordForms(true) , m_allowAutoCompleteOff(true) , m_saveTimer(new AutoSaver(this)) { connect(this, SIGNAL(autoFillChanged()), m_saveTimer, SLOT(changeOccurred())); loadSettings(); loadFormData(); } AutoFillManager::~AutoFillManager() { m_saveTimer->saveIfNeccessary(); } void AutoFillManager::save() const { saveFormData(); } void AutoFillManager::setForms(const QList
&forms) { m_forms = forms; emit autoFillChanged(); } QList AutoFillManager::forms() const { return m_forms; } void AutoFillManager::loadSettings() { QSettings settings; settings.beginGroup(QLatin1String("autofill")); m_savePasswordForms = settings.value(QLatin1String("passwordForms"), m_savePasswordForms).toBool(); m_allowAutoCompleteOff = settings.value(QLatin1String("ignoreAutoCompleteOff"), m_allowAutoCompleteOff).toBool(); } QString AutoFillManager::autoFillDataFile() { QString fileName = QDesktopServices::storageLocation(QDesktopServices::DataLocation); fileName += QLatin1String("/autofill.dat"); return fileName; } void AutoFillManager::saveFormData() const { QString fileName = autoFillDataFile(); QFile file(fileName); if (!file.open(QFile::WriteOnly)) { qWarning() << "Unable to open" << fileName << "to store autofill data"; return; } QDataStream stream(&file); stream << m_forms; } void AutoFillManager::loadFormData() { QString fileName = autoFillDataFile(); QFile file(fileName); if (!file.open(QFile::ReadOnly)) return; QDataStream stream(&file); stream >> m_forms; } void AutoFillManager::post(const QNetworkRequest &request, const QByteArray &outgoingData) { #ifdef AUTOFILL_DEBUG qDebug() << "AutoFillManager::" << __FUNCTION__ << outgoingData << request.url(); #endif // Don't even give the options to save this site user name & password. if (QWebSettings::globalSettings()->testAttribute(QWebSettings::PrivateBrowsingEnabled)) { return; } // Determine the url QByteArray refererHeader = request.rawHeader("Referer"); if (refererHeader.isEmpty()) { // XXX We could store the frame url in the request if this is a common problem qWarning() << "AutoFillManager:" << "Unable to determine the request Referer"; return; } QUrl url = QUrl::fromEncoded(refererHeader); url = stripUrl(url); // Check that the url isn't in m_never if (m_never.contains(url)) return; // Check the request type QVariant typeVariant = request.attribute((QNetworkRequest::Attribute)(QNetworkRequest::User + 101)); QWebPage::NavigationType type = (QWebPage::NavigationType)typeVariant.toInt(); if (typeVariant.isValid() && type != QWebPage::NavigationTypeFormSubmitted) { // XXX Does this occur normally? qWarning() << "AutoFillManager:" << "Type is not FormSubmitted" << type << "expected:" << QWebPage::NavigationTypeFormSubmitted; return; } // Determine the QWebView QVariant v = request.attribute((QNetworkRequest::Attribute)(QNetworkRequest::User + 100)); QWebPage *webPage = (QWebPage*)(v.value()); if (!webPage) { qWarning() << "AutoFillManager:" << "QWebPage is not set in QNetworkRequest."; return; } #if 0 // TODO CHECK reply ownership if (!NetworkAccessManagerProxy::exists(webPage)) { qWarning() << "AutoFillManager:" << "QWebPage no longer exists."; return; } #endif // Find the matching form on the webpage Form form = findForm(webPage, outgoingData); if (!form.isValid()) { #if 0 qWarning() << "AutoFillManager:" << "Unable to find matching form on the webpage."; #endif return; } form.url = url; // Check if we allow storing this form if it has a password if (!allowedToAutoFill(form.hasAPassword)) return; // Prompt if we have never seen this password int alreadyAccepted = -1; for (int i = 0; i < m_forms.count(); ++i) { const Form &form = m_forms.at(i); if (form.url == url) { alreadyAccepted = i; break; } } if (form.hasAPassword && alreadyAccepted == -1) { QMessageBox messageBox; messageBox.setText(tr("Would you like to save this password?
\ To review passwords you have saved and remove them, open the AutoFill panel of preferences.")); messageBox.addButton(tr("Never for this site"), QMessageBox::DestructiveRole); messageBox.addButton(tr("Not now"), QMessageBox::RejectRole); messageBox.addButton(QMessageBox::Yes); messageBox.setDefaultButton(QMessageBox::Yes); switch (messageBox.exec()) { case QMessageBox::DestructiveRole: m_never.append(url); return; case QMessageBox::RejectRole: return; default: break; } } #ifdef AUTOFILL_DEBUG qDebug() << "AutoFillManager:" << "Saving" << form.url; #endif // TODO When we can hook into element events we can save multiple passwords for different users if (alreadyAccepted != -1) m_forms.removeAt(alreadyAccepted); m_forms.append(form); emit autoFillChanged(); } AutoFillManager::Form AutoFillManager::findForm(QWebPage *webPage, const QByteArray &outgoingData) const { Form form; QUrl argsUrl = QUrl::fromEncoded(QByteArray("foo://bar.com/?" + outgoingData)); QList > encodedArgs = argsUrl.queryItems(); QSet > args; // XXX Is there a Qt function to do this? (unencode '+' to ' ') for (int i = 0; i < encodedArgs.count(); ++i) { QString key = encodedArgs[i].first; QString value = encodedArgs[i].second.replace(QLatin1String("+"), QLatin1String(" ")); QPair p(key, value); args.insert(p); } QFile file(QLatin1String(":parseForms.js")); if (!file.open(QFile::ReadOnly)) { qWarning() << "AutoFillManager:" << "Unable to open js form parsing file"; return form; } QString script = QLatin1String(file.readAll()); // XXX Do I need to do this on subframes? QVariant r = webPage->mainFrame()->evaluateJavaScript(script); QVariantList list = r.toList(); foreach (const QVariant &formVariant, list) { QVariantMap map = formVariant.toMap(); bool formHasPasswords = false; QString formName = map[QLatin1String("name")].toString(); QVariantList elements = map[QLatin1String("elements")].toList(); QSet > formElements; QSet > deadElements; foreach (const QVariant &element, elements) { QVariantMap elementMap = element.toMap(); QString name = elementMap[QLatin1String("name")].toString(); QString value = elementMap[QLatin1String("value")].toString(); QString type = elementMap[QLatin1String("type")].toString(); if (type == QLatin1String("password")) formHasPasswords = true; QPair p(name, value); if ((elementMap[QLatin1String("autocomplete")].toString()) == QLatin1String("off")) deadElements.insert(p); if (!name.isEmpty()) formElements.insert(p); } #if 0 QT_VERSION >= 0x040600 if (formElements.contains(args)) { #else if (formElements.intersect(args) == args) { #endif form.hasAPassword = formHasPasswords; form.name = formName; if (m_allowAutoCompleteOff) args = args.subtract(deadElements); form.elements = args.toList(); break; } #ifdef AUTOFILL_DEBUG qDebug() << formName; qDebug() << formElements; qDebug() << args; qDebug() << formElements.count() << args.count() << formElements.subtract(args); #endif } return form; } QUrl AutoFillManager::stripUrl(const QUrl &url) { QUrl cleanUrl = url; cleanUrl.setQueryItems(QList >()); cleanUrl.setFragment(QString()); cleanUrl.setUserInfo(QString()); return cleanUrl; } bool AutoFillManager::allowedToAutoFill(bool password) const { if (password && m_savePasswordForms) return true; return false; } QList AutoFillManager::fetchForms(const QUrl &url) const { QList forms; foreach (const Form &form, m_forms) if (form.url == url) forms.append(form); #ifdef AUTOFILL_DEBUG qDebug() << "AutoFillManager::" << __FUNCTION__ << url << m_forms.count() << "found:" << forms.count(); #endif return forms; } void AutoFillManager::fill(QWebPage *page) const { #ifdef AUTOFILL_DEBUG qDebug() << "AutoFillManager::" << __FUNCTION__ << page; #endif if (!page || !page->mainFrame()) return; QUrl url = page->mainFrame()->url(); url = stripUrl(url); const QList forms = fetchForms(url); if (forms.isEmpty()) return; foreach (const Form &form, forms) { QString formName = QString(QLatin1String("\"%1\"")).arg(form.name); if (form.name.isEmpty()) formName = QLatin1String("0"); foreach (const AutoFillManager::Element &element, form.elements) { const QString key = element.first; const QString value = element.second; // When we drop 4.5 migrate this to the 4.6 dom API bool disabled = page->mainFrame()->evaluateJavaScript(QString(QLatin1String("document.forms[%1].elements[\"%2\"].disabled")).arg(formName).arg(key)).toBool(); if (disabled) { #ifdef AUTOFILL_DEBUG qDebug() << formName << "is disabled"; #endif continue; } bool readOnly = page->mainFrame()->evaluateJavaScript(QString(QLatin1String("document.forms[%1].elements[\"%2\"].readonly")).arg(formName).arg(key)).toBool(); if (readOnly) { #ifdef AUTOFILL_DEBUG qDebug() << formName << "is readOnly"; #endif continue; } QString type = page->mainFrame()->evaluateJavaScript(QString(QLatin1String("document.forms[%1].elements[\"%2\"].type")).arg(formName).arg(key)).toString(); if (type.isEmpty() || type == QLatin1String("hidden") || type == QLatin1String("reset") || type == QLatin1String("submit")) { #ifdef AUTOFILL_DEBUG qDebug() << formName << key << "is hidden, reset or submit"; #endif continue; } #ifdef AUTOFILL_DEBUG qDebug() << "type:" << type << "readonly" << readOnly << "disabled" << disabled << key << value; #endif QString setType = (type == QLatin1String("checkbox")) ? QLatin1String("checked") : QLatin1String("value"); // XXX is there a cleaner way to do this? QString jsValue = value; jsValue.replace(QLatin1Char('\\'), QLatin1String("\\\\")); jsValue.replace(QLatin1Char('\"'), QLatin1String("\\\"")); QString javascript = QString(QLatin1String("document.forms[%1].elements[\"%2\"].%3=\"%4\";")) .arg(formName) .arg(key) .arg(setType) .arg(jsValue); page->mainFrame()->evaluateJavaScript(javascript); } } } QDataStream &operator>>(QDataStream &in, AutoFillManager::Form &form) { AutoFillManager::Form::load(in, form); return in; } QDataStream &operator<<(QDataStream &out, const AutoFillManager::Form &form) { AutoFillManager::Form::save(out, form); return out; } void AutoFillManager::Form::load(QDataStream &in, AutoFillManager::Form &form) { in >> form.elements; in >> form.url; in >> form.name; in >> form.hasAPassword; } void AutoFillManager::Form::save(QDataStream &out, const AutoFillManager::Form &form) { out << form.elements; out << form.url; out << form.name; out << form.hasAPassword; } arora-0.11.0/src/autofillmanager.h000066400000000000000000000061271145000221100167770ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef AUTOFILLMANAGER_H #define AUTOFILLMANAGER_H #include #include class QWebPage; class AutoSaver; class AutoFillManager : public QObject { Q_OBJECT signals: void autoFillChanged(); public: typedef QPair Element; class Form { public: bool isValid() { return !elements.isEmpty(); } static void load(QDataStream &in, Form &subscription); static void save(QDataStream &out, const Form &subscription); QList elements; QUrl url; QString name; bool hasAPassword; }; AutoFillManager(QObject *parent = 0); ~AutoFillManager(); void loadSettings(); void post(const QNetworkRequest &request, const QByteArray &outgoingData); void fill(QWebPage *page) const; void setForms(const QList &forms); QList forms() const; private slots: void save() const; private: Form findForm(QWebPage *page, const QByteArray &outgoingData) const; static QUrl stripUrl(const QUrl &url); static QString autoFillDataFile(); bool allowedToAutoFill(bool password) const; QList fetchForms(const QUrl &url) const; void saveFormData() const; void loadFormData(); bool m_savePasswordForms; bool m_allowAutoCompleteOff; QList m_forms; QList m_never; AutoSaver *m_saveTimer; }; QDataStream &operator<<(QDataStream &, const AutoFillManager::Form &form); QDataStream &operator>>(QDataStream &, AutoFillManager::Form &form); #endif // AUTOFILLMANAGER_H arora-0.11.0/src/autosaver.cpp000066400000000000000000000102251145000221100161630ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "autosaver.h" #include #include #include #include #define AUTOSAVE_IN 1000 * 3 // seconds #define MAXWAIT 1000 * 15 // seconds AutoSaver::AutoSaver(QObject *parent) : QObject(parent) { Q_ASSERT(parent); } AutoSaver::~AutoSaver() { if (m_timer.isActive()) { qWarning() << "AutoSaver: still active when destroyed, changes not saved."; if (parent() && parent()->metaObject()) qWarning() << parent() << parent()->metaObject()->className() << "should call saveIfNeccessary"; } } void AutoSaver::changeOccurred() { if (m_firstChange.isNull()) m_firstChange.start(); if (m_firstChange.elapsed() > MAXWAIT) { saveIfNeccessary(); } else { m_timer.start(AUTOSAVE_IN, this); } } void AutoSaver::timerEvent(QTimerEvent *event) { if (event->timerId() == m_timer.timerId()) { saveIfNeccessary(); } else { QObject::timerEvent(event); } } void AutoSaver::saveIfNeccessary() { if (!m_timer.isActive()) return; m_timer.stop(); m_firstChange = QTime(); if (!QMetaObject::invokeMethod(parent(), "save", Qt::DirectConnection)) { qWarning() << "AutoSaver: error invoking slot save() on parent"; } } arora-0.11.0/src/autosaver.h000066400000000000000000000070061145000221100156330ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef AUTOSAVER_H #define AUTOSAVER_H #include #include #include /* This class will call the save() slot on the parent object when the parent changes. It will wait several seconds after changed() to combining multiple changes and prevent continuous writing to disk. */ class AutoSaver : public QObject { Q_OBJECT public: AutoSaver(QObject *parent); ~AutoSaver(); void saveIfNeccessary(); public slots: void changeOccurred(); protected: void timerEvent(QTimerEvent *event); private: QBasicTimer m_timer; QTime m_firstChange; }; #endif // AUTOSAVER_H arora-0.11.0/src/bookmarks/000077500000000000000000000000001145000221100154365ustar00rootroot00000000000000arora-0.11.0/src/bookmarks/addbookmarkdialog.cpp000066400000000000000000000151251145000221100216040ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2008-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "addbookmarkdialog.h" #include "bookmarknode.h" #include "bookmarksmanager.h" #include "bookmarksmodel.h" #include "browserapplication.h" #include #include AddBookmarkProxyModel::AddBookmarkProxyModel(QObject *parent) : QSortFilterProxyModel(parent) { } int AddBookmarkProxyModel::columnCount(const QModelIndex &parent) const { return qMin(1, QSortFilterProxyModel::columnCount(parent)); } bool AddBookmarkProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const { QModelIndex idx = sourceModel()->index(sourceRow, 0, sourceParent); return sourceModel()->hasChildren(idx); } AddBookmarkDialog::AddBookmarkDialog(QWidget *parent, BookmarksManager *bookmarksManager) : QDialog(parent) , m_bookmarksManager(bookmarksManager) , m_addedNode(0) , m_proxyModel(0) , m_addFolder(false) { setWindowFlags(Qt::Sheet); setupUi(this); if (!m_bookmarksManager) m_bookmarksManager = BrowserApplication::bookmarksManager(); m_proxyModel = new AddBookmarkProxyModel(this); BookmarksModel *model = m_bookmarksManager->bookmarksModel(); m_proxyModel->setSourceModel(model); m_treeView = new QTreeView(this); m_treeView->setModel(m_proxyModel); m_treeView->expandAll(); m_treeView->header()->setStretchLastSection(true); m_treeView->header()->hide(); m_treeView->setItemsExpandable(false); m_treeView->setRootIsDecorated(false); m_treeView->setIndentation(10); m_treeView->show(); location->setModel(m_proxyModel); location->setView(m_treeView); address->setInactiveText(tr("Url")); name->setInactiveText(tr("Title")); resize(sizeHint()); } void AddBookmarkDialog::setUrl(const QString &url) { address->setText(url); address->setVisible(url.isEmpty()); resize(sizeHint()); } QString AddBookmarkDialog::url() const { return address->text(); } void AddBookmarkDialog::setTitle(const QString &title) { name->setText(title); } QString AddBookmarkDialog::title() const { return name->text(); } void AddBookmarkDialog::setCurrentIndex(const QModelIndex &index) { if (!index.isValid()) return; QModelIndex proxyIndex = m_proxyModel->mapFromSource(index); m_treeView->setCurrentIndex(proxyIndex); location->setCurrentIndex(proxyIndex.row()); } QModelIndex AddBookmarkDialog::currentIndex() const { QModelIndex index = location->view()->currentIndex(); index = m_proxyModel->mapToSource(index); return index; } void AddBookmarkDialog::setFolder(bool addFolder) { m_addFolder = addFolder; if (addFolder) { setWindowTitle(tr("Add Folder")); address->setVisible(false); } else { setWindowTitle(tr("Add Bookmark")); address->setVisible(true); } resize(sizeHint()); } bool AddBookmarkDialog::isFolder() const { return m_addFolder; } BookmarkNode *AddBookmarkDialog::addedNode() const { return m_addedNode; } void AddBookmarkDialog::accept() { if ((!m_addFolder && address->text().isEmpty()) || name->text().isEmpty()) { QDialog::accept(); return; } QModelIndex index = currentIndex(); if (!index.isValid()) index = m_bookmarksManager->bookmarksModel()->index(0, 0); BookmarkNode *parent = m_bookmarksManager->bookmarksModel()->node(index); BookmarkNode::Type type = (m_addFolder) ? BookmarkNode::Folder : BookmarkNode::Bookmark; BookmarkNode *bookmark = new BookmarkNode(type); bookmark->title = name->text(); if (!m_addFolder) bookmark->url = address->text(); m_bookmarksManager->addBookmark(parent, bookmark); m_addedNode = bookmark; QDialog::accept(); } arora-0.11.0/src/bookmarks/addbookmarkdialog.h000066400000000000000000000102071145000221100212450ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2008-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef ADDBOOKMARKDIALOG_H #define ADDBOOKMARKDIALOG_H #include "ui_addbookmarkdialog.h" #include class AddBookmarkProxyModel : public QSortFilterProxyModel { Q_OBJECT public: AddBookmarkProxyModel(QObject *parent = 0); int columnCount(const QModelIndex &parent = QModelIndex()) const; protected: bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const; }; class BookmarkNode; class BookmarksManager; class QTreeView; class AddBookmarkDialog : public QDialog, public Ui_AddBookmarkDialog { Q_OBJECT public: AddBookmarkDialog(QWidget *parent = 0, BookmarksManager *bookmarksManager = 0); void setUrl(const QString &url); QString url() const; void setTitle(const QString &title); QString title() const; void setCurrentIndex(const QModelIndex &index); QModelIndex currentIndex() const; void setFolder(bool addFolder); bool isFolder() const; BookmarkNode *addedNode() const; private slots: void accept(); private: QTreeView *m_treeView; BookmarksManager *m_bookmarksManager; BookmarkNode *m_addedNode; AddBookmarkProxyModel *m_proxyModel; bool m_addFolder; }; #endif // ADDBOOKMARKDIALOG_H arora-0.11.0/src/bookmarks/addbookmarkdialog.ui000066400000000000000000000047571145000221100214500ustar00rootroot00000000000000 AddBookmarkDialog 0 0 240 179 Add Bookmark Type a name for the bookmark, and choose where to keep it. Qt::PlainText true Qt::Vertical 20 2 Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok false LineEdit QLineEdit
lineedit.h
buttonBox accepted() AddBookmarkDialog accept() 248 254 157 274 buttonBox rejected() AddBookmarkDialog reject() 316 260 286 274
arora-0.11.0/src/bookmarks/bookmarknode.cpp000066400000000000000000000105521145000221100206200ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2008-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "bookmarknode.h" BookmarkNode::BookmarkNode(BookmarkNode::Type type, BookmarkNode *parent) : expanded(false) , m_parent(parent) , m_type(type) { if (parent) parent->add(this); } BookmarkNode::~BookmarkNode() { if (m_parent) m_parent->remove(this); qDeleteAll(m_children); m_parent = 0; m_type = BookmarkNode::Root; } bool BookmarkNode::operator==(const BookmarkNode &other) { if (url != other.url || title != other.title || desc != other.desc || expanded != other.expanded || m_type != other.m_type || m_children.count() != other.m_children.count()) return false; for (int i = 0; i < m_children.count(); ++i) if (!((*(m_children[i])) == (*(other.m_children[i])))) return false; return true; } BookmarkNode::Type BookmarkNode::type() const { return m_type; } void BookmarkNode::setType(Type type) { m_type = type; } QList BookmarkNode::children() const { return m_children; } BookmarkNode *BookmarkNode::parent() const { return m_parent; } void BookmarkNode::add(BookmarkNode *child, int offset) { Q_ASSERT(child->m_type != Root); if (child->m_parent) child->m_parent->remove(child); child->m_parent = this; if (-1 == offset) offset = m_children.size(); m_children.insert(offset, child); } void BookmarkNode::remove(BookmarkNode *child) { child->m_parent = 0; m_children.removeAll(child); } arora-0.11.0/src/bookmarks/bookmarknode.h000066400000000000000000000071711145000221100202700ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2008-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef BOOKMARKNODE_H #define BOOKMARKNODE_H #include #include class BookmarkNode { public: enum Type { Root, Folder, Bookmark, Separator }; BookmarkNode(Type type = Root, BookmarkNode *parent = 0); ~BookmarkNode(); bool operator==(const BookmarkNode &other); Type type() const; void setType(Type type); QList children() const; BookmarkNode *parent() const; void add(BookmarkNode *child, int offset = -1); void remove(BookmarkNode *child); QString url; QString title; QString desc; bool expanded; private: BookmarkNode *m_parent; Type m_type; QList m_children; }; #endif // BOOKMARKNODE_H arora-0.11.0/src/bookmarks/bookmarks.pri000066400000000000000000000007611145000221100201460ustar00rootroot00000000000000INCLUDEPATH += $$PWD DEPENDPATH += $$PWD HEADERS += \ addbookmarkdialog.h \ bookmarksdialog.h \ bookmarksmanager.h \ bookmarksmenu.h \ bookmarksmodel.h \ bookmarkstoolbar.h \ bookmarknode.h SOURCES += \ addbookmarkdialog.cpp \ bookmarksdialog.cpp \ bookmarksmanager.cpp \ bookmarksmenu.cpp \ bookmarksmodel.cpp \ bookmarkstoolbar.cpp \ bookmarknode.cpp FORMS += \ addbookmarkdialog.ui \ bookmarksdialog.ui include(xbel/xbel.pri) arora-0.11.0/src/bookmarks/bookmarksdialog.cpp000066400000000000000000000223651145000221100213220ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2008-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "bookmarksdialog.h" #include "bookmarknode.h" #include "bookmarksmanager.h" #include "bookmarksmodel.h" #include "browserapplication.h" #include "treesortfilterproxymodel.h" #include #include BookmarksDialog::BookmarksDialog(QWidget *parent, BookmarksManager *manager) : QDialog(parent) , m_bookmarksManager(0) , m_bookmarksModel(0) , m_proxyModel(0) { m_bookmarksManager = manager; if (!m_bookmarksManager) m_bookmarksManager = BrowserApplication::bookmarksManager(); setupUi(this); tree->setUniformRowHeights(true); tree->setSelectionBehavior(QAbstractItemView::SelectRows); tree->setSelectionMode(QAbstractItemView::ExtendedSelection); tree->setTextElideMode(Qt::ElideMiddle); m_bookmarksModel = m_bookmarksManager->bookmarksModel(); m_proxyModel = new TreeSortFilterProxyModel(this); m_proxyModel->setFilterKeyColumn(-1); connect(search, SIGNAL(textChanged(QString)), m_proxyModel, SLOT(setFilterFixedString(QString))); connect(removeButton, SIGNAL(clicked()), tree, SLOT(removeSelected())); m_proxyModel->setSourceModel(m_bookmarksModel); tree->setModel(m_proxyModel); tree->setDragDropMode(QAbstractItemView::InternalMove); tree->setExpanded(m_proxyModel->index(0, 0), true); tree->setAlternatingRowColors(true); QFontMetrics fm(font()); int header = fm.width(QLatin1Char('m')) * 40; tree->header()->resizeSection(0, header); tree->header()->setStretchLastSection(true); connect(tree, SIGNAL(activated(const QModelIndex&)), this, SLOT(openBookmark())); tree->setContextMenuPolicy(Qt::CustomContextMenu); connect(tree, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(customContextMenuRequested(const QPoint &))); connect(addFolderButton, SIGNAL(clicked()), this, SLOT(newFolder())); expandNodes(m_bookmarksManager->bookmarks()); } BookmarksDialog::~BookmarksDialog() { if (saveExpandedNodes(tree->rootIndex())) m_bookmarksManager->changeExpanded(); } bool BookmarksDialog::saveExpandedNodes(const QModelIndex &parent) { bool changed = false; for (int i = 0; i < m_proxyModel->rowCount(parent); ++i) { QModelIndex child = m_proxyModel->index(i, 0, parent); QModelIndex sourceIndex = m_proxyModel->mapToSource(child); BookmarkNode *childNode = m_bookmarksModel->node(sourceIndex); bool wasExpanded = childNode->expanded; if (tree->isExpanded(child)) { childNode->expanded = true; changed |= saveExpandedNodes(child); } else { childNode->expanded = false; } changed |= (wasExpanded != childNode->expanded); } return changed; } void BookmarksDialog::expandNodes(BookmarkNode *node) { for (int i = 0; i < node->children().count(); ++i) { BookmarkNode *childNode = node->children()[i]; if (childNode->expanded) { QModelIndex idx = m_bookmarksModel->index(childNode); idx = m_proxyModel->mapFromSource(idx); tree->setExpanded(idx, true); expandNodes(childNode); } } } void BookmarksDialog::customContextMenuRequested(const QPoint &pos) { QMenu menu; QModelIndex index = tree->indexAt(pos); index = index.sibling(index.row(), 0); QModelIndex sourceIndex = m_proxyModel->mapToSource(index); const BookmarkNode *node = m_bookmarksModel->node(sourceIndex); if (index.isValid() && node->type() != BookmarkNode::Folder) { menu.addAction(tr("Open"), this, SLOT(openInCurrentTab())); menu.addAction(tr("Open in New Tab"), this, SLOT(openInNewTab())); menu.addSeparator(); } menu.addSeparator(); QAction *renameAction = menu.addAction(tr("Edit Name"), this, SLOT(editName())); renameAction->setEnabled(index.flags() & Qt::ItemIsEditable); if (index.isValid() && node->type() != BookmarkNode::Folder) { menu.addAction(tr("Edit Address"), this, SLOT(editAddress())); } menu.addSeparator(); QAction *deleteAction = menu.addAction(tr("Delete"), tree, SLOT(removeSelected())); deleteAction->setEnabled(index.flags() & Qt::ItemIsDragEnabled); menu.exec(QCursor::pos()); } void BookmarksDialog::openBookmark(TabWidget::OpenUrlIn tab) { QModelIndex index = tree->currentIndex(); QModelIndex sourceIndex = m_proxyModel->mapToSource(index); const BookmarkNode *node = m_bookmarksModel->node(sourceIndex); if (!index.parent().isValid() || !node || node->type() == BookmarkNode::Folder) return; emit openUrl( index.sibling(index.row(), 1).data(BookmarksModel::UrlRole).toUrl(), tab, index.sibling(index.row(), 0).data(Qt::DisplayRole).toString()); } void BookmarksDialog::openBookmark() { BrowserApplication::instance()->setEventMouseButtons(qApp->mouseButtons()); BrowserApplication::instance()->setEventKeyboardModifiers(qApp->keyboardModifiers()); openBookmark(TabWidget::UserOrCurrent); } void BookmarksDialog::openInCurrentTab() { openBookmark(TabWidget::CurrentTab); } void BookmarksDialog::openInNewTab() { openBookmark(TabWidget::NewTab); } void BookmarksDialog::editName() { QModelIndex idx = tree->currentIndex(); idx = idx.sibling(idx.row(), 0); tree->edit(idx); } void BookmarksDialog::editAddress() { QModelIndex idx = tree->currentIndex(); idx = idx.sibling(idx.row(), 1); tree->edit(idx); } void BookmarksDialog::newFolder() { QModelIndex currentIndex = tree->currentIndex(); QModelIndex idx = currentIndex; QModelIndex sourceIndex = m_proxyModel->mapToSource(idx); const BookmarkNode *sourceNode = m_bookmarksModel->node(sourceIndex); int row = -1; // default: append new folder as last item in selected folder if (sourceNode && sourceNode->type() != BookmarkNode::Folder) { // if selected item is not a folder, add new folder to parent folder, // but direcly below the selected item idx = idx.parent(); row = currentIndex.row() + 1; } if (!idx.isValid()) idx = m_proxyModel->index(1, 0); // Select Bookmarks menu as default idx = m_proxyModel->mapToSource(idx); BookmarkNode *parent = m_bookmarksManager->bookmarksModel()->node(idx); BookmarkNode *node = new BookmarkNode(BookmarkNode::Folder); node->title = tr("New Folder"); m_bookmarksManager->addBookmark(parent, node, row); } arora-0.11.0/src/bookmarks/bookmarksdialog.h000066400000000000000000000077051145000221100207700ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2008-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef BOOKMARKSDIALOG_H #define BOOKMARKSDIALOG_H #include #include "ui_bookmarksdialog.h" #include "tabwidget.h" #include #include class TreeSortFilterProxyModel; class BookmarksManager; class BookmarksModel; class BookmarkNode; class BookmarksDialog : public QDialog, public Ui_BookmarksDialog { Q_OBJECT signals: void openUrl(const QUrl &url, TabWidget::OpenUrlIn tab, const QString &title); public: BookmarksDialog(QWidget *parent = 0, BookmarksManager *manager = 0); ~BookmarksDialog(); private slots: void customContextMenuRequested(const QPoint &pos); void openBookmark(TabWidget::OpenUrlIn tab); void openBookmark(); void openInNewTab(); void openInCurrentTab(); void editName(); void editAddress(); void newFolder(); private: void expandNodes(BookmarkNode *node); bool saveExpandedNodes(const QModelIndex &parent); BookmarksManager *m_bookmarksManager; BookmarksModel *m_bookmarksModel; TreeSortFilterProxyModel *m_proxyModel; }; #endif // BOOKMARKSDIALOG_H arora-0.11.0/src/bookmarks/bookmarksdialog.ui000066400000000000000000000047621145000221100211560ustar00rootroot00000000000000 BookmarksDialog 0 0 758 450 Bookmarks Qt::Horizontal 252 20 &Remove Add Folder Qt::Horizontal 40 20 QDialogButtonBox::Close SearchLineEdit QLineEdit
searchlineedit.h
EditTreeView QTreeView
edittreeview.h
buttonBox rejected() BookmarksDialog close() 472 329 461 356
arora-0.11.0/src/bookmarks/bookmarksmanager.cpp000066400000000000000000000323041145000221100214670ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2008-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "bookmarksmanager.h" #include "autosaver.h" #include "bookmarknode.h" #include "bookmarksmodel.h" #include "browserapplication.h" #include "history.h" #include "xbelreader.h" #include "xbelwriter.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #define BOOKMARKBAR QT_TRANSLATE_NOOP("BookmarksManager", "Bookmarks Bar") #define BOOKMARKMENU QT_TRANSLATE_NOOP("BookmarksManager", "Bookmarks Menu") BookmarksManager::BookmarksManager(QObject *parent) : QObject(parent) , m_loaded(false) , m_saveTimer(new AutoSaver(this)) , m_bookmarkRootNode(0) , m_toolbar(0) , m_menu(0) , m_bookmarkModel(0) { connect(this, SIGNAL(entryAdded(BookmarkNode *)), m_saveTimer, SLOT(changeOccurred())); connect(this, SIGNAL(entryRemoved(BookmarkNode *, int, BookmarkNode *)), m_saveTimer, SLOT(changeOccurred())); connect(this, SIGNAL(entryChanged(BookmarkNode *)), m_saveTimer, SLOT(changeOccurred())); } BookmarksManager::~BookmarksManager() { m_saveTimer->saveIfNeccessary(); delete m_bookmarkRootNode; } void BookmarksManager::changeExpanded() { m_saveTimer->changeOccurred(); } void BookmarksManager::load() { if (m_loaded) return; m_loaded = true; QString dir = QDesktopServices::storageLocation(QDesktopServices::DataLocation); QString bookmarkFile = dir + QLatin1String("/bookmarks.xbel"); if (!QFile::exists(bookmarkFile)) bookmarkFile = QLatin1String(":defaultbookmarks.xbel"); XbelReader reader; m_bookmarkRootNode = reader.read(bookmarkFile); if (reader.error() != QXmlStreamReader::NoError) { QMessageBox::warning(0, QLatin1String("Loading Bookmark"), tr("Error when loading bookmarks on line %1, column %2:\n" "%3").arg(reader.lineNumber()).arg(reader.columnNumber()).arg(reader.errorString())); } QList others; for (int i = m_bookmarkRootNode->children().count() - 1; i >= 0; --i) { BookmarkNode *node = m_bookmarkRootNode->children().at(i); if (node->type() == BookmarkNode::Folder) { // Automatically convert if ((node->title == tr("Toolbar Bookmarks") || node->title == QLatin1String(BOOKMARKBAR)) && !m_toolbar) { node->title = tr(BOOKMARKBAR); m_toolbar = node; } // Automatically convert if ((node->title == tr("Menu") || node->title == QLatin1String(BOOKMARKMENU)) && !m_menu) { node->title = tr(BOOKMARKMENU); m_menu = node; } } else { others.append(node); } m_bookmarkRootNode->remove(node); } Q_ASSERT(m_bookmarkRootNode->children().count() == 0); if (!m_toolbar) { m_toolbar = new BookmarkNode(BookmarkNode::Folder, m_bookmarkRootNode); m_toolbar->title = tr(BOOKMARKBAR); } else { m_bookmarkRootNode->add(m_toolbar); } if (!m_menu) { m_menu = new BookmarkNode(BookmarkNode::Folder, m_bookmarkRootNode); m_menu->title = tr(BOOKMARKMENU); } else { m_bookmarkRootNode->add(m_menu); } for (int i = 0; i < others.count(); ++i) m_menu->add(others.at(i)); } void BookmarksManager::save() const { if (!m_loaded) return; XbelWriter writer; QString dir = QDesktopServices::storageLocation(QDesktopServices::DataLocation); QString bookmarkFile = dir + QLatin1String("/bookmarks.xbel"); // Save root folder titles in English (i.e. not localized) m_menu->title = QLatin1String(BOOKMARKMENU); m_toolbar->title = QLatin1String(BOOKMARKBAR); if (!writer.write(bookmarkFile, m_bookmarkRootNode)) qWarning() << "BookmarkManager: error saving to" << bookmarkFile; // Restore localized titles retranslate(); } void BookmarksManager::retranslate() const { if (m_menu) m_menu->title = tr(BOOKMARKMENU); if (m_toolbar) m_toolbar->title = tr(BOOKMARKBAR); } void BookmarksManager::addBookmark(BookmarkNode *parent, BookmarkNode *node, int row) { if (!m_loaded) return; Q_ASSERT(parent); InsertBookmarksCommand *command = new InsertBookmarksCommand(this, parent, node, row); m_commands.push(command); } void BookmarksManager::removeBookmark(BookmarkNode *node) { if (!m_loaded) return; Q_ASSERT(node); BookmarkNode *parent = node->parent(); int row = parent->children().indexOf(node); RemoveBookmarksCommand *command = new RemoveBookmarksCommand(this, parent, row); m_commands.push(command); } void BookmarksManager::setTitle(BookmarkNode *node, const QString &newTitle) { if (!m_loaded) return; Q_ASSERT(node); ChangeBookmarkCommand *command = new ChangeBookmarkCommand(this, node, newTitle, true); m_commands.push(command); } void BookmarksManager::setUrl(BookmarkNode *node, const QString &newUrl) { if (!m_loaded) return; Q_ASSERT(node); ChangeBookmarkCommand *command = new ChangeBookmarkCommand(this, node, newUrl, false); m_commands.push(command); } BookmarkNode *BookmarksManager::bookmarks() { if (!m_loaded) load(); return m_bookmarkRootNode; } BookmarkNode *BookmarksManager::menu() { if (!m_loaded) load(); Q_ASSERT(m_menu); return m_menu; } BookmarkNode *BookmarksManager::toolbar() { if (!m_loaded) load(); Q_ASSERT(m_toolbar); return m_toolbar; } BookmarksModel *BookmarksManager::bookmarksModel() { if (!m_bookmarkModel) m_bookmarkModel = new BookmarksModel(this, this); return m_bookmarkModel; } void BookmarksManager::importBookmarks() { QStringList supportedFormats; supportedFormats << tr("XBEL bookmarks").append(QLatin1String("(*.xbel *.xml)")); supportedFormats << tr("HTML Netscape bookmarks").append(QLatin1String("(*.html)")); QString fileName = QFileDialog::getOpenFileName(0, tr("Open File"), QString(), supportedFormats.join(QLatin1String(";;"))); if (fileName.isEmpty()) return; XbelReader reader; BookmarkNode *importRootNode = 0; if (fileName.endsWith(QLatin1String(".html"))) { QString program = QLatin1String("htmlToXBel"); QStringList arguments; arguments << fileName; QProcess process; process.start(program, arguments); process.waitForFinished(-1); if (process.error() != QProcess::UnknownError) { if (process.error() == QProcess::FailedToStart) { QMessageBox::warning(0, tr("htmlToXBel tool required"), tr("htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, " "is not installed or not available in the search paths.")); } else { QMessageBox::warning(0, tr("Loading Bookmark"), tr("Error when loading HTML bookmarks: %1\n").arg(process.errorString())); } return; } importRootNode = reader.read(&process); } else { importRootNode = reader.read(fileName); } if (reader.error() != QXmlStreamReader::NoError) { QMessageBox::warning(0, QLatin1String("Loading Bookmark"), tr("Error when loading bookmarks on line %1, column %2:\n" "%3").arg(reader.lineNumber()).arg(reader.columnNumber()).arg(reader.errorString())); delete importRootNode; return; } importRootNode->setType(BookmarkNode::Folder); importRootNode->title = (tr("Imported %1").arg(QDate::currentDate().toString(Qt::SystemLocaleShortDate))); addBookmark(menu(), importRootNode); } void BookmarksManager::exportBookmarks() { QString fileName = QFileDialog::getSaveFileName(0, tr("Save File"), tr("%1 Bookmarks.xbel").arg(QCoreApplication::applicationName()), tr("XBEL bookmarks").append(QLatin1String("(*.xbel *.xml)"))); if (fileName.isEmpty()) return; XbelWriter writer; if (!writer.write(fileName, m_bookmarkRootNode)) QMessageBox::critical(0, tr("Export error"), tr("error saving bookmarks")); } RemoveBookmarksCommand::RemoveBookmarksCommand(BookmarksManager *m_bookmarkManagaer, BookmarkNode *parent, int row) : QUndoCommand(BookmarksManager::tr("Remove Bookmark")) , m_row(row) , m_bookmarkManagaer(m_bookmarkManagaer) , m_node(parent->children().value(row)) , m_parent(parent) , m_done(false) { } RemoveBookmarksCommand::~RemoveBookmarksCommand() { if (m_done && !m_node->parent()) { delete m_node; } } void RemoveBookmarksCommand::undo() { m_parent->add(m_node, m_row); emit m_bookmarkManagaer->entryAdded(m_node); m_done = false; } void RemoveBookmarksCommand::redo() { m_parent->remove(m_node); emit m_bookmarkManagaer->entryRemoved(m_parent, m_row, m_node); m_done = true; } InsertBookmarksCommand::InsertBookmarksCommand(BookmarksManager *m_bookmarkManagaer, BookmarkNode *parent, BookmarkNode *node, int row) : RemoveBookmarksCommand(m_bookmarkManagaer, parent, row) { setText(BookmarksManager::tr("Insert Bookmark")); m_node = node; } ChangeBookmarkCommand::ChangeBookmarkCommand(BookmarksManager *m_bookmarkManagaer, BookmarkNode *node, const QString &newValue, bool title) : QUndoCommand() , m_bookmarkManagaer(m_bookmarkManagaer) , m_title(title) , m_newValue(newValue) , m_node(node) { if (m_title) { m_oldValue = m_node->title; setText(BookmarksManager::tr("Name Change", "Undo bookmark title change")); } else { m_oldValue = m_node->url; setText(BookmarksManager::tr("Address Change", "Undo bookmark url change")); } } void ChangeBookmarkCommand::undo() { if (m_title) m_node->title = m_oldValue; else m_node->url = m_oldValue; emit m_bookmarkManagaer->entryChanged(m_node); } void ChangeBookmarkCommand::redo() { if (m_title) m_node->title = m_newValue; else m_node->url = m_newValue; emit m_bookmarkManagaer->entryChanged(m_node); } arora-0.11.0/src/bookmarks/bookmarksmanager.h000066400000000000000000000064161145000221100211410ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef BOOKMARKSMANAGER_H #define BOOKMARKSMANAGER_H #include #include #include "tabwidget.h" class AutoSaver; class BookmarkNode; class BookmarksModel; class BookmarksManager : public QObject { Q_OBJECT signals: void entryAdded(BookmarkNode *item); void entryRemoved(BookmarkNode *parent, int row, BookmarkNode *item); void entryChanged(BookmarkNode *item); public: BookmarksManager(QObject *parent = 0); ~BookmarksManager(); void addBookmark(BookmarkNode *parent, BookmarkNode *node, int row = -1); void removeBookmark(BookmarkNode *node); void setTitle(BookmarkNode *node, const QString &newTitle); void setUrl(BookmarkNode *node, const QString &newUrl); void changeExpanded(); void retranslate() const; BookmarkNode *bookmarks(); BookmarkNode *menu(); BookmarkNode *toolbar(); BookmarksModel *bookmarksModel(); QUndoStack *undoRedoStack() { return &m_commands; } public slots: void importBookmarks(); void exportBookmarks(); private slots: void save() const; private: void load(); bool m_loaded; AutoSaver *m_saveTimer; BookmarkNode *m_bookmarkRootNode; BookmarkNode *m_toolbar; BookmarkNode *m_menu; BookmarksModel *m_bookmarkModel; QUndoStack m_commands; friend class RemoveBookmarksCommand; friend class ChangeBookmarkCommand; }; class RemoveBookmarksCommand : public QUndoCommand { public: RemoveBookmarksCommand(BookmarksManager *m_bookmarkManagaer, BookmarkNode *parent, int row); ~RemoveBookmarksCommand(); void undo(); void redo(); protected: int m_row; BookmarksManager *m_bookmarkManagaer; BookmarkNode *m_node; BookmarkNode *m_parent; bool m_done; }; class InsertBookmarksCommand : public RemoveBookmarksCommand { public: InsertBookmarksCommand(BookmarksManager *m_bookmarkManagaer, BookmarkNode *parent, BookmarkNode *node, int row); void undo() { RemoveBookmarksCommand::redo(); } void redo() { RemoveBookmarksCommand::undo(); } }; class ChangeBookmarkCommand : public QUndoCommand { public: ChangeBookmarkCommand(BookmarksManager *m_bookmarkManagaer, BookmarkNode *node, const QString &newValue, bool title); void undo(); void redo(); private: BookmarksManager *m_bookmarkManagaer; bool m_title; QString m_oldValue; QString m_newValue; BookmarkNode *m_node; }; #endif // BOOKMARKSMANAGER_H arora-0.11.0/src/bookmarks/bookmarksmenu.cpp000066400000000000000000000136661145000221100210330ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2008-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "bookmarksmenu.h" #include "bookmarknode.h" #include "bookmarksmanager.h" #include "bookmarksmodel.h" #include "browserapplication.h" BookmarksMenu::BookmarksMenu(QWidget *parent) : ModelMenu(parent) { connect(this, SIGNAL(activated(const QModelIndex &)), this, SLOT(activated(const QModelIndex &))); setStatusBarTextRole(BookmarksModel::UrlStringRole); setSeparatorRole(BookmarksModel::SeparatorRole); } ModelMenu *BookmarksMenu::createBaseMenu() { BookmarksMenu *menu = new BookmarksMenu(this); connect(menu, SIGNAL(openUrl(const QUrl&, TabWidget::OpenUrlIn, const QString&)), this, SIGNAL(openUrl(const QUrl&, TabWidget::OpenUrlIn, const QString&))); return menu; } void BookmarksMenu::activated(const QModelIndex &index) { emit openUrl(index.data(BookmarksModel::UrlRole).toUrl(), index.data(Qt::DisplayRole).toString()); } void BookmarksMenu::postPopulated() { if (isEmpty()) return; QModelIndex parent = rootIndex(); bool hasBookmarks = false; for (int i = 0; i < parent.model()->rowCount(parent); ++i) { QModelIndex child = parent.model()->index(i, 0, parent); if (child.data(BookmarksModel::TypeRole) == BookmarkNode::Bookmark) { hasBookmarks = true; break; } } if (!hasBookmarks) return; addSeparator(); QAction *action = addAction(tr("Open in Tabs")); connect(action, SIGNAL(triggered()), this, SLOT(openAll())); } void BookmarksMenu::openAll() { ModelMenu *menu = qobject_cast(sender()->parent()); if (!menu) return; QModelIndex parent = menu->rootIndex(); if (!parent.isValid()) return; for (int i = 0; i < parent.model()->rowCount(parent); ++i) { QModelIndex child = parent.model()->index(i, 0, parent); if (child.data(BookmarksModel::TypeRole) != BookmarkNode::Bookmark) continue; TabWidget::OpenUrlIn tab; tab = (i == 0) ? TabWidget::CurrentTab : TabWidget::NewTab; emit openUrl(child.data(BookmarksModel::UrlRole).toUrl(), tab, child.data(Qt::DisplayRole).toString()); } } BookmarksMenuBarMenu::BookmarksMenuBarMenu(QWidget *parent) : BookmarksMenu(parent) , m_bookmarksManager(0) { } bool BookmarksMenuBarMenu::prePopulated() { m_bookmarksManager = BrowserApplication::bookmarksManager(); setModel(m_bookmarksManager->bookmarksModel()); setRootIndex(m_bookmarksManager->bookmarksModel()->index(m_bookmarksManager->menu())); // initial actions for (int i = 0; i < m_initialActions.count(); ++i) addAction(m_initialActions.at(i)); if (!m_initialActions.isEmpty()) addSeparator(); createMenu(m_bookmarksManager->bookmarksModel()->index(m_bookmarksManager->toolbar()), 1, this); return true; } void BookmarksMenuBarMenu::setInitialActions(QList actions) { m_initialActions = actions; for (int i = 0; i < m_initialActions.count(); ++i) addAction(m_initialActions.at(i)); } arora-0.11.0/src/bookmarks/bookmarksmenu.h000066400000000000000000000076171145000221100204770ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2008-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef BOOKMARKSMENU_H #define BOOKMARKSMENU_H #include "modelmenu.h" #include "tabwidget.h" #include #include class BookmarksManager; // Base class for BookmarksMenuBarMenu and BookmarksToolBarMenu class BookmarksMenu : public ModelMenu { Q_OBJECT signals: void openUrl(const QUrl &url, const QString &title); void openUrl(const QUrl &url, TabWidget::OpenUrlIn tab, const QString &title); public: BookmarksMenu(QWidget *parent = 0); protected: void postPopulated(); ModelMenu *createBaseMenu(); private slots: void openAll(); void activated(const QModelIndex &index); }; // Menu that is dynamically populated from the bookmarks class BookmarksMenuBarMenu : public BookmarksMenu { Q_OBJECT public: BookmarksMenuBarMenu(QWidget *parent = 0); void setInitialActions(QList actions); protected: bool prePopulated(); private: BookmarksManager *m_bookmarksManager; QList m_initialActions; }; #endif // BOOKMARKSMENU_H arora-0.11.0/src/bookmarks/bookmarksmodel.cpp000066400000000000000000000320211145000221100211510ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2008-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "bookmarksmodel.h" #include "addbookmarkdialog.h" #include "bookmarknode.h" #include "bookmarksmanager.h" #include "browserapplication.h" #include "xbelreader.h" #include "xbelwriter.h" #include #include BookmarksModel::BookmarksModel(BookmarksManager *bookmarkManager, QObject *parent) : QAbstractItemModel(parent) , m_endMacro(false) , m_bookmarksManager(bookmarkManager) { connect(bookmarkManager, SIGNAL(entryAdded(BookmarkNode *)), this, SLOT(entryAdded(BookmarkNode *))); connect(bookmarkManager, SIGNAL(entryRemoved(BookmarkNode *, int, BookmarkNode *)), this, SLOT(entryRemoved(BookmarkNode *, int, BookmarkNode *))); connect(bookmarkManager, SIGNAL(entryChanged(BookmarkNode *)), this, SLOT(entryChanged(BookmarkNode *))); } QModelIndex BookmarksModel::index(BookmarkNode *node) const { BookmarkNode *parent = node->parent(); if (!parent) return QModelIndex(); return createIndex(parent->children().indexOf(node), 0, node); } void BookmarksModel::entryAdded(BookmarkNode *item) { Q_ASSERT(item && item->parent()); int row = item->parent()->children().indexOf(item); BookmarkNode *parent = item->parent(); // item was already added so remove beore beginInsertRows is called parent->remove(item); beginInsertRows(index(parent), row, row); parent->add(item, row); endInsertRows(); } void BookmarksModel::entryRemoved(BookmarkNode *parent, int row, BookmarkNode *item) { // item was already removed, re-add so beginRemoveRows works parent->add(item, row); beginRemoveRows(index(parent), row, row); parent->remove(item); endRemoveRows(); } void BookmarksModel::entryChanged(BookmarkNode *item) { QModelIndex idx = index(item); emit dataChanged(idx, idx); } bool BookmarksModel::removeRows(int row, int count, const QModelIndex &parent) { if (row < 0 || count <= 0 || row + count > rowCount(parent)) return false; BookmarkNode *bookmarkNode = node(parent); for (int i = row + count - 1; i >= row; --i) { BookmarkNode *node = bookmarkNode->children().at(i); if (node == m_bookmarksManager->menu() || node == m_bookmarksManager->toolbar()) continue; m_bookmarksManager->removeBookmark(node); } if (m_endMacro) { m_bookmarksManager->undoRedoStack()->endMacro(); m_endMacro = false; } return true; } QVariant BookmarksModel::headerData(int section, Qt::Orientation orientation, int role) const { if (orientation == Qt::Horizontal && role == Qt::DisplayRole) { switch (section) { case 0: return tr("Title"); case 1: return tr("Address"); } } return QAbstractItemModel::headerData(section, orientation, role); } QVariant BookmarksModel::data(const QModelIndex &index, int role) const { if (!index.isValid() || index.model() != this) return QVariant(); const BookmarkNode *bookmarkNode = node(index); switch (role) { case Qt::EditRole: case Qt::DisplayRole: if (bookmarkNode->type() == BookmarkNode::Separator) { switch (index.column()) { case 0: return QString(50, 0xB7); case 1: return QString(); } } switch (index.column()) { case 0: return bookmarkNode->title; case 1: return bookmarkNode->url; } break; case BookmarksModel::UrlRole: return QUrl(bookmarkNode->url); break; case BookmarksModel::UrlStringRole: return bookmarkNode->url; break; case BookmarksModel::TypeRole: return bookmarkNode->type(); break; case BookmarksModel::SeparatorRole: return (bookmarkNode->type() == BookmarkNode::Separator); break; case Qt::DecorationRole: if (index.column() == 0) { if (bookmarkNode->type() == BookmarkNode::Folder) return QApplication::style()->standardIcon(QStyle::SP_DirIcon); return BrowserApplication::instance()->icon(bookmarkNode->url); } } return QVariant(); } int BookmarksModel::columnCount(const QModelIndex &parent) const { return (parent.column() > 0) ? 0 : 2; } int BookmarksModel::rowCount(const QModelIndex &parent) const { if (parent.column() > 0) return 0; if (!parent.isValid()) return m_bookmarksManager->bookmarks()->children().count(); const BookmarkNode *item = static_cast(parent.internalPointer()); return item->children().count(); } QModelIndex BookmarksModel::index(int row, int column, const QModelIndex &parent) const { if (row < 0 || column < 0 || row >= rowCount(parent) || column >= columnCount(parent)) return QModelIndex(); // get the parent node BookmarkNode *parentNode = node(parent); return createIndex(row, column, parentNode->children().at(row)); } QModelIndex BookmarksModel::parent(const QModelIndex &index) const { if (!index.isValid()) return QModelIndex(); BookmarkNode *itemNode = node(index); BookmarkNode *parentNode = (itemNode ? itemNode->parent() : 0); if (!parentNode || parentNode == m_bookmarksManager->bookmarks()) return QModelIndex(); // get the parent's row BookmarkNode *grandParentNode = parentNode->parent(); int parentRow = grandParentNode->children().indexOf(parentNode); Q_ASSERT(parentRow >= 0); return createIndex(parentRow, 0, parentNode); } bool BookmarksModel::hasChildren(const QModelIndex &parent) const { if (!parent.isValid()) return true; const BookmarkNode *parentNode = node(parent); return (parentNode->type() == BookmarkNode::Folder); } Qt::ItemFlags BookmarksModel::flags(const QModelIndex &index) const { if (!index.isValid()) return Qt::NoItemFlags; BookmarkNode *node = this->node(index); BookmarkNode::Type type = node->type(); Qt::ItemFlags flags = Qt::ItemIsSelectable | Qt::ItemIsEnabled; if (hasChildren(index)) flags |= Qt::ItemIsDropEnabled; if (node == m_bookmarksManager->menu() || node == m_bookmarksManager->toolbar()) return flags; flags |= Qt::ItemIsDragEnabled; if ((index.column() == 0 && type != BookmarkNode::Separator) || (index.column() == 1 && type == BookmarkNode::Bookmark)) flags |= Qt::ItemIsEditable; return flags; } Qt::DropActions BookmarksModel::supportedDropActions() const { return Qt::CopyAction | Qt::MoveAction; } #define MIMETYPE QLatin1String("application/bookmarks.xbel") QStringList BookmarksModel::mimeTypes() const { QStringList types; types << MIMETYPE; types << QLatin1String("text/uri-list"); return types; } QMimeData *BookmarksModel::mimeData(const QModelIndexList &indexes) const { QMimeData *mimeData = new QMimeData(); QByteArray data; QDataStream stream(&data, QIODevice::WriteOnly); QList urls; foreach (const QModelIndex &index, indexes) { if (index.column() != 0 || !index.isValid()) continue; QByteArray encodedData; QBuffer buffer(&encodedData); buffer.open(QBuffer::ReadWrite); XbelWriter writer; const BookmarkNode *parentNode = node(index); writer.write(&buffer, parentNode); stream << encodedData; urls.append(index.data(BookmarksModel::UrlRole).toUrl()); } mimeData->setData(MIMETYPE, data); mimeData->setUrls(urls); return mimeData; } bool BookmarksModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) { if (action == Qt::IgnoreAction) return true; if (column > 0) return false; BookmarkNode *parentNode = node(parent); if (!data->hasFormat(MIMETYPE)) { if (!data->hasUrls()) return false; BookmarkNode *node = new BookmarkNode(BookmarkNode::Bookmark, parentNode); node->url = QString::fromUtf8(data->urls().at(0).toEncoded()); if (data->hasText()) node->title = data->text(); else node->title = node->url; m_bookmarksManager->addBookmark(parentNode, node, row); return true; } QByteArray ba = data->data(MIMETYPE); QDataStream stream(&ba, QIODevice::ReadOnly); if (stream.atEnd()) return false; QUndoStack *undoStack = m_bookmarksManager->undoRedoStack(); undoStack->beginMacro(QLatin1String("Move Bookmarks")); while (!stream.atEnd()) { QByteArray encodedData; stream >> encodedData; QBuffer buffer(&encodedData); buffer.open(QBuffer::ReadOnly); XbelReader reader; BookmarkNode *rootNode = reader.read(&buffer); QList children = rootNode->children(); for (int i = 0; i < children.count(); ++i) { BookmarkNode *bookmarkNode = children.at(i); rootNode->remove(bookmarkNode); row = qMax(0, row); m_bookmarksManager->addBookmark(parentNode, bookmarkNode, row); m_endMacro = true; } delete rootNode; } return true; } bool BookmarksModel::setData(const QModelIndex &index, const QVariant &value, int role) { if (!index.isValid() || (flags(index) & Qt::ItemIsEditable) == 0) return false; BookmarkNode *item = node(index); switch (role) { case Qt::EditRole: case Qt::DisplayRole: if (index.column() == 0) { m_bookmarksManager->setTitle(item, value.toString()); break; } if (index.column() == 1) { m_bookmarksManager->setUrl(item, value.toString()); break; } return false; case BookmarksModel::UrlRole: m_bookmarksManager->setUrl(item, value.toUrl().toString()); break; case BookmarksModel::UrlStringRole: m_bookmarksManager->setUrl(item, value.toString()); break; default: break; return false; } return true; } BookmarkNode *BookmarksModel::node(const QModelIndex &index) const { BookmarkNode *itemNode = static_cast(index.internalPointer()); if (!itemNode) return m_bookmarksManager->bookmarks(); return itemNode; } arora-0.11.0/src/bookmarks/bookmarksmodel.h000066400000000000000000000115501145000221100206220ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2008-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef BOOKMARKSMODEL_H #define BOOKMARKSMODEL_H #include #include class BookmarkNode; class BookmarksManager; class BookmarksModel : public QAbstractItemModel { Q_OBJECT public slots: void entryAdded(BookmarkNode *item); void entryRemoved(BookmarkNode *parent, int row, BookmarkNode *item); void entryChanged(BookmarkNode *item); public: enum Roles { TypeRole = Qt::UserRole + 1, UrlRole = Qt::UserRole + 2, UrlStringRole = Qt::UserRole + 3, SeparatorRole = Qt::UserRole + 4 }; BookmarksModel(BookmarksManager *bookmarkManager, QObject *parent = 0); inline BookmarksManager *bookmarksManager() const { return m_bookmarksManager; } QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; int columnCount(const QModelIndex &parent = QModelIndex()) const; int rowCount(const QModelIndex &parent = QModelIndex()) const; QModelIndex index(int, int, const QModelIndex &parent = QModelIndex()) const; QModelIndex parent(const QModelIndex &index = QModelIndex()) const; Qt::ItemFlags flags(const QModelIndex &index) const; Qt::DropActions supportedDropActions() const; bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); QMimeData *mimeData(const QModelIndexList &indexes) const; QStringList mimeTypes() const; bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent); bool hasChildren(const QModelIndex &parent = QModelIndex()) const; BookmarkNode *node(const QModelIndex &index) const; QModelIndex index(BookmarkNode *node) const; private: bool m_endMacro; BookmarksManager *m_bookmarksManager; }; #endif // BOOKMARKSMODEL_H arora-0.11.0/src/bookmarks/bookmarkstoolbar.cpp000066400000000000000000000107661145000221100215270ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "bookmarkstoolbar.h" #include "addbookmarkdialog.h" #include "bookmarknode.h" #include "bookmarksmanager.h" #include "bookmarksmenu.h" #include "bookmarksmodel.h" #include "browserapplication.h" #include "modelmenu.h" #include BookmarksToolBar::BookmarksToolBar(BookmarksModel *model, QWidget *parent) : ModelToolBar(parent) , m_bookmarksModel(model) { setModel(model); setRootIndex(model->index(BrowserApplication::bookmarksManager()->toolbar())); setContextMenuPolicy(Qt::CustomContextMenu); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(contextMenuRequested(const QPoint &))); connect(this, SIGNAL(activated(const QModelIndex &)), this, SLOT(bookmarkActivated(const QModelIndex &))); setHidden(true); setToolButtonStyle(Qt::ToolButtonTextOnly); } void BookmarksToolBar::contextMenuRequested(const QPoint &position) { QAction *action = actionAt(position); QMenu menu; if (action) { QVariant variant = action->data(); Q_ASSERT(variant.canConvert()); QAction *menuAction = 0; if (!action->menu()) { menuAction = menu.addAction(tr("Open"), this, SLOT(openBookmarkInCurrentTab())); menuAction->setData(variant); menuAction = menu.addAction(tr("Open in New &Tab"), this, SLOT(openBookmarkInNewTab())); menuAction->setData(variant); menu.addSeparator(); } menuAction = menu.addAction(tr("Remove"), this, SLOT(removeBookmark())); menuAction->setData(variant); menu.addSeparator(); } menu.addAction(tr("Add Bookmark..."), this, SLOT(newBookmark())); menu.addAction(tr("Add Folder..."), this, SLOT(newFolder())); menu.exec(QCursor::pos()); } void BookmarksToolBar::bookmarkActivated(const QModelIndex &index) { Q_ASSERT(index.isValid()); emit openUrl( index.data(BookmarksModel::UrlRole).toUrl(), index.data(Qt::DisplayRole).toString()); } void BookmarksToolBar::openBookmark() { QModelIndex index = ModelToolBar::index(qobject_cast(sender())); emit openUrl( index.data(BookmarksModel::UrlRole).toUrl(), index.data(Qt::DisplayRole).toString()); } void BookmarksToolBar::openBookmarkInCurrentTab() { QModelIndex index = ModelToolBar::index(qobject_cast(sender())); emit openUrl( index.data(BookmarksModel::UrlRole).toUrl(), TabWidget::CurrentTab, index.data(Qt::DisplayRole).toString()); } void BookmarksToolBar::openBookmarkInNewTab() { QModelIndex index = ModelToolBar::index(qobject_cast(sender())); emit openUrl( index.data(BookmarksModel::UrlRole).toUrl(), TabWidget::NewTab, index.data(Qt::DisplayRole).toString()); } void BookmarksToolBar::removeBookmark() { QModelIndex index = ModelToolBar::index(qobject_cast(sender())); m_bookmarksModel->removeRow(index.row(), rootIndex()); } void BookmarksToolBar::newBookmark() { AddBookmarkDialog dialog; dialog.setCurrentIndex(rootIndex()); dialog.exec(); } void BookmarksToolBar::newFolder() { AddBookmarkDialog dialog; dialog.setCurrentIndex(rootIndex()); dialog.setFolder(true); dialog.exec(); } ModelMenu *BookmarksToolBar::createMenu() { BookmarksMenu *menu = new BookmarksMenu(this); connect(menu, SIGNAL(openUrl(const QUrl&, const QString&)), this, SIGNAL(openUrl(const QUrl&, const QString&))); connect(menu, SIGNAL(openUrl(const QUrl&, TabWidget::OpenUrlIn, const QString &)), this, SIGNAL(openUrl(const QUrl&, TabWidget::OpenUrlIn, const QString &))); return menu; } arora-0.11.0/src/bookmarks/bookmarkstoolbar.h000066400000000000000000000034071145000221100211660ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef BOOKMARKSTOOLBAR_H #define BOOKMARKSTOOLBAR_H #include "modeltoolbar.h" #include "tabwidget.h" #include #include #include class BookmarksModel; class BookmarksToolBar : public ModelToolBar { Q_OBJECT signals: void openUrl(const QUrl &url, const QString &title); void openUrl(const QUrl &url, TabWidget::OpenUrlIn tab, const QString &title); public: BookmarksToolBar(BookmarksModel *model, QWidget *parent = 0); protected: virtual ModelMenu *createMenu(); private slots: void contextMenuRequested(const QPoint &position); protected slots: void openBookmark(); void openBookmarkInCurrentTab(); void openBookmarkInNewTab(); void removeBookmark(); void newBookmark(); void newFolder(); void bookmarkActivated(const QModelIndex &); private: BookmarksModel *m_bookmarksModel; QPoint m_dragStartPosition; }; #endif // BOOKMARKSTOOLBAR_H arora-0.11.0/src/bookmarks/xbel/000077500000000000000000000000001145000221100163705ustar00rootroot00000000000000arora-0.11.0/src/bookmarks/xbel/xbel.pri000066400000000000000000000002211145000221100200310ustar00rootroot00000000000000INCLUDEPATH += $$PWD DEPENDPATH += $$PWD HEADERS += \ xbelreader.h \ xbelwriter.h SOURCES += \ xbelreader.cpp \ xbelwriter.cpp arora-0.11.0/src/bookmarks/xbel/xbelreader.cpp000066400000000000000000000162041145000221100212140ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2008-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "xbelreader.h" #include #include "bookmarknode.h" QString XmlEntityResolver::resolveUndeclaredEntity(const QString &entity) { if (entity == QLatin1String("nbsp")) return QLatin1String(" "); return QString(); } XbelReader::XbelReader() : m_entityResolver(0) { m_entityResolver = new XmlEntityResolver(); setEntityResolver(m_entityResolver); } XbelReader::~XbelReader() { delete m_entityResolver; } BookmarkNode *XbelReader::read(const QString &fileName) { QFile file(fileName); if (!file.exists()) { return new BookmarkNode(BookmarkNode::Root); } file.open(QFile::ReadOnly); return read(&file); } BookmarkNode *XbelReader::read(QIODevice *device) { BookmarkNode *root = new BookmarkNode(BookmarkNode::Root); setDevice(device); while (!atEnd()) { readNext(); if (isStartElement()) { QString version = attributes().value(QLatin1String("version")).toString(); if (name() == QLatin1String("xbel") && (version.isEmpty() || version == QLatin1String("1.0"))) { readXBEL(root); } else { raiseError(QObject::tr("The file is not an XBEL version 1.0 file.")); } } } return root; } void XbelReader::readXBEL(BookmarkNode *parent) { Q_ASSERT(isStartElement() && name() == QLatin1String("xbel")); while (!atEnd()) { readNext(); if (isEndElement()) break; if (isStartElement()) { if (name() == QLatin1String("folder")) readFolder(parent); else if (name() == QLatin1String("bookmark")) readBookmarkNode(parent); else if (name() == QLatin1String("separator")) readSeparator(parent); else skipUnknownElement(); } } } void XbelReader::readFolder(BookmarkNode *parent) { Q_ASSERT(isStartElement() && name() == QLatin1String("folder")); BookmarkNode *folder = new BookmarkNode(BookmarkNode::Folder, parent); folder->expanded = (attributes().value(QLatin1String("folded")) == QLatin1String("no")); while (!atEnd()) { readNext(); if (isEndElement()) break; if (isStartElement()) { if (name() == QLatin1String("title")) readTitle(folder); else if (name() == QLatin1String("desc")) readDescription(folder); else if (name() == QLatin1String("folder")) readFolder(folder); else if (name() == QLatin1String("bookmark")) readBookmarkNode(folder); else if (name() == QLatin1String("separator")) readSeparator(folder); else skipUnknownElement(); } } } void XbelReader::readTitle(BookmarkNode *parent) { Q_ASSERT(isStartElement() && name() == QLatin1String("title")); parent->title = readElementText(); } void XbelReader::readDescription(BookmarkNode *parent) { Q_ASSERT(isStartElement() && name() == QLatin1String("desc")); parent->desc = readElementText(); } void XbelReader::readSeparator(BookmarkNode *parent) { new BookmarkNode(BookmarkNode::Separator, parent); // empty elements have a start and end element readNext(); } void XbelReader::readBookmarkNode(BookmarkNode *parent) { Q_ASSERT(isStartElement() && name() == QLatin1String("bookmark")); BookmarkNode *bookmark = new BookmarkNode(BookmarkNode::Bookmark, parent); bookmark->url = attributes().value(QLatin1String("href")).toString(); while (!atEnd()) { readNext(); if (isEndElement()) break; if (isStartElement()) { if (name() == QLatin1String("title")) readTitle(bookmark); else if (name() == QLatin1String("desc")) readDescription(bookmark); else skipUnknownElement(); } } if (bookmark->title.isEmpty()) bookmark->title = QObject::tr("Unknown title"); } void XbelReader::skipUnknownElement() { Q_ASSERT(isStartElement()); while (!atEnd()) { readNext(); if (isEndElement()) break; if (isStartElement()) skipUnknownElement(); } } arora-0.11.0/src/bookmarks/xbel/xbelreader.h000066400000000000000000000072611145000221100206640ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2008-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef XBELREADER_H #define XBELREADER_H #include #include class BookmarkNode; class XmlEntityResolver : public QXmlStreamEntityResolver { public: QString resolveUndeclaredEntity(const QString &entity); }; class XbelReader : public QXmlStreamReader { public: XbelReader(); ~XbelReader(); BookmarkNode *read(const QString &fileName); BookmarkNode *read(QIODevice *device); private: void skipUnknownElement(); void readXBEL(BookmarkNode *parent); void readTitle(BookmarkNode *parent); void readDescription(BookmarkNode *parent); void readSeparator(BookmarkNode *parent); void readFolder(BookmarkNode *parent); void readBookmarkNode(BookmarkNode *parent); private: XmlEntityResolver *m_entityResolver; }; #endif // XBELREADER_H arora-0.11.0/src/bookmarks/xbel/xbelwriter.cpp000066400000000000000000000113511145000221100212640ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2008-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "xbelwriter.h" #include #include "bookmarknode.h" XbelWriter::XbelWriter() { setAutoFormatting(true); } bool XbelWriter::write(const QString &fileName, const BookmarkNode *root) { QFile file(fileName); if (!root || !file.open(QFile::WriteOnly)) return false; return write(&file, root); } bool XbelWriter::write(QIODevice *device, const BookmarkNode *root) { setDevice(device); writeStartDocument(); writeDTD(QLatin1String("")); writeStartElement(QLatin1String("xbel")); writeAttribute(QLatin1String("version"), QLatin1String("1.0")); if (root->type() == BookmarkNode::Root) { for (int i = 0; i < root->children().count(); ++i) writeItem(root->children().at(i)); } else { writeItem(root); } writeEndDocument(); return true; } void XbelWriter::writeItem(const BookmarkNode *parent) { switch (parent->type()) { case BookmarkNode::Folder: writeStartElement(QLatin1String("folder")); writeAttribute(QLatin1String("folded"), parent->expanded ? QLatin1String("no") : QLatin1String("yes")); writeTextElement(QLatin1String("title"), parent->title); for (int i = 0; i < parent->children().count(); ++i) writeItem(parent->children().at(i)); writeEndElement(); break; case BookmarkNode::Bookmark: writeStartElement(QLatin1String("bookmark")); if (!parent->url.isEmpty()) writeAttribute(QLatin1String("href"), parent->url); writeTextElement(QLatin1String("title"), parent->title); if (!parent->desc.isEmpty()) writeAttribute(QLatin1String("desc"), parent->desc); writeEndElement(); break; case BookmarkNode::Separator: writeEmptyElement(QLatin1String("separator")); break; default: break; } } arora-0.11.0/src/bookmarks/xbel/xbelwriter.h000066400000000000000000000064161145000221100207370ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2008-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef XBELWRITER_H #define XBELWRITER_H #include #include class BookmarkNode; class XbelWriter : public QXmlStreamWriter { public: XbelWriter(); bool write(const QString &fileName, const BookmarkNode *root); bool write(QIODevice *device, const BookmarkNode *root); private: void writeItem(const BookmarkNode *parent); }; #endif // XBELWRITER_H arora-0.11.0/src/browser.icns000066400000000000000000001521061145000221100160140ustar00rootroot00000000000000icnsFics#H????????is32I =OBǾA >; >DŽ $ѩӌLцyCf8m휞x>t֐N؟]ɛxYE$8—hx[ L#]7 0gI H3 $&UX^]R˓Q Oɒ NҐ BضܘՔ݋Rm|FD,R۟mў̤" lpFUʮc.3M ar?,ʼ6(,Q b[/67%p@ +?)ud5jg >{njpzj$4McocYyHB}tҩt rӭ q٢ ߬Lئܧtz1ƉeرݹͶf*şou o̽ukq osuku h}mv 6qf|.s8mk~ѱdc{Y1JLICN#????????il32 ?Xԁ^ rż|tV ynn½vOd¾qOgʾ^PdcgʾpLoøuzymӾwР̺jsOhӏmk̹ml}ڋkaH0\ƒШmvyA1nx yqvW1\t ؛SrۊŰ_)3l IҗeypƯ[Nj|ԙyʇ{M)/RqWw|H|5opzov/96,~jSje &+RE^793,FveP@nO"*;r85/*Zzl[K8& #  n2/*$4|zn`RD2## ) `+(&Iwk_TG:+ 01%!! ^[PF;,,1CE:, 7 7 (  1%< .)88//!%4/  2;9;3 !&gꐗ:k ~Ʒd {f{^rĀ^vʣ_t؀8tɹ}6{ōς˷фըŧ~Ԁ^uךzw~҉ܢޖzxSk͔Nٴ€zcSyΈ60؇僫͂Rk,+Daᕙ͋HJy..jڣ-φ˻x.3ۣ|ыnIOsǼۆ16s[vOYUJ·zq79:Lcg 3fhWYTIeȼx]5:>7$+[]VSND7>9>6)'cC=OMG?Ra9.('M75HF@8uzm%'&Es~7cZA><96~shR#%CqQ6S*.01ujdi3%Hovs52dY+<~vngdf]6cmp9xN{ypjddfhijmrKR9t{jhgijkm|p: 4X~wnmpz}R< ?:=NepdL;?*8"j ŵ l˔Z͝~њ ~Ѐָ~Ϸ πݖYΔҢ˹ۜțܻۡ۟ӹݚ}ت֜ܤxߨ֫})Γͣ١ul䙿ٮژnmu ަڱܓkoaқͱٔoq߸ϖĺߝps¹⼑tvuuGߓƽrvxtjrLĒvxuxtll|rzunkkm}{t»jij~wxwtsgi}=~nnpnshx5mnxtsfBrtE w} xtt|Vgz\l8mkμ` !6 ./3h"?Nob?6_+59\A_-9$Xa2&[X/-$ich#H??????????ih32cfijhjbc[ gm~|solhdirĿwo\ju¿ohgwſth itȁ»vc hoʃûrU [l̄h Hiȅƽq* fjʁ {C gl̂þƀMio·ʾUfr˽ôQ!zvǹ{;"ķxû}2߱̀|Ż@#lw߫ǺǼm˽W#m左γslqƸtxľf%fxѲtn`GGYȽz;}wG%fٸtwxroSLEaʼt)5f&iحvpKHL˼j*%3{Ĵu3&o{PDBi̼[%&#.qʿO'cxΚ~U?xmaUlҼd&du]B'pyewrtyc:?EC=m~ti^P]ܰN%&&$&+ hnomOcuH;CA?<>yndYMK}}H%&' .! -ZnAA?=:84C{rh^TI=EP:$%&&'-bC=;9642,C{sjaWNC9-!"&' 1"O~<87520.*>trjbYPG=3)&'&4" .t9531.,)Qpnh`YQH@6,#$! .!_>0/,*(&Wjb]WPH@7/% 0! ;J++(&&%2ZXRMF?70'  5E&$''&&$=NHC=7/&  0&06 $%%3B=6.$   5 :*+'"   7 @/ 5& "A*  4*8(7&03-5!41! -6(  !-53/*%(.250&  $(&"  tvvusso[ uz{xvlu}»{huſ{wtūv uсƳq u|҃Ư~_ mxԄơt Huхƹ~* rvӂ L uxԂ ĒUr{äƜ_wɫƛ[!ŹæčE"ī‰7Ԁ¢ďI#yⴹþ›zƟ`$z龼ֽ|~ĹǬo%t׺edmȾjʾS svmerǺZNʥq&u߶žkifǴzIBL̾D&{·ĸtdaxȪkAC>PȑY'qȨ֤ſ|^\lȞ^>BAJwɝZ'tÒ|UUbǘW>BAdŚ_'zعľƕT>ALǼp2'sפ|a]o»Ǡe@AI|ǭZ'|zjwgY_e^ȯsBBA[yyv9'~j{zW]eb\ü⼋aABBAMcgzBs{zwahZb`]Z]ľ\BC:2?pA0,ya_^[YVQd|lPABC<0//f=#*d\ZXURPIeqEABBC;10.Pt7+n]WUSPMKFb~ycB8/0.Fpk/"(JXRPNKIF~zurL=5/0.AexW%!5[MLIGDB|vsrF/00.>diy@ 0^gHHECB@U}wrmc4/0.=cgqj0'9aCACB?p|tlhhZ00-=chgyG/NQ17=@A?c|tlg iH,1Ccifue/6UE46/0C|wrnig iY/>[hhfot< *6c{sU3Kzurokhg iUMgigflyF# )@xtjlomjhgiggfnyO()9j|mhhgfgttF) 3[xuhffgfgpzh<",=cwwpiggfgghmuymJ/.=TitwvmZE3 #-7)%ᾖX!?[1QG?6'9%`:K hkU`k= #@M~M$nk V!b2R`$ oeY &UM  D 3 9' m"D 0H'z41'ZܬyQ?7%!4M\n|udZL>92%!&)-.+(#  it32e8 m_ݡ}sr}GstzsÂs {sz s{ǀ»}usl*sȀztstzssyˀ us tss̀s̀sŀsUsʂÿxsswTڀs̀Ƀ¼ssrsȅtssWrss߀ɇƾvss̀ussʊzsslxssȋć~ssr~ssɍć{sw#$ssȎĆxs~Uss|ɐÆusssuʒsr[sȓvswssɔņsr Ussȕvs݁mssȖņ|sssvɘss݂{ssxʙņss Suss~ȊǂǾus˂ rssɋ÷ …xssʌDžws\s ƉȾwss"ƺƈ űӀ„wsv)sstǻŇstŅss+zssxŴĀĀssDžss6vss~ǾsǵÃsǾss;6s(Ʒ|ssdzssȿustM rss)ŴsstDzstss~ Ԁsɀss~ szss sɁɀ~ss sƒss7sʂ ƶtss }sÃss?|s Ȃɀôstsăss'zssuȃȀssrssƃss&xsswơȄɁsssǃss }ss{᪁ɆȀƶsstssɃss$ssw⨟ɇȀôsstssssxs 婟ɈɁws żss$$~ss麟ɀɁs˽ss'ss㶟Ǻs uȀŵsstxýssxssşҡǼts uȀ ssau~Ԁ ;ss%ssְƼʽtsmd[[^drstuɁ ssYWvҀ žzssʂ#ss澰̺usoheKGFEDI^rsuɀ ss_cvӁ ss xstͰsrplifGFEDCBAVssuˀ ssd#kvՂ ȿwsr ss˦suusqnkhHEHC@@_st{Ǽss]1kvӁ ts GssѬ{s!tx{ywuroliXPSRPPK@?hstǼssO((0kvЀ vts;ss†s#v}~{yvsqp|UQPPOMJ@Kss}ǻss@*+'.kvЀutss߃ ҹxs%x}zyvnPONMLKH:SstǴssj%#$&(ksv˿utrsxր ǜus3J@@?>=<:CstǴssd#"$&XstȾtsss ̬|s5uM?>=<;:96ssƳss_""%& Assvǽssss ˙s5P=<;:9881lsvƳssZ""& /nssżzssrsyт Ǎs{0i;:988<@AcsuƳssU""&^ssĂsuss s8¿~c_`chd`X^stƳssS"#&/sswƂs{gssрD˹|sst`GENf}yuqlhc_ZWstƳssa"#&0sswsrsy͂ ͍ʱwssuzDA@3?En¿|ytpkgb_ZQstdzvsp%#&+qss»skCDss ̧^ussvE@5?>>CIHT{xsojfa^YNrs|ǴssQ#&$=ss[#ssjh`swg@7?>>=CHHGGPzvrnie`\XPisuǴssk#& Es}~srHsq^s_s>wH@?>>=>=<;CHGFEDCB|xspkgc_ZVRWstȵssb%& 1gsf1D0  ssx^mays?vz}L>=<<;CGFEDCBAAu~zvqnifa]YUPKstȷ{ss]&%%66 D7)sd^^`}^es@wvyzn==<;;BFEDCBBA@@D|xtqlhd`\XSPHgtwʹwsso:&D>"zsIqsoaipssqxytwyO<;;:AEDCCBA@@?>=s~zvrojgb_ZVRNJRsuˣtssk4&CD%wsErrss_Yzwrts<;:9@DDCBA@@?>=<;B{xtqlid`\XTPLHArt|ʝtsse.& CCvsAJOyvpr`:98@DCBA@@?>=<<;:9Q}yvqnjgb_ZWSOJG?Ztv|vts]*& D<FKxRHxvnpN89?CBA@@?>>=<;:9887e~zwsplhd`\XUPMHEA9gtuvutsU'&<7!>vvkmE8@BA@@?>>=<;:98876"w~{xtqmifb^ZWSOKGC?:5Trsr[:&?3="7vvijB@A@@??>=<;:9887665434v{xuqnjgc`\XTPMHEA=94.,*(& D."4sqI@1?>=<;:9887765432102r~{xuqokhd`]YVROJGC?;830+(%&  "D*  .G@?>=<;:9876543210 /2~zxurokiea^ZWSPLHE@=951.)&"$& *D& -~A>=<;:9876543210#/.-,\|zxuqolifb_[XTQMIFB?;730+(# %&%1D"!>#*qz=<;:99887654321100/.-,+*Y{ywtqokifb_\XUQOJHC@<851-)&!&# =D!"?4%Ut;::9887654322100/.-,+*)0qxusqnkieb`\XVROKHEA>:62/+(# "&  D??7q:9887654332100/.-,+**-Hivsqomjheb_\YVSPLHFB?;840-(%!&$D2:+tr887654432100/.-,,+*)Lsvsqpnkigda_\XVSPLIFB@<851.*'"#&#9D&";0!Xx7655432100/.--,+*)(;tsqpnljhfc`^[XVSPMIGC@=962/+($  &&%  DA:f485432100/..-,+*)(('Mqomljhfda`]ZXURPLIGC@=9630,(%!&   D49rC32100//.-,+*)(('&&8ljihfdb`^\YWTQOLIFC@=:730-)&" 5D'!+LR100//.-,+*)((''&Tgeca`^\ZXVSPNKHFC@=:740-*'#   DBT*ud40/.-,+*)((''&/`^\ZXVTQPMJHEB@=:740.*'$  !D7׀WbM.-,+*)('&#C][YXVTRPNLIGDA?<9730.*($   @E%! 8)_W3+*)('&(SWVTRPOLJHFC@?<8630.*($!  (D7 uIR?")(('&5SQPOLJHGDB@=:8630-*($!   CD#! F$VP!#&EMLJHGEB@?<97520-*'$!  /D3 ?!?O@$&0IHFDB@?=:8631/,)'  DC! NON#$&0ECB@?=;87420-+#  6D0"6NG#&*?A@><:8751*% DA`GN@ '78642/-)$  CD**"GN7$('%$"   @D1 !#KN-##"    ;D7!s'MN*!$  4D; M6UT)  *D@!4>SM# $DC$)CQN' .DE)*";NM.   8DB)U 1JJ6 ?D>#!7# (DG<CD9 ("=D?*DD2 .8DD5"@DC*/-@DD1 >DE8$'/BDD, ;DD;& % 2DDC, 8DD=*$""5DC1%:D?+ %#/;ED7" *>DC5*" %!,8CD >70*#&,3:AD?2( $*4;@DEDEC>:/$" !%(+/21-*&# "! !  "!!  U~j3Uׂ ?߫ľגҀĿ8Ҁ ń3?ƀӀ ƉL̀ʼnť̀тňxԀуƇ~*҆ņ{~чȆæҊņ+ыņҍņ[юŅàѐ̆ҒɆ~ѓƆ̃ҔΆ~IҖȆіŅPҘɅÐ"ҙΆ vъˀЂDž ~ыÀҀ̅րҌ˾ńs ω ȾրȄ?"ψ ǾϺـ˄Ã)· ƾȟڀ΅+"΀Dz̀þń6Ћ€͎DŽD V(χƢȄ ~)ɷпɃҀʀǞʂ ʃ1ҁҀƀÊ ˃L҂ € ̃ZтҀ́̓şурʁσ&̩фҁŀЃ 屁цр€ł$寧҇р́Ł 豧ʸ҈ҁɁŀƋ$ʵҀ ƺсŁڀ Ŝ'缧̰Úр ـ ĭL˧ީŝ рɁ yځ Ļ%ܷǟ|qqrvҁÀ wvف Æ݂#Þmfedcerрǀ ybzځ ũ պfedcaa`mӀȀzbezف ‚~ :ӯhdha`_rƀxb`Kyځ Ƥ j ٶptsqqk_^w߀ǀsaPEIyف ‚\ ɑ#wrqqonk^cŀnZGHBIyڂǠĂ %qponlkiZvŀhIFGF@Fx׀ „n6ٺnmlkii`cĀMBEGEC?Fw׀ȗ4P̃lkjiigfYx}DBEFDBB>Dxրȯ΂0݃Nח¿iihgfd`kpBAEECBBA>Hy׀΀N׻hgfedba_bA@EDB A>[yՀǎf?~߀Eՠfedcba`V~T@@DBALb}܀Ȝ0ހE޿Ӈhcba``_Wt‡D@@CBMjǠ߂݃?۶șja``_^]Xgw@BT}Ƥ̃?~ك Ц3¾n`_^]\[Y[s@>@B uҀŨ0 Ե5¾q]]\[ZYXSo>=AB\ŭ ӣ0¾x[ZYYXXWPzk=>BI}Ķ?~؂ Ϙ7YXXWW_ilyf=>B oł0ـʏ8e=?B IŁrE‡}eckq=?BI΀ʁ?~ՁFՑҺb``_^]]d}@?BE~̀xZf?ԭad`_^]]\[biit¿Ѐd?B@\ɵk<=nÀkc5_^]]\[Zbihgfo~Ѐy@BIpo88:}awb6g]]\[ZZbhgffed}Ѐu@BDcq{|v8{a~b?]]\[ZZbhgfedcbrABRTb{zlp}988?aqd?k\[ZZYbgfedcba`nB AQjnpfggl=8 H{gaadai~@[ZZYXafedcba``_c~į|RB`sjgiA88Efz{sdn{@pZYXX`edcba``_^]\¿|ԯxMBCFQcgA88H< ~~nvZX6_dcba``_^]\[Z`ҧtHB :001@Wg=88?\2nXXW^cba``_^]\[ZYXXq#znEB;0O988FKԪh12eqWV]ba``_^]\[ZYXXWVU{}gCB<0w{8?A32ZeV^a``_^]\[ZYXXWVUTSStx~~lRB=01~u88:=B85Sc_``_^]\[ZYXXWVUTSRQPRwsbCB=10Mn88==D88Nk``_^]\ZZYXXWVUTSRQPPOP}WB=10?vf88?>78Gh_^]\[ZYXXWVUTSRQPPONMLP~{vJB:0:dz^88A>:8Eb]\[ZYXXWVUTSRQPPONMLKJI}zxlDB606ag}U88C>C8C][ZYXXWVUTSRQPPONMLKJIHH~{ywtaB@30 3]ggH88D?h8>vZYXXWVUTSRQPPONMLKJIHHGN}zxussNB>10 1Wggm887 ?89PXXWVUTSRQPPONMLKJIHHGKp~{ywtssfB;0Rgwi88<:>8DWVUTSRQPPONMLKJIHHGFv|yxusLB@50JgP88B;_8;{UTSRQPPONMLKJIHHGFE_}zyvsXB910Cgl:87,:88QTRQPPONMLKJIHHGFEDCy~{ywts^B=30=egun88;9*<89]PPONMMLKJHHGGFEDCB\~|yxusc606@B|zyuojg?09bg|f889 @88feX008ABZ~|xrmig309bgo>88@888jcW102479;=N|zwvtsqomkihg@08SgoP88<Q88=acQ0q~}|{zywvtsqpnlkigN03Qgl^8878 a@88B`cH05PE60{}|{zyxwvtsrpomkjhg:0?`gij8A:88Fbd\w~m>0yzyxwvutsrpomljige104Sgh~u:88>788]~zyX40:wwvutsrqpomljig<>bgz}>88<i8n{wrO9?dttsrqponmljihgfgwG88:"Q889v|ts rrqpponmlkjigh|Q8873 UD889i~qqp oonmmlkjihgkK887>>8YnmllkkjiihgowA887@uE8Knjihhgtm:887>Q8Axqgiz^8:3\8;moghvQ8;!a:8V}}mghtmC8?S>8:[{kgrrH87@)I88@Zrvnjghlqz}hN987?I<8=Tm }zwtux{~ybH87?!H;8:Oht{xp]B87=2@D;8 ;DMV_fbZQI@:87=?/D=78>> C@=<87879;>A9 *9?@AA@=4 0R R%dyե7n3Б< ~òـľo1ۀŽv[ˁЅ÷3~Ҁ݀ ЉʾȌׂыε܀ԀЉ"ӃшǦ$eԆч˯ƀӈІθ[Ԋчe6ӋчԍчрȳӎцεnטӐц̱$ԒІɥˀӓ҇ρZԔц˧cԖІ$0ӗ҆ŠԘЅΧ"Ԛ҆S ӊр҂Ѕ JӋЀ х݃UԌ ր҅ĜՀ щ ؀ЄɜJӀЉàфΛ!ՀҀчЯх*с˼ЀØ҅,ЀπңЄU7ҞπбЃΙ:OҁϱЃǘ=ėԀрѮς ЃUԁԀрϠ уsԂӀрƙ уӂԁҁ̘у'ܲӃӁҁĘ҃&ڲջӄԁсƼӃ ϟӆӁрΧӃØ$迹ӇӀр͢Ђ͘I ȹԈԁс˜ Ӄ$ȧ̹ŹԀ¼Ӂс т'+ɹۿɬ Ӂ҂ЀɃӹŀ庹ʭ Ӏс ܀ ǘ%&˯ ԁр Ƙۀ Ξ #ƘɮӀр ˘܁ ϸ çՁҀ͙ہ ͚N ޘֻрɚ}܂гς ԀҀ™||ـ ̛ ϥ#ʫр~yzـѰ̘ ɜ%ͼр}~~xy؀˜5Ù̯р~y}~|vy؀ՀҩsP5ћƣҀϛyx}~}{zuxـҽlR٩ˬƘyx}}|{{zu{րʠ Șـ6Ę̻Ҁxw}|{ zuـҤtJ;ìװɝҀxw}{y~ހү l߁EͲ՞ʝѝzww|{߀ـҲ ȘɄBͫ˞Θwux{ րдJ܄ Ҵ3˟̘vuy{ Ԁϸlށ ֿ5ˡȘutz{ϻ΃Șֲ݀5ˣƘtt{ ~у݃J܁Ҫ7˷Øtu{тεσlڀۀΣ8ɴ˜tv{ӂʥȘƀڀDȞɚtv{~рЁJ׀ـ<֚›Ҁuv{α؀ִo*Ҁw{xnv{xq+¿Ҁw{}klqoςp5͘w{|llmoЉp/Ӏɘy{l.o}r-¿ȟ{ypllo uoorow@Ğ{tllIs{ռ{}tll{Eն~{ vppqypll~GȜAf|{wpql;EiȬff{wpllm:hf{xplls=li|{xpllw=ll|̻{xpyll|>7klvʛ{vpvll>sluɘ}{tpsllltǓ{zrp qzlllpÑ"{xqp llk@:lm~{vpllw:ylt{zsplllnÍ~À{vp|nlkV:llŌ~}|{xrpxlls9rlmǔ~}|{{tpxllllʟ~}||{pwpllh9ll{ȭ~~}|{tpwllqrll~}|{pvzll~llx~}|{~pvllmB wll|~}|{pvulllls}uz{ypvlln$ }llppuz{rpuqll~-llo~pswz{pvllq lltpsvz{rpunllzlqpqstuwxzpullullrppqllkp }llyps~tpvpylrllyppprmll|$lrpvwyrllu΀lwyyllp>llm lellm}llkz:{ltllk}ꈀl}nlylulofloluBplvlzylm{lk}Xlplpuklslo| zltml}*ulq zlkzErlmulkx_~tl ow{smlx{4bwkloyx=}wsnklpuy}p Uq|~wd9t8mk@ALGA<60=̱|Y,6ӦzM!e ڕP$g@e0UlU@j/L 24T-&x  & ;F Vl u$  ) -*C!;G# L<& ^8) $s:+<-=.|=.D<-:+a9) 7' 6& BL% w% ' ( \D ' Y/  I# j # : jRi! }& j* -u/j`?1!PH?2" MKG>1! ZLID:-KF?4'HB8, M=0# 8^8*bn4$ m1! eY/rE."Z=/,9AF>/&19>h>0  %-2K>0 #)=/ <. ;,O:* 3C8) B6' [A4$ CH?2" F=.iD9+UIA6&  G>1" zXE;, IB7' fSG?2# JE:-TNHA5' JE3%  tZLHA8+ lLID;/"  LJE=2% 'LJF?5( %MKG@7+  nMKHA8-   t\MKHB:."  VPLKGB:/#  @MLJGA9/$ 1|MLIE@7.#  (LPMKHE>6,!  &0_UMLJGC<3* #-6s\MLKHE@91'   *2;fMLKIFB=6-$  %-570(  '/692*"   (0692+#  !(/5:=ADFHIN_s|kXLLLLLKKJHGEB?;61+$   &+059=@BDFGHHHIIJJIIIHHGFECA>:62-'"   %*/37:<=?@AABCCBBA@?><:840,'"  #'+-/1245677664310.+(%    "$%''''&$#!     arora-0.11.0/src/browser.ico000066400000000000000000000226761145000221100156420ustar00rootroot0000000000000000 %(0` &-1341/() ?<pF#P'V+T(J%<{ Y=;8-  .}%xux{"*:w;Y.q; f4' e@7! S(wn7O*}=}&p hggggggghlw;b0p7 ^0G;' ].s; y;*jggffffffgggggix?L)j5 S='  h3{G'Ezp nkhfffffffggggghk5\0m7* e;!f3O+J |iruqn kgfffgggghhhhj~*j5n8 S7a-w@!vLy&q!zAj' L!{wrokeffggVx= `iihh.[0j5C, X& 4n8eFu4l* m+n-o.z?5.(zvrm gffggo.l*~G gihi7K)Z-9h4ݛg??$p1u:y@$z@%y?$w<#i7KF?7/{"phfgiJ l*m+p/[iim=p8 Z. ^)Ks=hMz? {B%zA$zA%z@$x>#v;!JUOJD<5-xm ghdl,m,m,n/]ii{#[/a16h3鮃VU;I+F)|C'{B%y@#x="]8f_XSLE=5-{$tplu7 n,n-n-o/^jk@p9! Va'i1ĠwN1L.K-H+~F){A&w#q1o.n.n,p1 dt q5k60m7ԶnŨxV8U6S5R4O1K.F){@$`?˹Ʊw¬og^ULC8,}"dy?%zA%zA%t7n.n-m,t6 h"z@${B%{B&x= o/n-m,x< 6q;3 ` $0)&Pf-qgX9^?\=\ĘœͽɶŰvlcXL@w?gTN8w;y>!z@#{B%{B%y?#o-m+m*^ yF!E!w tguϞxuXDvv\>Y;aB`?["zCdf~ MR(sfsmpcaƿyu{W7U7Z<`@Z:ӿشЧɝÓͼǵ|ĮqdV|m̾~sv;y>!y>!Z#|axpyJuAD ' qc#vkthV8S4iLǨݹԭ͡ŖξʸƱugTxoòviu:y> w=pp`C'6vjŽ}rȶůŰ޽֯ͤǙpUVP~tʿZGs9y> y=!vyZKCqtgu{ȹѸױΦǚÏxRS6Q3YCɽfVr9x> x<b?xı{o pc?~q|˻ʻ߼װΤǙÏxQ\=X9l[ɾuht;x=w<v:vZi^obtgvkijij̨խΡȘlIbA]=zoɾʻ}qu;z>!v:x?yft_WmxkżxkǔkiHgEaIzɾµ~rx? z?!s< xgǾ{hUL3qd{pqutossPlJ]=tdŸsZ"w= ug˾vpbQ{|r~oiZ[=[:iUuĸuc#rb~g]voatiž˽êu{nymymw¶öymtXĹȽ¸t r|qͻ¸ºȽµwgʿȽķ|pu´òykŹɾ|f[ u|÷ͻzmźʿkXOΓxl~rź÷yźʿn[RorfwjĶzϾźʿk`pcfsfȼϽǾȾƺʿĶymoaGrfºŹźƻ˿k`ob.sfĹǼ{eZtobugŹƽźȽɾzkWM*obsfŹƻɾórob:sfżƻȽùxqeIqc`ymƻƻǼźxktgzŻƻǼ}yl5("obvizǼƻǼǼźyntgqdpbuh|oȿǼõuireTsfSviĶǺvyl{nܐvjsfPqd uhvjG{p|qzowjwkmxlWxkwj????????????????arora-0.11.0/src/browser.rc000066400000000000000000000000771145000221100154630ustar00rootroot00000000000000IDI_ICON1 ICON DISCARDABLE "browser.ico" arora-0.11.0/src/browser_os2.ico000066400000000000000000000327301145000221100164150ustar00rootroot00000000000000BA(HCI h @CI h @@ȒfzB&r1ƺƾߞz¸ju™dD]>n ʾźuv>!~I.}F*R4hӬ[9sĔ~*xhz$L)`k8{4TV, MkJ0 ~rN0ªn{F%C#zoǷ²ϥ:ʝT,A0 s:ZV:Fa2®rK&}E d5V6z,ɵ~# xxxƲyξ7ò:::RRR ̺r&&&;t7Ҫv8հɾнj\#,++hTr4wmdlL ^B;LLL?eUMz;jjjl9nTڶJYC|YٺM&²ugc^ͺślH\XWnn^h'# Scx7r6~v[.I>9{Bz>Ů{reɷxp~§wCCCR;ɚ~iξmN~}^ORC=^dJ2*&620ȠzLzrNtTjtƲl8>>>U8.*vJN6R$D84n&rrr~~~r2Ҷȴʰ®ƪR666ZʲtHƶvVrb>VbnfJn:"V~Z>fb bZJBƮFnRzB.^^^^n\®jZRBA(CIh$ (PCI& ((fzB&ƾq0ʾj¸ƺ 㵣񺪠r$k-n }F)Z<]{$ʽJ. ǹdDAprö.iv:J( x< [xUT7H&V*Śڜrȴ|7iiie:DDDR2ڕ^>[2MMMŮt, \-MYWWξv/ױϥͺ^JI QB:N3zUj>!e.^B˺uroeUMbEªnRnevvvr6N jJľʜzjd||R8Xl6V.vjʶtfJt6|\z^|*lDv˜xfb̺><b>"ήzNj zj^r^®vB*..:nB.&~fVb6.&nnn"""n^Vv2NnZR>R~~~²nZrj^NFrNff:VznrZZ:&jR ʮ>2.^^^vRjZJj¢FʺfvN.vZf>&rrV6~R2~J2jBA( CI(- @CI(. f{B&ٺƕjƿ޷ʾr2µ$ öº}F*nʙn mC"WVV R!""Z!jƺ^>' .J.Q.ƺV9޳N.rXh LrR8N*¾vJ& ̺jL^v:zXt̮Bb>fZTbNzrNNNZ~DЪvv7r^lL μbxF$vf^fFfffz"hFNڶʾFBBªv®zz>>>>ZF:n~*zzzzbbB.ʚr~nfvrFf***V2Z*~vʮ.Vb*n>&:.*z*nnnrrrbbbfJ~nªn^>v&Zznbz^n^FFFҾN"R6~Zn^VbRNf*&">2.RRRRzvrƶ~jb^vVʢjJv6^NFª~2bfNf...vªrf ֲvVZ޾FVJBr.ƮrξH(V*ZjjjV>2J VjVjƲv6ªZ222BA( CI (2 (CI 2 ʾƖj~F*fzB&222º^^^Ʋ~ºjvNR2¶Ғj²ƶ ƾB*jVʺvnbf.^>jJʞj:"~VJrv^Rz>"nFV6F>:2"j ~bvV&ƲbRڶfFjJ6.fƾJ.j^>֮ r6n rbN2rrV~F&V*²Һz>R2Ҋ®bƢ*~F ΢BBBʲҎb6"jbBf^¶nnn֎~N2n" vFbr2Zš~R&⪒V>Rz> zbR:::vʾr^ZRRºr^&¾N.6..~NʲRBzBj>>62~rRjv>R2’~vfZRF*rfچ^:zf^nJrRZ:b^Z .ֲbƶfJƲz:2.ƺ~F"ښv6fv6ZNNNBA(CIX4  CI4  ʾ¶Zƺj ’jFN"v:ƺʺf~V n ƾzF*vnjڞv&~vJ. RZRRºzƲvrR.&"fBƶ~bzB*bZVr^:2.bή.^ ~JJJN‚J"vjf^>bڊV2ξ^¢rf>*ZjZr~zzʶ~rrr^^^z^ƞz*6*"rNN2Ҧz>~NZ>222ºrV" ~F*ºz^ƺNFFF¶fv¾~F"jJF*jff¢vV:^R2vʾZ:vbΪbvnv:vJ~J2ξκnVBΦfnfb***^t= g8c d=ʨ^z=eMBVVBM\8gd=\B74#22KK224T7ec*c=M74AKXN555ZZ55NNXK4\i\742ɄZ"}h15NX24Vei =B425"1XATMe7#X5"1K4V8 =\TAN/}5X78]w\T2/Z78zeT2/--}h1N7=z=7y""m"-hh~W1#V8]V#P%mm/1"-hmZX4Mdi\4P'oo##AyIa;/1"hW5KT8t87%oo#KLLIa;/1-mW-NVM#N9RLI;;/1-WZX4ecw7Y%2&&,6669RLIa;/1"-}WWABt4?%%2&&&33O699RLIa;/1"--h~ZT8^B?'??%%2&,(@(3O69RLIa;/"-"#W-N#M]7,'''??%%&Y@@((3O69RLI;;1"-"#o~52d^z\ꚯPYY''??%%'(U@(3O69RLI;/1"-o~ZT=cM&,,PY'''??%%_U@(3O69Ra;/"#"4ew B':,PY'''?:[_U@(3O6LI;/A#my#M8V'{,,PY'`f[_U@(369Ra&yv^vуu{,,P.`f[_U(3O6x%yABi0>CC{,HJ.`f[U@(369F%W~5AB)CC{,HnHJ..`_U(3O9 pu&K}5ABd FCGCqnHJ.sf[U@(O9 &Д0>0̈́BE>Q ĒkqnH.`[_@(36> l&G0Ρ ) !QkknHJ.`f_@(3!  D%0 GC= kqHJ.sf  b#%0+rt^  pkqnJ.s[:PPYx b#> )>i )   lSpkqnJ.s[:,Q D#&x$ F>g )! lS&& )|gb  S۹s..f::$  <0?A&x+  +g) +$Ϲ:0  ,A&uE* D  D< !iFڲ  *r000)**b0td$ FDE   l++!j> ]$Q *E       p>< !$] D!     b)   Gd*++       $D++* Cvc+Q    jl$b  Cv *EE    <Gl  GS$ *  <   rr  j +  F   j  !  r$!       !g< *   F>c <    )|g^F     Sw! * 8)     !8] +E    !S|v]      !S|^   j bu ** j )u$DEE  rG)<  !Fp$$!$S$$D GQQ<)GE y/MmFK/;S:m,UAQLeLQA\,/J;iAWW!Kq;!f119A,u:B,QW  fi&M,L) 2eԫ,Q݉11 == L,K&Ac8))[1 =8a1fg+<<0I6)2 a8pC\kh!9X0I6)2 =&b.++!((?06)[28p2CUg:㇟Nc+9!~o7(?X0I6)[2vpY@@Nc+NT7?X0I!<v=eF}$$@@NdHT7(?6w<8iJ:/BƴxPP$$@ZHT7(X0`!<wCJ%{sd$..Pxzt_Ho?>aWUu{nP..]^zt_T7(V#CUg: "Rhn]^_Ho('!R\J5>j^EZ>+G / #j汘E$$ >+`V m  %5 #j]EZ~hnR"}9  /'Ed.OV`*"BS--4O5"||񜅎  r9' -;q   O r">ۅ*35  % *%4 3"GG  G34 ;Y 3    *R"  'lK # %& 4 # bS% &   bM& *- 'lS D  *  5 DO  3   4  BFD  Bk  * lM&D  3sYF   sk-  'qr-'V##y% m4{HH$]4xEEEC4(J|1==1#ZV$%, " " -1J%/\,"  -#<"  ,\&TIrt"  : ,#%pJ3ub>2FX :׆ -Z&IҒYOOWf2F : 5xUIw3Gq'2FXu-p^i<3Gh@a'2tb#Cz))L5%($c7BB)Lcy_8@qWRj>r1C(웣d***w;._'[|5=&+PBsy8@ d`?h$ R֤;.vG 0  o;.)njn +{ 0s.z*P LokV逝A?3Y0 ~M S7v A`N 6?ΊS l&m[  !Ak 9i^  60 K}! NQ  ! K  ~]TD !  9(M/  6DD ! l/  +He   +U/ g9 KQgeMN}b.|.c3N^##F%$IK `XZ*"@ܠnf*"3Ƥtl 1ޕyAv׉im1~]sQ_5h D7ԁCU!4{JO9kwj? )R!)0g z[/p=/+u-''x˱$o-q4(HP22W d0 ,r (a,&&+ :^=sF!H.eEzLRn%6 ,lIVJ+("M} )fvO-DUGPAch@KX3ja2WY?;id 9Tg[So04\Q px&$]>| w yu8m#BN{/ r1' ~q*_ `Zt5<bk C7 arora-0.11.0/src/browser_os2.rc000066400000000000000000000000321145000221100162350ustar00rootroot00000000000000ICON 1 "browser_os2.ico" arora-0.11.0/src/browserapplication.cpp000066400000000000000000000557301145000221100200730ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "browserapplication.h" #include "autosaver.h" #include "autofillmanager.h" #include "bookmarksmanager.h" #include "browsermainwindow.h" #include "cookiejar.h" #include "downloadmanager.h" #include "historymanager.h" #include "languagemanager.h" #include "networkaccessmanager.h" #include "tabwidget.h" #include "webview.h" #include #include #include #include #include #include #include #include #include #include #ifdef Q_OS_WIN #include #endif // #define BROWSERAPPLICATION_DEBUG DownloadManager *BrowserApplication::s_downloadManager = 0; HistoryManager *BrowserApplication::s_historyManager = 0; NetworkAccessManager *BrowserApplication::s_networkAccessManager = 0; BookmarksManager *BrowserApplication::s_bookmarksManager = 0; LanguageManager *BrowserApplication::s_languageManager = 0; AutoFillManager *BrowserApplication::s_autoFillManager = 0; BrowserApplication::BrowserApplication(int &argc, char **argv) : SingleApplication(argc, argv) , quitting(false) { QCoreApplication::setOrganizationDomain(QLatin1String("arora-browser.org")); QCoreApplication::setApplicationName(QLatin1String("Arora")); QCoreApplication::setApplicationVersion(QLatin1String("0.11.0" #ifdef GITVERSION " (Git: " GITCHANGENUMBER " " GITVERSION ")" #endif )); #ifndef AUTOTESTS connect(this, SIGNAL(messageReceived(QLocalSocket *)), this, SLOT(messageReceived(QLocalSocket *))); QStringList args = QCoreApplication::arguments(); if (args.count() > 1) { QString message = parseArgumentUrl(args.last()); sendMessage(message.toUtf8()); } // If we could connect to another Arora then exit QString message = QString(QLatin1String("aroramessage://getwinid")); if (sendMessage(message.toUtf8(), 500)) return; #ifdef BROWSERAPPLICATION_DEBUG qDebug() << "BrowserApplication::" << __FUNCTION__ << "I am the only arora"; #endif // not sure what else to do... if (!startSingleServer()) return; #endif #if defined(Q_WS_MAC) QApplication::setQuitOnLastWindowClosed(false); #else QApplication::setQuitOnLastWindowClosed(true); #endif QDesktopServices::setUrlHandler(QLatin1String("http"), this, "openUrl"); // Until QtWebkit defaults to 16 QWebSettings::globalSettings()->setFontSize(QWebSettings::DefaultFontSize, 16); QWebSettings::globalSettings()->setFontSize(QWebSettings::DefaultFixedFontSize, 16); QSettings settings; settings.beginGroup(QLatin1String("sessions")); m_lastSession = settings.value(QLatin1String("lastSession")).toByteArray(); settings.endGroup(); #if defined(Q_WS_MAC) connect(this, SIGNAL(lastWindowClosed()), this, SLOT(lastWindowClosed())); #endif // setting this in the postLaunch actually takes a lot more time // because the event has to be propagated to everyone. setWindowIcon(QIcon(QLatin1String(":128x128/arora.png"))); #ifndef AUTOTESTS QTimer::singleShot(0, this, SLOT(postLaunch())); #endif languageManager(); } BrowserApplication::~BrowserApplication() { quitting = true; delete s_downloadManager; qDeleteAll(m_mainWindows); delete s_networkAccessManager; delete s_bookmarksManager; delete s_languageManager; delete s_historyManager; delete s_autoFillManager; } #if defined(Q_WS_MAC) void BrowserApplication::lastWindowClosed() { clean(); BrowserMainWindow *mw = new BrowserMainWindow; mw->goHome(); m_mainWindows.prepend(mw); } #endif BrowserApplication *BrowserApplication::instance() { return (static_cast(QCoreApplication::instance())); } void BrowserApplication::retranslate() { bookmarksManager()->retranslate(); networkAccessManager()->loadSettings(); } // The only special property of an argument url is that the file's // can be local, they don't have to be absolute. QString BrowserApplication::parseArgumentUrl(const QString &string) const { if (QFile::exists(string)) { QFileInfo info(string); return info.canonicalFilePath(); } return string; } void BrowserApplication::messageReceived(QLocalSocket *socket) { QString message; QTextStream stream(socket); stream >> message; #ifdef BROWSERAPPLICATION_DEBUG qDebug() << "BrowserApplication::" << __FUNCTION__ << message; #endif if (message.isEmpty()) return; // Got a normal url if (!message.startsWith(QLatin1String("aroramessage://"))) { QSettings settings; settings.beginGroup(QLatin1String("tabs")); TabWidget::OpenUrlIn tab = TabWidget::OpenUrlIn(settings.value(QLatin1String("openLinksFromAppsIn"), TabWidget::NewSelectedTab).toInt()); settings.endGroup(); if (QUrl(message) == m_lastAskedUrl && m_lastAskedUrlDateTime.addSecs(10) > QDateTime::currentDateTime()) { qWarning() << "Possible recursive openUrl called, ignoring url:" << m_lastAskedUrl; return; } mainWindow()->tabWidget()->loadString(message, tab); return; } if (message.startsWith(QLatin1String("aroramessage://getwinid"))) { #ifdef Q_OS_WIN QString winid = QString(QLatin1String("%1")).arg((qlonglong)mainWindow()->winId()); #else mainWindow()->show(); mainWindow()->setFocus(); mainWindow()->raise(); mainWindow()->activateWindow(); alert(mainWindow()); QString winid; #endif #ifdef BROWSERAPPLICATION_DEBUG qDebug() << "BrowserApplication::" << __FUNCTION__ << "sending win id" << winid << mainWindow()->winId(); #endif QString message = QLatin1String("aroramessage://winid/") + winid; socket->write(message.toUtf8()); socket->waitForBytesWritten(); return; } if (message.startsWith(QLatin1String("aroramessage://winid"))) { QString winid = message.mid(21); #ifdef BROWSERAPPLICATION_DEBUG qDebug() << "BrowserApplication::" << __FUNCTION__ << "got win id:" << winid; #endif #ifdef Q_OS_WIN WId wid = (WId)winid.toLongLong(); SetForegroundWindow(wid); #endif return; } } void BrowserApplication::quitBrowser() { if (s_downloadManager && !downloadManager()->allowQuit()) return; if (QSettings().value(QLatin1String("tabs/confirmClosingMultipleTabs"), true).toBool()) { clean(); int tabCount = 0; for (int i = 0; i < m_mainWindows.count(); ++i) { tabCount += m_mainWindows.at(i)->tabWidget()->count(); } if (tabCount > 1) { QWidget *widget = mainWindow(); QApplication::alert(widget); int ret = QMessageBox::warning(widget, QString(), tr("There are %1 windows and %2 tabs open\n" "Do you want to quit anyway?").arg(m_mainWindows.count()).arg(tabCount), QMessageBox::Yes | QMessageBox::No, QMessageBox::No); if (ret == QMessageBox::No) return; } } saveSession(); exit(0); } /*! Any actions that can be delayed until the window is visible */ void BrowserApplication::postLaunch() { QDesktopServices::StandardLocation location; location = QDesktopServices::CacheLocation; QString directory = QDesktopServices::storageLocation(location); if (directory.isEmpty()) directory = QDir::homePath() + QLatin1String("/.") + QCoreApplication::applicationName(); QWebSettings::setIconDatabasePath(directory); loadSettings(); // newMainWindow() needs to be called in main() for this to happen if (m_mainWindows.count() > 0) { QSettings settings; settings.beginGroup(QLatin1String("MainWindow")); int startup = settings.value(QLatin1String("startupBehavior")).toInt(); QStringList args = QCoreApplication::arguments(); if (args.count() > 1) { QString argumentUrl = parseArgumentUrl(args.last()); switch (startup) { case 2: { restoreLastSession(); mainWindow()->tabWidget()->loadString(argumentUrl, TabWidget::NewSelectedTab); break; } default: mainWindow()->tabWidget()->loadString(argumentUrl); break; } } else { switch (startup) { case 0: mainWindow()->goHome(); break; case 1: break; case 2: restoreLastSession(); break; } } } BrowserApplication::historyManager(); } void BrowserApplication::loadSettings() { QSettings settings; settings.beginGroup(QLatin1String("websettings")); QWebSettings *defaultSettings = QWebSettings::globalSettings(); QString standardFontFamily = defaultSettings->fontFamily(QWebSettings::StandardFont); int standardFontSize = defaultSettings->fontSize(QWebSettings::DefaultFontSize); QFont standardFont = QFont(standardFontFamily, standardFontSize); standardFont = qVariantValue(settings.value(QLatin1String("standardFont"), standardFont)); defaultSettings->setFontFamily(QWebSettings::StandardFont, standardFont.family()); defaultSettings->setFontSize(QWebSettings::DefaultFontSize, standardFont.pointSize()); int minimumFontSize = settings.value(QLatin1String("minimumFontSize"), defaultSettings->fontSize(QWebSettings::MinimumFontSize)).toInt(); defaultSettings->setFontSize(QWebSettings::MinimumFontSize, minimumFontSize); QString fixedFontFamily = defaultSettings->fontFamily(QWebSettings::FixedFont); int fixedFontSize = defaultSettings->fontSize(QWebSettings::DefaultFixedFontSize); QFont fixedFont = QFont(fixedFontFamily, fixedFontSize); fixedFont = qVariantValue(settings.value(QLatin1String("fixedFont"), fixedFont)); defaultSettings->setFontFamily(QWebSettings::FixedFont, fixedFont.family()); defaultSettings->setFontSize(QWebSettings::DefaultFixedFontSize, fixedFont.pointSize()); defaultSettings->setAttribute(QWebSettings::JavascriptCanOpenWindows, !(settings.value(QLatin1String("blockPopupWindows"), true).toBool())); defaultSettings->setAttribute(QWebSettings::JavascriptEnabled, settings.value(QLatin1String("enableJavascript"), true).toBool()); defaultSettings->setAttribute(QWebSettings::PluginsEnabled, settings.value(QLatin1String("enablePlugins"), true).toBool()); defaultSettings->setAttribute(QWebSettings::AutoLoadImages, settings.value(QLatin1String("enableImages"), true).toBool()); defaultSettings->setAttribute(QWebSettings::DeveloperExtrasEnabled, settings.value(QLatin1String("enableInspector"), false).toBool()); #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) defaultSettings->setAttribute(QWebSettings::DnsPrefetchEnabled, true); #endif QUrl url = settings.value(QLatin1String("userStyleSheet")).toUrl(); defaultSettings->setUserStyleSheetUrl(url); int maximumPagesInCache = settings.value(QLatin1String("maximumPagesInCache"), 3).toInt(); QWebSettings::globalSettings()->setMaximumPagesInCache(maximumPagesInCache); settings.endGroup(); } QList BrowserApplication::mainWindows() { clean(); QList list; for (int i = 0; i < m_mainWindows.count(); ++i) list.append(m_mainWindows.at(i)); return list; } bool BrowserApplication::allowToCloseWindow(BrowserMainWindow *window) { Q_UNUSED(window) if (mainWindows().count() > 1) return true; if (s_downloadManager) return downloadManager()->allowQuit(); return true; } void BrowserApplication::clean() { // cleanup any deleted main windows first for (int i = m_mainWindows.count() - 1; i >= 0; --i) if (m_mainWindows.at(i).isNull()) m_mainWindows.removeAt(i); } static const qint32 BrowserApplicationMagic = 0xec; void BrowserApplication::saveSession() { if (quitting) return; QSettings settings; settings.beginGroup(QLatin1String("MainWindow")); settings.setValue(QLatin1String("restoring"), false); settings.endGroup(); QWebSettings *globalSettings = QWebSettings::globalSettings(); if (globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled)) return; clean(); settings.beginGroup(QLatin1String("sessions")); int version = 2; QByteArray data; QBuffer buffer(&data); QDataStream stream(&buffer); buffer.open(QIODevice::WriteOnly); stream << qint32(BrowserApplicationMagic); stream << qint32(version); stream << qint32(m_mainWindows.count()); for (int i = 0; i < m_mainWindows.count(); ++i) stream << m_mainWindows.at(i)->saveState(); settings.setValue(QLatin1String("lastSession"), data); settings.endGroup(); } bool BrowserApplication::canRestoreSession() const { return !m_lastSession.isEmpty(); } bool BrowserApplication::restoreLastSession() { { QSettings settings; settings.beginGroup(QLatin1String("MainWindow")); if (settings.value(QLatin1String("restoring"), false).toBool()) { QMessageBox::StandardButton result = QMessageBox::question(0, tr("Restore failed"), tr("Arora crashed while trying to restore this session. Should I try again?"), QMessageBox::Yes | QMessageBox::No); if (result == QMessageBox::No) return false; } // saveSession will be called by an AutoSaver timer from the set tabs // and in saveSession we will reset this flag back to false settings.setValue(QLatin1String("restoring"), true); } int version = 2; QList windows; QBuffer buffer(&m_lastSession); QDataStream stream(&buffer); buffer.open(QIODevice::ReadOnly); qint32 marker; qint32 v; stream >> marker; stream >> v; if (marker != BrowserApplicationMagic || v != version) return false; qint32 windowCount; stream >> windowCount; for (qint32 i = 0; i < windowCount; ++i) { QByteArray windowState; stream >> windowState; windows.append(windowState); } for (int i = 0; i < windows.count(); ++i) { BrowserMainWindow *newWindow = 0; if (i == 0 && m_mainWindows.count() >= 1) { newWindow = mainWindow(); } else { newWindow = newMainWindow(); } newWindow->restoreState(windows.at(i)); } return true; } #if defined(Q_WS_MAC) bool BrowserApplication::event(QEvent *event) { switch (event->type()) { case QEvent::ApplicationActivate: { clean(); if (!m_mainWindows.isEmpty()) { BrowserMainWindow *mw = mainWindow(); if (mw && !mw->isMinimized()) { mainWindow()->show(); } return true; } } case QEvent::FileOpen: if (!m_mainWindows.isEmpty()) { QString file = static_cast(event)->file(); mainWindow()->tabWidget()->loadUrl(QUrl::fromLocalFile(file)); return true; } default: break; } return QApplication::event(event); } #endif void BrowserApplication::askDesktopToOpenUrl(const QUrl &url) { m_lastAskedUrl = url; m_lastAskedUrlDateTime = QDateTime::currentDateTime(); QDesktopServices::openUrl(url); } void BrowserApplication::openUrl(const QUrl &url) { setEventMouseButtons(mouseButtons()); setEventKeyboardModifiers(keyboardModifiers()); mainWindow()->tabWidget()->loadUrl(url); } BrowserMainWindow *BrowserApplication::newMainWindow() { if (!m_mainWindows.isEmpty()) mainWindow()->m_autoSaver->saveIfNeccessary(); BrowserMainWindow *browser = new BrowserMainWindow(); m_mainWindows.prepend(browser); connect(this, SIGNAL(privacyChanged(bool)), browser, SLOT(privacyChanged(bool))); browser->show(); return browser; } BrowserMainWindow *BrowserApplication::mainWindow() { clean(); BrowserMainWindow *activeWindow = 0; if (m_mainWindows.isEmpty()) { activeWindow = newMainWindow(); } else { activeWindow = qobject_cast(QApplication::activeWindow()); if (!activeWindow) activeWindow = m_mainWindows[0]; } return activeWindow; } CookieJar *BrowserApplication::cookieJar() { return (CookieJar*)networkAccessManager()->cookieJar(); } DownloadManager *BrowserApplication::downloadManager() { if (!s_downloadManager) s_downloadManager = new DownloadManager(); return s_downloadManager; } NetworkAccessManager *BrowserApplication::networkAccessManager() { if (!s_networkAccessManager) s_networkAccessManager = new NetworkAccessManager(); return s_networkAccessManager; } HistoryManager *BrowserApplication::historyManager() { if (!s_historyManager) s_historyManager = new HistoryManager(); return s_historyManager; } BookmarksManager *BrowserApplication::bookmarksManager() { if (!s_bookmarksManager) s_bookmarksManager = new BookmarksManager; return s_bookmarksManager; } LanguageManager *BrowserApplication::languageManager() { if (!s_languageManager) { s_languageManager = new LanguageManager(); s_languageManager->addLocaleDirectory(dataFilePath(QLatin1String("locale"))); s_languageManager->addLocaleDirectory(qApp->applicationDirPath() + QLatin1String("/src/.qm/locale")); s_languageManager->addLocaleDirectory(installedDataDirectory() + QLatin1String("/locale")); s_languageManager->loadLanguageFromSettings(); connect(s_languageManager, SIGNAL(languageChanged(const QString &)), qApp, SLOT(retranslate())); } return s_languageManager; } AutoFillManager *BrowserApplication::autoFillManager() { if (!s_autoFillManager) { s_autoFillManager = new AutoFillManager; } return s_autoFillManager; } QIcon BrowserApplication::icon(const QUrl &url) { QIcon icon = QWebSettings::iconForUrl(url); if (!icon.isNull()) return icon.pixmap(16, 16); if (icon.isNull()) { QPixmap pixmap = QWebSettings::webGraphic(QWebSettings::DefaultFrameIconGraphic); if (pixmap.isNull()) { pixmap = QPixmap(QLatin1String(":graphics/defaulticon.png")); QWebSettings::setWebGraphic(QWebSettings::DefaultFrameIconGraphic, pixmap); } return pixmap; } return icon; } QString BrowserApplication::installedDataDirectory() { #if defined(Q_WS_X11) return QLatin1String(PKGDATADIR); #else return qApp->applicationDirPath(); #endif } QString BrowserApplication::dataFilePath(const QString &fileName) { QString directory = QDesktopServices::storageLocation(QDesktopServices::DataLocation); if (directory.isEmpty()) directory = QDir::homePath() + QLatin1String("/.") + QCoreApplication::applicationName(); if (!QFile::exists(directory)) { QDir dir; dir.mkpath(directory); } return directory + QLatin1String("/") + fileName; } bool BrowserApplication::zoomTextOnly() { return QWebSettings::globalSettings()->testAttribute(QWebSettings::ZoomTextOnly); } void BrowserApplication::setZoomTextOnly(bool textOnly) { QWebSettings::globalSettings()->setAttribute(QWebSettings::ZoomTextOnly, textOnly); emit instance()->zoomTextOnlyChanged(textOnly); } bool BrowserApplication::isPrivate() { return QWebSettings::globalSettings()->testAttribute(QWebSettings::PrivateBrowsingEnabled); } void BrowserApplication::setPrivate(bool isPrivate) { QWebSettings::globalSettings()->setAttribute(QWebSettings::PrivateBrowsingEnabled, isPrivate); emit instance()->privacyChanged(isPrivate); } Qt::MouseButtons BrowserApplication::eventMouseButtons() const { return m_eventMouseButtons; } Qt::KeyboardModifiers BrowserApplication::eventKeyboardModifiers() const { return m_eventKeyboardModifiers; } void BrowserApplication::setEventMouseButtons(Qt::MouseButtons buttons) { m_eventMouseButtons = buttons; } void BrowserApplication::setEventKeyboardModifiers(Qt::KeyboardModifiers modifiers) { m_eventKeyboardModifiers = modifiers; } arora-0.11.0/src/browserapplication.h000066400000000000000000000132321145000221100175270ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef BROWSERAPPLICATION_H #define BROWSERAPPLICATION_H #include "singleapplication.h" #include #include #include class AutoFillManager; class BookmarksManager; class BrowserMainWindow; class CookieJar; class DownloadManager; class HistoryManager; class NetworkAccessManager; class LanguageManager; class QLocalSocket; class BrowserApplication : public SingleApplication { Q_OBJECT public: BrowserApplication(int &argc, char **argv); ~BrowserApplication(); static BrowserApplication *instance(); void loadSettings(); BrowserMainWindow *mainWindow(); QList mainWindows(); bool allowToCloseWindow(BrowserMainWindow *window); static QIcon icon(const QUrl &url); void saveSession(); bool canRestoreSession() const; static HistoryManager *historyManager(); static CookieJar *cookieJar(); static DownloadManager *downloadManager(); static NetworkAccessManager *networkAccessManager(); static BookmarksManager *bookmarksManager(); static LanguageManager *languageManager(); static AutoFillManager *autoFillManager(); static QString installedDataDirectory(); static QString dataFilePath(const QString &fileName); Qt::MouseButtons eventMouseButtons() const; Qt::KeyboardModifiers eventKeyboardModifiers() const; void setEventMouseButtons(Qt::MouseButtons buttons); void setEventKeyboardModifiers(Qt::KeyboardModifiers modifiers); static bool zoomTextOnly(); static bool isPrivate(); static void setPrivate(bool isPrivate); #if defined(Q_WS_MAC) bool event(QEvent *event); #endif public slots: BrowserMainWindow *newMainWindow(); bool restoreLastSession(); #if defined(Q_WS_MAC) void lastWindowClosed(); #endif void quitBrowser(); static void setZoomTextOnly(bool textOnly); void askDesktopToOpenUrl(const QUrl &url); private slots: void retranslate(); void messageReceived(QLocalSocket *socket); void postLaunch(); void openUrl(const QUrl &url); signals: void zoomTextOnlyChanged(bool textOnly); void privacyChanged(bool isPrivate); private: QString parseArgumentUrl(const QString &string) const; void clean(); static HistoryManager *s_historyManager; static DownloadManager *s_downloadManager; static NetworkAccessManager *s_networkAccessManager; static BookmarksManager *s_bookmarksManager; static LanguageManager *s_languageManager; static AutoFillManager *s_autoFillManager; QList > m_mainWindows; QByteArray m_lastSession; bool quitting; Qt::MouseButtons m_eventMouseButtons; Qt::KeyboardModifiers m_eventKeyboardModifiers; QUrl m_lastAskedUrl; QDateTime m_lastAskedUrlDateTime; }; #endif // BROWSERAPPLICATION_H arora-0.11.0/src/browsermainwindow.cpp000066400000000000000000001632741145000221100177470ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * Copyright 2008 Jason A. Donenfeld * Copyright 2008 Ariya Hidayat * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "browsermainwindow.h" #include "aboutdialog.h" #include "adblockmanager.h" #include "addbookmarkdialog.h" #include "autosaver.h" #include "bookmarksdialog.h" #include "bookmarksmanager.h" #include "bookmarksmenu.h" #include "bookmarksmodel.h" #include "bookmarkstoolbar.h" #include "browserapplication.h" #include "clearprivatedata.h" #include "downloadmanager.h" #include "history.h" #include "languagemanager.h" #include "networkaccessmanager.h" #include "opensearchdialog.h" #include "settings.h" #include "sourceviewer.h" #include "tabbar.h" #include "tabwidget.h" #include "toolbarsearch.h" #include "useragentmenu.h" #include "webview.h" #include "webviewsearch.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, flags) , m_navigationBar(0) , m_navigationSplitter(0) , m_toolbarSearch(0) #if defined(Q_WS_MAC) , m_bookmarksToolbarFrame(0) #endif , m_bookmarksToolbar(0) , m_tabWidget(new TabWidget(this)) , m_autoSaver(new AutoSaver(this)) { setAttribute(Qt::WA_DeleteOnClose, true); statusBar()->setSizeGripEnabled(true); // fixes https://bugzilla.mozilla.org/show_bug.cgi?id=219070 // yes, that's a Firefox bug! statusBar()->setLayoutDirection(Qt::LeftToRight); setupMenu(); setupToolBar(); m_filePrivateBrowsingAction->setChecked(BrowserApplication::isPrivate()); QWidget *centralWidget = new QWidget(this); BookmarksModel *boomarksModel = BrowserApplication::bookmarksManager()->bookmarksModel(); m_bookmarksToolbar = new BookmarksToolBar(boomarksModel, this); m_bookmarksToolbar->setObjectName(QLatin1String("BookmarksToolbar")); connect(m_bookmarksToolbar, SIGNAL(openUrl(const QUrl&, const QString&)), m_tabWidget, SLOT(loadUrlFromUser(const QUrl&, const QString&))); connect(m_bookmarksToolbar, SIGNAL(openUrl(const QUrl&, TabWidget::OpenUrlIn, const QString&)), m_tabWidget, SLOT(loadUrl(const QUrl&, TabWidget::OpenUrlIn, const QString&))); QVBoxLayout *layout = new QVBoxLayout; layout->setSpacing(0); layout->setMargin(0); #if defined(Q_WS_MAC) m_bookmarksToolbarFrame = new QFrame(this); m_bookmarksToolbarFrame->setLineWidth(1); m_bookmarksToolbarFrame->setMidLineWidth(0); m_bookmarksToolbarFrame->setFrameShape(QFrame::HLine); m_bookmarksToolbarFrame->setFrameShadow(QFrame::Raised); QPalette fp = m_bookmarksToolbarFrame->palette(); fp.setColor(QPalette::Active, QPalette::Light, QColor(64, 64, 64)); fp.setColor(QPalette::Active, QPalette::Dark, QColor(192, 192, 192)); fp.setColor(QPalette::Inactive, QPalette::Light, QColor(135, 135, 135)); fp.setColor(QPalette::Inactive, QPalette::Dark, QColor(226, 226, 226)); m_bookmarksToolbarFrame->setAttribute(Qt::WA_MacNoClickThrough, true); m_bookmarksToolbarFrame->setPalette(fp); layout->addWidget(m_bookmarksToolbarFrame); layout->addWidget(m_bookmarksToolbar); QPalette p = m_bookmarksToolbar->palette(); p.setColor(QPalette::Active, QPalette::Window, QColor(150, 150, 150)); p.setColor(QPalette::Inactive, QPalette::Window, QColor(207, 207, 207)); m_bookmarksToolbar->setAttribute(Qt::WA_MacNoClickThrough, true); m_bookmarksToolbar->setAutoFillBackground(true); m_bookmarksToolbar->setPalette(p); m_bookmarksToolbar->setBackgroundRole(QPalette::Window); m_bookmarksToolbar->setMaximumHeight(19); QWidget *w = new QWidget(this); w->setMaximumHeight(0); layout->addWidget(w); // <- OS X tab widget style bug #else addToolBarBreak(); addToolBar(m_bookmarksToolbar); #endif layout->addWidget(m_tabWidget); centralWidget->setLayout(layout); setCentralWidget(centralWidget); connect(m_tabWidget, SIGNAL(setCurrentTitle(const QString &)), this, SLOT(updateWindowTitle(const QString &))); connect(m_tabWidget, SIGNAL(showStatusBarMessage(const QString&)), statusBar(), SLOT(showMessage(const QString&))); connect(m_tabWidget, SIGNAL(linkHovered(const QString&)), statusBar(), SLOT(showMessage(const QString&))); connect(m_tabWidget, SIGNAL(loadProgress(int)), this, SLOT(loadProgress(int))); connect(m_tabWidget, SIGNAL(tabsChanged()), m_autoSaver, SLOT(changeOccurred())); connect(m_tabWidget, SIGNAL(geometryChangeRequested(const QRect &)), this, SLOT(geometryChangeRequested(const QRect &))); connect(m_tabWidget, SIGNAL(printRequested(QWebFrame *)), this, SLOT(printRequested(QWebFrame *))); connect(m_tabWidget, SIGNAL(menuBarVisibilityChangeRequested(bool)), menuBar(), SLOT(setVisible(bool))); connect(m_tabWidget, SIGNAL(statusBarVisibilityChangeRequested(bool)), statusBar(), SLOT(setVisible(bool))); connect(m_tabWidget, SIGNAL(toolBarVisibilityChangeRequested(bool)), m_navigationBar, SLOT(setVisible(bool))); connect(m_tabWidget, SIGNAL(toolBarVisibilityChangeRequested(bool)), m_bookmarksToolbar, SLOT(setVisible(bool))); connect(m_tabWidget, SIGNAL(lastTabClosed()), this, SLOT(lastTabClosed())); updateWindowTitle(); loadDefaultState(); m_tabWidget->newTab(); m_tabWidget->currentLocationBar()->setFocus(); #if defined(Q_WS_MAC) m_navigationBar->setIconSize(QSize(18, 18)); #endif // Add each item in the menu bar to the main window so // if the menu bar is hidden the shortcuts still work. QList actions = menuBar()->actions(); foreach (QAction *action, actions) { if (action->menu()) actions += action->menu()->actions(); addAction(action); } #if defined(Q_WS_MAC) setWindowIcon(QIcon()); #endif #if defined(Q_WS_X11) setWindowRole(QLatin1String("browser")); #endif retranslate(); } BrowserMainWindow::~BrowserMainWindow() { m_autoSaver->changeOccurred(); m_autoSaver->saveIfNeccessary(); } void BrowserMainWindow::keyPressEvent(QKeyEvent *event) { switch (event->key()) { case Qt::Key_HomePage: m_historyHomeAction->trigger(); event->accept(); break; case Qt::Key_Favorites: m_bookmarksShowAllAction->trigger(); event->accept(); break; case Qt::Key_Search: m_toolsWebSearchAction->trigger(); event->accept(); break; case Qt::Key_OpenUrl: m_fileOpenLocationAction->trigger(); event->accept(); break; default: QMainWindow::keyPressEvent(event); break; } } BrowserMainWindow *BrowserMainWindow::parentWindow(QWidget *widget) { while (widget) { if (BrowserMainWindow *parent = qobject_cast(widget)) return parent; widget = widget->parentWidget(); } qWarning() << "BrowserMainWindow::" << __FUNCTION__ << " used with a widget none of whose parents is a main window."; return BrowserApplication::instance()->mainWindow(); } void BrowserMainWindow::loadDefaultState() { QSettings settings; settings.beginGroup(QLatin1String("BrowserMainWindow")); QByteArray data = settings.value(QLatin1String("defaultState")).toByteArray(); restoreState(data); settings.endGroup(); } QSize BrowserMainWindow::sizeHint() const { QRect desktopRect = QApplication::desktop()->screenGeometry(); QSize size = desktopRect.size() * 0.9; return size; } void BrowserMainWindow::save() { BrowserApplication::instance()->saveSession(); QSettings settings; settings.beginGroup(QLatin1String("BrowserMainWindow")); QByteArray data = saveState(false); settings.setValue(QLatin1String("defaultState"), data); settings.endGroup(); } static const qint32 BrowserMainWindowMagic = 0xba; QByteArray BrowserMainWindow::saveState(bool withTabs) const { int version = 3; QByteArray data; QDataStream stream(&data, QIODevice::WriteOnly); stream << qint32(BrowserMainWindowMagic); stream << qint32(version); // save the normal size so exiting fullscreen/maximize will work reasonably stream << normalGeometry().size(); stream << !m_navigationBar->isHidden(); // DEAD stream << !m_bookmarksToolbar->isHidden(); // DEAD stream << !statusBar()->isHidden(); if (withTabs) stream << tabWidget()->saveState(); else stream << QByteArray(); stream << m_navigationSplitter->saveState(); stream << m_tabWidget->tabBar()->showTabBarWhenOneTab(); stream << qint32(toolBarArea(m_navigationBar)); stream << qint32(toolBarArea(m_bookmarksToolbar)); // version 3 stream << isMaximized(); stream << isFullScreen(); stream << menuBar()->isVisible(); stream << m_menuBarVisible; // DEAD stream << m_statusBarVisible; stream << QMainWindow::saveState(); return data; } bool BrowserMainWindow::restoreState(const QByteArray &state) { QByteArray sd = state; QDataStream stream(&sd, QIODevice::ReadOnly); if (stream.atEnd()) return false; qint32 marker; qint32 version; stream >> marker; stream >> version; if (marker != BrowserMainWindowMagic || !(version == 2 || version == 3)) return false; QSize size; bool showToolbarDEAD; bool showBookmarksBarDEAD; bool showStatusbar; QByteArray tabState; QByteArray splitterState; bool showTabBarWhenOneTab; qint32 navigationBarLocation; qint32 bookmarkBarLocation; bool maximized; bool fullScreen; bool showMenuBar; QByteArray qMainWindowState; stream >> size; stream >> showToolbarDEAD; stream >> showBookmarksBarDEAD; stream >> showStatusbar; stream >> tabState; stream >> splitterState; stream >> showTabBarWhenOneTab; stream >> navigationBarLocation; stream >> bookmarkBarLocation; if (version >= 3) { stream >> maximized; stream >> fullScreen; stream >> showMenuBar; stream >> showMenuBar; // m_menuBarVisible DEAD stream >> m_statusBarVisible; stream >> qMainWindowState; } else { maximized = false; fullScreen = false; showMenuBar = true; m_statusBarVisible = showStatusbar; } if (size.isValid()) resize(size); if (maximized) setWindowState(windowState() | Qt::WindowMaximized); if (fullScreen) { setWindowState(windowState() | Qt::WindowFullScreen); m_viewFullScreenAction->setChecked(true); } menuBar()->setVisible(showMenuBar); m_menuBarVisible = showMenuBar; statusBar()->setVisible(showStatusbar); m_navigationSplitter->restoreState(splitterState); tabWidget()->restoreState(tabState); m_tabWidget->tabBar()->setShowTabBarWhenOneTab(showTabBarWhenOneTab); if (qMainWindowState.isEmpty()) { m_navigationBar->setVisible(showToolbarDEAD); m_bookmarksToolbar->setVisible(showBookmarksBarDEAD); Qt::ToolBarArea navigationArea = Qt::ToolBarArea(navigationBarLocation); if (navigationArea != Qt::TopToolBarArea && navigationArea != Qt::NoToolBarArea) addToolBar(navigationArea, m_navigationBar); Qt::ToolBarArea bookmarkArea = Qt::ToolBarArea(bookmarkBarLocation); if (bookmarkArea != Qt::TopToolBarArea && bookmarkArea != Qt::NoToolBarArea) addToolBar(bookmarkArea, m_bookmarksToolbar); } else { QMainWindow::restoreState(qMainWindowState); } #if defined(Q_WS_MAC) m_bookmarksToolbarFrame->setVisible(m_bookmarksToolbar->isVisible()); #endif return true; } void BrowserMainWindow::lastTabClosed() { QSettings settings; settings.beginGroup(QLatin1String("tabs")); bool quit = settings.value(QLatin1String("quitAsLastTabClosed"), true).toBool(); if (quit) close(); else m_tabWidget->makeNewTab(true); } QAction *BrowserMainWindow::showMenuBarAction() const { return m_viewShowMenuBarAction; } void BrowserMainWindow::setupMenu() { m_menuBarVisible = true; new QShortcut(QKeySequence(Qt::Key_F6), this, SLOT(swapFocus())); // File m_fileMenu = new QMenu(menuBar()); menuBar()->addMenu(m_fileMenu); m_fileNewWindowAction = new QAction(m_fileMenu); m_fileNewWindowAction->setShortcut(QKeySequence::New); connect(m_fileNewWindowAction, SIGNAL(triggered()), this, SLOT(fileNew())); m_fileMenu->addAction(m_fileNewWindowAction); m_fileMenu->addAction(m_tabWidget->newTabAction()); m_fileOpenFileAction = new QAction(m_fileMenu); m_fileOpenFileAction->setShortcut(QKeySequence::Open); connect(m_fileOpenFileAction, SIGNAL(triggered()), this, SLOT(fileOpen())); m_fileMenu->addAction(m_fileOpenFileAction); m_fileOpenLocationAction = new QAction(m_fileMenu); // Add the location bar shortcuts familiar to users from other browsers QList openLocationShortcuts; openLocationShortcuts.append(QKeySequence(Qt::ControlModifier + Qt::Key_L)); openLocationShortcuts.append(QKeySequence(Qt::AltModifier + Qt::Key_O)); openLocationShortcuts.append(QKeySequence(Qt::AltModifier + Qt::Key_D)); m_fileOpenLocationAction->setShortcuts(openLocationShortcuts); connect(m_fileOpenLocationAction, SIGNAL(triggered()), this, SLOT(selectLineEdit())); m_fileMenu->addAction(m_fileOpenLocationAction); m_fileMenu->addSeparator(); m_fileMenu->addAction(m_tabWidget->closeTabAction()); m_fileMenu->addSeparator(); m_fileSaveAsAction = new QAction(m_fileMenu); m_fileSaveAsAction->setShortcut(QKeySequence::Save); connect(m_fileSaveAsAction, SIGNAL(triggered()), this, SLOT(fileSaveAs())); m_fileMenu->addAction(m_fileSaveAsAction); m_fileMenu->addSeparator(); BookmarksManager *bookmarksManager = BrowserApplication::bookmarksManager(); m_fileImportBookmarksAction = new QAction(m_fileMenu); connect(m_fileImportBookmarksAction, SIGNAL(triggered()), bookmarksManager, SLOT(importBookmarks())); m_fileMenu->addAction(m_fileImportBookmarksAction); m_fileExportBookmarksAction = new QAction(m_fileMenu); connect(m_fileExportBookmarksAction, SIGNAL(triggered()), bookmarksManager, SLOT(exportBookmarks())); m_fileMenu->addAction(m_fileExportBookmarksAction); m_fileMenu->addSeparator(); m_filePrintPreviewAction= new QAction(m_fileMenu); connect(m_filePrintPreviewAction, SIGNAL(triggered()), this, SLOT(filePrintPreview())); m_fileMenu->addAction(m_filePrintPreviewAction); m_filePrintAction = new QAction(m_fileMenu); m_filePrintAction->setShortcut(QKeySequence::Print); connect(m_filePrintAction, SIGNAL(triggered()), this, SLOT(filePrint())); m_fileMenu->addAction(m_filePrintAction); m_fileMenu->addSeparator(); m_filePrivateBrowsingAction = new QAction(m_fileMenu); connect(m_filePrivateBrowsingAction, SIGNAL(triggered()), this, SLOT(privateBrowsing())); m_filePrivateBrowsingAction->setCheckable(true); m_fileMenu->addAction(m_filePrivateBrowsingAction); m_fileMenu->addSeparator(); m_fileCloseWindow = new QAction(m_fileMenu); connect(m_fileCloseWindow, SIGNAL(triggered()), this, SLOT(close())); m_fileCloseWindow->setShortcut(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_W)); m_fileMenu->addAction(m_fileCloseWindow); m_fileQuit = new QAction(m_fileMenu); int kdeSessionVersion = QString::fromLocal8Bit(qgetenv("KDE_SESSION_VERSION")).toInt(); if (kdeSessionVersion != 0) connect(m_fileQuit, SIGNAL(triggered()), this, SLOT(close())); else connect(m_fileQuit, SIGNAL(triggered()), BrowserApplication::instance(), SLOT(quitBrowser())); m_fileQuit->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_Q)); m_fileMenu->addAction(m_fileQuit); #if QT_VERSION >= 0x040600 && defined(Q_WS_X11) m_fileNewWindowAction->setIcon(QIcon::fromTheme(QLatin1String("window-new"))); m_fileOpenFileAction->setIcon(QIcon::fromTheme(QLatin1String("document-open"))); m_filePrintPreviewAction->setIcon(QIcon::fromTheme(QLatin1String("document-print-preview"))); m_filePrintAction->setIcon(QIcon::fromTheme(QLatin1String("document-print"))); m_fileSaveAsAction->setIcon(QIcon::fromTheme(QLatin1String("document-save-as"))); m_fileCloseWindow->setIcon(QIcon::fromTheme(QLatin1String("window-close"))); m_fileQuit->setIcon(QIcon::fromTheme(QLatin1String("application-exit"))); #endif // Edit m_editMenu = new QMenu(menuBar()); menuBar()->addMenu(m_editMenu); m_editUndoAction = new QAction(m_editMenu); m_editUndoAction->setShortcuts(QKeySequence::Undo); m_tabWidget->addWebAction(m_editUndoAction, QWebPage::Undo); m_editMenu->addAction(m_editUndoAction); m_editRedoAction = new QAction(m_editMenu); m_editRedoAction->setShortcuts(QKeySequence::Redo); m_tabWidget->addWebAction(m_editRedoAction, QWebPage::Redo); m_editMenu->addAction(m_editRedoAction); m_editMenu->addSeparator(); m_editCutAction = new QAction(m_editMenu); m_editCutAction->setShortcuts(QKeySequence::Cut); m_tabWidget->addWebAction(m_editCutAction, QWebPage::Cut); m_editMenu->addAction(m_editCutAction); m_editCopyAction = new QAction(m_editMenu); m_editCopyAction->setShortcuts(QKeySequence::Copy); m_tabWidget->addWebAction(m_editCopyAction, QWebPage::Copy); m_editMenu->addAction(m_editCopyAction); m_editPasteAction = new QAction(m_editMenu); m_editPasteAction->setShortcuts(QKeySequence::Paste); m_tabWidget->addWebAction(m_editPasteAction, QWebPage::Paste); m_editMenu->addAction(m_editPasteAction); m_editSelectAllAction = new QAction(m_editMenu); m_editSelectAllAction->setShortcuts(QKeySequence::SelectAll); m_tabWidget->addWebAction(m_editSelectAllAction, QWebPage::SelectAll); m_editMenu->addAction(m_editSelectAllAction); m_editMenu->addSeparator(); m_editFindAction = new QAction(m_editMenu); m_editFindAction->setShortcuts(QKeySequence::Find); connect(m_editFindAction, SIGNAL(triggered()), this, SLOT(editFind())); m_editMenu->addAction(m_editFindAction); new QShortcut(QKeySequence(Qt::Key_Slash), this, SLOT(editFind())); m_editFindNextAction = new QAction(m_editMenu); m_editFindNextAction->setShortcuts(QKeySequence::FindNext); connect(m_editFindNextAction, SIGNAL(triggered()), this, SLOT(editFindNext())); m_editMenu->addAction(m_editFindNextAction); m_editFindPreviousAction = new QAction(m_editMenu); m_editFindPreviousAction->setShortcuts(QKeySequence::FindPrevious); connect(m_editFindPreviousAction, SIGNAL(triggered()), this, SLOT(editFindPrevious())); m_editMenu->addAction(m_editFindPreviousAction); #if QT_VERSION >= 0x040600 && defined(Q_WS_X11) m_editUndoAction->setIcon(QIcon::fromTheme(QLatin1String("edit-undo"))); m_editRedoAction->setIcon(QIcon::fromTheme(QLatin1String("edit-redo"))); m_editCutAction->setIcon(QIcon::fromTheme(QLatin1String("edit-cut"))); m_editCopyAction->setIcon(QIcon::fromTheme(QLatin1String("edit-copy"))); m_editPasteAction->setIcon(QIcon::fromTheme(QLatin1String("edit-paste"))); m_editSelectAllAction->setIcon(QIcon::fromTheme(QLatin1String("edit-select-all"))); m_editFindAction->setIcon(QIcon::fromTheme(QLatin1String("edit-find"))); #endif // View m_viewMenu = new QMenu(menuBar()); connect(m_viewMenu, SIGNAL(aboutToShow()), this, SLOT(aboutToShowViewMenu())); menuBar()->addMenu(m_viewMenu); m_viewShowMenuBarAction = new QAction(m_viewMenu); m_viewShowMenuBarAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_M)); connect(m_viewShowMenuBarAction, SIGNAL(triggered()), this, SLOT(viewMenuBar())); addAction(m_viewShowMenuBarAction); m_viewToolbarAction = new QAction(this); connect(m_viewToolbarAction, SIGNAL(triggered()), this, SLOT(viewToolbar())); m_viewMenu->addAction(m_viewToolbarAction); m_viewBookmarkBarAction = new QAction(m_viewMenu); connect(m_viewBookmarkBarAction, SIGNAL(triggered()), this, SLOT(viewBookmarksBar())); m_viewMenu->addAction(m_viewBookmarkBarAction); QAction *viewTabBarAction = m_tabWidget->tabBar()->viewTabBarAction(); m_viewMenu->addAction(viewTabBarAction); connect(viewTabBarAction, SIGNAL(toggled(bool)), m_autoSaver, SLOT(changeOccurred())); m_viewStatusbarAction = new QAction(m_viewMenu); connect(m_viewStatusbarAction, SIGNAL(triggered()), this, SLOT(viewStatusbar())); m_viewMenu->addAction(m_viewStatusbarAction); m_viewMenu->addSeparator(); m_viewStopAction = new QAction(m_viewMenu); QList shortcuts; shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_Period)); shortcuts.append(Qt::Key_Escape); m_viewStopAction->setShortcuts(shortcuts); m_tabWidget->addWebAction(m_viewStopAction, QWebPage::Stop); m_viewMenu->addAction(m_viewStopAction); m_viewReloadAction = new QAction(m_viewMenu); shortcuts.clear(); shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_R)); shortcuts.append(QKeySequence(Qt::Key_F5)); m_viewReloadAction->setShortcuts(shortcuts); m_tabWidget->addWebAction(m_viewReloadAction, QWebPage::Reload); m_viewMenu->addAction(m_viewReloadAction); m_viewZoomInAction = new QAction(m_viewMenu); shortcuts.clear(); shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_Plus)); shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_Equal)); m_viewZoomInAction->setShortcuts(shortcuts); connect(m_viewZoomInAction, SIGNAL(triggered()), this, SLOT(zoomIn())); m_viewMenu->addAction(m_viewZoomInAction); m_viewZoomNormalAction = new QAction(m_viewMenu); m_viewZoomNormalAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_0)); connect(m_viewZoomNormalAction, SIGNAL(triggered()), this, SLOT(zoomNormal())); m_viewMenu->addAction(m_viewZoomNormalAction); m_viewZoomOutAction = new QAction(m_viewMenu); shortcuts.clear(); shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_Minus)); shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_Underscore)); m_viewZoomOutAction->setShortcuts(shortcuts); connect(m_viewZoomOutAction, SIGNAL(triggered()), this, SLOT(zoomOut())); m_viewMenu->addAction(m_viewZoomOutAction); m_viewZoomTextOnlyAction = new QAction(m_viewMenu); m_viewZoomTextOnlyAction->setCheckable(true); connect(m_viewZoomTextOnlyAction, SIGNAL(toggled(bool)), BrowserApplication::instance(), SLOT(setZoomTextOnly(bool))); connect(BrowserApplication::instance(), SIGNAL(zoomTextOnlyChanged(bool)), this, SLOT(zoomTextOnlyChanged(bool))); m_viewMenu->addAction(m_viewZoomTextOnlyAction); m_viewFullScreenAction = new QAction(m_viewMenu); m_viewFullScreenAction->setShortcut(Qt::Key_F11); connect(m_viewFullScreenAction, SIGNAL(triggered(bool)), this, SLOT(viewFullScreen(bool))); m_viewFullScreenAction->setCheckable(true); m_viewMenu->addAction(m_viewFullScreenAction); m_viewMenu->addSeparator(); m_viewSourceAction = new QAction(m_viewMenu); connect(m_viewSourceAction, SIGNAL(triggered()), this, SLOT(viewPageSource())); m_viewMenu->addAction(m_viewSourceAction); #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) m_viewMenu->addSeparator(); m_viewTextEncodingAction = new QAction(m_viewMenu); m_viewMenu->addAction(m_viewTextEncodingAction); m_viewTextEncodingMenu = new QMenu(m_viewMenu); m_viewTextEncodingAction->setMenu(m_viewTextEncodingMenu); connect(m_viewTextEncodingMenu, SIGNAL(aboutToShow()), this, SLOT(aboutToShowTextEncodingMenu())); connect(m_viewTextEncodingMenu, SIGNAL(triggered(QAction *)), this, SLOT(viewTextEncoding(QAction *))); #endif m_stopIcon = style()->standardIcon(QStyle::SP_BrowserStop); m_reloadIcon = style()->standardIcon(QStyle::SP_BrowserReload); #if QT_VERSION >= 0x040600 && defined(Q_WS_X11) m_viewStopAction->setIcon(m_stopIcon); m_viewReloadAction->setIcon(m_reloadIcon); m_viewZoomInAction->setIcon(QIcon::fromTheme(QLatin1String("zoom-in"))); m_viewZoomNormalAction->setIcon(QIcon::fromTheme(QLatin1String("zoom-original"))); m_viewZoomOutAction->setIcon(QIcon::fromTheme(QLatin1String("zoom-out"))); m_viewFullScreenAction->setIcon(QIcon::fromTheme(QLatin1String("view-fullscreen"))); #endif // History m_historyMenu = new HistoryMenu(this); connect(m_historyMenu, SIGNAL(openUrl(const QUrl&, const QString&)), m_tabWidget, SLOT(loadUrlFromUser(const QUrl&, const QString&))); menuBar()->addMenu(m_historyMenu); QList historyActions; m_historyBackAction = new QAction(this); m_tabWidget->addWebAction(m_historyBackAction, QWebPage::Back); m_historyBackAction->setShortcuts(QKeySequence::Back); #if QT_VERSION < 0x040600 || (QT_VERSION >= 0x040600 && !defined(Q_WS_X11)) m_historyBackAction->setIconVisibleInMenu(false); #endif m_historyForwardAction = new QAction(this); m_tabWidget->addWebAction(m_historyForwardAction, QWebPage::Forward); m_historyForwardAction->setShortcuts(QKeySequence::Forward); #if QT_VERSION < 0x040600 || (QT_VERSION >= 0x040600 && !defined(Q_WS_X11)) m_historyForwardAction->setIconVisibleInMenu(false); #endif m_historyHomeAction = new QAction(this); connect(m_historyHomeAction, SIGNAL(triggered()), this, SLOT(goHome())); m_historyHomeAction->setShortcut(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_H)); m_historyRestoreLastSessionAction = new QAction(this); connect(m_historyRestoreLastSessionAction, SIGNAL(triggered()), BrowserApplication::instance(), SLOT(restoreLastSession())); m_historyRestoreLastSessionAction->setEnabled(BrowserApplication::instance()->canRestoreSession()); historyActions.append(m_historyBackAction); historyActions.append(m_historyForwardAction); historyActions.append(m_historyHomeAction); historyActions.append(m_tabWidget->recentlyClosedTabsAction()); historyActions.append(m_historyRestoreLastSessionAction); m_historyMenu->setInitialActions(historyActions); #if QT_VERSION >= 0x040600 && defined(Q_WS_X11) m_historyRestoreLastSessionAction->setIcon(QIcon::fromTheme(QLatin1String("document-revert"))); m_historyHomeAction->setIcon(QIcon::fromTheme(QLatin1String("go-home"))); #endif // Bookmarks m_bookmarksMenu = new BookmarksMenuBarMenu(this); connect(m_bookmarksMenu, SIGNAL(openUrl(const QUrl&, const QString &)), m_tabWidget, SLOT(loadUrlFromUser(const QUrl&, const QString&))); connect(m_bookmarksMenu, SIGNAL(openUrl(const QUrl&, TabWidget::OpenUrlIn, const QString&)), m_tabWidget, SLOT(loadUrl(const QUrl&, TabWidget::OpenUrlIn, const QString&))); menuBar()->addMenu(m_bookmarksMenu); m_bookmarksShowAllAction = new QAction(this); m_bookmarksShowAllAction->setShortcut(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_B)); connect(m_bookmarksShowAllAction, SIGNAL(triggered()), this, SLOT(showBookmarksDialog())); m_bookmarksAddAction = new QAction(this); m_bookmarksAddAction->setIcon(QIcon(QLatin1String(":addbookmark.png"))); #if QT_VERSION < 0x040600 || (QT_VERSION >= 0x040600 && !defined(Q_WS_X11)) m_bookmarksAddAction->setIconVisibleInMenu(false); #endif connect(m_bookmarksAddAction, SIGNAL(triggered()), this, SLOT(addBookmark())); m_bookmarksAddAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_D)); m_bookmarksAddFolderAction = new QAction(this); connect(m_bookmarksAddFolderAction, SIGNAL(triggered()), this, SLOT(addBookmarkFolder())); QList bookmarksActions; bookmarksActions.append(m_bookmarksShowAllAction); bookmarksActions.append(m_bookmarksAddAction); bookmarksActions.append(tabWidget()->bookmarkTabsAction()); bookmarksActions.append(m_bookmarksAddFolderAction); m_bookmarksMenu->setInitialActions(bookmarksActions); #if QT_VERSION >= 0x040600 m_bookmarksAddFolderAction->setIcon(QIcon::fromTheme(QLatin1String("folder-new"))); m_bookmarksShowAllAction->setIcon(QIcon::fromTheme(QLatin1String("user-bookmarks"))); #endif // Window m_windowMenu = new QMenu(menuBar()); menuBar()->addMenu(m_windowMenu); connect(m_windowMenu, SIGNAL(aboutToShow()), this, SLOT(aboutToShowWindowMenu())); aboutToShowWindowMenu(); // Tools m_toolsMenu = new QMenu(menuBar()); menuBar()->addMenu(m_toolsMenu); m_toolsWebSearchAction = new QAction(m_toolsMenu); connect(m_toolsWebSearchAction, SIGNAL(triggered()), this, SLOT(webSearch())); m_toolsMenu->addAction(m_toolsWebSearchAction); m_toolsClearPrivateDataAction = new QAction(m_toolsMenu); connect(m_toolsClearPrivateDataAction, SIGNAL(triggered()), this, SLOT(clearPrivateData())); m_toolsMenu->addAction(m_toolsClearPrivateDataAction); m_toolsEnableInspectorAction = new QAction(m_toolsMenu); connect(m_toolsEnableInspectorAction, SIGNAL(triggered(bool)), this, SLOT(toggleInspector(bool))); m_toolsEnableInspectorAction->setCheckable(true); QSettings settings; settings.beginGroup(QLatin1String("websettings")); m_toolsEnableInspectorAction->setChecked(settings.value(QLatin1String("enableInspector"), false).toBool()); m_toolsMenu->addAction(m_toolsEnableInspectorAction); m_toolsSearchManagerAction = new QAction(m_toolsMenu); m_toolsSearchManagerAction->setMenuRole(QAction::NoRole); connect(m_toolsSearchManagerAction, SIGNAL(triggered()), this, SLOT(showSearchDialog())); m_toolsMenu->addAction(m_toolsSearchManagerAction); m_toolsUserAgentMenu = new UserAgentMenu(m_toolsMenu); m_toolsMenu->addMenu(m_toolsUserAgentMenu); m_adBlockDialogAction = new QAction(m_toolsMenu); connect(m_adBlockDialogAction, SIGNAL(triggered()), AdBlockManager::instance(), SLOT(showDialog())); m_toolsMenu->addAction(m_adBlockDialogAction); m_toolsMenu->addSeparator(); m_toolsPreferencesAction = new QAction(m_toolsMenu); m_toolsPreferencesAction->setMenuRole(QAction::PreferencesRole); connect(m_toolsPreferencesAction, SIGNAL(triggered()), this, SLOT(preferences())); m_toolsMenu->addAction(m_toolsPreferencesAction); // Help m_helpMenu = new QMenu(menuBar()); menuBar()->addMenu(m_helpMenu); m_helpChangeLanguageAction = new QAction(m_helpMenu); connect(m_helpChangeLanguageAction, SIGNAL(triggered()), BrowserApplication::languageManager(), SLOT(chooseNewLanguage())); m_helpMenu->addAction(m_helpChangeLanguageAction); m_helpMenu->addSeparator(); m_helpAboutQtAction = new QAction(m_helpMenu); connect(m_helpAboutQtAction, SIGNAL(triggered()), qApp, SLOT(aboutQt())); m_helpMenu->addAction(m_helpAboutQtAction); m_helpAboutApplicationAction = new QAction(m_helpMenu); connect(m_helpAboutApplicationAction, SIGNAL(triggered()), this, SLOT(aboutApplication())); m_helpMenu->addAction(m_helpAboutApplicationAction); #if QT_VERSION >= 0x040600 && defined(Q_WS_X11) m_helpChangeLanguageAction->setIcon(QIcon::fromTheme(QLatin1String("preferences-desktop-locale"))); m_helpAboutQtAction->setIcon(QPixmap(QLatin1String(":/trolltech/qmessagebox/images/qtlogo-64.png"))); m_helpAboutApplicationAction->setIcon(windowIcon()); #endif } void BrowserMainWindow::aboutToShowViewMenu() { m_viewToolbarAction->setText(m_navigationBar->isVisible() ? tr("Hide Toolbar") : tr("Show Toolbar")); m_viewBookmarkBarAction->setText(m_bookmarksToolbar->isVisible() ? tr("Hide Bookmarks Bar") : tr("Show Bookmarks Bar")); m_viewStatusbarAction->setText(statusBar()->isVisible() ? tr("Hide Status Bar") : tr("Show Status Bar")); } void BrowserMainWindow::aboutToShowTextEncodingMenu() { #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) m_viewTextEncodingMenu->clear(); int currentCodec = -1; QStringList codecs; QList mibs = QTextCodec::availableMibs(); foreach (const int &mib, mibs) { QString codec = QLatin1String(QTextCodec::codecForMib(mib)->name()); codecs.append(codec); } codecs.sort(); QString defaultTextEncoding = QWebSettings::globalSettings()->defaultTextEncoding(); currentCodec = codecs.indexOf(defaultTextEncoding); QAction *defaultEncoding = m_viewTextEncodingMenu->addAction(tr("Default")); defaultEncoding->setData(QString()); defaultEncoding->setCheckable(true); if (currentCodec == -1) defaultEncoding->setChecked(true); m_viewTextEncodingMenu->addSeparator(); for (int i = 0; i < codecs.count(); ++i) { const QString &codec = codecs.at(i); QAction *action = m_viewTextEncodingMenu->addAction(codec); action->setData(codec); action->setCheckable(true); if (currentCodec == i) action->setChecked(true); } #endif } void BrowserMainWindow::viewTextEncoding(QAction *action) { Q_UNUSED(action); #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) Q_ASSERT(action); QString codec = action->data().toString(); if (codec.isEmpty()) QWebSettings::globalSettings()->setDefaultTextEncoding(QString()); else QWebSettings::globalSettings()->setDefaultTextEncoding(codec); #endif } void BrowserMainWindow::retranslate() { m_fileMenu->setTitle(tr("&File")); m_fileNewWindowAction->setText(tr("&New Window")); m_fileOpenFileAction->setText(tr("&Open File...")); m_fileOpenLocationAction->setText(tr("Open &Location...")); m_fileSaveAsAction->setText(tr("&Save As...")); m_fileImportBookmarksAction->setText(tr("&Import Bookmarks...")); m_fileExportBookmarksAction->setText(tr("&Export Bookmarks...")); m_filePrintPreviewAction->setText(tr("P&rint Preview...")); m_filePrintAction->setText(tr("&Print...")); m_filePrivateBrowsingAction->setText(tr("Private &Browsing...")); m_fileCloseWindow->setText(tr("Close Window")); m_fileQuit->setText(tr("&Quit")); m_editMenu->setTitle(tr("&Edit")); m_editUndoAction->setText(tr("&Undo")); m_editRedoAction->setText(tr("&Redo")); m_editCutAction->setText(tr("Cu&t")); m_editCopyAction->setText(tr("&Copy")); m_editPasteAction->setText(tr("&Paste")); m_editSelectAllAction->setText(tr("Select &All")); m_editFindAction->setText(tr("&Find")); m_editFindNextAction->setText(tr("Find Nex&t")); m_editFindPreviousAction->setText(tr("Find P&revious")); m_viewMenu->setTitle(tr("&View")); m_viewToolbarAction->setShortcut(tr("Ctrl+|")); m_viewBookmarkBarAction->setShortcut(tr("Alt+Ctrl+B")); m_viewStatusbarAction->setShortcut(tr("Ctrl+/")); m_viewShowMenuBarAction->setText(tr("Show Menu Bar")); m_viewReloadAction->setText(tr("&Reload Page")); m_viewStopAction->setText(tr("&Stop")); m_viewZoomInAction->setText(tr("Zoom &In")); m_viewZoomNormalAction->setText(tr("Zoom &Normal")); m_viewZoomOutAction->setText(tr("Zoom &Out")); m_viewZoomTextOnlyAction->setText(tr("Zoom &Text Only")); m_viewSourceAction->setText(tr("Page S&ource")); m_viewSourceAction->setShortcut(tr("Ctrl+Alt+U")); m_viewFullScreenAction->setText(tr("&Full Screen")); #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) m_viewTextEncodingAction->setText(tr("Text Encoding")); #endif m_historyMenu->setTitle(tr("Hi&story")); m_historyBackAction->setText(tr("Back")); m_historyForwardAction->setText(tr("Forward")); m_historyHomeAction->setText(tr("Home")); m_historyRestoreLastSessionAction->setText(tr("Restore Last Session")); m_bookmarksMenu->setTitle(tr("&Bookmarks")); m_bookmarksShowAllAction->setText(tr("Show All Bookmarks...")); m_bookmarksAddAction->setText(tr("Add Bookmark...")); m_bookmarksAddFolderAction->setText(tr("Add Folder...")); m_windowMenu->setTitle(tr("&Window")); m_toolsMenu->setTitle(tr("&Tools")); m_toolsWebSearchAction->setText(tr("Web &Search")); m_toolsWebSearchAction->setShortcut(QKeySequence(tr("Ctrl+K", "Web Search"))); m_toolsClearPrivateDataAction->setText(tr("&Clear Private Data")); m_toolsClearPrivateDataAction->setShortcut(QKeySequence(tr("Ctrl+Shift+Delete", "Clear Private Data"))); m_toolsEnableInspectorAction->setText(tr("Enable Web &Inspector")); m_toolsPreferencesAction->setText(tr("Options...")); m_toolsPreferencesAction->setShortcut(tr("Ctrl+,")); m_toolsSearchManagerAction->setText(tr("Configure Search Engines...")); m_toolsUserAgentMenu->setTitle(tr("User Agent")); m_adBlockDialogAction->setText(tr("&Ad Block...")); m_helpMenu->setTitle(tr("&Help")); m_helpChangeLanguageAction->setText(tr("Switch application language ")); m_helpAboutQtAction->setText(tr("About &Qt")); m_helpAboutApplicationAction->setText(tr("About &%1", "About Browser").arg(QApplication::applicationName())); // Toolbar m_navigationBar->setWindowTitle(tr("Navigation")); m_bookmarksToolbar->setWindowTitle(tr("&Bookmarks")); m_stopReloadAction->setText(tr("Reload / Stop")); updateStopReloadActionText(false); } void BrowserMainWindow::setupToolBar() { setUnifiedTitleAndToolBarOnMac(true); m_navigationBar = new QToolBar(this); m_navigationBar->setObjectName(QLatin1String("NavigationToolBar")); addToolBar(m_navigationBar); m_historyBackAction->setIcon(style()->standardIcon(QStyle::SP_ArrowBack, 0, this)); m_historyBackMenu = new QMenu(this); m_historyBackAction->setMenu(m_historyBackMenu); connect(m_historyBackMenu, SIGNAL(aboutToShow()), this, SLOT(aboutToShowBackMenu())); connect(m_historyBackMenu, SIGNAL(triggered(QAction *)), this, SLOT(openActionUrl(QAction *))); m_navigationBar->addAction(m_historyBackAction); m_historyForwardAction->setIcon(style()->standardIcon(QStyle::SP_ArrowForward, 0, this)); m_historyForwardMenu = new QMenu(this); connect(m_historyForwardMenu, SIGNAL(aboutToShow()), this, SLOT(aboutToShowForwardMenu())); connect(m_historyForwardMenu, SIGNAL(triggered(QAction *)), this, SLOT(openActionUrl(QAction *))); m_historyForwardAction->setMenu(m_historyForwardMenu); m_navigationBar->addAction(m_historyForwardAction); m_stopReloadAction = new QAction(this); m_stopReloadAction->setIcon(m_reloadIcon); m_navigationBar->addAction(m_stopReloadAction); m_navigationSplitter = new QSplitter(m_navigationBar); m_navigationSplitter->addWidget(m_tabWidget->locationBarStack()); m_toolbarSearch = new ToolbarSearch(m_navigationBar); m_navigationSplitter->addWidget(m_toolbarSearch); connect(m_toolbarSearch, SIGNAL(search(const QUrl&, TabWidget::OpenUrlIn)), m_tabWidget, SLOT(loadUrl(const QUrl&, TabWidget::OpenUrlIn))); m_navigationSplitter->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum); m_tabWidget->locationBarStack()->setMinimumWidth(120); m_navigationSplitter->setCollapsible(0, false); m_navigationBar->addWidget(m_navigationSplitter); int splitterWidth = m_navigationSplitter->width(); QList sizes; sizes << (int)((double)splitterWidth * .80) << (int)((double)splitterWidth * .20); m_navigationSplitter->setSizes(sizes); } void BrowserMainWindow::showBookmarksDialog() { BookmarksDialog *dialog = new BookmarksDialog(this); dialog->setAttribute(Qt::WA_DeleteOnClose); connect(dialog, SIGNAL(openUrl(const QUrl&, TabWidget::OpenUrlIn, const QString &)), m_tabWidget, SLOT(loadUrl(const QUrl&, TabWidget::OpenUrlIn, const QString &))); dialog->show(); } void BrowserMainWindow::addBookmark() { WebView *webView = currentTab(); QString url = QLatin1String(webView->url().toEncoded()); QString title = webView->title(); AddBookmarkDialog dialog; dialog.setUrl(url); dialog.setTitle(title); BookmarkNode *menu = BrowserApplication::bookmarksManager()->menu(); QModelIndex index = BrowserApplication::bookmarksManager()->bookmarksModel()->index(menu); dialog.setCurrentIndex(index); dialog.exec(); } void BrowserMainWindow::addBookmarkFolder() { AddBookmarkDialog dialog; BookmarksManager *bookmarksManager = BrowserApplication::bookmarksManager(); BookmarkNode *menu = bookmarksManager->menu(); QModelIndex index = bookmarksManager->bookmarksModel()->index(menu); dialog.setCurrentIndex(index); dialog.setFolder(true); dialog.exec(); } void BrowserMainWindow::viewMenuBar() { menuBar()->setVisible(!menuBar()->isVisible()); m_menuBarVisible = menuBar()->isVisible(); m_autoSaver->changeOccurred(); } void BrowserMainWindow::viewToolbar() { if (m_navigationBar->isVisible()) { m_navigationBar->close(); } else { m_navigationBar->show(); } m_autoSaver->changeOccurred(); } void BrowserMainWindow::viewBookmarksBar() { if (m_bookmarksToolbar->isVisible()) { m_bookmarksToolbar->hide(); #if defined(Q_WS_MAC) m_bookmarksToolbarFrame->hide(); #endif } else { m_bookmarksToolbar->show(); #if defined(Q_WS_MAC) m_bookmarksToolbarFrame->show(); #endif } m_autoSaver->changeOccurred(); } void BrowserMainWindow::viewStatusbar() { if (statusBar()->isVisible()) { statusBar()->close(); } else { statusBar()->show(); } m_statusBarVisible = statusBar()->isVisible(); m_autoSaver->changeOccurred(); } void BrowserMainWindow::downloadManager() { BrowserApplication::downloadManager()->show(); } void BrowserMainWindow::selectLineEdit() { if (m_navigationBar->isHidden()) m_navigationBar->show(); m_tabWidget->currentLocationBar()->selectAll(); m_tabWidget->currentLocationBar()->setFocus(); } void BrowserMainWindow::fileSaveAs() { BrowserApplication::downloadManager()->download(currentTab()->url(), true); } void BrowserMainWindow::preferences() { SettingsDialog settingsDialog(this); settingsDialog.exec(); } void BrowserMainWindow::updateStatusbar(const QString &string) { statusBar()->showMessage(string, 2000); } void BrowserMainWindow::updateWindowTitle(const QString &title) { if (title.isEmpty()) { setWindowTitle(QApplication::applicationName()); } else { #if defined(Q_WS_MAC) setWindowTitle(title); #else setWindowTitle(tr("%1 - Arora", "Page title and Browser name").arg(title)); #endif } } void BrowserMainWindow::aboutApplication() { AboutDialog *aboutDialog = new AboutDialog(this); aboutDialog->setAttribute(Qt::WA_DeleteOnClose); aboutDialog->show(); } void BrowserMainWindow::fileNew() { BrowserMainWindow *window = BrowserApplication::instance()->newMainWindow(); QSettings settings; settings.beginGroup(QLatin1String("MainWindow")); int startup = settings.value(QLatin1String("startupBehavior")).toInt(); if (startup == 0) window->goHome(); } void BrowserMainWindow::fileOpen() { QString file = QFileDialog::getOpenFileName(this, tr("Open Web Resource"), QString(), tr("Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*)")); if (file.isEmpty()) return; tabWidget()->loadUrl(QUrl::fromLocalFile(file)); } void BrowserMainWindow::filePrintPreview() { if (!currentTab()) return; QPrintPreviewDialog dialog(this); connect(&dialog, SIGNAL(paintRequested(QPrinter *)), currentTab(), SLOT(print(QPrinter *))); dialog.exec(); } void BrowserMainWindow::filePrint() { if (!currentTab()) return; printRequested(currentTab()->page()->mainFrame()); } void BrowserMainWindow::printRequested(QWebFrame *frame) { QPrinter printer; QPrintDialog dialog(&printer, this); dialog.setWindowTitle(tr("Print Document")); if (dialog.exec() != QDialog::Accepted) return; frame->print(&printer); } void BrowserMainWindow::privateBrowsing() { if (!BrowserApplication::isPrivate()) { QString title = tr("Are you sure you want to turn on private browsing?"); QString text1 = tr("When private browsing is turned on, some actions concerning your privacy will be disabled:"); QStringList actions; actions.append(tr("Webpages are not added to the history.")); actions.append(tr("Items are automatically removed from the Downloads window.")); actions.append(tr("New cookies are not stored, current cookies can't be accessed.")); actions.append(tr("Site icons won't be stored.")); actions.append(tr("Session won't be saved.")); actions.append(tr("Searches are not added to the pop-up menu in the search box.")); actions.append(tr("No new network cache is written to disk.")); QString text2 = tr("Until you close the window, you can still click the Back and Forward " "buttons to return to the webpages you have opened."); QString message = QString(QLatin1String("%1

%2

  • %3

%4

")) .arg(title, text1, actions.join(QLatin1String("
  • ")), text2); QMessageBox::StandardButton button = QMessageBox::question(this, tr("Private Browsing"), message, QMessageBox::Ok | QMessageBox::Cancel, QMessageBox::Ok); if (button == QMessageBox::Ok) BrowserApplication::setPrivate(true); else m_filePrivateBrowsingAction->setChecked(false); } else { BrowserApplication::setPrivate(false); } } void BrowserMainWindow::zoomTextOnlyChanged(bool textOnly) { m_viewZoomTextOnlyAction->setChecked(textOnly); } void BrowserMainWindow::privacyChanged(bool isPrivate) { m_filePrivateBrowsingAction->setChecked(isPrivate); if (!isPrivate) tabWidget()->clear(); } void BrowserMainWindow::closeEvent(QCloseEvent *event) { if (!BrowserApplication::instance()->allowToCloseWindow(this)) { event->ignore(); if (m_tabWidget->count() == 0) m_tabWidget->newTab(); return; } if (m_tabWidget->count() > 1) { QSettings settings; settings.beginGroup(QLatin1String("tabs")); bool confirm = settings.value(QLatin1String("confirmClosingMultipleTabs"), true).toBool(); if (confirm) { QApplication::alert(this); int ret = QMessageBox::warning(this, QString(), tr("Are you sure you want to close the window?" " There are %1 tabs open").arg(m_tabWidget->count()), QMessageBox::Yes | QMessageBox::No, QMessageBox::No); if (ret == QMessageBox::No) { event->ignore(); return; } } } event->accept(); } void BrowserMainWindow::mousePressEvent(QMouseEvent *event) { switch (event->button()) { case Qt::XButton1: m_historyBackAction->activate(QAction::Trigger); break; case Qt::XButton2: m_historyForwardAction->activate(QAction::Trigger); break; default: QMainWindow::mousePressEvent(event); break; } } void BrowserMainWindow::changeEvent(QEvent *event) { if (event->type() == QEvent::LanguageChange) retranslate(); QMainWindow::changeEvent(event); } void BrowserMainWindow::editFind() { tabWidget()->webViewSearch(m_tabWidget->currentIndex())->showFind(); } void BrowserMainWindow::editFindNext() { tabWidget()->webViewSearch(m_tabWidget->currentIndex())->findNext(); } void BrowserMainWindow::editFindPrevious() { tabWidget()->webViewSearch(m_tabWidget->currentIndex())->findPrevious(); } void BrowserMainWindow::zoomIn() { if (!currentTab()) return; currentTab()->zoomIn(); } void BrowserMainWindow::zoomNormal() { if (!currentTab()) return; currentTab()->resetZoom(); } void BrowserMainWindow::zoomOut() { if (!currentTab()) return; currentTab()->zoomOut(); } void BrowserMainWindow::viewFullScreen(bool makeFullScreen) { if (makeFullScreen) { setWindowState(windowState() | Qt::WindowFullScreen); menuBar()->hide(); statusBar()->hide(); } else { setWindowState(windowState() & ~Qt::WindowFullScreen); menuBar()->setVisible(m_menuBarVisible); statusBar()->setVisible(m_statusBarVisible); } } void BrowserMainWindow::viewPageSource() { if (!currentTab()) return; QString title = currentTab()->title(); QString markup = currentTab()->page()->mainFrame()->toHtml(); QUrl url = currentTab()->url(); SourceViewer *viewer = new SourceViewer(markup, title, url); viewer->setAttribute(Qt::WA_DeleteOnClose); viewer->show(); } void BrowserMainWindow::goHome() { QSettings settings; settings.beginGroup(QLatin1String("MainWindow")); QString home = settings.value(QLatin1String("home"), QLatin1String("about:home")).toString(); tabWidget()->loadString(home); } void BrowserMainWindow::webSearch() { m_toolbarSearch->selectAll(); m_toolbarSearch->setFocus(); } void BrowserMainWindow::clearPrivateData() { ClearPrivateData dialog; dialog.exec(); } void BrowserMainWindow::toggleInspector(bool enable) { QWebSettings::globalSettings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, enable); if (enable) { int result = QMessageBox::question(this, tr("Web Inspector"), tr("The web inspector will only work correctly for pages that were loaded after enabling.\n" "Do you want to reload all pages?"), QMessageBox::Yes | QMessageBox::No); if (result == QMessageBox::Yes) { m_tabWidget->reloadAllTabs(); } } QSettings settings; settings.beginGroup(QLatin1String("websettings")); settings.setValue(QLatin1String("enableInspector"), enable); } void BrowserMainWindow::swapFocus() { if (currentTab()->hasFocus()) { m_tabWidget->currentLocationBar()->setFocus(); m_tabWidget->currentLocationBar()->selectAll(); } else { currentTab()->setFocus(); } } TabWidget *BrowserMainWindow::tabWidget() const { return m_tabWidget; } WebView *BrowserMainWindow::currentTab() const { return m_tabWidget->currentWebView(); } ToolbarSearch *BrowserMainWindow::toolbarSearch() const { return m_toolbarSearch; } void BrowserMainWindow::updateStopReloadActionText(bool loading) { if (loading) { m_stopReloadAction->setToolTip(tr("Stop loading the current page")); m_stopReloadAction->setIconText(tr("Stop")); } else { m_stopReloadAction->setToolTip(tr("Reload the current page")); m_stopReloadAction->setIconText(tr("Reload")); } } void BrowserMainWindow::loadProgress(int progress) { if (progress < 100 && progress > 0) { disconnect(m_stopReloadAction, SIGNAL(triggered()), m_viewReloadAction, SLOT(trigger())); m_stopReloadAction->setIcon(m_stopIcon); connect(m_stopReloadAction, SIGNAL(triggered()), m_viewStopAction, SLOT(trigger())); updateStopReloadActionText(true); } else { disconnect(m_stopReloadAction, SIGNAL(triggered()), m_viewStopAction, SLOT(trigger())); m_stopReloadAction->setIcon(m_reloadIcon); connect(m_stopReloadAction, SIGNAL(triggered()), m_viewReloadAction, SLOT(trigger())); updateStopReloadActionText(false); } } void BrowserMainWindow::showSearchDialog() { OpenSearchDialog dialog(this); dialog.exec(); } void BrowserMainWindow::aboutToShowBackMenu() { m_historyBackMenu->clear(); if (!currentTab()) return; QWebHistory *history = currentTab()->history(); int historyCount = history->count(); for (int i = history->backItems(historyCount).count() - 1; i >= 0; --i) { QWebHistoryItem item = history->backItems(history->count()).at(i); QAction *action = new QAction(this); action->setData(-1*(historyCount - i - 1)); QIcon icon = BrowserApplication::instance()->icon(item.url()); action->setIcon(icon); action->setText(item.title()); m_historyBackMenu->addAction(action); } } void BrowserMainWindow::aboutToShowForwardMenu() { m_historyForwardMenu->clear(); if (!currentTab()) return; QWebHistory *history = currentTab()->history(); int historyCount = history->count(); for (int i = 0; i < history->forwardItems(history->count()).count(); ++i) { QWebHistoryItem item = history->forwardItems(historyCount).at(i); QAction *action = new QAction(this); action->setData(historyCount - i); QIcon icon = BrowserApplication::instance()->icon(item.url()); action->setIcon(icon); action->setText(item.title()); m_historyForwardMenu->addAction(action); } } void BrowserMainWindow::aboutToShowWindowMenu() { m_windowMenu->clear(); m_windowMenu->addAction(m_tabWidget->nextTabAction()); m_windowMenu->addAction(m_tabWidget->previousTabAction()); m_windowMenu->addSeparator(); QAction *downloadManagerAction = m_windowMenu->addAction(tr("Downloads"), this, SLOT(downloadManager()), QKeySequence(tr("Ctrl+Y", "Download Manager"))); #if QT_VERSION >= 0x040600 downloadManagerAction->setIcon(QIcon::fromTheme(QLatin1String("emblem-downloads"))); #else Q_UNUSED(downloadManagerAction); #endif m_windowMenu->addSeparator(); QList windows = BrowserApplication::instance()->mainWindows(); for (int i = 0; i < windows.count(); ++i) { BrowserMainWindow *window = windows.at(i); QAction *action = m_windowMenu->addAction(window->windowTitle(), this, SLOT(showWindow())); action->setData(i); action->setCheckable(true); if (window == this) action->setChecked(true); } } void BrowserMainWindow::showWindow() { if (QAction *action = qobject_cast(sender())) { QVariant v = action->data(); if (v.canConvert()) { int offset = qvariant_cast(v); QList windows = BrowserApplication::instance()->mainWindows(); windows.at(offset)->activateWindow(); windows.at(offset)->raise(); windows.at(offset)->currentTab()->setFocus(); } } } void BrowserMainWindow::openActionUrl(QAction *action) { int offset = action->data().toInt(); QWebHistory *history = currentTab()->history(); if (offset < 0) history->goToItem(history->backItems(-1*offset).first()); // back else if (offset > 0) history->goToItem(history->forwardItems(history->count() - offset + 1).back()); // forward } void BrowserMainWindow::geometryChangeRequested(const QRect &geometry) { setGeometry(geometry); } arora-0.11.0/src/browsermainwindow.h000066400000000000000000000206011145000221100173760ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef BROWSERMAINWINDOW_H #define BROWSERMAINWINDOW_H #include class AutoSaver; class BookmarksToolBar; class QWebFrame; class TabWidget; class ToolbarSearch; class WebView; class QSplitter; class QFrame; class HistoryMenu; class BookmarksMenuBarMenu; class UserAgentMenu; /*! The MainWindow of the Browser Application. Handles the tab widget and all the actions */ class BrowserMainWindow : public QMainWindow { Q_OBJECT public: BrowserMainWindow(QWidget *parent = 0, Qt::WindowFlags flags = 0); ~BrowserMainWindow(); QSize sizeHint() const; public: static BrowserMainWindow *parentWindow(QWidget *widget); TabWidget *tabWidget() const; WebView *currentTab() const; ToolbarSearch *toolbarSearch() const; QByteArray saveState(bool withTabs = true) const; bool restoreState(const QByteArray &state); QAction *showMenuBarAction() const; QAction *searchManagerAction() const { return m_toolsSearchManagerAction; } public slots: void goHome(); void privacyChanged(bool isPrivate); void zoomTextOnlyChanged(bool textOnly); protected: void closeEvent(QCloseEvent *event); void keyPressEvent(QKeyEvent *event); void mousePressEvent(QMouseEvent *event); void changeEvent(QEvent *event); private slots: void save(); void lastTabClosed(); void loadProgress(int); void updateStatusbar(const QString &string); void updateWindowTitle(const QString &title = QString()); void preferences(); void fileNew(); void fileOpen(); void filePrintPreview(); void filePrint(); void privateBrowsing(); void fileSaveAs(); void editFind(); void editFindNext(); void editFindPrevious(); void showBookmarksDialog(); void addBookmark(); void addBookmarkFolder(); void zoomIn(); void zoomNormal(); void zoomOut(); void viewMenuBar(); void viewToolbar(); void viewBookmarksBar(); void viewStatusbar(); void viewPageSource(); void viewFullScreen(bool enable); void viewTextEncoding(QAction *action); void webSearch(); void clearPrivateData(); void toggleInspector(bool enable); void aboutApplication(); void downloadManager(); void selectLineEdit(); void aboutToShowBackMenu(); void aboutToShowForwardMenu(); void aboutToShowViewMenu(); void aboutToShowWindowMenu(); void aboutToShowTextEncodingMenu(); void openActionUrl(QAction *action); void showSearchDialog(); void showWindow(); void swapFocus(); void printRequested(QWebFrame *frame); void geometryChangeRequested(const QRect &geometry); private: void retranslate(); void loadDefaultState(); void setupMenu(); void setupToolBar(); void updateStopReloadActionText(bool loading); private: QMenu *m_fileMenu; QAction *m_fileNewWindowAction; QAction *m_fileOpenFileAction; QAction *m_fileOpenLocationAction; QAction *m_fileSaveAsAction; QAction *m_fileImportBookmarksAction; QAction *m_fileExportBookmarksAction; QAction *m_filePrintPreviewAction; QAction *m_filePrintAction; QAction *m_filePrivateBrowsingAction; QAction *m_fileCloseWindow; QAction *m_fileQuit; QMenu *m_editMenu; QAction *m_editUndoAction; QAction *m_editRedoAction; QAction *m_editCutAction; QAction *m_editCopyAction; QAction *m_editPasteAction; QAction *m_editSelectAllAction; QAction *m_editFindAction; QAction *m_editFindNextAction; QAction *m_editFindPreviousAction; QMenu *m_viewMenu; QAction *m_viewShowMenuBarAction; QAction *m_viewToolbarAction; QAction *m_viewBookmarkBarAction; QAction *m_viewStatusbarAction; QAction *m_viewStopAction; QAction *m_viewReloadAction; QAction *m_viewZoomInAction; QAction *m_viewZoomNormalAction; QAction *m_viewZoomOutAction; QAction *m_viewZoomTextOnlyAction; QAction *m_viewSourceAction; QAction *m_viewFullScreenAction; QAction *m_viewTextEncodingAction; QMenu *m_viewTextEncodingMenu; HistoryMenu *m_historyMenu; QAction *m_historyBackAction; QAction *m_historyForwardAction; QAction *m_historyHomeAction; QAction *m_historyRestoreLastSessionAction; BookmarksMenuBarMenu *m_bookmarksMenu; QAction *m_bookmarksShowAllAction; QAction *m_bookmarksAddAction; QAction *m_bookmarksAddFolderAction; QMenu *m_windowMenu; QMenu *m_toolsMenu; QAction *m_toolsWebSearchAction; QAction *m_toolsClearPrivateDataAction; QAction *m_toolsEnableInspectorAction; QAction *m_toolsPreferencesAction; QAction *m_toolsSearchManagerAction; UserAgentMenu *m_toolsUserAgentMenu; QAction *m_adBlockDialogAction; QMenu *m_helpMenu; QAction *m_helpChangeLanguageAction; QAction *m_helpAboutQtAction; QAction *m_helpAboutApplicationAction; // Toolbar QToolBar *m_navigationBar; QMenu *m_historyBackMenu; QMenu *m_historyForwardMenu; QAction *m_stopReloadAction; QIcon m_reloadIcon; QIcon m_stopIcon; QSplitter *m_navigationSplitter; ToolbarSearch *m_toolbarSearch; #if defined(Q_WS_MAC) QFrame *m_bookmarksToolbarFrame; #endif BookmarksToolBar *m_bookmarksToolbar; TabWidget *m_tabWidget; AutoSaver *m_autoSaver; // These store if the user requested the menu/status bars visible. They are // used to determine if these bars should be reshown when leaving fullscreen. bool m_menuBarVisible; bool m_statusBarVisible; friend class BrowserApplication; }; #endif // BROWSERMAINWINDOW_H arora-0.11.0/src/clearbutton.cpp000066400000000000000000000065611145000221100165040ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "clearbutton.h" #include ClearButton::ClearButton(QWidget *parent) : QAbstractButton(parent) { setCursor(Qt::ArrowCursor); setFocusPolicy(Qt::NoFocus); setToolTip(tr("Clear")); setMinimumSize(22, 22); setVisible(false); #if QT_VERSION >= 0x040600 // First check for a style icon, current KDE provides one if (m_styleImage.isNull()) { QLatin1String iconName = (layoutDirection() == Qt::RightToLeft) ? QLatin1String("edit-clear-locationbar-ltr") : QLatin1String("edit-clear-locationbar-rtl"); QIcon icon = QIcon::fromTheme(iconName); if (!icon.isNull()) m_styleImage = icon.pixmap(16, 16).toImage(); } #endif } void ClearButton::textChanged(const QString &text) { setVisible(!text.isEmpty()); } void ClearButton::paintEvent(QPaintEvent *event) { Q_UNUSED(event); QPainter painter(this); if (!m_styleImage.isNull()) { int x = (width() - m_styleImage.width()) / 2 - 1; int y = (height() - m_styleImage.height()) / 2 - 1; painter.drawImage(x, y, m_styleImage); return; } // Fall back to boring circle X painter.setRenderHint(QPainter::Antialiasing, true); QPalette p = palette(); QColor circleColor = isDown() ? p.color(QPalette::Dark) : p.color(QPalette::Mid); QColor xColor = p.color(QPalette::Window); // draw circle painter.setBrush(circleColor); painter.setPen(circleColor); int padding = width() / 5; int circleRadius = width() - (padding * 2); painter.drawEllipse(padding, padding, circleRadius, circleRadius); // draw X painter.setPen(xColor); padding = padding * 2; painter.drawLine(padding, padding, width() - padding, width() - padding); painter.drawLine(padding, height() - padding, width() - padding, padding); } arora-0.11.0/src/clearbutton.h000066400000000000000000000035771145000221100161550ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef CLEARBUTTON_H #define CLEARBUTTON_H #include class ClearButton : public QAbstractButton { Q_OBJECT public: ClearButton(QWidget *parent = 0); public slots: void textChanged(const QString &text); protected: void paintEvent(QPaintEvent *event); private: QImage m_styleImage; }; #endif // CLEARBUTTON_H arora-0.11.0/src/clearprivatedata.cpp000066400000000000000000000116551145000221100174750ustar00rootroot00000000000000/* * Copyright 2008-2009 Jason A. Donenfeld * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "clearprivatedata.h" #include "browserapplication.h" #include "browsermainwindow.h" #include "cookiejar.h" #include "downloadmanager.h" #include "historymanager.h" #include "networkaccessmanager.h" #include "toolbarsearch.h" #include #include #include #include #include #include #include #include #include ClearPrivateData::ClearPrivateData(QWidget *parent) : QDialog(parent, Qt::WindowTitleHint | Qt::WindowSystemMenuHint) { setWindowTitle(tr("Clear Private Data")); QVBoxLayout *layout = new QVBoxLayout(); layout->addWidget(new QLabel(tr("Clear the following items:"))); QSettings settings; settings.beginGroup(QLatin1String("clearprivatedata")); m_browsingHistory = new QCheckBox(tr("&Browsing History")); m_browsingHistory->setChecked(settings.value(QLatin1String("browsingHistory"), true).toBool()); layout->addWidget(m_browsingHistory); m_downloadHistory = new QCheckBox(tr("&Download History")); m_downloadHistory->setChecked(settings.value(QLatin1String("downloadHistory"), true).toBool()); layout->addWidget(m_downloadHistory); m_searchHistory = new QCheckBox(tr("&Search History")); m_searchHistory->setChecked(settings.value(QLatin1String("searchHistory"), true).toBool()); layout->addWidget(m_searchHistory); m_cookies = new QCheckBox(tr("&Cookies")); m_cookies->setChecked(settings.value(QLatin1String("cookies"), true).toBool()); layout->addWidget(m_cookies); m_cache = new QCheckBox(tr("C&ached Web Pages")); if (BrowserApplication::networkAccessManager()->cache()) { m_cache->setChecked(settings.value(QLatin1String("cache"), true).toBool()); } else { m_cache->setEnabled(false); } layout->addWidget(m_cache); m_favIcons = new QCheckBox(tr("Website &Icons")); m_favIcons->setChecked(settings.value(QLatin1String("favIcons"), true).toBool()); layout->addWidget(m_favIcons); settings.endGroup(); QPushButton *acceptButton = new QPushButton(tr("Clear &Private Data")); acceptButton->setDefault(true); QPushButton *rejectButton = new QPushButton(tr("&Cancel")); QDialogButtonBox *buttonBox = new QDialogButtonBox; buttonBox->addButton(acceptButton, QDialogButtonBox::AcceptRole); buttonBox->addButton(rejectButton, QDialogButtonBox::RejectRole); connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept())); connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject())); layout->addWidget(buttonBox); setLayout(layout); acceptButton->setFocus(Qt::OtherFocusReason); } void ClearPrivateData::accept() { QSettings settings; settings.beginGroup(QLatin1String("clearprivatedata")); settings.setValue(QLatin1String("browsingHistory"), m_browsingHistory->isChecked()); settings.setValue(QLatin1String("downloadHistory"), m_downloadHistory->isChecked()); settings.setValue(QLatin1String("searchHistory"), m_searchHistory->isChecked()); settings.setValue(QLatin1String("cookies"), m_cookies->isChecked()); settings.setValue(QLatin1String("cache"), m_cache->isChecked()); settings.setValue(QLatin1String("favIcons"), m_favIcons->isChecked()); settings.endGroup(); if (m_browsingHistory->isChecked()) { BrowserApplication::historyManager()->clear(); } if (m_downloadHistory->isChecked()) { BrowserApplication::downloadManager()->cleanup(); BrowserApplication::downloadManager()->hide(); } if (m_searchHistory->isChecked()) { QList mainWindows = BrowserApplication::instance()->mainWindows(); for (int i = 0; i < mainWindows.count(); ++i) { mainWindows.at(i)->toolbarSearch()->setText(QString()); } } if (m_cookies->isChecked()) { BrowserApplication::cookieJar()->clear(); } if (m_cache->isChecked() && BrowserApplication::networkAccessManager()->cache()) { BrowserApplication::networkAccessManager()->cache()->clear(); } if (m_favIcons->isChecked()) { QWebSettings::clearIconDatabase(); } QDialog::accept(); } arora-0.11.0/src/clearprivatedata.h000066400000000000000000000023341145000221100171340ustar00rootroot00000000000000/* * Copyright 2008 Jason A. Donenfeld * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef CLEARPRIVATEDATA_H #define CLEARPRIVATEDATA_H #include class QCheckBox; class ClearPrivateData : public QDialog { Q_OBJECT public: ClearPrivateData(QWidget *parent = 0); public slots: void accept(); private: QCheckBox *m_browsingHistory; QCheckBox *m_downloadHistory; QCheckBox *m_searchHistory; QCheckBox *m_cookies; QCheckBox *m_cache; QCheckBox *m_favIcons; }; #endif // CLEARPRIVATEDATA_H arora-0.11.0/src/data/000077500000000000000000000000001145000221100143575ustar00rootroot00000000000000arora-0.11.0/src/data/128x128/000077500000000000000000000000001145000221100153145ustar00rootroot00000000000000arora-0.11.0/src/data/128x128/arora.png000066400000000000000000000370331145000221100171340ustar00rootroot00000000000000PNG  IHDR>asBIT|d pHYs^tEXtSoftwarewww.inkscape.org< IDATxw%}^9OOĝ@, 0 P @Z)[4mq$ڒ| ѲaȢ94eeڇ",a,6/6lzRt~UսV|tY7իz]}wo ԡA 8@3/L}}nSp?0?p1]Nǿ0퍥U88uAΗvh0{=Y\_o=R6J<$ZjNqU|/L}5B?88u+CL&wb۶a C R(P( @*Il67&jRՕ F)Fs c_[i:pkp;k8i@ z_i0H$H \k4ZIVRVeuLqXg70C7zD?88u>Tw`o@BIU) A c`PJy5VVϯmv9?88u׀=~ם@+T~ 1hoMRY~shǏN2/Upl|lO& ?U=>i B KRzvDJm8?:-__?oˏ=oݳ4ا5 m`&e`~o<*\Om ˫>r E)w?͏ N; H Rʎmih6+} F)_X:t8P19~! qibz?kQ_W{V.,qE**:͟OiN| >LO1i:B-5#mﯖLS١4>Ƕ!2 i٩IppPQb_fRЌB3^@8G9̎k!u[!FmNgku; ~?4 XGR/?)!-mOR)Ȥ7vCvfdx0@BWu; 0 O{0"1RjfI%썙g&vP(aZS./?0Z~bLb'TI6 ʤ &F?Nm|(BW]xGԡ!syD]E̿2 Dp_Fw|]fSpS} U񩏿۲0Dk- ;h-梂)d? WnZ:xx4M>Sʇ/BՏq|Ӊɑʗoꏓa -Օ%M`Y}pQM Svض/Ԓ&{[9m.BlQ%U&z+;yxZ UMS~IeO$Ya~;eRvyB>)M'aĢXLscf:' %i7Ng!}E'ޢ aI3W2LPP+R^ayJ)jϻwg6i $+!㏙Bl788uD?۾m_精ʏ6nu.?V_\ݗ D(1 B)mAC'.ץt3tv':SخjS|$8v|#cۖV EsyIm0_V@zuEW>)OP!9LS# };)l[B:4.n>PPlR[%>ѽ665VT鵆D*[z׎Ŷ,R)4u㩯Ɍ_Hlvj|Xf-oN ẋ'ݝLH;nI|oWmʪS7:/>Zmc6aF$~fudA {۽Ctpaޓ$0?^ko,oȈ.vnߗ \ eZ"jssx-'|@>1])~4IYf,*ShbC%i-[S> :O?AOG1[U30Yferb$qbO /cOq znzuҥE,4#m?qe6\8]lR:Y"Kft?Q :I<܎?%^Ij `3)e ~j_^.ƱhbGkސ X]lz:o ('Xjj./DP`ԡFW,~'b$jk C`ˆ|b^3E(U➻wsEJ@LzSү4] j#:Z$1GSS?8uߠl ]6.c=)Ν+; f #Р(dUj^nҷ?|$ͦ5HTNHb :RRV^g}o7G~'套}_2?hJq:1ܟ;BL#i)A&6{ Pyճhjd2PC?s:^Ƀwhqiu<㯺$|pK+VJqivr6{̇Ъ6t,{bE Zu$_z OYpOp災g.cff_bsZ˄J>@+uߓRrGd)7}-_I]q0 eZmZ@'; {L~VRJjt OA>+ `(U屯>J/s?x߽'G枵rRHժ8ۜ$`['n2!KQ J*j= z wD)@z]ƶuzW\׻9?p,ر+=ɉӗ8y!݌5u1]oI#Qof̶@4(5I0P}kb.][A#KFI઴uBf//dR|<̎1G!VR{O H)q]^<ř3+JBhC`"'4ML!]? ߿n}@zQ\7J *|Cy z\$[-uDշye򉏾ѡ؏dZmQ6B"9 \B[$|DуbXmZIF&3M;K˗tͳM up &7 [:P1>xpZ{>@_1h8ϼpZaƆ `fuXUۘ'H}oa}:~ʶZB;rYZq~,K[UՌBZA0C߶ ,{۶! =Niqx@_oݽNļx4jCX=¯r׷JE Gb)*V8;=/pK=7ǥ%u=;j) ߲m*^m6-?>6FN_q=j#k3 ) R)S􉐤ް/}c]5{z $~@g06,e!db| JŢ&I/-8~"/zlF. n#22P v@@(ty-ڇ1ĸ-%ۂXԇiD{){F2{U~w1߭o,ɐU f,AʠO`g= =w趺!! I~ ȮGy"9یT|=|OJ]X໏ۏd4AXzq(FY’[)=˙sqbNmzZVG0PBWVdG~y/ɢ[D{oO^/RСo;cך&_`Mo>Oj↌|clIeV<JJ)^x$zu]!N%C?:R5Y[3y!H 6p&gZ&;wQ`}{ĉ֪R Z^INW,/> &395ت#FiO䃠ʣ:9$bq)S/w' !0ma`"uއd݉{SgftA)BQ{]a>!-$6t&j Vh4uRsX^F_NX<3L{':Tbr۶I9V DwVd8z^1%|*#eyJ^KgSms,4<~7VqB)k^tg0bw[&{"HNJ7#Hg3 ȴze69B*!(AH1D(A-,t^JHU<= fiUU{AZ㻗->6'c.Tf|_W@]@jib1OV0DzG^x2qդ?_ɉALC{ןyKp;-$bff)Np0(Ltu嘘F*p<B( ^A aaH_-aoZե;o+%^ibXi$:$)L3&CwLlb1Q + Vz,wpt8Gd'JҸ dYF廆I `CV?>ժ'{ At^?z'/%=:?.%0S0>'cH DdXBwvXr #+_ nr JlAI8Jtn2~9mtՊw_ؖ7 ui T'1UEf!Tťer&z>m>t7fRCQ5MuZ^;VVˑju\/l(b6 I?HҶATucu.t"`:5+{ٴɁQ*mQJn Z= >V;v.T:G4e<u6 Octb>1Ofq)erYvniZ }]/ YN*aeH*^ +}1R2V.EQSR|.Rƺj:QS_Yۇ훈"{#r\ǕOtكRz˗k6v*]7bD[FgdZ牧^ge%J 2ri{R%eaggtr\r!)]Dr (]D3ظJ?pp.^< Tꍴ@>o1أ"-v#a{4ïd)V#*'_^8:UNVC-\≧^Aahƕ^8yfgOq8DpB(1 " |^:j+Af1MB@wELCp^9:p<^8ă83}a:p}$`na7ޘf͟x 0P#_/I<61itxWXfmLLӫ{|@R{0<˲oczzY?/7dS v:MPZ_؇ 7Px0h:c_fbAa)jJFӥZm[3ۆXZZ`l+o09X'3n=5Yf//34؍RR΀g8g0>^2ofRr̩gسw'?R4_Pչ9s~9|L]P3YT ˕:RtVw2Z:Ɠ:M@)%:Bx#mZnf4a}x QZr`Q jsms14ouF|l ܰxpPپm&,\呯Gؾk7b dGQB0sqZK_LJ>mT[P eXDI%^؀OD/D7*%V/+;֔s2muFG^dp;nBĴh`ke+ݧ/qׁzvi0UT*u^};DlPmˋU 5Z`:-*mZx-]uhLL?mr o~z8z3r|[Pt*3_nySBo)PS:^Ħ( gcc&ì׏=*~%8~B0-yeM(nj r5JYky 4.,P@:sGއ?w58NjžRċx%#B@t "%KkH% t;5d!Y$8ta~:g_a4͂v]5D=.˘H=kЅvy~9qf+R"U7]J:g}KDlVԖla6PZVʚoW3_v>$JΝQ+7@A:0-?g< tb|őgߤo{F"ɗа5{Xv>\RF=E4 B4dҒlOR3Wmj8k3mSEA%E@I feƶ*uH2dsa9Vn|/XR(XB&GPQ(Hd(g|HFSGy RQB&AF_XXFAS i;QVHj!2ުk(i?wkn5-<1` jĠ'+Kt ('ѼY|Vhaibk fPA9.)enƄ>2F'zvRz(2T𳰪T,qc4aYa3 mqp"R)R4̯gj 2I Fv v=gx$AxMD\? MZB|@)}9Bz1l˫M1x9b*M4q ܕ`r˳G!<70f-R~tHs9\aa9uG8Tk`r?agS8w=`WE(uRF 4-;LqPs}8+kMG =Ұ9_[ y+|kX,V U^xoSJm/]^dhx_ %Kkѱ]wOr1mOiۯ.mc~>`j✊*6 ە˥0['J#1zhv%(\9ՅgIJmyXە@5s/U-y|0\\-KIh~l/>@$QX%ՕNxwCcanHC F水Zc9&oxK=|էIj-/}V Rꫠˡo='i DBǒ,_mNXoᇛ]Q0či7%¬q RKo:K5*RnWAZ9Y_/,nE:6A| +`䳙~[=qXH)Oi/%n/@(v2Dx5 t"6Y+7X{Bn!CQ!$?!bz&Ѝ*px[G@3ĉ)|X L0ճ'w,]ZfLs-w}-e%Gp0b9|U֟TXҦIwZ/]oij$N8]WDf@up')7%}EL!bY֐H> US^)l9|JFq满őh#Y6)]OS?2;b͕%_V3SY(} X(-rya0!KT o=89 x{L`L} 8~x(r8IfIV.U10/j 6]]Iވ&4J_nfWi]wL\8OV1CoW%K+Uǽ*ikW >)` v=UÀ WVw4Y6W孍9|o^s{z4p*.-_Y\E1F>=\-yQ@" JryM.j溑 p|I-zLȨz֛̕̕Ms sf}ef2 r(eXd+/QH&G72+<{8m,=zyjaaJNL"*i3'H{Ԛ+5rrCY?ӉR e@r)6d>>OMO^;D_V$Ntݞɋ/׶=xt=fIw{bRJӟt)N<j7/]d676^LG.W(9VxaW3H6sƛ;H&eP9е;ZUfsKߚ?oފiUi7vʩ.*Ʃ-rY!}=L:pS]Y%o ђ41r)IL$@[j514n1KΉb>~z2ZKϽFAS}m/"jK~k0 %"\ңgtW*] N8@ L{{joHX{F'U1WF΄PjN -(cX&EIѯfQ~rH77 2/VW{ő!<%9R=B ,NV ۗ "Snd(CHɅ_pef^|5j0Q^˧y~+Dvõ6Ko) a daFa(2ݤ]8Rrlqju޴d{+@)fĩӟ/_~ Q/`~\C|x{Q0p @n_Tk(hpje+nXr]f^~LԎ.xU"~9w]o ;?P~p߿>߳}[wceubƛ+˔[y+HxRP GOҨD̩-}g/D l~A햞_ 3u{y오&=[pzeNA#<;{zK?zJ)精2Ξ]hwd>?*6Xhd#??Eݲ,0**ZIyf c`뉜2GOPK^bkz#D@kDv?j a> ȝc*|XN߷Q81tHTPӀhxWZ׺ t r fshaLZc)'\_79A6hһWIyØ7 26x]Ӵ6P02H'XCdZe^4=oAS-3l6PY_rib2dQҩG6ւgǗu@Vae' 9{?k]װl !}<pi2Mұl]C)rft <3etiZ*"UiCĸ_E 0{g3~Exk ?Ontt!NcRDm#D:Nש,.S8Kڹ< skϬ^xKՅ3DK}@ {o4n*@~A kHw{ko{Lϻ +{[`Mc(í7juz]67*YsJ^zީ.VI2> =v̍}^<ߊBhAڥO\/U[}5EVi:ڠ-P]cvJ ;kڙ^%Ԗfiɭ,7s;b+NjߋK|DηtC-"G1ٱ-LmUl>${L_Oڃ->aI;[Wx[;mhwNL3>p⌏o.Ii︆=(@|=If@0[V֪ @h@\ͷN4ݖy[>N85@[ :ǩ?4K'u&b|@XV&'4t@'0u&mW;q n=77<;) IENDB`arora-0.11.0/src/data/128x128/run.license000066400000000000000000000002721145000221100174650ustar00rootroot00000000000000run.png was created by Everaldo Coelho and YellowIcon from the crystal icon set Crystal icons were posted by the author as LGPL on kde-look under the name (Crystal_Clear_action_run.png) arora-0.11.0/src/data/128x128/run.png000066400000000000000000000401551145000221100166330ustar00rootroot00000000000000PNG  IHDR>agAMAܲ@$IDATx}tUն HU" \vԫ" ^BoB!B!N:ji^ڟ Q.*Ck\3iu5Fh?I$qeTW׊ȯ;? zs zNoIG{t"_Oڵ_o"_{mmѕdHRRZIUEq7)[z$oi;|W*n[$OTd /~/BB"y!Vk O" r=37\O嬬ʆ/_EvFjw_y}+UUՉ p5QXX8$-b O?,~gQJ:ŝObb\pME\3EWOgB۷9\WwQ\W ֞KZ.onbDq?py߾㯶[?)m;ph\MM=`hp @]7(5v8'_~mmBaa]eS7/ aY &~ǎ_[{I4\&kEpw;.XႺ |\!t#M/rɏ\]W}\ZZ)*)֟;ڳr&b Q*Y+%"[][%2dBTK*P+V_oXZ j&I+:_ӂ%֬hJ>[;z{֋˭VˀW42%0?@ З'}Q&ꮴJJB :"pL 3OalMZZ7;EbMD[?"C [/E`HK%."2ȒSyE~i2.t1gB77d Щ?@$8L?4Z2!QgqU=.֛y'\cNbϡ7gab%#gp%F-<|b'iiam lDA.$[&QV~f\`AX{縀n_^RT\Cv6r!w&"v'勄V$FiT&/Y"+LTq-hzZX^$@w97~' qgەͼ>6>d$U؂fxUdu*U$֐ejRARSsĎm:@; ZZfdNvq~IF s|Cx] Id8 ]V‰\VETO!íHbFvFC*+/0PULN!A;M8L@Npp03"h̙MCè|ekkD^^RNPG`wm""Dϕ0 cuD}_YssEIIEeQAD&"\u+u?R*<<=<. tYpiiJ]5w#4l+긶~@ϕ5_ $D&dhIo_lg{yy_ˈ 5^PXTI |ͣ!:6R^,ŪU4& ;\]|Bq:e=OHpc^&_[[wXN䏳DDLEtSY:D 5*gd+IuGekKP6@px/I 'h%r*(Qtp0(*#Y7 7 &Ҕ,qS/Ž Rn~D  @CX_!@|:>Zssl-a ?kaq((|^A53N Gha)SEdd0)m=sNxx¿SJ4@  1qccu e WH %Bn3"ݢhYn^Oׁk kձy"+B' W8%CǿBV>,P`W~"%u';G ƍ Ǎ%@̟Efm| *3 Ir *z}p!@8!,O [s!>:e&$@,GWzޡßi]qϴiVDFS^i`t\0 dͬM> n  Xü,X3 ,H}+5}N$I^( q70S$L"HX!H*"%P4T i$[;((.%Xx^>~9stN,J DlB%L[R%I?-2$T󟣽m8e.6n9VCYd(}u/=d$}|,ԩѽ>њ H^n@x$ K<# `lPFQVBs] {3gʼnyLoΥ*4>n\0pgɨw.&@ʥK~i|qsҭSvp [Exd%v]Nu9sn U60 6wXӎSД!MǪ$!uޓ'mPV6nSAz&eHxҘ!aYp#F,}f[.߰Qgj/kIM/<UK1e? w"l܋obGYf^%F.@lq7RFW FP%4щ{)JYܾR<ċuܑnӆFP6TF=T"O%'#|%$HH%~ψ/|z^.:KѣGψ mOc! X# K঒@{@d5`soonRI#Ssȉ+=BY[{v4%B$B;l@7Qxj]gsDAB=`eqٳsv$3||X|F, 6{}lu\)d!MLa=]6bبok}/ N&+qVu6szxyd]ø;T ?_|쵼~ؕ#{ Dptc:-I¿'x*q\J%$'1qt':&O<pt?pYHޔ Rd[;`Swi%[RjdMufqpSW)-h?BP,KJ[*2HsskDAAVa ]Fzyu"ȓVZ3s2aW+ZX@"=a{Hwo15 %g |6|sI2>v䳼-A$ɝR*$%NJ7WG#sYUO%3g0xd]H#A"RVVXX]+LV@M n& q >R5돉C^_]%o9BFFT~/F6j i:ih&[fZbDjZV@ SP܀R&@ тXlر2iwuVY}(`11J{ '폌VRx#Z+ {\"PchXl` P 0,bw+n%ypVnfI(Ъ4"mCPCmVB;sHk [Z@F7PSB\'zȻ${:ezěo~޳Ojvy敁zz>q|\ K((f>KZ 3 S#tNh|502snpH e6"s UP}\Įb&cbayvw|꩗p&:WðEM;qcAƏdaLߚh.8c+=wtpcXH,;(O< :O+|U0!EB2) &X@ ;R& I%n!kK, BO'oAl'8*cִǺϚ-q@;- >IүxpjZC pM9v a#Ŷ]vL-;ŲUGmkmܿ)l V|g"@z&oRr1[ۉsk$&Q'o߭O>lqJb*L[-toT[N QzhW;D7Ip(>J P*U3q "-;.T0%{@2 N!Cn4+k7MZ7YL|o5r^O[&ٽ;iҌMl Y+6` cn[.bjND9B]EA`_qRCPl|=N-"}u/]yH,]uH!l23o>ʽpnᾶP}gϾ{/3ڰy6CXbb­_i-2`.1PfF 6tɭIki`fiz%aq ૾~=v‹(q跪~F]d(.'/#-%^>a賲BZ )66qoE|uum|UUM|QQIwZ}dOx~8}مz{Ļ=s7{kOZKP1 й#H&hՎb9w ALF'x16|c׭^m~==jl1c>"|Q6a>ᆑ١;d@&er-'u'4XF}s^|u(wv \9.@GOAa q6c\MeE`Vz|t C0C Xxy׻weeoz;wکS>./V<=>B=9?nQQi]@r#r |$?U;U|1+AFlt8tx`PZ}t11h(UPT-Toj.SZ׻uci8lH}^*,;v*lr:rppd- .&mk;:8x}&`zQ$2D;`F" лw?9\GLA ȀaRJ^W֓KH$^;G^+.G{Z&ҝ*_B7q#So.訩 bs#]jq9fMz))fbݏ?^7!Б_`eK#o:niy19s rʩ2QԙD=UM^PGIG'l:0dȧd!VHh^$kXЁ0 &~(Ƴj.۱>ڡ7`&H{S9-R*c~ϺaxXܵk+7ZszPPhm*ۺsb>Hp",4:OafHi%}lBlA@]B1*?MymMx$=*_bIHZe1G@W :b3*s#^Lk@NyW_O EX kqʕ67(>EeI6MoΜmm֟o`eIgIg^YY+Ž-* p/ϛڮ}|c 4'*.zDs8K,Z 2=֑j;@WGAg#)W=7YxA;'MLlJ [}xĭ׮>ن5W 0 hUEŵ7t=nԱȑc>ݴq7psȖ&e>N՘߷KR QpM$Txai(7K\ Feu``!֓_XTq}4=A~8lVV%ks XJQ1w1qR/9 R~XC&j㏿QtiiCa8ńh#O1N14 8I4t} V]bnAdL0L7Sf*cw0xF4rpz2:hZYpBJzs-I z4W&Mx`;?GhZ"a%( ]‘1k3>rkdd/{ub9e5]*~ l"ƇonͶ=ۓV~ujC&:cx[\Vqq @odMLdi0T8Dm 3mOG&L𒕇 "Šw&ο޽{oYQ۬QN푥W=2Qެ|y{}-[),,l-hFR׽{` 1rmTnc^v}Y0&>Eznu}!Kk֬_r@1>0,aNޏ'Bs9U1X.ؠpTф, 3f}Wsw*>S3@ʔ  I;L;JPP iڷe]}vYf=z4 lEPYD٤[K7CdYDyt~ߙ񓖈mSI_<6i>3sٿȦq@C]i(Na *#܅'nh\v]7E%L Arr7.3 gg;;:ad^d6lU#<0,zԳ*F>jQ=qz -ey,?qXE:mbʾ|'E|CV*z@T>}'϶/4ƭ#Qx!&'6$&~[ %kjcȵs(y5^LnvH 19ioXnll:=T ++S}'FH͆VK4$Y!FuL&F Q*MM$b?y$/JBi'gN׀>2ju 7 4QØ<Q0Έ"ê"?STaQeku:DjXSA74Ĥl1qbZ/Hm.MkR3{`t%vCo?8s"pP@'yV)?+Oa@q+lW)Z\\~U :s p`nr!!h%{/ ^aKZhu 1f̛n2RSΚ6rlM@6=@iT[wiDd:d1`3Kh r%.}>eJhࠇ>7nb ƙJXvy\hׄ~ xk-"g5j'w?Z2/Z`l\_GCkS?`~DȪd *Dy3n$sdS /Z:fLk炐 !sGS/ͽyM8n:u^zyMfh4Yae_Cp=N͎cB@Drj)idwI!w TS8Fuy&Y-,~\ ݺ}A1ЁMD4B#K⧖|--ZPL">;ť{M׭ۧ[u `3yr|Lb$hkknL&2$ "'bSɐJd6< !-{s{.3R~öoIl3}Z(mSL@nu|sk{{e:u { g"އb2}w]6߳>ov,4iCߗ~F8 !:$ &ɐ\1bĈ2=J*k Lv?hQxWh'4uůnw3{7Y>psHJ$wAi'dᮧ d(kt@Yn~M`Ӱ,xA*5o |@ &+16fy칛se.[*`)z졣_|.6!R]sH qXTri 8ɭC$!*Z!V8\+B:yx:L낯N73 3 ؾFlfLl8.xsjis^Ǎ|fn)C+C t>Y^:C .TB<<>\ w//➅hW_+>Ib1Mć-kx =4d@zW[2"GGۥKa ?z[x O#En `jp#mpm x IQ'|c=|ulצ$j~ݻgXO8 !T1Ru474E-ĀtNY” >V:j|UCk+hm\hܹv Ym߳vNOO =c<@Wg#'k@1!hM,U@ WVa9DQ:Gn'|&} b1~\ş[-l#y jsŮ b2`TB 0W唎X5Z.o %pj!_ HY h*hv1}lIpr6b{_Z:V;#~2_D@cKgn4 G K%j1R.sQ5]DA17h9>;,2 {hJ ,V =^zWoN&}>~ͺ#vM-zfa ,O@?HH.1yl (B|;+_N+߃Br= OibG z.{S~ڵ}h+yRc|U[Ūԏ׍||$zdbPH,i%=(,5d+gt4 vH=@Z΀ueMW.(JO;|Z(ӊs1{t41s#ZwߠydZg-⡇GjY[V@a4J{7J#ڰ$[h@s%WIC$۰`ڹ9v+_J΀\"gnƙada Dfv"9e70I[CAg-ZG hF:F YtR9K @(s廀n^ֶ5FNt$Y"{@6ʤ!y5F{H! `+Yv%Ġ$"S9wR/E3>Gmj _t8ptT>׊mhu멹F^+pY/IyE}Z>~1(9lZLҳJ(p@| ĔQVQaEhD:Gw^ñSiqL kEEikHM'kBQ/3V uq-n;d&A]%N~szDt&H ݺ6(ɟz/mݎ$=rAGț/cZctE?&:+r#"ٲ4mhݴ 'СϜZ_:[5qYcӦ-pwcR1@BmVs@->QY,!6\gmf Whn讪]^AtYz+ v&fVR=kV' j}1\k =@cycOƾ뷘1a [W *Vƽ@Hto毱 ɒ۔N(0*=ͅQ(`ڪ"@j[ݢquc[km[?‘9@LO)ի?*xG?Nü%%YK{Fso+ LJpYKVShpHt6E^nڽ{o֓z^z彺K)-fzv|]׮g|^^d^hd4T&~<6isbj(Z:{L|9Y1yW`ն1~zn4+#|l\sO>F?:t.WS4.bh YC3IZO|۰)cvrlʢv:q/Xx=aO۲8k7 L. |%rLEu:m8)p5z2i~Dl_ǡEtCGhNoHխ-7 "@pۻz:n T L68<OwpSo;Ewԑ2y80:1[K.n A*ts d|r@$7auJ&8khkcMC '[LZ?y5+y7 ]qk`ͨƙ~XΡ7 ]DžX]-BˀJ2|=r#hRmM똘))e7>ة;Io]DMPuoGS|E6lN8Ϝ;gR;fz3,,ih,W2nI$fK cVŽ::WzAb9BuR3'; /P MYǨm(Iyr4 $k̄=KBxvGnmvgm@yUEP?>OE۶WBH f_a !̣IENDB`arora-0.11.0/src/data/32x32/000077500000000000000000000000001145000221100151405ustar00rootroot00000000000000arora-0.11.0/src/data/32x32/arora.png000066400000000000000000000044751145000221100167640ustar00rootroot00000000000000PNG  IHDR szzsRGBbKGD pHYsu85tIME 'IDATXíi^U.:3;k;әvfB,J@b4 DvMj !, (&h0 "PRjj7hKK;K;]f3n޳{P PГo9 u7|ZG{q.6 $6AJM(R F̡CW-?kokԞ+4rڄHJj$ 5Z'$ DZҢ;;okjᷯ)VHIj$"0"p@*ëֲs׻]tNTRWZ ! RJL`mB[)?EIWw^! \wrښ F1HHi-’N_\0hl!hӉAjԊ(J"B8!pI]qR,]Siq'ro/ͭ7]~RJIBJ%R%88(#8pLg2<k-Ŧ:::/?Z;yeۖ=]kio)7Z$$%2RŔjk9錔jqR_@`lRBw9ttOi_{MTbFFQ$Ԋt*E}.C6%>c%PFd2RC"@8`P[u/雗3=/PJd&5:֤SR$shl3n9H*-hg|'\T:οro\w J6H%PTxaR|x);v#i.4P,8vOUxK>XaK6 8sN%N|kE01Qgq_~4dk,=e7P,ԓhk+=w.!KK{̜9|qsM"0:!5R no0O~>wLxgɫC:Z5Ÿ¡!sr79-H)}(Ib:Hl"[s$0g8tD6q"L"Idxr 3QF7+Ul&|WlY)90xe\`2AɺDAȦ6oً8C4։q]s:;j1g{qHsf!5ã< BtpRd @aMtaP[v IndIYbo>Xu9e%//jsl8 ضuKG_n˨$Acb6S ޾) YvZs/ڕ-==qwj1;D%p8I qĺN\i yU]]BDeO? 籽6 "LH2(!uO3bGy˃]˷ʅH=`gT$ku 8 8j-Zf~uO<33;{\z);0lGs.G1` zV{atcw#k“ё9>>|穷d[Ij(cM-./Xpxh4;jhJw{M@@H?O2ku"{uIENDB`arora-0.11.0/src/data/512x512/000077500000000000000000000000001145000221100153065ustar00rootroot00000000000000arora-0.11.0/src/data/512x512/arora.png000066400000000000000000003002111145000221100171150ustar00rootroot00000000000000PNG  IHDRxsBIT|d pHYsnnޱtEXtSoftwarewww.inkscape.org< IDATxy}| 6˛sș,IQ7Q"))eDzd[D%q2d8'xI$9,)bI)Q\gξWB(^] BPnRB)XxdJ[ a8fztAj3X~Tk; ]6'y800p鐿y菆XTkew&{l_)WCՃg -44(*՚Ap'h0u8{Y8T=Yih)XbTk%O8;67 EZ3a'v5W`x|>|>l6lƄA@! A cit:ZZZ6Z66Zl4[כtt2S_|PvIc)B >DZr[6 F6k;%U1`@B(bOJX hl:zF7PhLWM߁-z"^@ >CZ{vp/͘&b3o݀Rʸl ?(SFcMBv[&&暘1;l33sh:, ZXi_PEƀB >AZGv˥"ފM # qlv! B@P^]ʪ gٴW70WobvVNǂcYt:U [ ա/r4Zhh*ڕjsaݳkW0ȺR_ !hBO @#sq=q 6M4-՛70qZ G ҡ"G"ROb!뮹֍n&}; R>v))Jq*X- MkBYt,O Ӷ9a9T=xjg@CcQ>{|Bن;6K\"w(d([ې1? j G50;@t:mv ˑ v^ɯl-vg4Zhh,}={ zN rU~$@<Y̾Ot,v2\z,˲E3n ġ#-44jmxn*sWaUdv  EH O Rԝdù&f 5aYZ MCՃ_ZhX@T7+mk󦵸(&b)@wډ L403S\~ieYh6_kCUjX@CcP ݴfpva˦u Z?* 0/Jծ"Ov:ffꘞcnvւMz8FA @ZWS^݃b6DB t#(_/>zYzb`zٙڝ|we|vO_@CcQ> !̊^];7Hq \t@eИT5wR7팍!ɒ'de}:4-LLً8y힏&'~7~ >ّF@Cp^d7lټ׽mrlcK+F=:ɩ>}'NGU<;jXZ@CTkyѴmBp`صs #6jƉpt{=rW,ߏC ,0==7:W-~7~6kxh#T!êޙ\.ޱEO"J 2@z62e P8w~/#WFC>~QSsB ROF\m7dž Cp w@(@['sPPP:K %tZ_ӽheuO}$5 jm઴mZ9ߋad?E@@.9ږi鏾$s Pֶ* i7 W܊{ô3!sǔr1 r 6^nу%Y L?EMj/-~qLLLuyjY~S?5\{Zhh(R&vo[AHQj`E.A!o"3m4u]qu/@_KB^fW^9'Ϣj΀eY?Oܟ Z1P@Z[ Is|&c+k:# @!o~6@-ғ>S6?+R6Ee |'Nko ,+'G)o~Ӳ}BŴ!ЈAZEצ9>ڷƎ{!-`! 9?#Ģg|/XX5-AZK9cڕLJ?잴-b!Bk '~v]^^8`_hw:8iLL`rr ͦh+Gfހ>8sO9>[1jςϑ͘(r( B2Rw(!W=^"ֿ Eh Goy/Lcvv33iIL~7%Xdh!Rfq-oúTs YK9&df,e{wMe/Yl fmFs0O.ncbr vsys@ }q c;ч,R&cɟ(d n|+GK,2B-wHEnPn3%F,%kbH_lW%Wd%¼}ukW`5fXr RU /^?nnF*hJV4ǚ߇-r5+E>o[|&Hň\κ3C-h?N?Rٴj_YLgjwj099f}"`ƲFZ{;/HD;p`ĥB>7KO>^:[7A@f˭:?TP 4 pG@ĥ Lv{>}"`ƲEZ[֦9~[q+`JydQep}Ђq垀p!Ѝ$/ x\*hmo@P'.\oE)(DLĥNlˮ3 @cYR?Hr. ?!bCCydL̴=1ZbY@@4D&Eχ'T}bK;ñ\=Iֻ~3?)-z-4)~]i|Z|~dL߲'`p3ʟp2wv۟rv"ۗh 7 50 6ұ8"`zzsI8l?pX艀4#)U} sXfcECfqA^*_ ] "[r)w2TzrAP,cRR)˷xĆ0T.'ibu._~sGNr 4J-4*'|(ͱVඛF.!@ź-4MȟY.b H 7ދJz 4}@pHT@۩XY  1`Tk=P*0<<5|~}ov3v-4 *T;2\;o{#Xb4/"`C FY/*oBhU X~3R;p*}ZNX,bdd8IC#G_{+9E񫲿TE%kRA+K* XBi@~,+Ah {\m( D!w_wD-A'j,yT`,鱄<}:Y#ͬ[ } \BKKše>f)탛]sbR2^Y8)XW6;;iíVy_oeHГQ8u\ |v f?k%ŒTKȃ.YJ C֯';N0< J )aֵpŔJ$o4/|z== $44ҡRiݸv>Pb@d^<픻C[ 2ueD aexz,wGQK Fزe04TFPP=|ت#W^uaBA %Jf3ק9~MxmW{>kPÑJbn*B3\?k=Lp0D2n^㉀!9c !w읥E@Rx$́ׯC ΗJXVιeHLl럋هtkcvg)BX16͛Ɲ-ёdYc ?'E@F2TxcW }܎l&ŨLpG4*Rj'A`)L AH?n8`DXI!#ha?~U6 Ja:*m~7ͱBya^ sF$ByJ8ZfsSm|_^߿*,5ؓĒyu+0{_?a" ,,B@:ݯ+Tw r|лozѻ A6Dq>BE@Bh1ШTkw8mw_x!GhI2HnA/SH#>OYzƿ!7~@>@6rYmL6W}>)E -4jm+ n|(x6!?xҏi6ƮJp=шFY4ئ3- (K%ڱXyO@+JVJzlÓ݁|}o"/2f"zdm%r?6dA{;)!L3?s7Q_@҃!x[rtȳ=w]s$d-%w;FYlY?'`ƲN׿=`|UˮX3y,V" Zh *گx2ͱw6ز?HK A/Ap52^gK I;a?_[&$O^*hrYf`q 9<Q}e1>> %P1!X]@ BZϑwnJr`a]>$!aiAXA{H ?hI;8RL}ĉ 24 A0 ֯t ά]{f"@-4jJza[16ZG eaC_Ȑќ|cJ_f;6,kϿMe/F_sF߿9pՊa\NlC~胫1$b1}xϝa˦@"8B+=ȪXa)G:4/,%v?MpTT9xk񻨤e_ƲFZ{o9};p5|F$aR:Qx GPM 4cȘ B>o@\I؜I[T+ R6_}#" zEMNdGm IDATӣ&I' kxi5 /!Ǝ~W!ϕ> h,gT3&=v\ē܁3xGB}q(`k1g!~fv%\?SlQ˻YBFH*I\?;>,mW?"7maPIP>υDȢ?A @Z=ӟڻ@ @4b@O[*`%{ؖ#b\u#H=%ЮA\ +{l6 h·PX֡-4jmpyc3O=z*р<éi$e825?`,?\Μ].2(i]l_ĆuqذiP Ow@cQQ6*[=7`Uxݎkr,8gM (Z$udBTp cc~ BA$,K/@~KN9kw;?m+DPpSe (= K̟[ÅnX?4 rYҷ^Q? GyW p@iBRJv ؔm[ុ&Y)1H0!_i nȋ_^-4P/ ū}{=|;L`_tˬ}.hه+yO8o?(@wJ| LXGwB2'hTk_ DX _pqOxFHckq!NbBwDifv'rY}X0TOt{供~J> h_$ֿG󊤚4UJzOK"O/8)P6 n+H70 Z XTk|IilWLvXZhjLۆixCO;?">cbNI}9 _ނ9pJcU%\IαaYlJuH gy!xWvِ"OFB>A*^%-4zJ?GgVO=8(wsry-HCsG[ӪV<$ށ<x=˅;@8m'0XabF"r U] Q]Rݴi8>]("ȟ3,JZr!u9SA,pR?e;Wgf$۠ K>0wT>={.٬V|FIl4jܮHffz҂MRLْkFjT.M3@YNs ܒe>^{ģm U49¯FcY8F"ೌON> / I`~\#Ÿ였h } F<BC*ۃo @#*(nڹ+w x'K[yFCF~q`}5-Zx+B&xޤ Oq9\\f鿟0l!oC 8);x ~鳞ۅC>K,yޏuyCD@4RmwΝ\;nݥ%$%T-P$Ep ).r=:,b";<){>w ɜc&P%pvUY8 !h6]|T.ãLsC}xGF"T]'i0܈k\<${rd)2Ttu[]#ܙHN}ȟ kX(RXqϛeSY$J) ߿O!ނxB^E_H t$ "re[n$HX27ʨTk7++ӶfC/ h?!.GXrk:,V耀De)a(s\)Ji^jښ'eE-:~ԧ{>S?<>>'Gd2:iD.AVrÛzzX1@@8FߢR= /߅+w z =;$E0dH]llz>K>1KF]O\zP,C ޘGKnގ0L& NaH070Q2 >#YE`ЈEZ$?>p/6;O+ 0?@J[|Yȱ;H=d%BIF_r%SP(9>#h0 gTb1|';N*%޺==p &a#6n-#M$b%EZ#?M;֬ď?q%e'x+Ѐf#tִ{\h0 \t[a| T:v{} I`E| } eݠ1%~qj7ʆXd2NYT-;;֫Ӑd@CJ6o]*rZ_ƹ(#멜;G1DW:/eF٤슽궵 $b^G!~Hm|NFދ,`) %+Wuغ@R@{4Tk{5mݴo6!wo:`/ bO dhP?4<&aP o~90D$5,NbkKcϡwj6ϟ7Z$yYO,<`}0îh~h9>̮4& ,C$ uwyDLJ%P>m~i ޻ûnV wQH=fuGY񽲦}:`M{ż05\pL 0@7)"/CY(Xr! T5gioUWnonK aύRn]--ʭ $KY) iLL[*Ӿ,OG2C|u4NlD&U#`aA,{:1MCٽ?χjξ0i10 iSg2Z >4A eJ6>wN>œ܁m{,ͱ?kBBlt yńR#zz#fDffRa[(oi;^o_9v3vxI{&,B w@ %ޡaJ itڋyl&Ⱥ!YGA`Rm՜#e<؝X;>7ƘF(ܒ'+YBX#wh)G]G3suyCE=(ْ*\obn︚+0hcǁ2;ifiXVGUk9j.k]y{p,< !e`"Q%WXOrmOqz4}CQ{eL 'XLL['$`CϟR;3z`3!^snt!p@w$*FWvd"S,@A,T>M;i{nľ=[>%[DJ)l!$"0^FOkً!nD )&w_˵X hNu(fAKL.(Ew>6ZV>{ay͠owa;} y/nJՂ^YQm hV'DC#asG Pa?I/`RtIb|ط{k0fYRA(SO+!:򏷘,jٻ"$ FOn=adqcif3|.:`=7ufzW*{۝^|Mk!G{AxgZv?'|ÂOf5H8f@-8*.~uU ~[@‘uLrxu]B?@l`TL=Q@5E!!+ ;;Pn=X )<ʅzbriA'E#(ؼiϽN! `4h7 ܗ1 Is}%* Be ` R{Zݴ}z<Իbt@?^TɟkC+X݆О *&4@vf]aD-: twfvbro8 ^޶T^xIwy {x7}o:`R}|sݴs큝`ν yqwL(KEqwn~/4YNo#nbѴGnSLLQ ]eYxČc Jy߷Lw$X9ع?zMc|5pЄN@<+Yaz`7>@bbCGg` ROu!w6]>ËwQP0a`ވ'*bv%#up}Ib٫Zbu?~F=,(u"S\$qF :cϝM؅^chIٹc^x5o8'bzoE J!!BN׳҅|bAZD3P!}\\z: Fa` ReuXE(b8*ZP u)#X~?d"Jԅ~"0"P^dc[yG4nB`@wp@Q]ti_h`jj_?vaxw\u[* `㆕eh4ZpP&,z!SX졀I:UC,e)uAZp]p ?w$VWc}=D!I{$tZ;^'͵A~5K[>E׉~渞 $qt) xs"$;vCv4lݬ xoc&v" V8N"T@ӎYpUfZ,Tnٰn~]mXC{!.I-u"!5' N,YzЀ-dCXGwo`,0LSgf٫[?WnE,EɀV +sB /e5A JkF@bgN"rH? h0Tk&ݴk&wa\]FR_8wnr b oC.yCkm/"KO'CNa=@"ӯ'W+^oa"f}~N]Tt:dL #=/7l7?8P^gϣXN$tUq!8Jv?XW7 7]=p32 G8vs<䒾G sĩN!O.szBղ!a"@w͎=wK ءU&g^A20F n+V )w#g!*t\E$|qɝ%CQ`@Q~_PgT@&cn7!?qo*ʼwGAwt-XZB^/=G*  ,( ͖-HXa"k~rCYPʇVyfzoYw'/RI'X8Q= !l9У j7~vJ<Vl\Oa-̢'T :e V>g=3KyMyR*;v?<"A>7Vbb)\7…ӊgqӸl*]3[W2n4(Μ(o*H8w$1q֩})?IEt:TZ'~>)BZ+ tI+W 'MTq%r#QӞwZ!^UY'(!! D1T K{ IDAT)xRD+o]B!\W+J=-?12RR>NQ\ —X9Is3S/ ڂaZ *8/xo7\a5~}w{CEkz1J垒}Œqs5s uEz3s`ugiƁf7s4|l\|k $8reVsa.ŵA/\HxBQ`P֮C7bzN9H럅OʶW+ {r ~'+mGewb$_ {%$_p݉x؏~uQ[X`>r4g^n tB݅ﻉ!/sHm<{%(L!o@,GXˬ/zh@ͭ/wT_Pt XX!g7* oHRllC> U6տ! zg#? frUy u)(.\PO%' 0,X@>rto>r!jq_29  .e? !QV?Xdm}aы__jn}3`,{%j xngo_aCtXq|.ؖ:1^?`7~ơ_ gcB ?~Aof=ss tynvGv[8h@8|0p=j'Ge3xA 2rl/nK_$|gjq'[ɓtXAFZ0;< %(=KŹ.۸7$ʯq_;(@M`MxHUzZ֢ 4?ĢzE@X}콥*^.L+ ?Zm_ Y؟<X_@ LԕrPخ/fmLC4 TyzR޷dk"xh08|hpoHW< j|snݼxN 9cC\,z쯞7?P ~l:H-s=/Uϳ?# NI14=aynG)ާ2O@H֟i~@Dž?Kl&3ݱEEk޶Lګk$@i5p ܷ,~ǎ Ǩ}$FT h;,9LM^|.bw܇>rCOե8u|l9o*x%bGEzef Wϲ(:yN9(C!݊=WnCF~՝|GV*r=Kp! ~Jv/Y q3 CX80Z0Yѕ %(vzv ϽbfDD֯u(Ϩ\z[動n%f3S % -zGVze᭓g1; ,\*݁Mq@{l <$ ~_ |!I#Js㇓[9} J[ᡇ D, WӱƉ7RkdW~T K=n^:fi e0Ea-['g^(DNQE|# wD6w8ؿ#&Ν=W_;]'̪ طV@ >Ǡ|S{'@7sA$AJTܙ Zߎnw[gharl Q .[,y,}bE%gJnXh yAf`>l/]k @haC]²9E>@]ljqԅ{.^QaE4A+eAD@S|%d4詷^T|@8|Ӱ'DoI^Yœݎglh-߁B\_]<;pH!Xc_`b!ue A_[e_v Xt4t7? mߊr|e^=ΟWp*zʁxڕxQ*C,+Y:Tp2, )!qBjh@X*Eږ߇<f ^nf&T,^zMLu1bffԎ_!0) n}V-F""cP#yE)q iRo4Ɖ3oA/c"8&ߢ~G ٳV?gA{V"|=CB,~1RDږ=,&[)<uAbv]44x7PO0 Nb~߀XJ[ 1FDD]7H92KpTX,H?-\7OM4i[oB.\ϗ/F95h8{TYIIBɟ2ex~P7OۇE7)\@ !I 0RoWcرc%sxg G%8À_GP0<4Z$.>Ȃ6%-R?Quffxٮ_sA񆓾쮌! [Z~ߞ & IP9Cy[+y5ʡ!Lo)$os̃ ۣ|شi.ۈI)E⛉$#Ɯ98AɬSs@aEDL6s< ?o.@B>rt;Ugzf'N!oVn{j_o|5w?ʒXݼrK4䏯*?moݫ7cҐ?e@%akz;/߈Uk\Xx\9T=\%gF`| au0,wĀP(\ {ܱO1Q&oR5hHXɩ;qH%L@5E%=dTkBE/WKI֗ńdh/@oF.&=`xlecӧpUqp(pet!ws4R'.T %OB%B,Sh O!l祉i:xᛮߍn<,%en/V- iLLN#(yҗ~-<y!SQ9h%se<t0HL=P(jPXV':P(Huب| Ε7PȮ^dI"`$\ &" ºx|hYD$ a;.\Ĺ 8yqJ~?QćKxc41 B-bϮM)e$.eCAWbf)!zwۣnܙ!o((@]?|>}{whVs&ѱV7^ Lׇ{!G~T~{?,Uem3P}9qL2P,:"?$KZ(#?w~.$o{wo&E{6Em_O1 xyboY'pU$~g!{reM` _' ^b:l!x<7F rvP*@}kRW]Ki7q03֌I먺;8Aebߒp=2 %{qWxBd5<2ɜ D @~@A3g/vEaྻU/P >_kh?8Knϐ9*E"ܾL{"B@/ WC gR M"zcce\yV#NW^~.NI$8:@Y- %M]'2չp!r)lX&IHQb@<uf 8|/MtvMăWn$?l}Jo><i'fo=W Gr C SXzj##}ZSw{)Eސ&0T]3.1rsx097_eP,ڡ6_w)񜅌ISGسB 5P(?B*"B /hfW1\6G6n$1/;^Ǘ}Kg{y#~\~˓w'e@A+@ +>3̐7+`PxC{,A1߻lǺk#_Y@>_| 3|Ծr4r-Ya} ! P^ `dX ֗FŸM'$@ 9Z3leY8y|x!ã܄6wHH 49u"WR~0̳pyP&zXreb䜫!D.nkK~O=W 0~'|%gõ777GU({7?\slga2XuҠ wBS?+"r e^H0@ t} -qԙ R)>t3֭])N[|sj.ȳP<2&QV/,`|}ȟ'xE\C$x0M0++ ͂'=G&X:bvf/7 0 c30{JpAyB8,&Xae凕C([ϞZQv4$*n̘cp? :⭓:x[6Y ɋ%Iɟ\| `D:~!' .StہGo@N/1!{lh@)&.xb<ϞH\o qvTaX/@dl',`dX>WBVf@'!%-"pQwhKj(J I|v*0u<&B~4B-e{ԭ!}E2я*θ]Q`wz u>iطwG+ ©'qEP̿p?w|Lr0 X-GḍÛ!pCR'츁 ``NN7#x⡛14xŧG=򷡩p@kЫ.`Z) }Pq>06/NW >\ ϮN'*3conh@ V^|7neXx(O0fCD1oma~W3q\Wl[f_Hr]FA|ġCMzT!9ip~bQ-1pCj>E OXy(&'OR}\kʣx3 EN|?k;X{^ΓbWB#nI;M>w%s^ VZM~,0~0A1 i$A?s; }q%t&d8{*zeСh<흦Fu Ws0 IHdtbB$o6 bz1:EBq_| CN|0qwhöG;ϼHe| 0opz&0UJE#nS?@5;0H!"'. C"C8bXivKK{:a[`4 wI"d%f"'a13368 ^G__>'8R } z U2R IDATɼG7}}2nSQξY @XLWӀԯb8n? `GV81 8DWub&2 b "c#MG\[HC韈-_Gt`4Mi$@~bKZGLɷA◇'7+`^]ƅK72|\f,-Mq< U 'Ͱ0)s˭0DXBAN؇0)q,{Cnµզs(A 0`{ O1*9-د鏇vˉ/}\R|w ѯ>qӋއ3[+3|= RkPJg(0#߯}V{{Zv͋ZzjYk\z-n(p.Нc-`8cIP"bO"&`dn KNst_scq:zJcQX +?(KeyqK :`}0+ߊn^ᝉ*JZBa _971h XN|b5#59m'nYʇ/f^WkX~f=8}a~ָ :EkD]]NܫVJXZ4 @+^30\j rJk H=(&1Q=wT$\dvgt$ x8}¾bzS| "A`` boiuZr5 68QY&4F {9[O~"s`ʳOc+;Nw/LѽB!vZ4#c3J0\?~jOO\*d`cX;-WZT1!}1 HN gErJ bT$^ax Ny|vf8i< "ln5/>^=eJP_)[ OL18U$@Y%D(}z*I@rΎ[L,|-oF!h+'Noj PO@DtqܕPj2U }Y1Nl 1}cb(`kwt}9sƫG%"DQk78vt G`C9(ByP2v`~-@ \ZN4C1:b$Xnx"c: 0rbÐc&Dju" %"/_M>~_F@k0pM\taե29 n~oy굲e @ip:F.N nrp/r9ZB97dQ(^ͷ?AkOrE*'R ux\,xs'F9˶ ` (}PbI@ ~3 _H#GhpK_;y|Kj7gVˍ]\r;O6ՙix˾L9_vNۿpC u{?%al N D= K`$RA_t>@0Blo7۟9B$|ʚB>:>!f_x/P|Tu6͠@/O4?k_xJkbeRF1>KeԊ`3 XݲXALҬɕg 7 k]myТ_Q }u9zր$zM_&QQ0/X_;GM\Z^oem  xCOY5 @TB}O" .>MXpKK,OF_S6ӯhG3(cRkELH@U7 Q} h%}L}4ν8,Ɂ` sWݻ࿵o}[k=2D%noFu?p$VoL:)SAa'*D#jK.x nCE=pIWG_3-0G!:#Hy}Z  Je_QHP([&>9x4\xKU.O)4fxU:{95B}diɲ2Jy2:X[IęSG~.Hw Ǝ$;9[ oopzj{!@7d,m}h3e_!sG rx_9oY$/݃xQAnX |rAl qDEqQ1y=# bb2ǾC7EvN-('ziR3Dq`fj"w^W<_[$&DҋGp/ 'I 6.^eT\Bej A%TOW1]+/sWp\YC :\ ӵ}~@CsGװ$Dn1awB,{ǀHs 4JX%;)IQ3]/NzjYmLHW誝X <@&1ш⍂#MEIj}a}xmJT a(Bj( Xs7Ct@D93IL) MG$K @]BVgpr Ӆb?ӿ @u*4RTyOp<R Hu0d' Ietd Z:zA!rFV@$l&+zb"8E{f !a\r۲[df0v{䉛pK 9 _8";c 05oJ㹅 _nbwOnF{.Nx c1݉IDAA@؉v#(#vG.ݍ6 i#"f 0^<LMױdfSM륀te~`e&v߬E[qnbgUr>@kwccsW @$,`('jo0CYuN/U)4_,_?= `?%Ml>OU YKŔ~n]8^j:|72]x W#TO&@@1/ kx퍏g|P::v+Wz t= PbӺk;uLj$`csg^` ;rkBH&)$>ee$#Ojak&) jQdM+&:7^e?@/>¦"E"G0&Pe-Hd/\(x lh`gVrgS% h{y @.Ё9cӌSMbe― Rj%-62Q&= ƵS@Un0i.RP7yMśO\o ?$DI|H1ๅ*E/9 n9Cǥr˰!/oMΧ6ikXEg}ݻPs+wz{dUn+6G7Bp:^ o1z0;ɡs,&2 ꏑs(DtZS5|+P!^"mEBuf@ƛo~*HokEJYdjX$@>$wu}kt=b"O_- [( 5>Z ayb0-gm^?#`a<]?H'cqqs1 a<^|pKXj*5CL,Ob!9!g@݅jb\H,BnS}j^U!b>')R,)`?If~΀ %!!䩛JpU0sq-''?W/QIss@ }1g/b\;fN$H(z[sT9˷p֦tR`4+`12ǯ1`Tv<]l3c5=ݏ[I@v{i7?v+&<&"5h O0 (xIMI@˱0 yzk6P# +}p#%O 8qev癣H)aQ%x_Ӵ~ $q);-vXI+8% q}vk9Kqa Q6;RsRvwakUic 4b%Iuo0xb|pad/'&UB4HK 06}1m GB5ŭ8={/ #/I^O<({FV>ʗNndIby#§? 8?B0 `??BwY9y&2L &;j/tըV‡j/AX," cp4w'i>}lG|&σ7րרĜkVU:'nyr GPv̀l ל#(|@||ǔb&xC ыH9 h8.\v gZɣE\)8'n2_|@YTdTC= P@XDsZȲa;bb /I׿z F`|#Gc>6JJRPBXFTFTB\A@}|S( V=uuw;n;9{Hk81 @MөYWu=`h l8G<:=ن'}rs6UײsBY^{Xm1¦%15 ycrbedK'ku,% D{U@Iw:T|?' * IDATjp?2$ޏ($i8 Зϐfw? @B4}  VX> 7?x/ݼ_2&',Ȑ!vd7iLU r**hO/NE^P5@T\fVO!jqv{ËC WV@@Ht)z"N7sbr CT6 +%9[zM8v xw[b@r~#8Fk(H1f@tDZ XEqa~EA xF隊M|qTjU0Ic J q\Uܹ9G%uXWU.VPaQUN;Iic|Ϗbzm\H"11ΎAms۴^ۢgR, LH6@Czphf ҷgH2{D'_850*x˚+GB~WN%ɟ]ھ|5;ko^g(~8=VQن{@|(@ޗqA{K%$a|6& ˍtsRZ!̀jr&:2w. 9xd38,:/:ܧ3XHsn/@3eea 3 /(Sex̭l$ iagFQn(w` .oQXB&'nÇ~.psl,N@L29?Wя$!?;̓&G'8g[n sC!-"ѝ~)bm}'YPov`(4=c@ F}@"7#z ձ c(W*,Iہq MkKETc2*.KZ/n[ :_P M_7a [' §^x7S}AƟ:$X|j8-Ǟ'o H*dR`"u&+^CS'S2-6gV1ol_m+@å˷R'ʸ;9$5o`}(l{@A/30ȕX s mxà굳X܉-#Y\g ,Wk(  RrvѨb~n ۟jc>RD؄uxȬLN%&7:DtȞ'0ޭL4DM*v\*l;]WϠjY@بc*4.H E(' 84 P*1<}dS w6jgnY7ʵhQ\g>Å7~n@HBA_IY:QiůlJt;/$< !xÛї].v{kpgmS=/@im($03, p. %# v9YRFutMCvZ 'l7!zcqu86vCd-ܽm=5!#%g\Jdyd{85˱ hb*?C`.^;u#p^6^cܸNVؒۺ2{h}c(XDd"NI+@d|rFN>>$_x @P߮N$NJtـ7 ӯ [na~5ݏ |f0Q4fNy.$I XVRX>Zb`fVO%V -? "jf pNylt3G%Df|d_ HXxe,CQh ;ƈ0G,D!kMz!xOpڝx@ Aiz?x$@*HxȢuTz_o­}2<#[શBH2h|\AN}bOPO!niYHBƹ"Ɨ1{)f5FB`u&XA@`fa+PC/į Ix?(+M1z}@nՁϮEUPYɯ-Fmudh;{qekB8G..y{n&wHfv(x$0H@OtxOqM 7 3݆<21֫$a@+p F8p`bf8;7<  d=r}KH'7hE?sݓ&1QT':X&$@n%j63a3SX9D]%jOZ+Lp{?a ezRAU\9z?"j9=̇%c,-TWw}6 "z{=AЍM'FA Z$A[zzxËcB\͹-0bCd8á𘗉@TݠP\ y %*j* )hn&':S$7hO-Omv*p;g,:XC}v ǟBmf4b)$@%坦hƄ%Mu2BUӞ=0o,$ H !K}<ޝn\Yk,`Aפ']HVlD!7wPhQkJ sg8xKj̒\WeQ|`^ƩWԹQD|lwh3aI@dH@qπ2yseU@z+=Btdƚ&߀XO !ҵ~ts# Jl!;uƏ~XǏ`ry~\&z}H ;iH 03s8xdxlGJU¶4C_Co]2%{.ĤRBjF*ql͝H<~tu$+vmk[h܂q\pN?A2~ڏy^z^ƩxmH^q99O. Bqd[ xdC?9H3 pIq (`iqXo>->hGX>'DH#O4Dтg~2{ 0PW omˁ"ZZ=b}c;%=Q(4h2NHA0ߤ@LG| /-M%O5ȸ={мXX.`Yqw$t=Q()@XDP:CŋhV0]H(.0b^OLQw;>7>^%x΁wǗ ?,:śxOjN@D-8!"a#g8E2- &⊡ݎ2m 0+߃0<ɗjf OvJ~$"&l'c~ ?ZI͸4qSiwßfJ d1玢:.-5&`Ԧ3%,b u@3ݝO-efe 㳵oL.qPR 9+9z=mI$S)BJe9X͝v.5.7J|\/8I|].ր0A>^{#t{=e8Wc'眴%.~'0qYJCD|CB<_o_a>Vǚ`+Қ%w8&Yw9??!n\k {E[~ne "b\tҘ Oc|~Z5T}*Y? H ĪTke,EǪ*}#5Yg 0~H}Pwh#dO縕c2 nm)0nqrWDV?lf~" T&ѥusVbF5 77ʫnwd@NOu`ĉŒ,MvNrɇeY yf^К?҆z$0@f+ǝ 9/O;iq'A }[g5[Gi78.Ԓ$a*&O@3 ;ѤP`V.Vj6"2HY^&20J>>?o iMkyL](qNisܸNyWEH俟؝1?V+ R}-xm o!4y"d^@<7M3h(IxI"WMAG?$wyYE<C2L"iA3Ol8*cv$@&@%%@;S}I&\3 U:fF\6҉]N]X I)UX} 8 `1 Z}4j8ttK+Tˉhjvf0mZj`r~CwԇUp)DX*yi@޼.csGWZףLF$1C3 zk!9@+MzX_˯nXw3(29Tni[ Uacoc ׾y$ 's`s@dr^ҟ^D ({hC`? 2)ۭ~i&OlʫgUf&1%sb4tZ`JsǪ8xts( 끹Lw No!}/ze]8 ;]tRsjckbN5? R<}q?k?fn'9;a##$a76wK%0rr`_r;{9@ NڧuTujNAT[\-J,'/SLܓ%O|6ẽ說tZo_^ 0'6/Ocs(27{v+3 3j:hO 2AcKN|iYWpQ7߾bg7 0PA.A4"+oU"1@Z(i aSb28CːnjB^֒I{Rt[C*&5GRtj劤d0 7 KǦ{_\oki0@Y8a77T $Ё$loe7$iͭCUN6w?îe >QP 4-◧TVHGҤ>瀬o'Ŕ*V-P(j+@ɀr0@d8ʣ!}ouYyJfk:&'*/Ue%OGH sA6&ĵp, G.dyۄ,cfu1C|(ڏl{ǚ33 b19cc "@zm0\q*DZܮVDϗ|)y6)3\f*Os+o~oR+ajiw>ۄ**'0=J@\FkWl쳱Ӌ ݻ[uC ,vIDQV ַێ򔢯{퟊yDv3'Z\>Gh+o<<Pn EEs>CN\R,P-tDb,n- /O7Atт;,i(K[ 5 Inp&{*~߷µ[0,IpkHhʟd \=%OݲRf>u2/djasTIű% k bP Pp^BV6RJtTL>8e=4kMk+U]0]R c:xql6sbkh] "_̰ @sv'D 흔nWm \jWNcm]l "HުR3_j` h<#1 +6 ZKpK~=smc0&@/ J4vUi?v-LeI:VeN3rIH('T4iH0;?Ocy5PC gd0@"Vi}=lQ06[E_.Xcس|Wug};07yPO׌qd|W{u<3cTKgxlƞ=y@nw+gpgmKG Қ DAYo [X% ªo֯_ X&ԟ ;?NI销6h<#6H{r 8!ɲ< wH'Vj%}jsbu*o2 :D^s=cbo$ `/u 9`hHy2,l˰-gw`mž2zanZ+I+`Et+gpً:78ղcw+V]V]5~ @,+l; <צY>y8iiJ)AJ IDAT+ ?BhL#Ъ5P{ KS8|tr1ZdƳ0sg@mYaրՀ\}p}o[uM3,9@.lPuL?ZY @DַL++cY&"0 I28mD;M\i%'<+g /G'1x%!]X] R.!=zT] 5j30 m= ('_R_^B\ FZMhT eqVoda=`}-aȱCX,#4$m`)/nR3>$"<ĥ+woB D79Dže ci{x7,}/~c#bq\jVCx|A#<~R!]vJC\[kg?)<8;`jV i8 rs-ӊxoC bLo&!& OBsW25{W&B 3j/3u$+*ʰRE4zӉn]ZONWq?`\vSE;rwmK- >pv۹Xn2-}y,v?)b0dk4T~yh8\3zDc -襀iKݔ }NJ8 osBo}ac}-%U<8C&ѨfӍx B(xשowc; K2ff52cSZ~--_!@ޟ A;{[b5M X6GDաߨXl8iyo6 )Z?=!7BJ6N Nس^UN~u>z=ؕI^ߨDʞl#*UܽBc'vuMm{yk+c[ qAXL "ł^.;=SWU~^?{epAwQ',{oobei1+y"j!Y!Hy s5b)7ùX*7dOhN>6 0ȡ}ԕR}Yz olmܺ;wvI?Wl7m+Du%++5 k6 Zu_r;?09;T`W7mEJoO dFx:!c c~~vf'"Ӑi91q~AJ+6$pU+TE|KBU]zO+`[6uVڶկ r@{Q>촺td{ QbߒnyR+qy= =>4DRNgnstӊP(=0d@2p!'N y98ڝ&Mx ~>gY1o}ʪTn٫8M_m}z|ONپdNn=fC1Б%LLŷ] MW Kz&6#Fx&"``2JDrϐikAI뽔<@[66sY 79#ijR<ϋ  |SnEGrͿhӓ 龇 *k7eE@ZTuMHI?l aWOEΌV3?,_;q7["8`@]@u:dAs30;@ϬΣѨ&JVRz9`ɤ;r!YOۆZ%[q= 8҄s9̛!{'eTo_ۊ7Rb`9|0O/MPhLL<PUOj^M#fVD@~ӟdsT%gҨČ~076>UB2@zmD2d'MWߓ`$Lg}3|o"+8^>[_V tM0ܒ,pp:h^јoH4'0ɰ˫sh(ZSTɛfJgoUZH"~ =b4 @ Q2<1 63f#ځ/CP|/#`?]týēF6b<XAPZ0҆])\S?KR?}='9jS?wů/B7m iKX'_:swSުhOip,=[077E17qL~ a~wrv~f 5nJh>j? Әwfvh/$MI.^34o%.45cfǷ OH\n Gj u +hyAߔKVk;cbn/ή)RjcusH8/~^b\ޗ,_ƀ:x t̃4ЄW~z!b8>aK~SumbEȸ&/=y ]}6dm}΋t g U?n696ڈM>^R6& Wvȱ}ay 0'JH_GbҤ X܂Nrw`:ڃNvX ƄPn 2.e~9BrZ@{8@q~O`fͧ©37pʆt ssu03]71O#Hu-mm5KI3cϤ9)3 3XY׷5cHܵ3SҳI^x Cϐf VO.$쎰>oPj&gbXMݑŵ,/Mcnv\ϻD؇1sWei} WBn7Bq$xRՇqUTKo/iז{(<8qC'a%UR9Y11Yu/nǷQ*m`r fèLl"8W7l+xl4T*e`l; 0 @ Osi5JA 8FΨؾ]e=qWV5HRVۉKe|\!Ys#%tJ;b@h^&aa'6邹Ivym3f =Q/ bC$a}>&-LiP*P9\ Fc9yPK&C~D;ɖ!k~K<߯!y Р-S잆s28|xl@O@6Nv4uc$7Xo}{47jP^;}юϲP2L#^U3x#o_;N*z6[h*R!d#*X!V?r{&x!ӹNzmf&:>1/xL8D@kȡ@PbܿBd*G7e"#M  JipKG|5OPmr5YsH/EZ3t!}<. qo?iՉF -+Kh S`^lI[Qx.{О' ϧ, Hsq|Rt}2Wз}3В':C>E@?\Bt~_!Х6G K&gA<6gɝY.y ?{ocI}'"{feVUf+{zfzh Q" [2 Az0?ˋ7nC/ 2lh`, egYz^-+kʬnfFC,?'NčfUVY?ae$/DajHD _.{JdNHSYq;v7@]Fs}GcGF0?bO){]]?\2h6u[2f Y҈aeh Oo,qN.i|ul+A?vA`}s|z wh& :D>O0/P`:>?2N=MU[p?Qv"Lr627&Cvpr/H>0WN'-s/\'ufc?rjXbTa 186AO`dXXѱSwY_d0qi׮:iY<1cUpP^fg@ѓ@j2C @`0c:4@^ #͡m,kno@` 0S#?Lx~ qs AU!hZU 㿰zpH)132SyhK鴫#+^tα]'a75iX*bnaG!J{1LLĽɗudmCӀ:N&'*b7HG2Tt=Ŭ$ h/x9=4gN͋yOT맫ES=V Y~"76Y~x"^_YPA+=64/*쥜9p}P;Se09=O[]ϕgZ!zH%ΛWi;(i BB,{?Qt}6 ;vyQ$ܳ0 d[X{Ź  B~i{[#JSGNO̽@v5R+ 1ktl2B6?u?qʥ`VnLQ%$v/~Up@R Ocjv 2W#~B累P:#Q]jlт0(4}**aE?xkn|PL-A`(-2k:&lӓ1S(¿킅NUQi,~iXvl펋B>x4%%M"o,|+.|@d 30ec)›)OPfO%΁V˅$ݐ .Wqݾ⏍Ol!ܡ˲p^{g6gJI.x"(uE'gGː({'H-tBM>3*t`AU? h$06Ǔ!06P<4_" d&HCK 8:SP!4w,L @ k閿yh}88le8i.H|\0@uDL?}/T6}E6T ~s;k7VbBX~/<ayy2!_U1G?1pb84 :yMPfOasEi@?Եhffs`gCcICb1Rδx,…Ne_:1"8 {u ]+˸> b~hyѾx^y/ C1cD#x'=O+%S7+X{XŠd&\ܴt! $rhX"'q%H!#tiHWj)<}F:tl W>Yh&E-Q&=*zMi,}2($ևŅܼ IDATz0-CyhΞZ9ڭ@? P}%%JBt_[WJWښxtܔx\[/>ZSt421#_L#ܙD<(Sӿ 4T`"&Q&"GG*FM?[9}dw1CbhGG8bJrJRf!`ƒ'Oc̛HJHuޣ 2P4o?2sѻ>@M;]6ǵwt{u(u;~;?F''Fx7~i3p!#K]' {L4Qwq̍5bBAT'~EN^ěUb _#W΃,Tϡl Z6*b'NKh?!{'8 GijBPo~FG{O0]~е8swB?n:@{lb1/mRMv$/S/UqKWx&S:4tkDjeAtv--j_"mT5AY Jim9u,J

    d#/ >?3pʝ?Օ ${wo/^{J- J:Џf~~.>>} o- đSLIs2jwi &rEw$K]-f|S( ba {Jatxu I:+[~(D=I(g0atFyd ?XmqAn^=Z^?1XgFz\0;W'dJ}]7=xJSzGEoV]}V?vz"df'P(&p*%j_*fLrw627v1 y}$eoN-R@ 4Evoyls,ܻW-&(hvqky=X Gqxn łn r:?zt33pgYz \>pŘI\Q`V5\ XdwZ15:Sክ|B ʉ;MLOFPVe<3xk-iznX)Y0 }T"J2o} 3VK.Z ,XZ^89qj>{S'ONI^@j$?I0b_dBwlcspnT)10}(F'pC\'>ްS#~'<,'5gS/t .6/NPHs9mqRݐhКNT8~i!0Ջ[/laJBO;5LOJ){85k#sTNu1TJ9Շs)נTkuO:u?9o qu싍?:-~Vc'뵋7' ghN5]_o矎~ _ǧ traY=u r |ryiJ- In?up\[{z'O(G.ɧT*$?ASj4oWN1k$3=I6-NӘ? 4O u, pԊi|`XZ**%4i!$i]t@SRXATI}нեO}aY];uQG$(՗0L B&KXYa4X&>q2{H 0M pu9^ywL*х$= {Sv>'W}?K(~,fPu]m18r.9.\ rsϞOy\x[z /mŭ[W?sq{y ;k0c=s}*<ĴXK`I 寫L$@^/(<c\:&z{sh'wo^J_/G7 >},v3ѩ%*k|Yyӟ{lb೒aF o{n(hvǷp8࿊+W!D]rl]=w[R+bmU6~ *XDC3!& g1-VFgg3wP GҋG0 f2S:z$s(Qn?n_Dƀ9u5/4|^&pS;Ih,t48C%};sH8³@YB Iw\h[2KK[hdyX-<2j ]eןꋃB-Ix\~o ~nނY8a|N~C³coR1,.%-zj~&ꕛX?jpu_쀟8&a}WRiD^8āZO/K, S8qb'Oa~~! uZ?ղe>ZvI(AG( xd&I_5L,)C1zq<f՜sZcjj3#[C `ŵ@0595i,.µ釼#=[84YDo-"3( 4[1h!mo #Gc]M#8P܏U:%  K?ux@{oғ>%Q4Əx3gy<?P(+%bn^ǭ% O IP?5 veECK-Uuڿ_nBfҟ^ɂ~ ]?F/IOW18:x ΁9BƳpl|D MT2lܺod^g3qwujVi8uuݟ!JT8?¡ĪK_d3K19ي?;矿xk%ҹ?;2Tۛh)G @TDPL~D{n-m3MdHJeL %G䓎|*_j"H+w}-#91y vo3x[hFPY*091mEd&xJLtpIMV2 ml.<p5lb e_mqr!ݸ7'J;{-Mԛ]ygX{sO{& qѾrkQӄ n:zt*H5B h ToƵ[9wQ;~130x쮋764 T:RT,+|sQEQQzG*GZMa(x%Z%` $\!cR8uAV4 .ʮE<4ahi(hݽ8-1yS{e+e ɱqK)jWߢp}os-P.p\w_w+{W8XK3Cf~ě( R(7<{tP- դT/8p Gpa qGorG'k?jo"1ͩI,N}p V a`<-y3piB'?DTTT4 FTրa7+l^!iJ 6 `gF?ϸ4KSIBjFTe9V;uGIYZ{i r]&GaTW3~V~7 Nv~b3`\3-Mc\_i-EK/xJFo@NvXd=ulM #auյ*&'Fp:kΛmlnwpt!f~8ׁ~U1yPBP:@n'z6>w]<\]uAiZv \hqPl1+Y/A?sb{t^WH廸|?ÉĉE/̇ikww~'1}h N=?:$g =6ÿ<W\^e0 Fǿs~ʜ)Ӭ" DD: }0^:)+qƥM`!ee%K;Ji7*8Є|Fc\9,[ 1.|?N~>r9gǕ+Ktl<`9is2 l\W&16ٖfN=_'8Ѓ~؁?' ;Nu\3`YE<+W҇q17"u9zoU0;k%2qΒ3 p#\ϟN; ĖM-b6n/;ozyXwʘ lc0SϿ7bäFym3 Y%tk@ w8s.i(J‚^9E2k{>`\ ,Ÿfb]PZr[3G!DE /wݗ$x?Sd;f[ H s.j0=ցH[<.sN3?m=O@X U^~eTQV%xJrq;[8tȿ& +lB IDAT<~ LĸA;)OءCS"塟LJr {(9u O`0qn1#f CpJ2BsVtcn8.mXx Õ?ݶ,SjzXڏY%p9cc#@P0LvO?46#JApdȸEN 3Mġy9nGS0 L.ETd(Y*m.No5q\7ŌfhXttB H" =1T.C5,;(Xt ӟǂPءy.HIK4?rF#4YFo`t7) fcJQ_)G Z5LOU$i?KqBLVd?n2J^jh>^hf/O y&5}oP'*{:a0 ub X]iQG dX0~B>Tpf5s9z ˰.\k06:v(+xi!m\oٸP6`9R ,T:賬ϲ @|d,Ms'۶ʥki8~0?ޓ,>,{waC~M0Q -*< ;\V)Yܦ/.[ x> `lS Q |ͥ4ɏW8m4HF>ݖ U$9 9UƘz r1/Zn0 `o>;6@{7u&AvPXF ||\R];n5l,ٳ?=,&c 39<hP>~驧O²U-loWcOM!W>֏'V:<f&M^ .wqgiS;kk2~pOK+(稤~)D̳ Asg аq\ 1壉vHoퟓrG&x"\>MOHF3 jM.rvQ.hخajrL6lҲWH^ n6tvw.Ba hۨό,0S0Q4C5CqQ9fJہ/f.xS;< 8R߉Ok;Aʽjԇ77^_2'pVNU ;Y,`9_ wjwP;T-0hw7ԩ9äu&e(_ 6 7KJ% 4AӔ JEEIʼnDU!#,҆k8/ /4 ʲ3 K9K * W߇*qEx.< DQB;M7jV7mdD"@@iV5|ŕsڝݾt*ۂ=zv*^`wE0ν@<+'9?'R੧O`k3?ǍkzV|\Fy{cX88?שf!`F T%Pa\L [1ƭF2h9n/>~Y?epR6‚ʛg_d"փ>?Mm~/HQbU)J\;5d 6u5Z80mO_YƩB?`u=p 1ㆁ.\8-Dglbecxg$b]{h :h s* cU#{gG:(HlgӑŸ_՛=+2:016> iLf~gfU2x*3PT #nL[揺C2jQ$|`9}A NH\- iC~ (*٨q4G_Q *,O S/2b[[5|q>n >ٕ/-ߪki.^{8;znWji7ڡ?h$ң` o ˗0y$J#0s_z K7oi'e^R"P5e $pQx2-/m 9/t/"z07jm;,$?  H `Iޢ?9 ,'  C'mDA%塉CISXP 4.\[/r9g7`cA* 9Pmu!b<_|%n! ?(:Q?pNx`6m0Q(P⹎NnNv8Ci4ޤa05Po?׉@YP^!`Zk0})4GJ]7xoA@eH@8K-{d.) !xGӓDJ"[g.'2Le!QgV.":0?sp4 B2飘SGOad0 QJ6b?GavO[1S^ ~Jx&4Φ'O7b3Wѫp0$3 qnF?ILz:('R**êy剴hB:M/_4[a[!=T^ 1 9p1khS>I{J9X”epܼyW.]O_J@fJ#W,ֽ!❝b!#JNt(|!AiQɣ42 im6m7L3EX}L-P2J'fzW`on{8iu`W8YjiA\ėp%M\@ K_?@Rqr^*Q4% :h% D"i\˛B1g˨\]En|z2{\3 6]/|;6 _YeGP X@ 1V `Ce P,L&m?S(P@F!FNs_' GI2IP[R&p%ba r"vk]X(inc칡M< b۠ GPC.N_@5CǞd5;h 82km\G&*a3K O:?,x6R~״r5M뻌#V'_ے18@\,\9PN =fP*òrp_{8"gf13;#p/*H&bA*X3]!R*xgi _^n䭴+Ý uq|z`p! QS;15 IJͶFso`vε/-=QO ޾y~N{;ȷ⯚,ay-݉J&0ܵB@ _y?G!P*Y&hlhuaF98K!b@??/ejVY-b?zN`[dE(곚7"@2C~*(*/ j2X#Etv:B^'VZos&KĂbyр/z{~9J]+/㺙-#cqӓ(=XϿ3MLZ\iͤձq m‰*MD+vU" (| > ?K%Oab5||/2`=s(:7Y뗁:HJ6<,ZG4MRBr=p5Obmב#bA*=*d劲SRz vp L[L iI`p]y<ȠWGpDxpyG_<}os:)qsKUZjx]Ε/N^|ۓsZjdo^/Zb`@bY ǝDKPm&(J>&b>}d&.KẆ#w(U?.gN K?8 T?NH)? O4o*4CnVu5Z1#ߒ^: + }s׷lۓHbgճ=p%=рAEҸsaO|W'Y~0 hn]?rg7Ê{/2\.܃|䇃 Q/arzNͅ POw;>VKj֏ZD~LQ^Eժyofw 8+%qqVwVbd;.5wpm?L~vpM k?y.bwc'ԡ7?{o=/7N| ?P?lpGic jV~(*0-3 2&ysk 1 QSri+WGVd"@f:,Rފ@NJkѰiQၖ=?%Oެv/^1 li@{x]nW _+QHVєV IDAT[)ȼm0J_vK*~Q!?[%@pv9,2LÔu~ f~@c'S \Sj@%NDҁybHiOa II=SHp?'jY#g*myWɮw9N\6P"7*TJ@MïԮt0 ݴuO  spmF'iot9 F+t{)TdJeV$1@AX.2H|(x\<к }TPBֹvo؎+iA9Z?lsR$'ѦuUӉ5_ R56# v9>صKFƹk[xlEu?NjzXD,i] eT)ܴnS ,|%xH]DcyUo3Ā.< B4aHzn>X[u#K5s@5IkirAb07*(-_"?ѼhbJ|Hpr$}ڿTQ[{6l܋xUY|(V1Ggb9 #mJI}O8x\ wᾢnsw4, 29Ɗ^ZN{Sb]ׁ93MJqfCUDIr;(GJ*‰8=?,IBНkxo?ϾVuDtˆ|z. و'H.TI'yťvREq8뺰:'r:=xm_GU >?Ujdw*3rA|>۶= ]C؄"8Sc!; I"jaZ(*smh0=.]4`{/ {0A$&:hPm8|'sm -i䡰C,RxUhjږ4M嗖?"y?9!?ƐtR:[][]_Fd( ePo:h:.Zm񐘯 u}qXaXDƺěKf *% AhK t\s ,iq@z.|@, N0I:iQ(Ap"LJH>Q速&{}K2PK ˃B8a R^*@.1ӹ;gO= zjW%~\~ܖ t9L'2jLӄi``92ABEy[8 f县[@p 3 edvèa~Z|v L6Rp1% 2?( (iY|thȃ(Z9))_C$KPWI|ÄQ.u㜃Od:M玠P*Y]qֽA{I∂*?H+.ĵ[e/fQ*1>Rv]4-4M4Mpiq plCP.A]gx^O/ bxx  pRs_ I =RZ2G%\OǸxIP5Am~A΍{M=tR\n_va;w:uj`%ӓ(Z8V.U՝6I֪]{9ciwjQX`0 ceUnWFmNJBPPA^5|~T? }0LϿzR. NUEë~_G;/?Rzx5iv#Jye$Z&yv:kduvj 'g`yWd"Qۿ8@$Pz7L[ ۷Xp]L+`,|X,b5Uuj4jn0sd0&A_ Jfr}~R^}+0Lϼ(a"(j\}??Z?AhкRDeFK<:"Yy Rkm'ydp9 =CjG~ojOA$yuutO5s HFI3R :h&3)$@HI@ ,łK,f1;3}VWםYy#3Ÿ{x\YYUڲ#z˿{/L4@jYy(h@5P)D#sT_à"N /]@3 6l?Hr'<)ܚX:kSؾ_V=C )^7S~nSKPUf9M@\ `d|@E$F(uhUIڃ2J+ @ `(A)o${u&oH S0 hudoā*&u`APkUW˄p8+#X4,YUXû^K64+(!,K-o2Ƌ:Y_k!6N?fS_bx=urckwj+ݼuc R.gqߓ+͞*P *F!jl] }wҤ-P\/%uSڟܹ&,4*uXPF|,w 9ĭϱ]e>-53UWq1@E>L a]- @ b$<{2Wfu{v`T#X?_4Z9l92(E+d!^^O#$'{$w $qv=loeOiva ͟w kfY֗Գ @/@pO=Aĭ >r) =v@a\ %)bsS]@`%g0xMv(Op[\1a%= Z᠍ڲ\qG=XG6 @ "SWB9xU)_z.g 4ia=A`a[Sr^!%U xSpԩi=yJs &Gbӳo]]]&@i"gԖ"垔{A_y ]}VOUlW@+ޗ5qH g~6䇌/\j8|- x./cadH^<XD+3xb9[^b:[V"Yy;AT>)YX<{:>/oo* c7.>jTk8T-"5OHXFD;)8&W ! U_</0S%ڑI1n}8ں = bXٍ *Vpx,C%^T 0`5, +/n>8oc)>"4 S]@1xrȠ) ?Ԡ\*KkJ]B٥61ƙc9~&PY5z#{a։|c)ٵ| w7\bAJʮ'$Yޮ6rP?nZ I HU| sI4XX^&:30&3p΁U3!N_,|%,CBHcb' Yŏ+) $X4-))a6䕻\T *.hK R*",?rQEEPz;M4-7=!;5c Oؕjc"' g J0-opG"SLaFTYہK>٪d0" `gNc{ɟTfaDnFa#ay(> MjXń ;؎" |A} LxJVuOJԁUQ-r^\x;Rzy!6ybEE:%? ޗQ0VA?BRt"0ٞZU4y7J˗'Щ4&&^wEU}#z>vSEĤĘߩ]+mk{bU> [>)rv5y䁜$W)#ɫ$ødž% rq`ϭj{A~^^S{ڌ18j)ޯLa2KmUM[z~PeP!3z|pq0SWz247S1[}y|U o^NUXl Dagj6q\6\ t( ;Y`c9,];.նĀ"f)Rv^F~PZy cCbemk "bѧ08 _P \0y$e.p}%ūR&Wc'>xD&bӬz+Du_d]\?:Z8͇h{4YaDٻxi1 @}s;VW? eJI'/8iN ^z`ҽAa^vfk@h %w  pmW(=EKjcq)p HeJra9;)6,WLڰ*br~夈eh~/2G$@ -o?Ԥ{]JjK@]ULըH'1QSr<=gvZ[G"uӇ+B X%l}p2aM6')kN?F8z"|0eq, 2ЋGwAyKgx=#I* N{ ?N?hƈ@zNEv ]:&GP?qTV>D{7xR/S&WOR.pF^}iI|N@j,ü"HYbr#Zp#C7U qMY CItK:"=Ыa]=4 >s8 ׾Vz+b$)x D` O;!S\xt(A}".8gC &]&BѾ K}hb5\sW}":dUG1zi@R>6._M `՚(Wsa2+00"s>N~w"=LρWqq C -S\%K$xE,|Q@UA[ĭx_.2 :EA2`@z+H䗟-6PBuuW,\>/&~u ]Z;o4Do `ýĮ&Quyʊ@(p}@'; 09NnsOJc.vZŞavjF8Q{C F&] GhS/0$P _ȑ$ C&q1aeYC$›xX9-h0gQF"ݗV?//unoC?_\ K!Ě-')e!s9^"j^1bV#3速?j'Y"?*eb8 \M(n’Rz5,qAB,Ax`I­DZ|nA}S>պ#]WxAI4^Q /UU-q@NuW" %5x%X@EV>ItE@ac܀&;53``v8y A}#{;gIY5?(q MI ؞bN1KQ:+6 ~rx˅`a]z7{Z^|,YЃ>n#!-U"C'(Ɵ73/+/򻑞[Q8H@Wʄ <"W> }Џ7:n fWR PE{A C;'U īGf38Mԇ!S"dO ny vBkSJ^[PGZ ZnWܓ&ǑCGO @=-@nV f#ffdt@ !ݶːx.`2?~$ %3z#'tX? $^4 UdPǂ׀@}凶^EV+(0eDu߯)DuMƳ<뛷1j]tW@~ g)ToX+Zp3l8}4 1Dz}*C P?|jί]Lu /AVG4i{ Uvd"vj//db_{ "+g].ԉ=BV?0ZuaFɳ\tXII%YE8Ї#O _R(A^g䙘􈨫]$ /U@/a:$w8@<ڂ+h KG(Tix*|AKV.sjʻx*éBN';4Y);׳vG{է4PN{#xM>bŵ!Hom= ^0VӁ>䇃zVI0!fin򣯱 tWW^@=yY,ylX/#`vrRݪ &)h% A Y@dY"TR8Bb0 ӈ}bGWG1X>`沨88F_ _38(#A0T!JP)Gʰr-4PH'e}4sE,051ivz` bPg$WRe28t{=mv̿g~&@Kj 3Yr͉n?)u>,?(Wy x*7P۩}yz~_9Y]Ү}!*N:~}C '쮼Uux>1& LNZBH A~=Ыhc}#WWp[s(/aú[]O޼srG(*v ï V>zDwsp|ӯ#h[<} Mc||*O<'ge @mDLRãu Lbk' T1f~H2!Ά#j3$pفt;S >t)<$Qqf6(,fDAV82r(< ص\Y;!/-ۧ~:JلϮ}˪촃ȣgAsit|ɥwt>FԚb?TfN{~TftnIV;4kSo$[򔅬H7V\ΰ) ! =_3Gy$AR^Шzo~#2 .,K&'6ˏ,rF5M=h"o7oa='Q0Z&B1v5JACHAl Ч* RepCQkX42BY ,_LRynu{^GOv^\/|po(,Ff=uV˒eG󾀨`~8ܙwa)Z[xӥKʼnK%@ ?Vv}xl`7#d:Rè#ALXHUH^m8٨~N޹ y}HeX6TNSW)H&]w-)$`AπTY{y1&#:; } ;  n г~8DWÝޑY)rڭ6wglŇ3}_9 _whbpRQ6`*}Dy?O$%#E;dFuoWvw-|p^`C|/Vބ(SҞAW #JAru=֕4"@E ʰʁիP\lmXVZt ̥_aAu8YPU^Iq=G`h[)~|j)>,@0 )L*V*bn{ ϒBs>m! . }xiE*?2\d $/ύhE*Fb9ᆬCũi$myWr$yZ~ e"ƸNhtH_x=w> RK ( D"&FD8bةa^X&Ԭ4dGAU~ bs!Q^a b LaP P_RuNO4]lXo b?B25; 03ɷɒ]*Y:*  RؑݕY{?ݴ@x>L=ss!z_+ӚZP,aXArEgx)?7#G2?|g2m&O(SzBM £h#=|k"e~? B*s^rq\VR`*K k 9BHヤSSlܺ]}ת4Y >_W6N!(#mGغfFzohx1;9(S%F}УV>|$@?2@ݎ 2* >hU ʶxL_, |!ɤ~A 䠿~x톃F;N`9}ѷ.~8pC0qj*͹?ȯo" K`f7o{?G\z JSzÅ80ۖ!5*P o=Ec*=$k_~@,KnOC;$H D3xv Bc_[[^,?W RUof*PtPEIR͛wsk_tIv uE ˏ\߱vkxr!$!Z8DuY?Ue!'凰W} Lzlt@`:flsު_W#IOJ^yIԣI&3+֑u g rP?O/Ng4 NV<}'Jmqc<(]/g? bkxv1g`%htK-?Qܩn9-˪]&B=tdVA3$-So,s`2{<2G* ֋EcrQհQwRO!.,y_aal,9Sډ_Dw<% v6?nҴR'02\|V-lhcȷ}qs-mA,/ȇ\іD}eV=h_V*P?>jyب[ب٨?<j{kH/.%E0~fxYV껻O߿[gMjp_SoIOXyU5{:F'a .3 OhE-|PٵUivzzT}NtZWA[A`-/߆\zW\hqeF Abe<"mu5G*T0z`!bӣ]:utvf&u៽5 t]Y@2')q?(qK^~R/g Ky IDAT߾z O fgqlfJ@]>vvm9 U?| \9Chz_"z $`'!. cDW. ֪* cSRi'L݁37sDi/kZ^ԯT}ԁt-̲[(Cw? <\}.M.vq8,ܩ( WqE(@YPu?aB>-] {| 09opP6SGn?^` O%gy2?C ڂ_,ӬeUVrZVF5pC}& T4u6-|qňiٔgo{z#Qs~Q ]=<^]]}OHۉvZ?/fw` dK_Hu rە> uOT}?#>ˀ9Pe!5 ]F'r=T-BrtH*soA_OZ9l)"8s ։ u^CLw򷯵t'o@8\"x.޼z6c#8-AnN G7l&F14;.@} u.8Q 9~ Y󹾏b`vAxPzeB?b`hcC0PiRæH>|hXX~+7o߳m|{G_WH`(4@n7@G>>Ɩf`&|jsJ?g*;Zy?À}l7NvqD^SSO14܍mln @ t[WP-4oav s476]vZÁ}6YK1ڗ]8V|,K+Ki\/Z4=l5p]AivnSP8־(wTP0 ׉]%*OcSh_7:thaN^`zV?,ݯ|Rv-K Ғ EӀDD,#Jw"֯[ӧ7O=7?$v>_8fGj[pdT,`T@w+ԥ0qn݂B #v_))#E!VV.x@i]Op<Z(A9ΟYfuy99iXJiKS=_L[H]l\j/+_*Ovo#^g?yI2u/(_g0O~ Bfְލ;?RbK(L&fF웧14BG' 7{xG|ǧDY=Q~S Or%X'aġ!tHo..a~4scq߂[X֝o& ;u]]͕ߋ4c>aK/6>ihZngF y;C%~,ǢܾI}~/YR^Z~Zk+\߇w=G87{@aM[<>"T@Y؋=_:3= >ֿH,_y >!t֯ag, X:}2~'a7 gPְY|`NdFD)(Ld)Ƈ1( !><[ }.H~a`0pG{Ir˃pP0/{'$v?~ G FF󘞏+a_ƍ[_r;dyt'\}[@80Px_߼?=YS0R܍ S8ػtg` @4r/d 燜W`0 ^Z>HnpYD`J#76k'8h9YFFpn&,{t*oT&~_hw #o ϩw0z1jN˘wj` ` D *H ZZ` $sV?sSGkLD~D܏4\(cGxQvu4?(X@8,Xy"[7S1 {qSƑ91v -}(P^c1+y"Ճ0^OKrFdy Cڽ/_jG#5ϯҹYd:znD~uW~:)q?O|SD(znUW9O F}曟ċ+"?~k}Kx_"$)ܚ#!fTN:"@v?vў>[ÙsDwbm5}Qm?kl C瀺,_Qqj׵y'/ y4 ӵULOav*ys3'a;NM`q0@r[.8J"ϗA ,&Jo>HJcq$²yeHKuq ˼@+hk>gGB?ַ李k߾GogȪS`СP@^] ̓/0I: K/c8e"}Jl&>v C Su{ 6m L{Q`[ouJ%>W2H+sc_)YO~0:hY9UhbhZZFLvۨ5/GOa$_gmïX@8$P_|m|wy1Oo84_8ܾ]bc1zvuxIO^FqM (LX+E$ZV=;4m Ի:*"8w4Z,Sw.cY~?_ݼ&\utyy Qޢ4WjkWӿ &ѨޓsMkOcbm-F,`{^E&ݒj^Cxo0 `x@,[cy}D5a>y~Fx[d8WbJ=:0c1Ov c7e̎q9# 0ť~џ8D } 3S6tI SN/WLW'/0/䭻P(7^$r `œAajFQ]W㼽_Q}Z(h 1=Cq"OȐ4{AV?̦d28={1;v"{; e}}4-+w=D~u׍{8_ugϕϥ :NC@jkj &+WJP:0Ɓ)U4Z,L̀`\:w|"`o;ᗗJjŜxt#6Ңs|C?Ob^7\T_:HH)q';Wen ޽5 dY5 /\?섙㸸<ے7Q…9ah~L?*_طc}$@')e} 9 | ?;>ΌOYr9HjQkk}jU J)j#jI\aν_%Ӊ MށUfZ3#8?3#+'j?1=|[Lҡ* Yvha $PMBd/iyrˠ7ƋSec(V;w__IyA?M ` @PU9sɹ0̗;arb02*UUQ;__ 5  >PxyǀU/#t}+2n%H*C_b ˱<,Qy beźӣ#*+Rk\FG`5LҼskg(0_ώ_" Mggw}Kw?Ńr'hIEY`n.c(8\$>g հT 2?u걅Ow aI'e"H>i xGnx8 P #3/~0&;caagpk*l" CPYls0 b?3>ϛfr2@ݧ\j>Qz?*]_S5],<d]\Z@) *'`]C˟e'q0LVۛ{% Jru=PlPm`L ӣ0&[_h[X:%hpױqusn%{(1@ߊXRV+2־@GacXׯݕ_][ZVAj:?c \}-?T3aK)+[i X%-6)bQB}Sgs//q@A ˰xWpUn7zs?pEl;XCSPo;W.`:<\\G-BDn'{%3ɁT+?k@=BC\\d@OWymZ+;tr,N]qvպy0q eP$@R^q87:z7y=x-~G}jsǹ 2@Qڃ@;`GJ?7, }29"޸`M |F=_%4ٵހx^.8+_͝ "J)GGѭNߵ<QUU-r? w#=,z&F_joT'f26T}-h~ k438?3)oѲU=[OCD~},_@qJPx8Aka4o0ҷQ̛LF77h65b(1` en=LD [pܹ_chdx?L-ύB@5=us!@+@K>3?(TxRm[H@iĹu' ?7P: -W??2¿܋P*qPKs(647x7{֯o6o}HOS:YGOSprt쿂ad@Ԑi8%=kf67`n:|JWH{g`O`07Z]ǽ`cW'y6Shui*@ =_E0_؋|/ą3Z%|9 B׃P zK%|laRG5D~}w[(ek۹IDAT?>6e3@3L<1u~0 " Oa K;ʇ % ~@GNLL =:w~G5й|'עgǩE c/Ν3ҧ"1,~ dc- W6L݊TI{; *&^R*5m޸n򜧛wnlyEi`޿ 4P: HpE844Y޽916ӯ]| N $7o#^kz뀞'3 ]+7SSݾۼ2?~ϲ/IPr%kD (}J]\(ѡ,Y(p ? o( n瀞S:55gfտX2=6,Sݞ]`oisiĹUi) |=@T 8'ʻxl7%k۸^V.h@}F%īǎh/sKM ʞAmٕt'VwcџN"4P u@[܏hEc##8%PF'ƒJ7`@GNLLY2~E"xr:vvSg<Tu_G@@sz8O^אixi|6ה@uqkk+P.cj8)@>x݂-M'k~NAs<9= >'^j w̼:677^;}J6 D#K d8?3y nbz_G7/~;yvmo0%(G:XeQV;?1~O0;50a~"2O i "6wk .=0G(G(0na`1O^ꙧ8jً*K<|* }/?/kJ"Xݫ^սjA@!?߳NCD '>Y#79b'Np'礳T ƙB5t?ղY[Wߗ!JokoQx#g=ʅ30 Dbag[}N()*1#zֵXZXPY1;om^{ዝkqH3228ĸ3`> {SO=(K urzX١1J4N˘ɛVv,[Wh%7W_}_ѵMє`9,E&Ѥ!@aw z,?/(6Xj <ɪ->;XmD\ N+e24U'&bk7Z+ikx1AdAK2!<# hb=& ]-M\ԌܥƢ*GᳰrўEԶLV.Dl&Y.WP{&n1;on/tolxER޶?"Wyˑ p=2 TsJjUN&/" EY' #Bw"x_rfkEO$9jG/D* @߶بVq<<␡( 8U*#gD5Zx*VW/׵w+}i{Wݬ]}m~:K B1"U0U8VѿRgEYXhW: NUQ0[(T]Xz[B~oݝMOw~a?ﱾ?>HC&@Mw?.E~4L:(C?tخf˭&{$8` 3f h&0}tp3{v/ko~kc RX"Q`~ eH2G!!@M^sZ*$>MqN*"݇ -Xn6WR|3NXq+yk;fg[KgKm?@ iaFl ?lӌSɍpUU1}l TK`a9Vm,B!|3|u5ؾv7:zˍ_m &)K  !pI(2AG OSU? PLNM`iVɽ-ear9菈HFq,ByQ\N[nb !\nt~~ϧQ:6??> !p y{]v=]L>g;(ZsgN$dg lvv3`4TT38Qv[,`ue ᚝no4X3QR2W#F 2D&U`})(nwtѳ$wž&{1z}ַ^c5O6 $6+~9dM/x~&S9M'a6YCi~DVj(t, {فn*DSUTiT3YT3ط˂@l3B+m=@{B`^ϫ ?/'3w M&zOl{ۆJ.Auf@hO4)0) j{Q~1}^@kXZ핤~i _oo6% `hڟO ~1 qM/ȖxK8stgNX@yvcc>\Hemh&ږLj:򆁜n g}t21ׅ页2wFv{o\ykWm +I ?+OD2 q 7 na'=SzP?]UUQQ:q)Xgfخ{  m<0/2ReO=qzC7[D}6676k\ύ;?{ǿLJE){1t|G $ ,yhY>0&+Ǡ(^CQ@i~*lc$$m{ӱa;.,,X up(TBWThmﵳ~Te:IZ6^]Hotˍ?zsmAAeXTwj**?`$hx fM5S>9Q9OǓ~Pt)&aeRpG.,58=8p]WTꞸueW!C⢸.N ԗWB0\lX7.7})`VDa&uw2Mkr K#j8S''E-z$4UEG~ҕLj] ~&h4C{Bl/A XK8/Rcit@ExX&N܀2ArճOg-NZ~׸C/,$aEyid?޸vWH(d!$M͚ (j& ڹKMg@QhO]P,!7UCT"C 7a7hmlzuf[ oZzRD#?! !L m$("zƨLiӊjE:CuK&Ve ؆~MP-j߄SG{mư޶ ױ{o]VwVa 7g{"c"? ;y@\#po(SZ*QB(C:B6FCQ#Uf:l}A)@,.6z6f f n~õ~m$~ JNGc䍛L!@H -0gBPҥJi}OVÒa䨪L:L&Tp9(l]O5@q\hM[[o6vzzd^l;[V$)/#'? "^I@D> ;~]~7keP5AUӡMkP5 P8 \E.PK\möl8 6w4wv~N7zY\nXW_U.ˤ&yS2__iA3X@Q_<[=a=]z :g UUk*TUTA1t(PZlˆ8@õ^'/+XF}IX_6gnX_+dD4hI@A#, .+'?tqʿwo?㘝z~~k?{"&A@4 A炢"m2(;GW`ȔOԊ}:s\\_j;]x_ -e؂x.H[2DbHI@&D9e YDq_ËI$ 2PP90_2AfcMf˅Ǟ4STᢢaHױ~r~~rgSꖽ?X|„Ž,.5hAa@A1Jh6 @RF83G4rTEuolo^l]Z}k734?NY焄@:1KeX6 l~+ڏc>@Ok.7q=zv - Xx(pm_7;[[ +]w];,b 5~T~VZ>7>Ґ b$ 13abf `al;.ΜҥS̼( ;zcw[Vo.6W^|ًoaZ?D_JI;>d ,YB+bdA<0#@D(ʩti~VTa^3󪞞ST}2h\vޒcuoپkYl]_uk f~Zr;O HF"P# bD( xyVV@f l&o& 5Ưl\*?uBK4#75kEdKf{}uclv$a/"I:7>Ҍ10X5#(Ȕx@)jtg+%MdU=StVՌYE>ZVQ,-(jNQ 5(jvwdAu.\Nq] q.k[1;mv]q^1hvoEqh D krOEJq}@!x͋ö"kkփBQlJO(VѱMnME˰ȟ%azX/3%uf ,E"Y[|X-YDD2c@+LDE~`{9:G2ؐp65av\OrB2ġFRaP')cb!ϰ H6@$mq3k~Q!@ lV`0Žuamֺ,(gdM%+Mq !}~vq!@9,x۲f -ljdE޶{d\HnƂd#K_3&+qu#cD/`m52m% k54d#3 Q~Z#*tQ )O4~XO>1֐  DqRqğ%G5w!Neb @ !5 2T?ȟl)noFcb 4~a{A}Q++Qqdă AV°h?Gl@P;FaۘKd"C0m"/= 2EEе7DLdXۇ.r\I(tk*Dqk,1 aDZE$L@PL>@O kaNIENDB`arora-0.11.0/src/data/arora.1000066400000000000000000000030011145000221100155370ustar00rootroot00000000000000.TH ARORA "1" "May 2008" .SH NAME Arora - Lightweight web browser based on Qt and WebKit .SH SYNOPSIS .B arora [Qt options] [url] .SH DESCRIPTION .B Arora is a lightweight, cross-platform web browser using the Qt 4.4 port of the WebKit layout engine. It is based on the demo browser application shipped with Qt demos. .SH OPTIONS .SS Common Qt Options .TP .B -style style, -style=style Specify the Qt widget style to use (examples: plastique, cleanlooks). .TP .B -stylesheet stylesheet, -stylesheet=stylesheet Specify the user stylesheet to use when rendering widgets. .TP .B -session session, -session=session Restore the application from an earlier \fBsession\fR. .TP .B -widgetcount Print a debug message at the end about the number of widgets left undestroyed and the maximum number of widgets that existed at the same time. .TP .B -reverse Sets the application's layout direction to right-to-left. .SS Options Specific to Arora .TP .B url The URL address to open in the browser. .SH BUGS Please report bugs to \fIhttp://code.google.com/p/arora/issues/list\fR. .SH AUTHOR The author of Arora is Benjamin C. Meyer . .PP This manual page was written by Matvey Kozhev . .PP Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation. .PP On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL. arora-0.11.0/src/data/arora.svg000066400000000000000000001114421145000221100162070ustar00rootroot00000000000000 image/svg+xml Arora icon 1/5/2008 Jens Bache-Wiig Cute polar bear polar bear arora arora-0.11.0/src/data/arora.xml000066400000000000000000000006411145000221100162060ustar00rootroot00000000000000 Arora arora arora %s arora false false arora-0.11.0/src/data/arora.xpm000066400000000000000000000257451145000221100162260ustar00rootroot00000000000000/* XPM */ static char * arora_xpm[] = { "32 32 563 2", " c None", ". c #6B7691", "+ c #6E7B93", "@ c #6F7B95", "# c #6F7A94", "$ c #717C95", "% c #727E97", "& c #BBC3D0", "* c #CED5DF", "= c #CCD4DD", "- c #C5CDD8", "; c #BCC6D2", "> c #ADB7C5", ", c #97A3B5", "' c #7C88A0", ") c #69758F", "! c #79869E", "~ c #CED5DE", "{ c #DFE4E8", "] c #E2E8E9", "^ c #E1E7E7", "/ c #D9E0E0", "( c #CED7D9", "_ c #C5CED4", ": c #C0C9D2", "< c #BEC7D2", "[ c #B6C2CB", "} c #6E7B94", "| c #6E7B95", "1 c #E4E6EB", "2 c #F5F7F6", "3 c #F0F1F1", "4 c #E8EBEA", "5 c #DDE3E3", "6 c #D3DBDB", "7 c #CAD2D2", "8 c #C9D2D3", "9 c #CBD4D3", "0 c #C2CCD1", "a c #BDC6D1", "b c #B6C0CD", "c c #76829D", "d c #65738D", "e c #E8ECEB", "f c #FAFBFA", "g c #F3F6F6", "h c #EBEDED", "i c #E0E6E6", "j c #D7DDDF", "k c #CCD4D4", "l c #C6CFD0", "m c #C8D1D1", "n c #C8D1D2", "o c #BAC4D1", "p c #71809A", "q c #62708B", "r c #DEE0E4", "s c #FEFFFD", "t c #FBFAFA", "u c #EFF1F2", "v c #E5E9E9", "w c #DBDEE1", "x c #CED7D7", "y c #C4CECF", "z c #C7D0D2", "A c #CAD3D3", "B c #BEC8D1", "C c #C1CAD6", "D c #98A3B8", "E c #62718C", "F c #D6DAE0", "G c #FFFFFF", "H c #F4F5F6", "I c #E8ECEC", "J c #DDE1E4", "K c #D1D8DA", "L c #C7D0D1", "M c #C5D0D0", "N c #C4CDD1", "O c #CBD4D5", "P c #CCD5D5", "Q c #C4CDD2", "R c #C1CAD5", "S c #B4C0CF", "T c #57647A", "U c #677490", "V c #E0E4E6", "W c #F9F9F8", "X c #EBEFF0", "Y c #E1E6E6", "Z c #D4DCDC", "` c #CBD3D3", " . c #C0CACF", ".. c #BEC9D2", "+. c #B0B9C4", "@. c #D3D9DA", "#. c #D7DDDD", "$. c #CAD1D6", "%. c #C0C9D4", "&. c #C6D1DD", "*. c #6F7C95", "=. c #6F7B94", "-. c #E7EBEC", ";. c #FEFFFE", ">. c #F9FBFA", ",. c #EEF1F1", "'. c #E4E6E9", "). c #CDD4D6", "!. c #CED6D6", "~. c #C3CED0", "{. c #B8C5D2", "]. c #818DA2", "^. c #B5C0CB", "/. c #9BAAB9", "(. c #B7BDC8", "_. c #DCE0E0", ":. c #CDD6D8", "<. c #C5CFDB", "[. c #6F7B93", "}. c #7A869E", "|. c #79869C", "1. c #EBEEEE", "2. c #F8F7F7", "3. c #FDFFFD", "4. c #F0F3F2", "5. c #E6E9EA", "6. c #DCE2E2", "7. c #D5DCDC", "8. c #D0D8D8", "9. c #C1CBD3", "0. c #AAB7C8", "a. c #6D7F9B", "b. c #A3B0C1", "c. c #AAB1C0", "d. c #E4E8E8", "e. c #D3DADA", "f. c #BECAD4", "g. c #C6D1DB", "h. c #6E7A94", "i. c #76839B", "j. c #808B9F", "k. c #ECEFEE", "l. c #D0D5DC", "m. c #A0A8BB", "n. c #EFF1F3", "o. c #F1F4F3", "p. c #E9EBEA", "q. c #E1E4E5", "r. c #D9DFDD", "s. c #CED6D5", "t. c #CDD5D4", "u. c #D8DFDE", "v. c #E8ECEA", "w. c #BAC5D3", "x. c #97A7B9", "y. c #6A7E9A", "z. c #B0B8C1", "A. c #F2F3F0", "B. c #D7DFDE", "C. c #C4CED5", "D. c #CAD4DD", "E. c #74819B", "F. c #687590", "G. c #E1E6E5", "H. c #A8B8C8", "I. c #C3CDDA", "J. c #EAEEEC", "K. c #E2E6E6", "L. c #D3D7D8", "M. c #8F9AAA", "N. c #6D7A94", "O. c #6B7793", "P. c #B6BEC4", "Q. c #EFF2EF", "R. c #DFE4E3", "S. c #CCD4D5", "T. c #B9C5D6", "U. c #6D7E9C", "V. c #6C839A", "W. c #F6F7F3", "X. c #E2E7E5", "Y. c #D6DDDF", "Z. c #C6D2DC", "`. c #7D89A4", " + c #98A2B2", ".+ c #EAEDEB", "++ c #EDF2EF", "@+ c #EBF0F1", "#+ c #EDF0EF", "$+ c #E9ECEA", "%+ c #DADEDF", "&+ c #8B96A8", "*+ c #6B7A93", "=+ c #6186A1", "-+ c #4878A2", ";+ c #305392", ">+ c #5C6B8E", ",+ c #B1B9C3", "'+ c #F1F3F0", ")+ c #D2D9D7", "!+ c #C2CDD6", "~+ c #8394AB", "{+ c #114E7D", "]+ c #818CA2", "^+ c #EEF1ED", "/+ c #E1E7E5", "(+ c #D0D9E0", "_+ c #A8B4C4", ":+ c #5E6D89", "<+ c #BBC2CA", "[+ c #E9EDEC", "}+ c #E9EDED", "|+ c #E5EAE9", "1+ c #C2C9CE", "2+ c #6D7A93", "3+ c #7692AC", "4+ c #79A0B7", "5+ c #83B2C5", "6+ c #85BCCD", "7+ c #4163A3", "8+ c #315393", "9+ c #6E7994", "0+ c #EEF1EC", "a+ c #D9E0DC", "b+ c #C4CED9", "c+ c #7888A1", "d+ c #0D3675", "e+ c #13306C", "f+ c #8798A8", "g+ c #E4E8E7", "h+ c #DEE4E5", "i+ c #CFD8E2", "j+ c #7885A0", "k+ c #65738E", "l+ c #B5BDCE", "m+ c #C6CBD8", "n+ c #C4C9D4", "o+ c #E4E9E6", "p+ c #E1E5E4", "q+ c #768399", "r+ c #91ABBF", "s+ c #9ABACB", "t+ c #B5DBE4", "u+ c #ABD6E2", "v+ c #9BCDD9", "w+ c #5782AE", "x+ c #315292", "y+ c #5C6B8D", "z+ c #DBDEDD", "A+ c #E2E5E2", "B+ c #C6D0DA", "C+ c #747F98", "D+ c #0E2C6E", "E+ c #0B2B6D", "F+ c #0E4475", "G+ c #8C9CAD", "H+ c #EBEEEC", "I+ c #D8E0E7", "J+ c #9BA6BC", "K+ c #727F97", "L+ c #E3E9E8", "M+ c #E5EAE7", "N+ c #DFE3E2", "O+ c #DBE1DE", "P+ c #8A95A6", "Q+ c #8A99AD", "R+ c #A8BECE", "S+ c #D3F0F1", "T+ c #C5E7EC", "U+ c #B0D9E1", "V+ c #9DCDDA", "W+ c #5F8BB1", "X+ c #294889", "Y+ c #334A80", "Z+ c #B3B8C1", "`+ c #E7EAE5", " @ c #C8D4DC", ".@ c #6C7993", "+@ c #0D2E6B", "@@ c #0E2E6F", "#@ c #496A8D", "$@ c #C2C7CF", "%@ c #DFE6E3", "&@ c #D2DAE3", "*@ c #97A3B9", "=@ c #A2ABBA", "-@ c #E4E9E8", ";@ c #DFE5E2", ">@ c #C9CFD2", ",@ c #79869B", "'@ c #7089A8", ")@ c #99B1C5", "!@ c #CDE2E8", "~@ c #DEF8F9", "{@ c #C6E6EB", "]@ c #AFD7E0", "^@ c #9CCBD8", "/@ c #85BBCD", "(@ c #5B92B1", "_@ c #4E8AAB", ":@ c #8D98A9", "<@ c #EAEDE7", "[@ c #C8D2D9", "}@ c #6A7894", "|@ c #0F2E6F", "1@ c #143371", "2@ c #7C889D", "3@ c #EDF1E8", "4@ c #D4DBDF", "5@ c #99A3B8", "6@ c #6C768B", "7@ c #697891", "8@ c #797C86", "9@ c #CAD1CF", "0@ c #878B96", "a@ c #7B8AA0", "b@ c #4D6E9C", "c@ c #294986", "d@ c #2F4F8E", "e@ c #5273A6", "f@ c #D6F4F4", "g@ c #C0E4E9", "h@ c #AAD3DE", "i@ c #98C7D5", "j@ c #71AFC4", "k@ c #57A2BA", "l@ c #777F97", "m@ c #EEF1E8", "n@ c #D3DBDF", "o@ c #7C869D", "p@ c #133170", "q@ c #173673", "r@ c #487394", "s@ c #8591A3", "t@ c #7C8EA4", "u@ c #355B8A", "v@ c #707682", "w@ c #7A7F8C", "x@ c #6F83A0", "y@ c #76A2BB", "z@ c #2F4F89", "A@ c #395993", "B@ c #365591", "C@ c #2C4A89", "D@ c #B5D9E2", "E@ c #B5DDE5", "F@ c #A1CED9", "G@ c #90C2D1", "H@ c #7EB7C9", "I@ c #6AABC2", "J@ c #539FB9", "K@ c #6A7A95", "L@ c #E9E6E2", "M@ c #A9AFBC", "N@ c #657191", "O@ c #183774", "P@ c #1D3976", "Q@ c #1D3A75", "R@ c #094C83", "S@ c #006393", "T@ c #26679D", "U@ c #374461", "V@ c #456894", "W@ c #5E87AB", "X@ c #375793", "Y@ c #33548D", "Z@ c #2C4984", "`@ c #466596", " # c #A6D4DC", ".# c #96C8D6", "+# c #87BCCD", "@# c #76B0C6", "## c #65A5BD", "$# c #509BB5", "%# c #4083A2", "&# c #6E7893", "*# c #4F5D86", "=# c #193572", "-# c #1E3A76", ";# c #223E78", "># c #1D3774", ",# c #08246A", "'# c #082B72", ")# c #2A5B90", "!# c #3B5D8C", "~# c #72A0C4", "{# c #385692", "]# c #35538C", "^# c #2F4E88", "/# c #2A4480", "(# c #1E3776", "_# c #5A82A5", ":# c #8AC0D0", "<# c #7AB4C7", "[# c #6CA9C0", "}# c #5B9FB9", "|# c #4B95B2", "1# c #388DAC", "2# c #2680A3", "3# c #193E78", "4# c #203975", "5# c #233E78", "6# c #1B3674", "7# c #0C296C", "8# c #0C276C", "9# c #136398", "0# c #20437C", "a# c #1C3E73", "b# c #6E98C0", "c# c #324F8B", "d# c #2F4D86", "e# c #2A4781", "f# c #243F7A", "g# c #345286", "h# c #7CAFC5", "i# c #7AB7CA", "j# c #6EABC1", "k# c #60A2BB", "l# c #5298B4", "m# c #4490AD", "n# c #3288A7", "o# c #2380A3", "p# c #18618E", "q# c #233975", "r# c #132E6E", "s# c #0C286B", "t# c #0D276B", "u# c #024D85", "v# c #2987B5", "w# c #12376B", "x# c #092D68", "y# c #608BB6", "z# c #2B4882", "A# c #284680", "B# c #26407B", "C# c #1F3874", "D# c #49759C", "E# c #77BACA", "F# c #6BACC2", "G# c #5FA2BB", "H# c #5499B5", "I# c #4792AE", "J# c #3A89A8", "K# c #2B81A3", "L# c #1B7A9D", "M# c #0F6D96", "N# c #0F256A", "O# c #0D2769", "P# c #0F266A", "Q# c #05457E", "R# c #00739D", "S# c #307EB0", "T# c #0E2B5C", "U# c #315A8E", "V# c #254180", "W# c #213E78", "X# c #213C77", "Y# c #203974", "Z# c #1F3673", "`# c #5E9EB9", " $ c #5BA2BA", ".$ c #5098B4", "+$ c #4690AE", "@$ c #3B89A8", "#$ c #2C7EA2", "$$ c #11739A", "%$ c #006893", "&$ c #005283", "*$ c #0F2367", "=$ c #102569", "-$ c #06437D", ";$ c #007198", ">$ c #167FAC", ",$ c #2C5187", "'$ c #05295E", ")$ c #315392", "!$ c #0E2A6E", "~$ c #122E6E", "{$ c #193070", "]$ c #1D316E", "^$ c #4382A6", "/$ c #4594B1", "($ c #3A8BAA", "_$ c #2C81A4", ":$ c #19759B", "<$ c #036A93", "[$ c #006490", "}$ c #006992", "|$ c #0B3373", "1$ c #102568", "2$ c #054880", "3$ c #006F97", "4$ c #02769F", "5$ c #3773A4", "6$ c #0E2654", "7$ c #11326D", "8$ c #37649F", "9$ c #1A598E", "0$ c #0C2B6E", "a$ c #123C78", "b$ c #2887A8", "c$ c #207EA2", "d$ c #16769D", "e$ c #0B6E96", "f$ c #006791", "g$ c #00648F", "h$ c #006690", "i$ c #005D8B", "j$ c #0A3674", "k$ c #00638F", "l$ c #006D98", "m$ c #00709B", "n$ c #3184B2", "o$ c #1A3972", "p$ c #254E80", "q$ c #3C90B9", "r$ c #1985A9", "s$ c #157BA1", "t$ c #11799E", "u$ c #097098", "v$ c #016A94", "w$ c #006691", "x$ c #006892", "y$ c #006994", "z$ c #006A95", "A$ c #006D97", "B$ c #00729E", "C$ c #2E82B2", "D$ c #294B83", "E$ c #1C3972", "F$ c #3874A6", "G$ c #117BA6", "H$ c #006A96", "I$ c #006894", "J$ c #006793", "K$ c #006995", "L$ c #006B97", "M$ c #006D99", "N$ c #157CAA", "O$ c #3870A5", "P$ c #1E3B74", "Q$ c #0D2A5F", "R$ c #2F588D", "S$ c #2F7EAF", "T$ c #2180AF", "U$ c #0F77A5", "V$ c #006E9B", "W$ c #00709D", "X$ c #137AA7", "Y$ c #2581B2", "Z$ c #347DAE", "`$ c #2F5289", " % c #142C5A", ".% c #143266", "+% c #203D74", "@% c #324E86", "#% c #3B659B", "$% c #3970A3", "%% c #3B6498", "&% c #334C84", "*% c #213C75", "=% c #163465", "-% c #141D3E", " . + @ # $ ", " % & * = - ; > , ' ) ", " ! ~ { ] ^ / ( _ : < [ } ", " | 1 2 3 4 5 6 7 8 9 0 a b c ", " d e f g h i j k l m n 8 0 < o p ", " q r s t u v w x y l z n n A B C D ", " E F G G H I J K L M z N n O P Q R S T ", " U V G G W X Y Z ` .z 7 ..+.@.#.$.%.&.*. ", " =.-.;.G >.,.'.j ).!.~.{.].^./.(._.:.%.<.[. ", " }.|.1.2.3.f 4.5.6.@.l 7.8.9.0.a.b.c.d.e.f.g.h. ", " i.j.k.l.m.n.o.p.q.r.s.t.u.v.P w.x.y.z.A.B.C.D.E. ", " F.G.5.H.I.I J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.`. ", " +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+^+/+(+_+ ", " :+<+[+}+[+|+1+2+3+4+5+6+7+8+9+0+a+b+c+d+e+f+g+h+i+j+ ", " k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z+A+B+C+D+E+F+G+H+I+J+ ", " K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+`+ @.@+@@@#@$@%@&@*@ ", " =@-@;@>@,@'@)@!@~@{@]@^@/@(@_@:@<@[@}@|@1@2@3@4@5@6@ ", " 7@8@9@0@a@b@c@d@e@f@g@h@i@6+j@k@l@m@n@o@p@q@r@s@t@u@ ", " 7@v@w@x@y@z@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@ ", " U@V@W@X@A@Y@Z@`@ #.#+#@###$#%#&#*#=#-#;#>#,#'#)# ", " !#~#{#]#^#/#(#_#:#<#[#}#|#1#2#3#4#5#6#7#8#9#0# ", " a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w# ", " x#y#z#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T# ", " U#V#W#X#Y#Z#`# $.$+$@$#$$$%$&$*$=$-$;$>$,$ ", " '$)$!$~${$]$^$/$($_$:$<$[$}$|$1$2$3$4$5$6$ ", " 7$8$9$0$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$ ", " p$q$r$s$t$u$v$[$[$w$x$y$z$A$B$C$D$ ", " E$F$G$H$I$J$J$J$K$z$L$M$N$O$P$ ", " Q$R$S$T$U$V$M$W$X$Y$Z$`$ % ", " .%+%@%#%$%%%&%*%=% ", " -% ", " "}; arora-0.11.0/src/data/data.qrc000066400000000000000000000005111145000221100157740ustar00rootroot00000000000000 128x128/arora.png 128x128/run.png arora.svg defaultbookmarks.xbel fetchLinks.js parseForms.js ../../AUTHORS ../../LICENSE.GPL2 arora-0.11.0/src/data/defaultbookmarks.xbel000066400000000000000000000005301145000221100205660ustar00rootroot00000000000000 Bookmarks Bar Arora Bookmarks Menu arora-0.11.0/src/data/fetchLinks.js000066400000000000000000000006511145000221100170110ustar00rootroot00000000000000(function (){ var links = new Array; var it = document.evaluate('/html/head/link', document, null, XPathResult.ANY_TYPE, null); var link = it.iterateNext(); while (link) { var obj = new Object; obj.rel = link.rel; obj.type = link.type; obj.href = link.href; obj.title = link.title; links.push(obj); link = it.iterateNext(); } return links; })();arora-0.11.0/src/data/graphics/000077500000000000000000000000001145000221100161575ustar00rootroot00000000000000arora-0.11.0/src/data/graphics/addtab.png000066400000000000000000000007251145000221100201100ustar00rootroot00000000000000PNG  IHDR(-SPLTE''',,,999>?>???,,,---@@@AAA+++333>>>DDEEEE---:::AAAHHH222777GGGIII///???BBBHHIHII666JJJPPPYYYNNNIIIRRRLLLMMM+++QQQ&&&JJJOOO777888<<<>>>???@@@AAADDDTTTWVWEEE[[[\\\dddeeejjj111WWW tRNS44444ggggZIDATmP,%Ss?O{4j2h].q|9-TJ2zi:7A9sN4W|)6^1S:"QQkBmDps fFE:aNt@k~H2K~~ɲYQ\m\ hWfunIENDB`arora-0.11.0/src/data/graphics/closetab.png000066400000000000000000000010041145000221100204540ustar00rootroot00000000000000PNG  IHDR(-SPLTE''',,,999>?????,,,---@@@AAA+++333>>>DEDEEE---:::AAAHGHHHH222777GGGHHH///???BBBHIIIII666IIIJJJOOOPPPRRR<<<@@@MMMNNNAAABBBZZZ]]]>>>[[[KKK777CCC^^^bbbDDDjjjkkksssEEEGGGIIITTTUUUAA@ŠtRNS44444ggggIDATm@УwѣLDM"Hho\]z?A<0(㫲2C#|>sxg0am. ݘQC-9S0K]"w/,60i- 8,WU5Co(Ut4_he .S-)γO7TrY.ւ$g+_FAz 3 ߑd$Mȡ9z>(w.z^_lz׵4]Ҥ^M`2`)G`dĽ5Vbymscuޯ?7Yͣ)~5y&lIq%!)+ËE'[?Pݰ\[O7mEd8 ='deWt8|o@E 8s9?5<%dGT4&L5f ;fKztÀRJRi\.xgDd)~_YszdlRHMcѬlN<.rէѴ .b߽{~ m~7֘R eKHNfxbѠQ0S &hz6j/ٹ0C!vC&' %!N^@R2bbF?xB!Lc() 0N8I?F8Iq}h)ǧH%qtǃ3yK1QqEA8񣄑)LbAh1'^ɺr0(f%70u Ci(M)~GA k:mR43 0Vcw8:;[:DҘ:fQeL%0Õw4f0x5lL4P/tq_lvuQBФɗ&w\E!~rFM6[$ Z=j?Z0G1B^?)H/xFe!$NpbsWհ^ u?<[適C`CTJ" IS("_nCFSncƾuovu}8תeJfH 8.Θ(Q8LSgy?~{/V<}zRyĩ)ln1Yx6$MBQ ȐLNc[ƻW'݂XasqRt%`Zz}Vߧ1(ewZ}O3 /<0/ѢK&94lCJlYP/Jnl$|FFOe Wwyh5}/ f6JC3ddh ah|G'|h5 !,Tȼ}kO3n,f"*p[ݸ [@/M?+Zw ceIENDB`arora-0.11.0/src/data/graphics/graphics.qrc000066400000000000000000000004071145000221100204670ustar00rootroot00000000000000 addtab.png closetab.png defaulticon.png history.png loading.gif private.png arora-0.11.0/src/data/graphics/history.png000066400000000000000000000027671145000221100204020ustar00rootroot00000000000000PNG  IHDRw= pHYs  tIME $# bKGDIDATHŔkLgŗefٖˌSCY1t*q\zZh 7QADLr+ CNTnRPAh d:^W}INybld;O[mqИ.hq&MS0 -Oנ.OA:>Ks{6.[s [:(Pt bL xfggI,覧!jh ,vb hjK2Y}H 8\jel# 0i24<6d?<߯oڱ.?3(63q:iBD j/lFm ;rHCBx)x<J‚f&@"sDxc P |KY"/D03k' ͎v(&&M4>|ql="z 1v+8LN @"!`3:RK6+ИN&=7qnCbYdYT; C=)t=wB tL&T*VVxw/E4^iQp*⮼\*݅T!vs'/j(?sS(H$r}w319ae99y$"n+uYוӇ=WB5;00(M"e͍"67@.NX,^*ncM˭^>Hu /Q_; $hVvSF088zPzf_c7[gsr2KfqtMq"z=o٧ު ~s>yBIENDB`arora-0.11.0/src/data/graphics/loading.gif000066400000000000000000000015171145000221100202670ustar00rootroot00000000000000GIF89a@@@iiiDDD\\\ཽPPP걱uuu! NETSCAPE2.0!Created with ajaxload.info! ,P di0l!*`Ƒ5و[<iP),IZ$bH85&x5k <yB! ,h GҌh*ਨ@$E}eh @ LcQGBP5 <5UdQ+"g0Ak#A nI0$K7 H,-t*E-``1@C7h/1f\)&!;arora-0.11.0/src/data/graphics/private.png000066400000000000000000000010651145000221100203410ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8S?hq}_zk.^z-$[ ND`n.: 8&$11R1$Nw=-UK\>ޟ>!Q&5_"2ID,l6ϯiGeM&y `w QDf}mYŕG/;)qjUa$~d0Yv]U*z3DkAvkZ T 뺟m~ "OEj5&i)% ňѶ={14$M^ Ru t:=[Tr9+H%'p2Ngx rl4R.n0<>U^*fn\,C8Vl6$I֍1OHhE$`QDOLnݝ7wQ|${[E?-CIENDB`arora-0.11.0/src/data/parseForms.js000066400000000000000000000014631145000221100170420ustar00rootroot00000000000000(function (){ var forms = new Array; for (var i = 0; i < document.forms.length; ++i) { var form = document.forms[i]; var formObject = new Object; formObject.name = form.name; var elements = new Array; for (var j = 0; j < form.elements.length; ++j) { var e = form.elements[j]; var element = new Object; element.name = e.name; element.value = e.value; element.type = e.type; element.autocomplete = e.attributes.getNamedItem("autocomplete"); if (element.autocomplete != null) element.autocomplete = element.autocomplete.value; elements.push(element); } formObject.elements = elements; forms.push(formObject); } return forms; }()) arora-0.11.0/src/data/searchengines/000077500000000000000000000000001145000221100171755ustar00rootroot00000000000000arora-0.11.0/src/data/searchengines/Google.xml000066400000000000000000000011161145000221100211320ustar00rootroot00000000000000 Google Google Web Search http://www.google.com/favicon.ico arora-0.11.0/src/data/searchengines/Google_Im_Feeling_Lucky.xml000066400000000000000000000011541145000221100243610ustar00rootroot00000000000000 Google (I'm Feeling Lucky) Google Web Search http://www.google.com/favicon.ico arora-0.11.0/src/data/searchengines/Reddit.xml000066400000000000000000000006101145000221100211270ustar00rootroot00000000000000 Reddit Reddit Site Search http://www.reddit.com/favicon.ico arora-0.11.0/src/data/searchengines/Wikipedia_en.xml000066400000000000000000000011701145000221100223060ustar00rootroot00000000000000 Wikipedia (en) Full text search in the English Wikipedia http://en.wikipedia.org/favicon.ico arora-0.11.0/src/data/searchengines/Yahoo.xml000066400000000000000000000006531145000221100210020ustar00rootroot00000000000000 Yahoo! Yahoo Web Search http://www.yahoo.com/favicon.ico arora-0.11.0/src/data/searchengines/YouTube.xml000066400000000000000000000011371145000221100213150ustar00rootroot00000000000000 YouTube YouTube http://www.youtube.com/favicon.ico arora-0.11.0/src/data/searchengines/searchengines.qrc000066400000000000000000000004311145000221100225200ustar00rootroot00000000000000 Google.xml Google_Im_Feeling_Lucky.xml Yahoo.xml Wikipedia_en.xml YouTube.xml Reddit.xml arora-0.11.0/src/downloaditem.ui000066400000000000000000000064651145000221100165060ustar00rootroot00000000000000 DownloadItem 0 0 423 110 0 0 0 Ico 0 0 Filename 0 0 0 Qt::Vertical 17 1 false Try Again Stop Open Qt::Vertical 17 5 SqueezeLabel QWidget

    squeezelabel.h
    arora-0.11.0/src/downloadmanager.cpp000066400000000000000000000650641145000221100173270ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * Copyright 2008 Jason A. Donenfeld * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2008-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "downloadmanager.h" #include "autosaver.h" #include "browserapplication.h" #include "networkaccessmanager.h" #include #include #include #include #include #include #include #include #include #include #include #include //#define DOWNLOADMANAGER_DEBUG /*! DownloadItem is a widget that is displayed in the download manager list. It moves the data from the QNetworkReply into the QFile as well as update the information/progressbar and report errors. */ DownloadItem::DownloadItem(QNetworkReply *reply, bool requestFileName, QWidget *parent) : QWidget(parent) , m_reply(reply) , m_requestFileName(requestFileName) , m_bytesReceived(0) , m_startedSaving(false) , m_finishedDownloading(false) , m_gettingFileName(false) , m_canceledFileSelect(false) { setupUi(this); QPalette p = downloadInfoLabel->palette(); p.setColor(QPalette::Text, Qt::darkGray); downloadInfoLabel->setPalette(p); progressBar->setMaximum(0); tryAgainButton->hide(); connect(stopButton, SIGNAL(clicked()), this, SLOT(stop())); connect(openButton, SIGNAL(clicked()), this, SLOT(open())); connect(tryAgainButton, SIGNAL(clicked()), this, SLOT(tryAgain())); if (!requestFileName) { QSettings settings; settings.beginGroup(QLatin1String("downloadmanager")); m_requestFileName = settings.value(QLatin1String("alwaysPromptForFileName"), false).toBool(); } init(); } void DownloadItem::init() { if (!m_reply) return; m_startedSaving = false; m_finishedDownloading = false; openButton->setEnabled(false); // attach to the m_reply m_url = m_reply->url(); m_reply->setParent(this); connect(m_reply, SIGNAL(readyRead()), this, SLOT(downloadReadyRead())); connect(m_reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(error(QNetworkReply::NetworkError))); connect(m_reply, SIGNAL(downloadProgress(qint64, qint64)), this, SLOT(downloadProgress(qint64, qint64))); connect(m_reply, SIGNAL(metaDataChanged()), this, SLOT(metaDataChanged())); connect(m_reply, SIGNAL(finished()), this, SLOT(finished())); // reset info downloadInfoLabel->clear(); progressBar->setValue(0); getFileName(); // start timer for the download estimation m_downloadTime.start(); if (m_reply->error() != QNetworkReply::NoError) { error(m_reply->error()); finished(); } } void DownloadItem::getFileName() { if (m_gettingFileName) return; QString downloadDirectory = BrowserApplication::downloadManager()->downloadDirectory(); QString defaultFileName = saveFileName(downloadDirectory); QString fileName = defaultFileName; if (m_requestFileName) { m_gettingFileName = true; fileName = QFileDialog::getSaveFileName(this, tr("Save File"), defaultFileName); m_gettingFileName = false; if (fileName.isEmpty()) { progressBar->setVisible(false); stop(); fileNameLabel->setText(tr("Download canceled: %1").arg(QFileInfo(defaultFileName).fileName())); m_canceledFileSelect = true; return; } QFileInfo fileInfo = QFileInfo(fileName); BrowserApplication::downloadManager()->setDownloadDirectory(fileInfo.absoluteDir().absolutePath()); fileNameLabel->setText(fileInfo.fileName()); } m_output.setFileName(fileName); // Check file path for saving. QDir saveDirPath = QFileInfo(m_output.fileName()).dir(); if (!saveDirPath.exists()) { if (!saveDirPath.mkpath(saveDirPath.absolutePath())) { progressBar->setVisible(false); stop(); downloadInfoLabel->setText(tr("Download directory (%1) couldn't be created.").arg(saveDirPath.absolutePath())); return; } } fileNameLabel->setText(QFileInfo(m_output.fileName()).fileName()); if (m_requestFileName) downloadReadyRead(); } QString DownloadItem::saveFileName(const QString &directory) const { // Move this function into QNetworkReply to also get file name sent from the server QString path; if (m_reply->hasRawHeader("Content-Disposition")) { QString value = QLatin1String(m_reply->rawHeader("Content-Disposition")); int pos = value.indexOf(QLatin1String("filename=")); if (pos != -1) { QString name = value.mid(pos + 9); if (name.startsWith(QLatin1Char('"')) && name.endsWith(QLatin1Char('"'))) name = name.mid(1, name.size() - 2); path = name; } } if (path.isEmpty()) path = m_url.path(); QFileInfo info(path); QString baseName = info.completeBaseName(); QString endName = info.suffix(); if (baseName.isEmpty()) { baseName = QLatin1String("unnamed_download"); #ifdef DOWNLOADMANAGER_DEBUG qDebug() << "DownloadItem::" << __FUNCTION__ << "downloading unknown file:" << m_url; #endif } if (!endName.isEmpty()) endName = QLatin1Char('.') + endName; QString name = directory + baseName + endName; if (!m_requestFileName && QFile::exists(name)) { // already exists, don't overwrite int i = 1; do { name = directory + baseName + QLatin1Char('-') + QString::number(i++) + endName; } while (QFile::exists(name)); } return name; } void DownloadItem::stop() { setUpdatesEnabled(false); stopButton->setEnabled(false); stopButton->hide(); tryAgainButton->setEnabled(true); tryAgainButton->show(); setUpdatesEnabled(true); m_reply->abort(); } void DownloadItem::open() { QFileInfo info(m_output); QUrl url = QUrl::fromLocalFile(info.absoluteFilePath()); QDesktopServices::openUrl(url); } void DownloadItem::tryAgain() { if (!tryAgainButton->isEnabled()) return; tryAgainButton->setEnabled(false); tryAgainButton->setVisible(false); stopButton->setEnabled(true); stopButton->setVisible(true); progressBar->setVisible(true); QNetworkReply *r = BrowserApplication::networkAccessManager()->get(QNetworkRequest(m_url)); if (m_reply) m_reply->deleteLater(); if (m_output.exists()) m_output.remove(); m_reply = r; init(); emit statusChanged(); } void DownloadItem::downloadReadyRead() { if (m_requestFileName && m_output.fileName().isEmpty()) return; if (!m_output.isOpen()) { // in case someone else has already put a file there if (!m_requestFileName) getFileName(); if (!m_output.open(QIODevice::WriteOnly)) { downloadInfoLabel->setText(tr("Error opening output file: %1") .arg(m_output.errorString())); stop(); emit statusChanged(); return; } emit statusChanged(); } if (-1 == m_output.write(m_reply->readAll())) { downloadInfoLabel->setText(tr("Error saving: %1") .arg(m_output.errorString())); stopButton->click(); } else { m_startedSaving = true; if (m_finishedDownloading) finished(); } } void DownloadItem::error(QNetworkReply::NetworkError) { #ifdef DOWNLOADMANAGER_DEBUG qDebug() << "DownloadItem::" << __FUNCTION__ << m_reply->errorString() << m_url; #endif downloadInfoLabel->setText(tr("Network Error: %1").arg(m_reply->errorString())); tryAgainButton->setEnabled(true); tryAgainButton->setVisible(true); } void DownloadItem::metaDataChanged() { QVariant locationHeader = m_reply->header(QNetworkRequest::LocationHeader); if (locationHeader.isValid()) { m_url = locationHeader.toUrl(); m_reply->deleteLater(); m_reply = BrowserApplication::networkAccessManager()->get(QNetworkRequest(m_url)); init(); return; } #ifdef DOWNLOADMANAGER_DEBUG qDebug() << "DownloadItem::" << __FUNCTION__ << "not handled."; #endif } void DownloadItem::downloadProgress(qint64 bytesReceived, qint64 bytesTotal) { QTime now = QTime::currentTime(); if (m_lastProgressTime.msecsTo(now) < 200) return; m_lastProgressTime = now; m_bytesReceived = bytesReceived; qint64 currentValue = 0; qint64 totalValue = 0; if (bytesTotal > 0) { currentValue = bytesReceived * 100 / bytesTotal; totalValue = 100; } progressBar->setValue(currentValue); progressBar->setMaximum(totalValue); emit progress(currentValue, totalValue); updateInfoLabel(); } qint64 DownloadItem::bytesTotal() const { return m_reply->header(QNetworkRequest::ContentLengthHeader).toULongLong(); } qint64 DownloadItem::bytesReceived() const { return m_bytesReceived; } double DownloadItem::remainingTime() const { if (!downloading()) return -1.0; double timeRemaining = ((double)(bytesTotal() - bytesReceived())) / currentSpeed(); // When downloading the eta should never be 0 if (timeRemaining == 0) timeRemaining = 1; return timeRemaining; } double DownloadItem::currentSpeed() const { if (!downloading()) return -1.0; return m_bytesReceived * 1000.0 / m_downloadTime.elapsed(); } void DownloadItem::updateInfoLabel() { if (m_reply->error() != QNetworkReply::NoError) return; qint64 bytesTotal = m_reply->header(QNetworkRequest::ContentLengthHeader).toULongLong(); bool running = !downloadedSuccessfully(); // update info label double speed = currentSpeed(); double timeRemaining = remainingTime(); QString info; if (running) { QString remaining; if (bytesTotal != 0) { remaining = DownloadManager::timeString(timeRemaining); } info = QString(tr("%1 of %2 (%3/sec) - %4")) .arg(DownloadManager::dataString(m_bytesReceived)) .arg(bytesTotal == 0 ? tr("?") : DownloadManager::dataString(bytesTotal)) .arg(DownloadManager::dataString((int)speed)) .arg(remaining); } else { if (m_bytesReceived == bytesTotal) info = DownloadManager::dataString(m_output.size()); else info = tr("%1 of %2 - Download Complete") .arg(DownloadManager::dataString(m_bytesReceived)) .arg(DownloadManager::dataString(bytesTotal)); } downloadInfoLabel->setText(info); } bool DownloadItem::downloading() const { return (progressBar->isVisible()); } bool DownloadItem::downloadedSuccessfully() const { return (stopButton->isHidden() && tryAgainButton->isHidden()); } void DownloadItem::finished() { m_finishedDownloading = true; if (!m_startedSaving) { return; } progressBar->hide(); stopButton->setEnabled(false); stopButton->hide(); openButton->setEnabled(true); m_output.close(); updateInfoLabel(); emit statusChanged(); } /*! DownloadManager is a Dialog that contains a list of DownloadItems It is a basic download manager. It only downloads the file, doesn't do BitTorrent, extract zipped files or anything fancy. */ DownloadManager::DownloadManager(QWidget *parent) : QDialog(parent) , m_autoSaver(new AutoSaver(this)) , m_model(new DownloadModel(this)) , m_manager(BrowserApplication::networkAccessManager()) , m_iconProvider(0) , m_removePolicy(Never) { setupUi(this); QSettings settings; settings.beginGroup(QLatin1String("downloadmanager")); QString defaultLocation = QDesktopServices::storageLocation(QDesktopServices::DesktopLocation); setDownloadDirectory(settings.value(QLatin1String("downloadDirectory"), defaultLocation).toString()); downloadsView->setShowGrid(false); downloadsView->verticalHeader()->hide(); downloadsView->horizontalHeader()->hide(); downloadsView->setAlternatingRowColors(true); downloadsView->horizontalHeader()->setStretchLastSection(true); downloadsView->setModel(m_model); connect(cleanupButton, SIGNAL(clicked()), this, SLOT(cleanup())); connect(buttonBox, SIGNAL(rejected()), this, SLOT(close())); load(); } DownloadManager::~DownloadManager() { m_autoSaver->changeOccurred(); m_autoSaver->saveIfNeccessary(); if (m_iconProvider) delete m_iconProvider; } int DownloadManager::activeDownloads() const { int count = 0; for (int i = 0; i < m_downloads.count(); ++i) { if (m_downloads.at(i)->stopButton->isEnabled()) ++count; } return count; } bool DownloadManager::allowQuit() { if (activeDownloads() >= 1) { int choice = QMessageBox::warning(this, QString(), tr("There are %1 downloads in progress\n" "Do you want to quit anyway?").arg(activeDownloads()), QMessageBox::Yes | QMessageBox::No, QMessageBox::No); if (choice == QMessageBox::No) { show(); return false; } } return true; } bool DownloadManager::externalDownload(const QUrl &url) { QSettings settings; settings.beginGroup(QLatin1String("downloadmanager")); if (!settings.value(QLatin1String("external"), false).toBool()) return false; QString program = settings.value(QLatin1String("externalPath")).toString(); if (program.isEmpty()) return false; // Split program at every space not inside double quotes QRegExp regex(QLatin1String("\"([^\"]+)\"|([^ ]+)")); QStringList args; for (int pos = 0; (pos = regex.indexIn(program, pos)) != -1; pos += regex.matchedLength()) args << regex.cap(1) + regex.cap(2); if (args.isEmpty()) return false; return QProcess::startDetached(args.takeFirst(), args << QString::fromUtf8(url.toEncoded())); } void DownloadManager::download(const QNetworkRequest &request, bool requestFileName) { if (request.url().isEmpty()) return; if (externalDownload(request.url())) return; handleUnsupportedContent(m_manager->get(request), requestFileName); } void DownloadManager::handleUnsupportedContent(QNetworkReply *reply, bool requestFileName) { if (!reply || reply->url().isEmpty()) return; if (externalDownload(reply->url())) return; QVariant header = reply->header(QNetworkRequest::ContentLengthHeader); bool ok; int size = header.toInt(&ok); if (ok && size == 0) return; #ifdef DOWNLOADMANAGER_DEBUG qDebug() << "DownloadManager::" << __FUNCTION__ << reply->url() << "requestFileName" << requestFileName; #endif DownloadItem *item = new DownloadItem(reply, requestFileName, this); addItem(item); if (item->m_canceledFileSelect) return; if (!isVisible()) show(); activateWindow(); raise(); } void DownloadManager::addItem(DownloadItem *item) { connect(item, SIGNAL(statusChanged()), this, SLOT(updateRow())); int row = m_downloads.count(); m_model->beginInsertRows(QModelIndex(), row, row); m_downloads.append(item); m_model->endInsertRows(); updateItemCount(); downloadsView->setIndexWidget(m_model->index(row, 0), item); QIcon icon = style()->standardIcon(QStyle::SP_FileIcon); item->fileIcon->setPixmap(icon.pixmap(48, 48)); downloadsView->setRowHeight(row, item->sizeHint().height()); updateRow(item); //incase download finishes before the constructor returns } void DownloadManager::updateRow() { if (DownloadItem *item = qobject_cast(sender())) updateRow(item); } void DownloadManager::updateRow(DownloadItem *item) { int row = m_downloads.indexOf(item); if (-1 == row) return; if (!m_iconProvider) m_iconProvider = new QFileIconProvider(); QIcon icon = m_iconProvider->icon(item->m_output.fileName()); if (icon.isNull()) icon = style()->standardIcon(QStyle::SP_FileIcon); item->fileIcon->setPixmap(icon.pixmap(48, 48)); int oldHeight = downloadsView->rowHeight(row); downloadsView->setRowHeight(row, qMax(oldHeight, item->minimumSizeHint().height())); bool remove = false; QWebSettings *globalSettings = QWebSettings::globalSettings(); if (!item->downloading() && globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled)) remove = true; if (item->downloadedSuccessfully() && removePolicy() == DownloadManager::SuccessFullDownload) { remove = true; } if (remove) m_model->removeRow(row); cleanupButton->setEnabled(m_downloads.count() - activeDownloads() > 0); } DownloadManager::RemovePolicy DownloadManager::removePolicy() const { return m_removePolicy; } void DownloadManager::setRemovePolicy(RemovePolicy policy) { if (policy == m_removePolicy) return; m_removePolicy = policy; m_autoSaver->changeOccurred(); } void DownloadManager::save() const { QSettings settings; settings.beginGroup(QLatin1String("downloadmanager")); QMetaEnum removePolicyEnum = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("RemovePolicy")); settings.setValue(QLatin1String("removeDownloadsPolicy"), QLatin1String(removePolicyEnum.valueToKey(m_removePolicy))); settings.setValue(QLatin1String("size"), size()); if (m_removePolicy == Exit) return; for (int i = 0; i < m_downloads.count(); ++i) { QString key = QString(QLatin1String("download_%1_")).arg(i); settings.setValue(key + QLatin1String("url"), m_downloads[i]->m_url); settings.setValue(key + QLatin1String("location"), QFileInfo(m_downloads[i]->m_output).filePath()); settings.setValue(key + QLatin1String("done"), m_downloads[i]->downloadedSuccessfully()); } int i = m_downloads.count(); QString key = QString(QLatin1String("download_%1_")).arg(i); while (settings.contains(key + QLatin1String("url"))) { settings.remove(key + QLatin1String("url")); settings.remove(key + QLatin1String("location")); settings.remove(key + QLatin1String("done")); key = QString(QLatin1String("download_%1_")).arg(++i); } } void DownloadManager::load() { QSettings settings; settings.beginGroup(QLatin1String("downloadmanager")); QSize size = settings.value(QLatin1String("size")).toSize(); if (size.isValid()) resize(size); QByteArray value = settings.value(QLatin1String("removeDownloadsPolicy"), QLatin1String("Never")).toByteArray(); QMetaEnum removePolicyEnum = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("RemovePolicy")); m_removePolicy = removePolicyEnum.keyToValue(value) == -1 ? Never : static_cast(removePolicyEnum.keyToValue(value)); int i = 0; QString key = QString(QLatin1String("download_%1_")).arg(i); while (settings.contains(key + QLatin1String("url"))) { QUrl url = settings.value(key + QLatin1String("url")).toUrl(); QString fileName = settings.value(key + QLatin1String("location")).toString(); bool done = settings.value(key + QLatin1String("done"), true).toBool(); if (!url.isEmpty() && !fileName.isEmpty()) { DownloadItem *item = new DownloadItem(0, this); item->m_output.setFileName(fileName); item->fileNameLabel->setText(QFileInfo(item->m_output.fileName()).fileName()); item->m_url = url; addItem(item); item->stopButton->setVisible(false); item->stopButton->setEnabled(false); item->tryAgainButton->setVisible(!done); item->tryAgainButton->setEnabled(!done); item->progressBar->setVisible(false); } key = QString(QLatin1String("download_%1_")).arg(++i); } cleanupButton->setEnabled(m_downloads.count() - activeDownloads() > 0); } void DownloadManager::cleanup() { if (m_downloads.isEmpty()) return; m_model->removeRows(0, m_downloads.count()); updateItemCount(); if (m_downloads.isEmpty() && m_iconProvider) { delete m_iconProvider; m_iconProvider = 0; } m_autoSaver->changeOccurred(); } void DownloadManager::updateItemCount() { int count = m_downloads.count(); itemCount->setText(tr("%n Download(s)", "", count)); } void DownloadManager::setDownloadDirectory(const QString &directory) { m_downloadDirectory = directory; if (!m_downloadDirectory.isEmpty()) m_downloadDirectory += QLatin1Char('/'); } QString DownloadManager::downloadDirectory() { return m_downloadDirectory; } QString DownloadManager::timeString(double timeRemaining) { QString remaining; if (timeRemaining > 60) { timeRemaining = timeRemaining / 60; timeRemaining = floor(timeRemaining); remaining = tr("%n minutes remaining", "", int(timeRemaining)); } else { timeRemaining = floor(timeRemaining); remaining = tr("%n seconds remaining", "", int(timeRemaining)); } return remaining; } QString DownloadManager::dataString(qint64 size) { QString unit; double newSize; if (size < 1024) { newSize = size; unit = tr("bytes"); } else if (size < 1024 * 1024) { newSize = (double)size / (double)1024; unit = tr("kB"); } else if (size < 1024 * 1024 * 1024) { newSize = (double)size / (double)(1024 * 1024); unit = tr("MB"); } else { newSize = (double)size / (double)(1024 * 1024 * 1024); unit = tr("GB"); } return QString(QLatin1String("%1 %2")).arg(newSize, 0, 'f', 1).arg(unit); } DownloadModel::DownloadModel(DownloadManager *downloadManager, QObject *parent) : QAbstractListModel(parent) , m_downloadManager(downloadManager) { } QVariant DownloadModel::data(const QModelIndex &index, int role) const { if (index.row() < 0 || index.row() >= rowCount(index.parent())) return QVariant(); if (role == Qt::ToolTipRole) if (!m_downloadManager->m_downloads.at(index.row())->downloadedSuccessfully()) return m_downloadManager->m_downloads.at(index.row())->downloadInfoLabel->text(); return QVariant(); } int DownloadModel::rowCount(const QModelIndex &parent) const { return (parent.isValid()) ? 0 : m_downloadManager->m_downloads.count(); } bool DownloadModel::removeRows(int row, int count, const QModelIndex &parent) { if (parent.isValid()) return false; int lastRow = row + count - 1; for (int i = lastRow; i >= row; --i) { if (m_downloadManager->m_downloads.at(i)->downloadedSuccessfully() || m_downloadManager->m_downloads.at(i)->tryAgainButton->isEnabled()) { beginRemoveRows(parent, i, i); m_downloadManager->m_downloads.takeAt(i)->deleteLater(); endRemoveRows(); } } m_downloadManager->m_autoSaver->changeOccurred(); return true; } Qt::ItemFlags DownloadModel::flags(const QModelIndex &index) const { if (index.row() < 0 || index.row() >= rowCount(index.parent())) return 0; Qt::ItemFlags defaultFlags = QAbstractItemModel::flags(index); DownloadItem *item = m_downloadManager->m_downloads.at(index.row()); if (item->downloadedSuccessfully()) return defaultFlags | Qt::ItemIsDragEnabled; return defaultFlags; } QMimeData *DownloadModel::mimeData(const QModelIndexList &indexes) const { QMimeData *mimeData = new QMimeData(); QList urls; foreach (const QModelIndex &index, indexes) { if (!index.isValid()) continue; DownloadItem *item = m_downloadManager->m_downloads.at(index.row()); urls.append(QUrl::fromLocalFile(QFileInfo(item->m_output).absoluteFilePath())); } mimeData->setUrls(urls); return mimeData; } arora-0.11.0/src/downloadmanager.h000066400000000000000000000150211145000221100167600ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * Copyright 2008 Jason A. Donenfeld * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2008-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef DOWNLOADMANAGER_H #define DOWNLOADMANAGER_H #include "ui_downloads.h" #include "ui_downloaditem.h" #include #include #include class DownloadItem : public QWidget, public Ui_DownloadItem { Q_OBJECT signals: void statusChanged(); void progress(qint64 bytesReceived = 0, qint64 bytesTotal = 0); public: DownloadItem(QNetworkReply *reply = 0, bool requestFileName = false, QWidget *parent = 0); bool downloading() const; bool downloadedSuccessfully() const; qint64 bytesTotal() const; qint64 bytesReceived() const; double remainingTime() const; double currentSpeed() const; QUrl m_url; QFile m_output; QNetworkReply *m_reply; private slots: void stop(); void tryAgain(); void open(); void downloadReadyRead(); void error(QNetworkReply::NetworkError code); void downloadProgress(qint64 bytesReceived, qint64 bytesTotal); void metaDataChanged(); void finished(); private: void getFileName(); void init(); void updateInfoLabel(); QString saveFileName(const QString &directory) const; bool m_requestFileName; qint64 m_bytesReceived; QTime m_downloadTime; bool m_startedSaving; bool m_finishedDownloading; bool m_gettingFileName; bool m_canceledFileSelect; QTime m_lastProgressTime; friend class DownloadManager; }; class AutoSaver; class DownloadModel; QT_BEGIN_NAMESPACE class QFileIconProvider; class QMimeData; QT_END_NAMESPACE class DownloadManager : public QDialog, public Ui_DownloadDialog { Q_OBJECT Q_PROPERTY(RemovePolicy removePolicy READ removePolicy WRITE setRemovePolicy) Q_ENUMS(RemovePolicy) public: enum RemovePolicy { Never, Exit, SuccessFullDownload }; DownloadManager(QWidget *parent = 0); ~DownloadManager(); int activeDownloads() const; bool allowQuit(); RemovePolicy removePolicy() const; void setRemovePolicy(RemovePolicy policy); static QString timeString(double timeRemaining); static QString dataString(qint64 size); void setDownloadDirectory(const QString &directory); QString downloadDirectory(); public slots: void download(const QNetworkRequest &request, bool requestFileName = false); inline void download(const QUrl &url, bool requestFileName = false) { download(QNetworkRequest(url), requestFileName); } void handleUnsupportedContent(QNetworkReply *reply, bool requestFileName = false); void cleanup(); private slots: void save() const; void updateRow(DownloadItem *item); void updateRow(); private: void addItem(DownloadItem *item); void updateItemCount(); void load(); bool externalDownload(const QUrl &url); AutoSaver *m_autoSaver; DownloadModel *m_model; QNetworkAccessManager *m_manager; QFileIconProvider *m_iconProvider; QList m_downloads; RemovePolicy m_removePolicy; QString m_downloadDirectory; friend class DownloadModel; }; class DownloadModel : public QAbstractListModel { friend class DownloadManager; Q_OBJECT public: DownloadModel(DownloadManager *downloadManager, QObject *parent = 0); QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; int rowCount(const QModelIndex &parent = QModelIndex()) const; bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); Qt::ItemFlags flags(const QModelIndex &index) const; QMimeData *mimeData(const QModelIndexList &indexes) const; private: DownloadManager *m_downloadManager; }; #endif // DOWNLOADMANAGER_H arora-0.11.0/src/downloads.ui000066400000000000000000000051041145000221100157770ustar00rootroot00000000000000 DownloadDialog 0 0 340 233 Downloads 0 0 QFrame::NoFrame true QAbstractItemView::DragOnly false Clean up Qt::Horizontal 58 24 0 Items Qt::Horizontal 50 20 QDialogButtonBox::Close EditTableView QTableView
    edittableview.h
    arora-0.11.0/src/history/000077500000000000000000000000001145000221100151475ustar00rootroot00000000000000arora-0.11.0/src/history/history.cpp000066400000000000000000001000051145000221100173500ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "history.h" #include "autosaver.h" #include "browserapplication.h" #include "historymanager.h" #include "treesortfilterproxymodel.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include HistoryModel::HistoryModel(HistoryManager *history, QObject *parent) : QAbstractTableModel(parent) , m_history(history) { Q_ASSERT(m_history); connect(m_history, SIGNAL(historyReset()), this, SLOT(historyReset())); connect(m_history, SIGNAL(entryRemoved(const HistoryEntry &)), this, SLOT(historyReset())); connect(m_history, SIGNAL(entryAdded(const HistoryEntry &)), this, SLOT(entryAdded())); connect(m_history, SIGNAL(entryUpdated(int)), this, SLOT(entryUpdated(int))); } void HistoryModel::historyReset() { reset(); } void HistoryModel::entryAdded() { beginInsertRows(QModelIndex(), 0, 0); endInsertRows(); } void HistoryModel::entryUpdated(int offset) { QModelIndex idx = index(offset, 0); emit dataChanged(idx, idx); } QVariant HistoryModel::headerData(int section, Qt::Orientation orientation, int role) const { if (orientation == Qt::Horizontal && role == Qt::DisplayRole) { switch (section) { case 0: return tr("Title"); case 1: return tr("Address"); } } return QAbstractTableModel::headerData(section, orientation, role); } QVariant HistoryModel::data(const QModelIndex &index, int role) const { QList lst = m_history->history(); if (index.row() < 0 || index.row() >= lst.size()) return QVariant(); const HistoryEntry &item = lst.at(index.row()); switch (role) { case DateTimeRole: return item.dateTime; case DateRole: return item.dateTime.date(); case UrlRole: return QUrl(item.url); case UrlStringRole: return item.url; case TitleRole: return item.userTitle(); case Qt::DisplayRole: case Qt::EditRole: { switch (index.column()) { case 0: return item.userTitle(); case 1: return item.url; } } case Qt::DecorationRole: if (index.column() == 0) { return BrowserApplication::instance()->icon(item.url); } } return QVariant(); } int HistoryModel::columnCount(const QModelIndex &parent) const { return (parent.isValid()) ? 0 : 2; } int HistoryModel::rowCount(const QModelIndex &parent) const { return (parent.isValid()) ? 0 : m_history->history().count(); } bool HistoryModel::removeRows(int row, int count, const QModelIndex &parent) { if (parent.isValid()) return false; int lastRow = row + count - 1; beginRemoveRows(parent, row, lastRow); QList lst = m_history->history(); for (int i = lastRow; i >= row; --i) lst.removeAt(i); disconnect(m_history, SIGNAL(historyReset()), this, SLOT(historyReset())); m_history->setHistory(lst); connect(m_history, SIGNAL(historyReset()), this, SLOT(historyReset())); endRemoveRows(); return true; } #define MOVEDROWS 15 /* Maps the first bunch of items of the source model to the root */ HistoryMenuModel::HistoryMenuModel(HistoryTreeModel *sourceModel, QObject *parent) : QAbstractProxyModel(parent) , m_treeModel(sourceModel) { setSourceModel(sourceModel); } int HistoryMenuModel::bumpedRows() const { QModelIndex first = m_treeModel->index(0, 0); if (!first.isValid()) return 0; return qMin(m_treeModel->rowCount(first), MOVEDROWS); } int HistoryMenuModel::columnCount(const QModelIndex &parent) const { return m_treeModel->columnCount(mapToSource(parent)); } int HistoryMenuModel::rowCount(const QModelIndex &parent) const { if (parent.column() > 0) return 0; if (!parent.isValid()) { int folders = sourceModel()->rowCount(); int bumpedItems = bumpedRows(); if (bumpedItems <= MOVEDROWS && bumpedItems == sourceModel()->rowCount(sourceModel()->index(0, 0))) --folders; return bumpedItems + folders; } if (parent.internalId() == -1) { if (parent.row() < bumpedRows()) return 0; } QModelIndex idx = mapToSource(parent); int defaultCount = sourceModel()->rowCount(idx); if (idx == sourceModel()->index(0, 0)) return defaultCount - bumpedRows(); return defaultCount; } QModelIndex HistoryMenuModel::mapFromSource(const QModelIndex &sourceIndex) const { // currently not used or autotested Q_ASSERT(false); int sr = m_treeModel->mapToSource(sourceIndex).row(); return createIndex(sourceIndex.row(), sourceIndex.column(), sr); } QModelIndex HistoryMenuModel::mapToSource(const QModelIndex &proxyIndex) const { if (!proxyIndex.isValid()) return QModelIndex(); if (proxyIndex.internalId() == -1) { int bumpedItems = bumpedRows(); if (proxyIndex.row() < bumpedItems) return m_treeModel->index(proxyIndex.row(), proxyIndex.column(), m_treeModel->index(0, 0)); if (bumpedItems <= MOVEDROWS && bumpedItems == sourceModel()->rowCount(m_treeModel->index(0, 0))) --bumpedItems; return m_treeModel->index(proxyIndex.row() - bumpedItems, proxyIndex.column()); } QModelIndex historyIndex = m_treeModel->sourceModel()->index(proxyIndex.internalId(), proxyIndex.column()); QModelIndex treeIndex = m_treeModel->mapFromSource(historyIndex); return treeIndex; } QModelIndex HistoryMenuModel::index(int row, int column, const QModelIndex &parent) const { if (row < 0 || column < 0 || column >= columnCount(parent) || parent.column() > 0) return QModelIndex(); if (!parent.isValid()) return createIndex(row, column, -1); QModelIndex treeIndexParent = mapToSource(parent); int bumpedItems = 0; if (treeIndexParent == m_treeModel->index(0, 0)) bumpedItems = bumpedRows(); QModelIndex treeIndex = m_treeModel->index(row + bumpedItems, column, treeIndexParent); QModelIndex historyIndex = m_treeModel->mapToSource(treeIndex); int historyRow = historyIndex.row(); if (historyRow == -1) historyRow = treeIndex.row(); return createIndex(row, column, historyRow); } QModelIndex HistoryMenuModel::parent(const QModelIndex &index) const { int offset = index.internalId(); if (offset == -1 || !index.isValid()) return QModelIndex(); QModelIndex historyIndex = m_treeModel->sourceModel()->index(index.internalId(), 0); QModelIndex treeIndex = m_treeModel->mapFromSource(historyIndex); QModelIndex treeIndexParent = treeIndex.parent(); int sr = m_treeModel->mapToSource(treeIndexParent).row(); int bumpedItems = bumpedRows(); if (bumpedItems <= MOVEDROWS && bumpedItems == sourceModel()->rowCount(sourceModel()->index(0, 0))) --bumpedItems; return createIndex(bumpedItems + treeIndexParent.row(), treeIndexParent.column(), sr); } QMimeData *HistoryMenuModel::mimeData(const QModelIndexList &indexes) const { QMimeData *mimeData = new QMimeData; QList urls; foreach (const QModelIndex &idx, indexes) { QUrl url = idx.data(HistoryModel::UrlRole).toUrl(); urls.append(url); } mimeData->setUrls(urls); return mimeData; } HistoryMenu::HistoryMenu(QWidget *parent) : ModelMenu(parent) , m_history(0) , m_historyMenuModel(0) { setMaxRows(7); connect(this, SIGNAL(activated(const QModelIndex &)), this, SLOT(activated(const QModelIndex &))); setStatusBarTextRole(HistoryModel::UrlStringRole); } void HistoryMenu::activated(const QModelIndex &index) { emit openUrl(index.data(HistoryModel::UrlRole).toUrl(), index.data(HistoryModel::TitleRole).toString()); } bool HistoryMenu::prePopulated() { if (!m_history) { m_history = BrowserApplication::historyManager(); m_historyMenuModel = new HistoryMenuModel(m_history->historyTreeModel(), this); setModel(m_historyMenuModel); } // initial actions for (int i = 0; i < m_initialActions.count(); ++i) addAction(m_initialActions.at(i)); if (!m_initialActions.isEmpty()) addSeparator(); setFirstSeparator(m_historyMenuModel->bumpedRows()); return false; } void HistoryMenu::postPopulated() { if (m_history->history().count() > 0) addSeparator(); QAction *showAllAction = new QAction(tr("Show All History"), this); #if !defined(Q_WS_MAC) showAllAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_H)); #endif connect(showAllAction, SIGNAL(triggered()), this, SLOT(showHistoryDialog())); addAction(showAllAction); QAction *clearAction = new QAction(tr("Clear History..."), this); connect(clearAction, SIGNAL(triggered()), this, SLOT(clearHistoryDialog())); addAction(clearAction); } void HistoryMenu::showHistoryDialog() { HistoryDialog *dialog = new HistoryDialog(this); dialog->setAttribute(Qt::WA_DeleteOnClose); connect(dialog, SIGNAL(openUrl(const QUrl&, const QString &)), this, SIGNAL(openUrl(const QUrl&, const QString &))); dialog->show(); } void HistoryMenu::clearHistoryDialog() { if (m_history && QMessageBox::question(0, tr("Clear History"), tr("Do you want to clear the history?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::No) == QMessageBox::Yes) { m_history->clear(); } } void HistoryMenu::setInitialActions(QList actions) { m_initialActions = actions; for (int i = 0; i < m_initialActions.count(); ++i) addAction(m_initialActions.at(i)); } HistoryDialog::HistoryDialog(QWidget *parent, HistoryManager *setHistory) : QDialog(parent) { HistoryManager *history = setHistory; if (!history) history = BrowserApplication::historyManager(); setupUi(this); tree->setUniformRowHeights(true); tree->setSelectionBehavior(QAbstractItemView::SelectRows); tree->setSelectionMode(QAbstractItemView::ExtendedSelection); tree->setTextElideMode(Qt::ElideMiddle); QAbstractItemModel *model = history->historyTreeModel(); TreeSortFilterProxyModel *proxyModel = new TreeSortFilterProxyModel(this); proxyModel->setSortRole(HistoryModel::DateTimeRole); proxyModel->setFilterKeyColumn(-1); connect(search, SIGNAL(textChanged(QString)), proxyModel, SLOT(setFilterFixedString(QString))); connect(removeButton, SIGNAL(clicked()), tree, SLOT(removeSelected())); connect(removeAllButton, SIGNAL(clicked()), history, SLOT(clear())); proxyModel->setSourceModel(model); tree->setModel(proxyModel); tree->setExpanded(proxyModel->index(0, 0), true); tree->setAlternatingRowColors(true); QFontMetrics fm(font()); int header = fm.width(QLatin1Char('m')) * 40; tree->header()->resizeSection(0, header); tree->header()->setStretchLastSection(true); connect(tree, SIGNAL(activated(const QModelIndex&)), this, SLOT(open())); tree->setContextMenuPolicy(Qt::CustomContextMenu); connect(tree, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(customContextMenuRequested(const QPoint &))); } void HistoryDialog::customContextMenuRequested(const QPoint &pos) { QMenu menu; QModelIndex index = tree->indexAt(pos); index = index.sibling(index.row(), 0); if (index.isValid() && !tree->model()->hasChildren(index)) { menu.addAction(tr("Open"), this, SLOT(open())); menu.addSeparator(); menu.addAction(tr("Copy"), this, SLOT(copy())); } menu.addAction(tr("Delete"), tree, SLOT(removeSelected())); menu.exec(QCursor::pos()); } void HistoryDialog::open() { QModelIndex index = tree->currentIndex(); if (!index.parent().isValid()) return; BrowserApplication::instance()->setEventMouseButtons(qApp->mouseButtons()); BrowserApplication::instance()->setEventKeyboardModifiers(qApp->keyboardModifiers()); emit openUrl(index.data(HistoryModel::UrlRole).toUrl(), index.data(HistoryModel::TitleRole).toString()); } void HistoryDialog::copy() { QModelIndex index = tree->currentIndex(); if (!index.parent().isValid()) return; QString url = index.data(HistoryModel::UrlStringRole).toString(); QClipboard *clipboard = QApplication::clipboard(); clipboard->setText(url); } HistoryFilterModel::HistoryFilterModel(QAbstractItemModel *sourceModel, QObject *parent) : QAbstractProxyModel(parent) , m_loaded(false) { setSourceModel(sourceModel); } int HistoryFilterModel::historyLocation(const QString &url) const { load(); if (!m_historyHash.contains(url)) return 0; return sourceModel()->rowCount() - m_historyHash.value(url); } QVariant HistoryFilterModel::data(const QModelIndex &index, int role) const { if (role == FrecencyRole && index.isValid()) { return m_filteredRows[index.row()].frecency; } return QAbstractProxyModel::data(index, role); } void HistoryFilterModel::setSourceModel(QAbstractItemModel *newSourceModel) { if (sourceModel()) { disconnect(sourceModel(), SIGNAL(modelReset()), this, SLOT(sourceReset())); disconnect(sourceModel(), SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(dataChanged(const QModelIndex &, const QModelIndex &))); disconnect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)), this, SLOT(sourceRowsInserted(const QModelIndex &, int, int))); disconnect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)), this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int))); } QAbstractProxyModel::setSourceModel(newSourceModel); if (sourceModel()) { m_loaded = false; connect(sourceModel(), SIGNAL(modelReset()), this, SLOT(sourceReset())); connect(sourceModel(), SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(sourceDataChanged(const QModelIndex &, const QModelIndex &))); connect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)), this, SLOT(sourceRowsInserted(const QModelIndex &, int, int))); connect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)), this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int))); } } void HistoryFilterModel::sourceDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight) { emit dataChanged(mapFromSource(topLeft), mapFromSource(bottomRight)); } QVariant HistoryFilterModel::headerData(int section, Qt::Orientation orientation, int role) const { return sourceModel()->headerData(section, orientation, role); } void HistoryFilterModel::recalculateFrecencies() { sourceReset(); } void HistoryFilterModel::sourceReset() { m_loaded = false; reset(); } int HistoryFilterModel::rowCount(const QModelIndex &parent) const { load(); if (parent.isValid()) return 0; return m_historyHash.count(); } int HistoryFilterModel::columnCount(const QModelIndex &parent) const { return (parent.isValid()) ? 0 : 2; } QModelIndex HistoryFilterModel::mapToSource(const QModelIndex &proxyIndex) const { load(); int sourceRow = sourceModel()->rowCount() - proxyIndex.internalId(); return sourceModel()->index(sourceRow, proxyIndex.column()); } QModelIndex HistoryFilterModel::mapFromSource(const QModelIndex &sourceIndex) const { load(); QString url = sourceIndex.data(HistoryModel::UrlStringRole).toString(); if (!m_historyHash.contains(url)) return QModelIndex(); int sourceOffset = sourceModel()->rowCount() - sourceIndex.row(); QList::iterator pos = qBinaryFind(m_filteredRows.begin(), m_filteredRows.end(), HistoryData(sourceOffset, -1)); if (pos == m_filteredRows.end()) return QModelIndex(); return createIndex(pos - m_filteredRows.begin(), sourceIndex.column(), sourceOffset); } QModelIndex HistoryFilterModel::index(int row, int column, const QModelIndex &parent) const { load(); if (row < 0 || row >= rowCount(parent) || column < 0 || column >= columnCount(parent)) return QModelIndex(); return createIndex(row, column, m_filteredRows[row].tailOffset); } QModelIndex HistoryFilterModel::parent(const QModelIndex &) const { return QModelIndex(); } void HistoryFilterModel::load() const { if (m_loaded) return; m_filteredRows.clear(); m_historyHash.clear(); m_historyHash.reserve(sourceModel()->rowCount()); m_scaleTime = QDateTime::currentDateTime(); for (int i = 0; i < sourceModel()->rowCount(); ++i) { QModelIndex idx = sourceModel()->index(i, 0); QString url = idx.data(HistoryModel::UrlStringRole).toString(); if (!m_historyHash.contains(url)) { int sourceOffset = sourceModel()->rowCount() - i; m_filteredRows.append(HistoryData(sourceOffset, frecencyScore(idx))); m_historyHash.insert(url, sourceOffset); } else { // we already know about this url: just increment its frecency score QList::iterator pos = qBinaryFind(m_filteredRows.begin(), m_filteredRows.end(), HistoryData(m_historyHash[url], -1)); Q_ASSERT(pos != m_filteredRows.end()); pos->frecency += frecencyScore(idx); } } m_loaded = true; } void HistoryFilterModel::sourceRowsInserted(const QModelIndex &parent, int start, int end) { Q_ASSERT(start == end && start == 0); Q_UNUSED(end); if (!m_loaded) return; QModelIndex idx = sourceModel()->index(start, 0, parent); QString url = idx.data(HistoryModel::UrlStringRole).toString(); int currentFrecency = 0; if (m_historyHash.contains(url)) { QList::iterator pos = qBinaryFind(m_filteredRows.begin(), m_filteredRows.end(), HistoryData(m_historyHash[url], -1)); Q_ASSERT(pos != m_filteredRows.end()); int realRow = pos - m_filteredRows.begin(); currentFrecency = pos->frecency; beginRemoveRows(QModelIndex(), realRow, realRow); m_filteredRows.erase(pos); m_historyHash.remove(url); endRemoveRows(); } beginInsertRows(QModelIndex(), 0, 0); m_filteredRows.insert(0, HistoryData(sourceModel()->rowCount(), frecencyScore(idx) + currentFrecency)); m_historyHash.insert(url, sourceModel()->rowCount()); endInsertRows(); } void HistoryFilterModel::sourceRowsRemoved(const QModelIndex &, int start, int end) { Q_UNUSED(start); Q_UNUSED(end); sourceReset(); } /* Removing a continuous block of rows will remove filtered rows too as this is the users intention. */ bool HistoryFilterModel::removeRows(int row, int count, const QModelIndex &parent) { if (row < 0 || count <= 0 || row + count > rowCount(parent) || parent.isValid()) return false; int lastRow = row + count - 1; disconnect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)), this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int))); beginRemoveRows(parent, row, lastRow); int oldCount = rowCount(); int start = sourceModel()->rowCount() - m_filteredRows[row].tailOffset; int end = sourceModel()->rowCount() - m_filteredRows[lastRow].tailOffset; sourceModel()->removeRows(start, end - start + 1); endRemoveRows(); connect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)), this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int))); m_loaded = false; if (oldCount - count != rowCount()) reset(); return true; } int HistoryFilterModel::frecencyScore(const QModelIndex &sourceIndex) const { QDateTime loadTime = sourceModel()->data(sourceIndex, HistoryModel::DateTimeRole).toDateTime(); int days = loadTime.daysTo(m_scaleTime); if (days <= 1) { return 100; } else if (days < 5) { // within the last 4 days return 90; } else if (days < 15) { // within the last two weeks return 70; } else if (days < 31) { // within the last month return 50; } else if (days < 91) { // within the last 3 months return 30; } return 10; } HistoryTreeModel::HistoryTreeModel(QAbstractItemModel *sourceModel, QObject *parent) : QAbstractProxyModel(parent) , removingDown(false) { setSourceModel(sourceModel); } QVariant HistoryTreeModel::headerData(int section, Qt::Orientation orientation, int role) const { return sourceModel()->headerData(section, orientation, role); } QVariant HistoryTreeModel::data(const QModelIndex &index, int role) const { switch (role) { case Qt::DisplayRole: case Qt::EditRole: { int start = index.internalId(); if (start == 0) { int offset = sourceDateRow(index.row()); if (index.column() == 0) { QModelIndex idx = sourceModel()->index(offset, 0); QDate date = idx.data(HistoryModel::DateRole).toDate(); if (date == QDate::currentDate()) return tr("Earlier Today"); return date.toString(QLatin1String("dddd, MMMM d, yyyy")); } if (index.column() == 1) { return tr("%n item(s)", "", rowCount(index.sibling(index.row(), 0))); } } } case Qt::DecorationRole: { if (index.column() == 0 && !index.parent().isValid()) return QIcon(QLatin1String(":graphics/history.png")); } case HistoryModel::DateRole: { if (index.column() == 0 && index.internalId() == 0) { int offset = sourceDateRow(index.row()); QModelIndex idx = sourceModel()->index(offset, 0); return idx.data(HistoryModel::DateRole); } } } return QAbstractProxyModel::data(index, role); } int HistoryTreeModel::columnCount(const QModelIndex &parent) const { return sourceModel()->columnCount(mapToSource(parent)); } int HistoryTreeModel::rowCount(const QModelIndex &parent) const { if (parent.internalId() != 0 || parent.column() > 0 || !sourceModel()) return 0; // row count OF dates if (!parent.isValid()) { if (!m_sourceRowCache.isEmpty()) return m_sourceRowCache.count(); QDate currentDate; int rows = 0; int totalRows = sourceModel()->rowCount(); for (int i = 0; i < totalRows; ++i) { QDate rowDate = sourceModel()->index(i, 0).data(HistoryModel::DateRole).toDate(); if (rowDate != currentDate) { m_sourceRowCache.append(i); currentDate = rowDate; ++rows; } } Q_ASSERT(m_sourceRowCache.count() == rows); return rows; } // row count FOR a date int start = sourceDateRow(parent.row()); int end = sourceDateRow(parent.row() + 1); return (end - start); } // Translate the top level date row into the offset where that date starts int HistoryTreeModel::sourceDateRow(int row) const { if (row <= 0) return 0; if (m_sourceRowCache.isEmpty()) rowCount(QModelIndex()); if (row >= m_sourceRowCache.count()) { if (!sourceModel()) return 0; return sourceModel()->rowCount(); } return m_sourceRowCache.at(row); } QModelIndex HistoryTreeModel::mapToSource(const QModelIndex &proxyIndex) const { int offset = proxyIndex.internalId(); if (offset == 0) return QModelIndex(); int startDateRow = sourceDateRow(offset - 1); return sourceModel()->index(startDateRow + proxyIndex.row(), proxyIndex.column()); } QModelIndex HistoryTreeModel::index(int row, int column, const QModelIndex &parent) const { if (row < 0 || column < 0 || column >= columnCount(parent) || parent.column() > 0) return QModelIndex(); if (!parent.isValid()) return createIndex(row, column, 0); return createIndex(row, column, parent.row() + 1); } QModelIndex HistoryTreeModel::parent(const QModelIndex &index) const { int offset = index.internalId(); if (offset == 0 || !index.isValid()) return QModelIndex(); return createIndex(offset - 1, 0, 0); } bool HistoryTreeModel::hasChildren(const QModelIndex &parent) const { QModelIndex grandparent = parent.parent(); if (!grandparent.isValid()) return true; return false; } Qt::ItemFlags HistoryTreeModel::flags(const QModelIndex &index) const { if (!index.isValid()) return Qt::NoItemFlags; return Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsDragEnabled; } void HistoryTreeModel::setSourceModel(QAbstractItemModel *newSourceModel) { if (sourceModel()) { disconnect(sourceModel(), SIGNAL(modelReset()), this, SLOT(sourceReset())); disconnect(sourceModel(), SIGNAL(layoutChanged()), this, SLOT(sourceReset())); disconnect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)), this, SLOT(sourceRowsInserted(const QModelIndex &, int, int))); disconnect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)), this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int))); } QAbstractProxyModel::setSourceModel(newSourceModel); if (newSourceModel) { connect(sourceModel(), SIGNAL(modelReset()), this, SLOT(sourceReset())); connect(sourceModel(), SIGNAL(layoutChanged()), this, SLOT(sourceReset())); connect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)), this, SLOT(sourceRowsInserted(const QModelIndex &, int, int))); connect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)), this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int))); } reset(); } void HistoryTreeModel::sourceReset() { m_sourceRowCache.clear(); reset(); } void HistoryTreeModel::sourceRowsInserted(const QModelIndex &parent, int start, int end) { Q_UNUSED(parent); // Avoid warnings when compiling release Q_ASSERT(!parent.isValid()); if (start != 0 || start != end) { m_sourceRowCache.clear(); reset(); return; } m_sourceRowCache.clear(); QModelIndex treeIndex = mapFromSource(sourceModel()->index(start, 0)); QModelIndex treeParent = treeIndex.parent(); if (rowCount(treeParent) == 1) { beginInsertRows(QModelIndex(), 0, 0); endInsertRows(); } else { beginInsertRows(treeParent, treeIndex.row(), treeIndex.row()); endInsertRows(); } } QModelIndex HistoryTreeModel::mapFromSource(const QModelIndex &sourceIndex) const { if (!sourceIndex.isValid()) return QModelIndex(); if (m_sourceRowCache.isEmpty()) rowCount(QModelIndex()); QList::iterator it; it = qLowerBound(m_sourceRowCache.begin(), m_sourceRowCache.end(), sourceIndex.row()); if (*it != sourceIndex.row()) --it; int dateRow = qMax(0, it - m_sourceRowCache.begin()); int row = sourceIndex.row() - m_sourceRowCache.at(dateRow); return createIndex(row, sourceIndex.column(), dateRow + 1); } bool HistoryTreeModel::removeRows(int row, int count, const QModelIndex &parent) { if (row < 0 || count <= 0 || row + count > rowCount(parent)) return false; removingDown = true; if (parent.isValid() && rowCount(parent) == count - row) beginRemoveRows(QModelIndex(), parent.row(), parent.row()); else beginRemoveRows(parent, row, row + count - 1); if (parent.isValid()) { // removing pages int offset = sourceDateRow(parent.row()); return sourceModel()->removeRows(offset + row, count); } else { // removing whole dates for (int i = row + count - 1; i >= row; --i) { QModelIndex dateParent = index(i, 0); int offset = sourceDateRow(dateParent.row()); if (!sourceModel()->removeRows(offset, rowCount(dateParent))) return false; } } return true; } void HistoryTreeModel::sourceRowsRemoved(const QModelIndex &parent, int start, int end) { if (!removingDown) { reset(); m_sourceRowCache.clear(); return; } Q_UNUSED(parent); // Avoid warnings when compiling release Q_ASSERT(!parent.isValid()); if (!m_sourceRowCache.isEmpty()) for (int i = end; i >= start;) { QList::iterator it; it = qLowerBound(m_sourceRowCache.begin(), m_sourceRowCache.end(), i); if (*it != i) --it; int row = qMax(0, it - m_sourceRowCache.begin()); int offset = m_sourceRowCache[row]; QModelIndex dateParent = index(row, 0); // If we can remove all the rows in the date do that and skip over them int rc = rowCount(dateParent); if (i - rc + 1 == offset && start <= i - rc + 1) { m_sourceRowCache.removeAt(row); i -= rc + 1; } else { ++row; --i; } for (int j = row; j < m_sourceRowCache.count(); ++j) --m_sourceRowCache[j]; } if (removingDown) { endRemoveRows(); removingDown = false; } } arora-0.11.0/src/history/history.h000066400000000000000000000237351145000221100170330ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef HISTORY_H #define HISTORY_H #include "modelmenu.h" #include #include #include #include #include #include #include class HistoryManager; class HistoryModel : public QAbstractTableModel { Q_OBJECT public slots: void historyReset(); void entryAdded(); void entryUpdated(int offset); public: enum Roles { DateRole = Qt::UserRole + 1, DateTimeRole = Qt::UserRole + 2, UrlRole = Qt::UserRole + 3, UrlStringRole = Qt::UserRole + 4, TitleRole = Qt::UserRole + 5, MaxRole = TitleRole }; HistoryModel(HistoryManager *history, QObject *parent = 0); QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; int columnCount(const QModelIndex &parent = QModelIndex()) const; int rowCount(const QModelIndex &parent = QModelIndex()) const; bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); private: HistoryManager *m_history; }; /*! Proxy model that will remove any duplicate entries. Both m_sourceRow and m_historyHash store their offsets not from the front of the list, but as offsets from the back. */ class HistoryFilterModel : public QAbstractProxyModel { Q_OBJECT public: HistoryFilterModel(QAbstractItemModel *sourceModel, QObject *parent = 0); inline bool historyContains(const QString &url) const { load(); return m_historyHash.contains(url); } int historyLocation(const QString &url) const; enum Roles { FrecencyRole = HistoryModel::MaxRole + 1, MaxRole = FrecencyRole }; QModelIndex mapFromSource(const QModelIndex &sourceIndex) const; QModelIndex mapToSource(const QModelIndex &proxyIndex) const; void setSourceModel(QAbstractItemModel *sourceModel); QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; int rowCount(const QModelIndex &parent = QModelIndex()) const; int columnCount(const QModelIndex &parent = QModelIndex()) const; QModelIndex index(int, int, const QModelIndex &parent = QModelIndex()) const; QModelIndex parent(const QModelIndex &index = QModelIndex()) const; bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; void recalculateFrecencies(); private slots: void sourceReset(); void sourceDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight); void sourceRowsInserted(const QModelIndex &parent, int start, int end); void sourceRowsRemoved(const QModelIndex &, int, int); private: void load() const; struct HistoryData { int tailOffset; int frecency; HistoryData(int off, int f = 0) : tailOffset(off), frecency(f) { } bool operator==(const HistoryData &other) const { return (tailOffset == other.tailOffset) && (frecency == -1 || other.frecency == -1 || frecency == other.frecency); } bool operator!=(const HistoryData &other) const { return !(*this == other); } // like the actual history entries, our index mapping data is sorted in reverse bool operator<(const HistoryData &other) const { return (tailOffset > other.tailOffset); } }; int frecencyScore(const QModelIndex &sourceIndex) const; mutable QList m_filteredRows; mutable QHash m_historyHash; mutable bool m_loaded; mutable QDateTime m_scaleTime; }; /* The history menu - Removes the first twenty entries and puts them as children of the top level. - If there are less then twenty entries then the first folder is also removed. The mapping is done by knowing that HistoryTreeModel is over a table We store that row offset in our index's private data. */ class HistoryTreeModel; class HistoryMenuModel : public QAbstractProxyModel { Q_OBJECT public: HistoryMenuModel(HistoryTreeModel *sourceModel, QObject *parent = 0); int columnCount(const QModelIndex &parent) const; int rowCount(const QModelIndex &parent = QModelIndex()) const; QModelIndex mapFromSource(const QModelIndex & sourceIndex) const; QModelIndex mapToSource(const QModelIndex & proxyIndex) const; QModelIndex index(int, int, const QModelIndex &parent = QModelIndex()) const; QModelIndex parent(const QModelIndex &index = QModelIndex()) const; QMimeData *mimeData(const QModelIndexList &indexes) const; int bumpedRows() const; private: HistoryTreeModel *m_treeModel; }; // Menu that is dynamically populated from the history class HistoryMenu : public ModelMenu { Q_OBJECT signals: void openUrl(const QUrl &url, const QString &title); public: HistoryMenu(QWidget *parent = 0); void setInitialActions(QList actions); protected: bool prePopulated(); void postPopulated(); private slots: void activated(const QModelIndex &index); void showHistoryDialog(); void clearHistoryDialog(); private: HistoryManager *m_history; HistoryMenuModel *m_historyMenuModel; QList m_initialActions; }; // proxy model for the history model that converts the list // into a tree, one top level node per day. // Used in the HistoryDialog. class HistoryTreeModel : public QAbstractProxyModel { Q_OBJECT public: HistoryTreeModel(QAbstractItemModel *sourceModel, QObject *parent = 0); QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; int columnCount(const QModelIndex &parent) const; int rowCount(const QModelIndex &parent = QModelIndex()) const; QModelIndex mapFromSource(const QModelIndex &sourceIndex) const; QModelIndex mapToSource(const QModelIndex &proxyIndex) const; QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const; QModelIndex parent(const QModelIndex &index = QModelIndex()) const; bool hasChildren(const QModelIndex &parent = QModelIndex()) const; Qt::ItemFlags flags(const QModelIndex &index) const; bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; void setSourceModel(QAbstractItemModel *sourceModel); private slots: void sourceReset(); void sourceRowsInserted(const QModelIndex &parent, int start, int end); void sourceRowsRemoved(const QModelIndex &parent, int start, int end); private: int sourceDateRow(int row) const; mutable QList m_sourceRowCache; bool removingDown; }; #include "ui_history.h" class HistoryDialog : public QDialog, public Ui_HistoryDialog { Q_OBJECT signals: void openUrl(const QUrl &url, const QString &title); public: HistoryDialog(QWidget *parent = 0, HistoryManager *history = 0); private slots: void customContextMenuRequested(const QPoint &pos); void open(); void copy(); }; #endif // HISTORY_H arora-0.11.0/src/history/history.pri000066400000000000000000000003271145000221100173660ustar00rootroot00000000000000INCLUDEPATH += $$PWD DEPENDPATH += $$PWD HEADERS += \ history.h \ historycompleter.h \ historymanager.h SOURCES += \ history.cpp \ historycompleter.cpp \ historymanager.cpp FORMS += \ history.ui arora-0.11.0/src/history/history.ui000066400000000000000000000047571145000221100172240ustar00rootroot00000000000000 HistoryDialog 0 0 758 450 History Qt::Horizontal 252 20 &Remove Remove &All Qt::Horizontal 40 20 QDialogButtonBox::Close SearchLineEdit QLineEdit
    searchlineedit.h
    EditTreeView QTreeView
    edittreeview.h
    buttonBox rejected() HistoryDialog close() 472 329 461 356
    arora-0.11.0/src/history/historycompleter.cpp000066400000000000000000000224051145000221100212720ustar00rootroot00000000000000/* * Copyright 2009 Benjamin K. Stuhl * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "historycompleter.h" #include #include #include HistoryCompletionView::HistoryCompletionView(QWidget *parent) : QTableView(parent) { horizontalHeader()->hide(); verticalHeader()->hide(); setShowGrid(false); setSelectionBehavior(QAbstractItemView::SelectRows); setSelectionMode(QAbstractItemView::SingleSelection); setTextElideMode(Qt::ElideRight); QFontMetrics metrics = fontMetrics(); verticalHeader()->setDefaultSectionSize(metrics.height()); // As URLs are always LRT, this should be LRT as well setLayoutDirection(Qt::LeftToRight); } void HistoryCompletionView::resizeEvent(QResizeEvent *event) { horizontalHeader()->resizeSection(0, 0.65 * width()); horizontalHeader()->setStretchLastSection(true); QTableView::resizeEvent(event); } int HistoryCompletionView::sizeHintForRow(int row) const { Q_UNUSED(row) QFontMetrics metrics = fontMetrics(); return metrics.height(); } HistoryCompletionModel::HistoryCompletionModel(QObject *parent) : QSortFilterProxyModel(parent) , m_searchMatcher(QString(), Qt::CaseInsensitive, QRegExp::FixedString) , m_wordMatcher(QString(), Qt::CaseInsensitive) , m_isValid(false) { setDynamicSortFilter(true); } QVariant HistoryCompletionModel::data(const QModelIndex &index, int role) const { // if we are valid, tell QCompleter that everything we have filtered matches // what the user typed; if not, nothing matches if (role == HistoryCompletionRole && index.isValid()) { if (isValid()) return QLatin1String("a"); else return QLatin1String("b"); } if (role == Qt::FontRole && index.column() == 1) { QFont font = qvariant_cast(QSortFilterProxyModel::data(index, role)); font.setWeight(QFont::Light); return font; } if (role == Qt::DisplayRole) role = (index.column() == 0) ? HistoryModel::UrlStringRole : HistoryModel::TitleRole; return QSortFilterProxyModel::data(index, role); } QString HistoryCompletionModel::searchString() const { return m_searchString; } void HistoryCompletionModel::setSearchString(const QString &str) { if (str == m_searchString) return; m_searchString = str; m_searchMatcher.setPattern(str); m_wordMatcher.setPattern(QLatin1String("\\b") + QRegExp::escape(str)); invalidateFilter(); } bool HistoryCompletionModel::isValid() const { return m_isValid; } void HistoryCompletionModel::setValid(bool b) { if (b == m_isValid) return; m_isValid = b; // tell the HistoryCompleter that we've changed emit dataChanged(index(0, 0), index(0, rowCount() - 1)); } bool HistoryCompletionModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const { // do a case-insensitive substring match against both the url and title; // we have also made sure that the user doesn't accidentally use regexp // metacharacters QModelIndex idx = sourceModel()->index(source_row, 0, source_parent); QString url = sourceModel()->data(idx, HistoryModel::UrlStringRole).toString(); if (m_searchMatcher.indexIn(url) != -1) return true; QString title = sourceModel()->data(idx, HistoryModel::TitleRole).toString(); if (m_searchMatcher.indexIn(title) != -1) return true; return false; } bool HistoryCompletionModel::lessThan(const QModelIndex &left, const QModelIndex &right) const { // We give a bonus to hits that match on a word boundary so that e.g. "dot.kde.org" // is a better result for typing "dot" than "slashdot.org". However, we only look // for the string in the host name, not the entire url, since while it makes sense // to e.g. give "www.phoronix.com" a bonus for "ph", it does _not_ make sense to // give "www.yadda.com/foo.php" the bonus. int frecency_l = sourceModel()->data(left, HistoryFilterModel::FrecencyRole).toInt(); QString url_l = sourceModel()->data(left, HistoryModel::UrlRole).toUrl().host(); QString title_l = sourceModel()->data(left, HistoryModel::TitleRole).toString(); if (m_wordMatcher.indexIn(url_l) != -1 || m_wordMatcher.indexIn(title_l) != -1) frecency_l *= 2; int frecency_r = sourceModel()->data(right, HistoryFilterModel::FrecencyRole).toInt(); QString url_r = sourceModel()->data(right, HistoryModel::UrlRole).toUrl().host(); QString title_r = sourceModel()->data(right, HistoryModel::TitleRole).toString(); if (m_wordMatcher.indexIn(url_r) != -1 || m_wordMatcher.indexIn(title_r) != -1) frecency_r *= 2; // sort results in descending frecency-derived score return (frecency_r < frecency_l); } HistoryCompleter::HistoryCompleter(QObject *parent) : QCompleter(parent) { init(); } HistoryCompleter::HistoryCompleter(QAbstractItemModel *m, QObject *parent) : QCompleter(m, parent) { init(); } void HistoryCompleter::init() { setPopup(new HistoryCompletionView()); // we want to complete against our own faked role setCompletionRole(HistoryCompletionModel::HistoryCompletionRole); // and since we fake our completion role, we can take // advantage of the sorted-model optimizations in QCompleter setCaseSensitivity(Qt::CaseSensitive); setModelSorting(QCompleter::CaseSensitivelySortedModel); m_filterTimer.setSingleShot(true); connect(&m_filterTimer, SIGNAL(timeout()), this, SLOT(updateFilter())); } QString HistoryCompleter::pathFromIndex(const QModelIndex &index) const { // we want to return the actual url from the history for the // data the QCompleter finally returns return model()->data(index, HistoryModel::UrlStringRole).toString(); } QStringList HistoryCompleter::splitPath(const QString &path) const { if (path == m_searchString) return QStringList() << QLatin1String("a"); // queue an update to our search string // We will wait a bit so that if the user is quickly typing, // we don't try to complete until they pause. if (m_filterTimer.isActive()) m_filterTimer.stop(); m_filterTimer.start(150); // if the previous search results are not a superset of // the current search results, tell the model that it is not valid yet if (!path.startsWith(m_searchString)) { HistoryCompletionModel *completionModel = qobject_cast(model()); Q_ASSERT(completionModel); completionModel->setValid(false); } m_searchString = path; // the actual filtering is done by the HistoryCompletionModel; we just // return a short dummy here so that QCompleter thinks we match everything return QStringList() << QLatin1String("a"); } bool HistoryCompleter::eventFilter(QObject *obj, QEvent *event) { if (event->type() == QEvent::KeyPress && popup()->isVisible()) { QKeyEvent *keyEvent = static_cast(event); if (keyEvent->key() == Qt::Key_Tab) { QKeyEvent *newEvent = new QKeyEvent(QEvent::KeyPress, Qt::Key_Down, keyEvent->modifiers(), QString()); if (!QCompleter::eventFilter(obj, newEvent)) obj->event(newEvent); return true; } else if (keyEvent->key() == Qt::Key_Backtab) { QKeyEvent *newEvent = new QKeyEvent(QEvent::KeyPress, Qt::Key_Up, keyEvent->modifiers(), keyEvent->text(), keyEvent->isAutoRepeat(), keyEvent->count()); if (!QCompleter::eventFilter(obj, newEvent)) obj->event(newEvent); return true; } else if (keyEvent->key() == Qt::Key_Escape) { popup()->hide(); } } return QCompleter::eventFilter(obj, event); } void HistoryCompleter::updateFilter() { HistoryCompletionModel *completionModel = qobject_cast(model()); Q_ASSERT(completionModel); // tell the HistoryCompletionModel about the new search string completionModel->setSearchString(m_searchString); // sort the model completionModel->sort(0); // mark it valid completionModel->setValid(true); // and now update the QCompleter widget, but only if the user is still // typing a url if (widget() && widget()->hasFocus()) complete(); } arora-0.11.0/src/history/historycompleter.h000066400000000000000000000066611145000221100207450ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * Copyright 2009 Benjamin K. Stuhl * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef HISTORYCOMPLETER_H #define HISTORYCOMPLETER_H #include "history.h" #include #include #include #include #include class QResizeEvent; class HistoryCompletionView : public QTableView { public: HistoryCompletionView(QWidget *parent = 0); int sizeHintForRow(int row) const; protected: void resizeEvent(QResizeEvent *event); }; // These two classes constitute a dirty hack around QCompleter's inflexibility: // QCompleter does not allow changing the matching algorithm; it is fixed // at a simple QString::startsWith() comparison against the model's completionRole() // data. (QCompleter also does not allow post-facto sorting of the completion results, // the source model must already be completed.) To work around these limitations, // we create a custom subclass of QCompleter which abuses the QCompleter::pathFromIndex() // virtual override to tell the HistoryCompletionModel which string to look for, // _before_ the QCompleter tries to do matching. Since the HistoryCompletionModel does // its own filtering, we just lie to the QCompleter and tell it everything matches. We then // abuse QCompleter::pathFromIndex() to return a url that does not start with what // the user typed -- but is what they were looking for. class HistoryCompletionModel : public QSortFilterProxyModel { Q_OBJECT Q_PROPERTY(QString searchString READ searchString WRITE setSearchString) public: HistoryCompletionModel(QObject *parent = 0); enum Roles { HistoryCompletionRole = HistoryFilterModel::MaxRole + 1 }; QString searchString() const; void setSearchString(const QString &str); bool isValid() const; void setValid(bool b); virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; protected: virtual bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const; virtual bool lessThan(const QModelIndex &left, const QModelIndex &right) const; private: QString m_searchString; QRegExp m_searchMatcher; QRegExp m_wordMatcher; bool m_isValid; }; class HistoryCompleter : public QCompleter { Q_OBJECT public: HistoryCompleter(QObject *parent = 0); HistoryCompleter(QAbstractItemModel *model, QObject *parent = 0); virtual QString pathFromIndex(const QModelIndex &index) const; virtual QStringList splitPath(const QString &path) const; protected: bool eventFilter(QObject *obj, QEvent *event); private slots: void updateFilter(); private: void init(); mutable QString m_searchString; mutable QTimer m_filterTimer; }; #endif arora-0.11.0/src/history/historymanager.cpp000066400000000000000000000321031145000221100207060ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "historymanager.h" #include "autosaver.h" #include "browserapplication.h" #include "history.h" #include #include #include #include #include #include #include #include #include QString HistoryEntry::userTitle() const { // when there is no title try to generate one from the url if (title.isEmpty()) { QString page = QFileInfo(QUrl(url).path()).fileName(); if (!page.isEmpty()) return page; return url; } return title; } static const unsigned int HISTORY_VERSION = 23; HistoryManager::HistoryManager(QObject *parent) : QWebHistoryInterface(parent) , m_saveTimer(new AutoSaver(this)) , m_daysToExpire(30) , m_historyModel(0) , m_historyFilterModel(0) , m_historyTreeModel(0) { m_expiredTimer.setSingleShot(true); connect(&m_expiredTimer, SIGNAL(timeout()), this, SLOT(checkForExpired())); m_frecencyTimer.setSingleShot(true); connect(&m_frecencyTimer, SIGNAL(timeout()), this, SLOT(refreshFrecencies())); connect(this, SIGNAL(entryAdded(const HistoryEntry &)), m_saveTimer, SLOT(changeOccurred())); connect(this, SIGNAL(entryRemoved(const HistoryEntry &)), m_saveTimer, SLOT(changeOccurred())); load(); m_historyModel = new HistoryModel(this, this); m_historyFilterModel = new HistoryFilterModel(m_historyModel, this); m_historyTreeModel = new HistoryTreeModel(m_historyFilterModel, this); // QWebHistoryInterface will delete the history manager QWebHistoryInterface::setDefaultInterface(this); startFrecencyTimer(); } HistoryManager::~HistoryManager() { // remove history items on application exit if (m_daysToExpire == -2) clear(); m_saveTimer->saveIfNeccessary(); } QList HistoryManager::history() const { return m_history; } bool HistoryManager::historyContains(const QString &url) const { return m_historyFilterModel->historyContains(url); } void HistoryManager::addHistoryEntry(const QString &url) { QUrl cleanUrl(url); cleanUrl.setPassword(QString()); cleanUrl.setHost(cleanUrl.host().toLower()); HistoryEntry item(atomicString(cleanUrl.toString()), QDateTime::currentDateTime()); addHistoryEntry(item); } void HistoryManager::setHistory(const QList &history, bool loadedAndSorted) { m_history = history; // verify that it is sorted by date if (!loadedAndSorted) qSort(m_history.begin(), m_history.end()); checkForExpired(); if (loadedAndSorted) { m_lastSavedUrl = m_history.value(0).url; } else { m_lastSavedUrl.clear(); m_saveTimer->changeOccurred(); } emit historyReset(); } HistoryModel *HistoryManager::historyModel() const { return m_historyModel; } HistoryFilterModel *HistoryManager::historyFilterModel() const { return m_historyFilterModel; } HistoryTreeModel *HistoryManager::historyTreeModel() const { return m_historyTreeModel; } void HistoryManager::checkForExpired() { if (m_daysToExpire < 0 || m_history.isEmpty()) return; QDateTime now = QDateTime::currentDateTime(); int nextTimeout = 0; while (!m_history.isEmpty()) { QDateTime checkForExpired = m_history.last().dateTime; checkForExpired.setDate(checkForExpired.date().addDays(m_daysToExpire)); if (now.daysTo(checkForExpired) > 7) { // check at most in a week to prevent int overflows on the timer nextTimeout = 7 * 86400; } else { nextTimeout = now.secsTo(checkForExpired); } if (nextTimeout > 0) break; HistoryEntry item = m_history.takeLast(); // remove from saved file also m_lastSavedUrl.clear(); emit entryRemoved(item); } if (nextTimeout > 0) m_expiredTimer.start(nextTimeout * 1000); } void HistoryManager::addHistoryEntry(const HistoryEntry &item) { QWebSettings *globalSettings = QWebSettings::globalSettings(); if (globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled)) return; m_history.prepend(item); emit entryAdded(item); if (m_history.count() == 1) checkForExpired(); } void HistoryManager::updateHistoryEntry(const QUrl &url, const QString &title) { for (int i = 0; i < m_history.count(); ++i) { if (url == m_history.at(i).url) { m_history[i].title = atomicString(title); m_saveTimer->changeOccurred(); if (m_lastSavedUrl.isEmpty()) m_lastSavedUrl = m_history.at(i).url; emit entryUpdated(i); break; } } } void HistoryManager::removeHistoryEntry(const HistoryEntry &item) { m_lastSavedUrl.clear(); m_history.removeOne(item); emit entryRemoved(item); } void HistoryManager::removeHistoryEntry(const QUrl &url, const QString &title) { for (int i = 0; i < m_history.count(); ++i) { if (url == m_history.at(i).url && (title.isEmpty() || title == m_history.at(i).title)) { removeHistoryEntry(m_history.at(i)); break; } } } int HistoryManager::daysToExpire() const { return m_daysToExpire; } void HistoryManager::setDaysToExpire(int limit) { if (m_daysToExpire == limit) return; m_daysToExpire = limit; checkForExpired(); m_saveTimer->changeOccurred(); } void HistoryManager::clear() { m_history.clear(); m_atomicStringHash.clear(); m_lastSavedUrl.clear(); m_saveTimer->changeOccurred(); m_saveTimer->saveIfNeccessary(); emit historyReset(); emit historyCleared(); } void HistoryManager::loadSettings() { // load settings QSettings settings; settings.beginGroup(QLatin1String("history")); m_daysToExpire = settings.value(QLatin1String("historyLimit"), 30).toInt(); } void HistoryManager::load() { loadSettings(); QFile historyFile(BrowserApplication::dataFilePath(QLatin1String("history"))); if (!historyFile.exists()) return; if (!historyFile.open(QFile::ReadOnly)) { qWarning() << "Unable to open history file" << historyFile.fileName(); return; } QList list; QDataStream in(&historyFile); // Double check that the history file is sorted as it is read in bool needToSort = false; HistoryEntry lastInsertedItem; QByteArray data; QDataStream stream; QBuffer buffer; QString string; stream.setDevice(&buffer); while (!historyFile.atEnd()) { in >> data; buffer.close(); buffer.setBuffer(&data); buffer.open(QIODevice::ReadOnly); quint32 ver; stream >> ver; if (ver != HISTORY_VERSION) continue; HistoryEntry item; stream >> string; item.url = atomicString(string); stream >> item.dateTime; stream >> string; item.title = atomicString(string); if (!item.dateTime.isValid()) continue; if (item == lastInsertedItem) { if (lastInsertedItem.title.isEmpty() && !list.isEmpty()) list[0].title = item.title; continue; } if (!needToSort && !list.isEmpty() && lastInsertedItem < item) needToSort = true; list.prepend(item); lastInsertedItem = item; } if (needToSort) qSort(list.begin(), list.end()); setHistory(list, true); // If we had to sort re-write the whole history sorted if (needToSort) { m_lastSavedUrl.clear(); m_saveTimer->changeOccurred(); } } QString HistoryManager::atomicString(const QString &string) { QHash::const_iterator it = m_atomicStringHash.constFind(string); if (it == m_atomicStringHash.constEnd()) { QHash::iterator insertedIterator = m_atomicStringHash.insert(string, 0); return insertedIterator.key(); } return it.key(); } void HistoryManager::save() { QSettings settings; settings.beginGroup(QLatin1String("history")); settings.setValue(QLatin1String("historyLimit"), m_daysToExpire); bool saveAll = m_lastSavedUrl.isEmpty(); int first = m_history.count() - 1; if (!saveAll) { // find the first one to save for (int i = 0; i < m_history.count(); ++i) { if (m_history.at(i).url == m_lastSavedUrl) { first = i - 1; break; } } } if (first == m_history.count() - 1) saveAll = true; QFile historyFile(BrowserApplication::dataFilePath(QLatin1String("history"))); // When saving everything use a temporary file to prevent possible data loss. QTemporaryFile tempFile; tempFile.setAutoRemove(false); bool open = false; if (saveAll) { open = tempFile.open(); } else { open = historyFile.open(QFile::Append); } if (!open) { qWarning() << "Unable to open history file for saving" << (saveAll ? tempFile.fileName() : historyFile.fileName()); return; } QDataStream out(saveAll ? &tempFile : &historyFile); for (int i = first; i >= 0; --i) { QByteArray data; QDataStream stream(&data, QIODevice::WriteOnly); HistoryEntry item = m_history.at(i); stream << HISTORY_VERSION << item.url << item.dateTime << item.title; out << data; } tempFile.close(); if (saveAll) { if (historyFile.exists() && !historyFile.remove()) qWarning() << "History: error removing old history." << historyFile.errorString(); if (!tempFile.rename(historyFile.fileName())) qWarning() << "History: error moving new history over old." << tempFile.errorString() << historyFile.fileName(); } m_lastSavedUrl = m_history.value(0).url; } void HistoryManager::refreshFrecencies() { m_historyFilterModel->recalculateFrecencies(); startFrecencyTimer(); } void HistoryManager::startFrecencyTimer() { // schedule us to recalculate the frecencies once per day, at 3:00 am (aka 03h00) QDateTime tomorrow(QDate::currentDate().addDays(1), QTime(3, 00)); m_frecencyTimer.start(QDateTime::currentDateTime().secsTo(tomorrow)*1000); } arora-0.11.0/src/history/historymanager.h000066400000000000000000000130151145000221100203540ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef HISTORYMANAGER_H #define HISTORYMANAGER_H #include #include #include #include #include class HistoryEntry { public: HistoryEntry() {} HistoryEntry(const QString &u, const QDateTime &d = QDateTime(), const QString &t = QString()) : url(u), title(t), dateTime(d) {} inline bool operator==(const HistoryEntry &other) const { return other.title == title && other.url == url && other.dateTime == dateTime; } // history is sorted in reverse inline bool operator <(const HistoryEntry &other) const { return dateTime > other.dateTime; } QString userTitle() const; QString url; QString title; QDateTime dateTime; }; class AutoSaver; class HistoryModel; class HistoryFilterModel; class HistoryTreeModel; class HistoryManager : public QWebHistoryInterface { Q_OBJECT Q_PROPERTY(int daysToExpire READ daysToExpire WRITE setDaysToExpire) signals: void historyCleared(); void historyReset(); void entryAdded(const HistoryEntry &item); void entryRemoved(const HistoryEntry &item); void entryUpdated(int offset); public: HistoryManager(QObject *parent = 0); ~HistoryManager(); bool historyContains(const QString &url) const; void addHistoryEntry(const QString &url); void updateHistoryEntry(const QUrl &url, const QString &title); void removeHistoryEntry(const QUrl &url, const QString &title = QString()); int daysToExpire() const; void setDaysToExpire(int limit); QList history() const; void setHistory(const QList &history, bool loadedAndSorted = false); // History manager keeps around these models for use by the completer and other classes HistoryModel *historyModel() const; HistoryFilterModel *historyFilterModel() const; HistoryTreeModel *historyTreeModel() const; public slots: void clear(); void loadSettings(); private slots: void save(); void checkForExpired(); void refreshFrecencies(); protected: void addHistoryEntry(const HistoryEntry &item); void removeHistoryEntry(const HistoryEntry &item); private: void load(); QString atomicString(const QString &string); void startFrecencyTimer(); AutoSaver *m_saveTimer; int m_daysToExpire; QTimer m_expiredTimer; QTimer m_frecencyTimer; QHash m_atomicStringHash; QList m_history; QString m_lastSavedUrl; HistoryModel *m_historyModel; HistoryFilterModel *m_historyFilterModel; HistoryTreeModel *m_historyTreeModel; }; #endif // HISTORYMANAGER_H arora-0.11.0/src/htmls/000077500000000000000000000000001145000221100145755ustar00rootroot00000000000000arora-0.11.0/src/htmls/dirlist.html000066400000000000000000000030641145000221100171400ustar00rootroot00000000000000 %1

    %2

    %5
    %4
    arora-0.11.0/src/htmls/htmls.qrc000066400000000000000000000002761145000221100164400ustar00rootroot00000000000000 dirlist.html notfound.html startpage.html startpage.css arora-0.11.0/src/htmls/notfound.html000066400000000000000000000015301145000221100173160ustar00rootroot00000000000000 %1

    %2

    %3

    • %4
    • %5
    • %6
    arora-0.11.0/src/htmls/startpage.css000066400000000000000000000023311145000221100173000ustar00rootroot00000000000000* { margin: 0; padding: 0; font-family: "DejaVu Sans"; } body { background: -webkit-gradient(linear, left top, left bottom, from(#ccc), to(#fff), color-stop(0.5, #fff)); background-repeat: repeat-x; margin-top: 100px; } #header, #search, #footer { width: 500px; margin: 10px auto; } #header, #search { -webkit-border-radius: 0.8em; padding: 25px; } #header { background: -webkit-gradient(linear, left top, left bottom, from(#228), to(#668), color-stop(0.9, #66a)); height: 20px; } #header h1 { display: inline; font-size: 1.7em; color: #fff; font-weight: bold; } #header img { display: inline; float: right; height: 150px; margin-top: -80px; } #search { background: -webkit-gradient(linear, left top, right top, from(#cdf), to(#cdf), color-stop(0.5, #eff)); height: 50px; color: #000; text-align: center; padding-top: 40px !important; } #search fieldset { border: 0; } #search input[type=text] { width: 65%; } #search input[type=submit] { width: 25%; } #footer { text-align: center; color: #999; } #footer a { color: #555; text-decoration: none; } #footer a:hover { text-decoration: underline; } arora-0.11.0/src/htmls/startpage.html000066400000000000000000000045751145000221100174700ustar00rootroot00000000000000 arora-0.11.0/src/locale/000077500000000000000000000000001145000221100147055ustar00rootroot00000000000000arora-0.11.0/src/locale/.gitattributes000066400000000000000000000000301145000221100175710ustar00rootroot00000000000000*.ts -crlf -diff -merge arora-0.11.0/src/locale/ast.ts000066400000000000000000002202661145000221100160540ustar00rootroot00000000000000 AboutDialog Lightweight WebKit-based web browser Restolador llixeru basáu en WebKit <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> Authors Autores License Llicencia Close Zarrar About %1 Tocante a %1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> WebKit version: %1 AcceptLanguage Languages Llingües Languages: in order of preference: Llingües: n'orde de preferencia: Move &Up Mover p'&arriba Move &Down Mover p'a&baxo &Remove &Desaniciar Add... Amestar... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 AdBlockDialog Add Custom Rule Learn more about writing rules... Update Subscription Browse Subscriptions... Remove Subscription AdBlock Configuration Enable AdBlock Action AdBlockManager Custom Rules AdBlockModel Rule Regla AdBlockSchemeAccessHandler Subscribe? Subscribe to this AdBlock subscription? %1 AddBookmarkDialog Add Bookmark Amestar marcador Type a name for the bookmark, and choose where to keep it. Escribi un nome pal marcador y escueye au quiés guardalu. Url Url Title Títulu Add Folder Amestar carpeta AutoFillDialog Form Passwords Remove Desaniciar Remove All AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. Never for this site Not now AutoFillModel WebSite User Name BookmarksDialog Bookmarks Marcadores &Remove &Desaniciar Add Folder Criar carpeta Open Abrir Open in New Tab Abrir nuna nueva llingüeta Delete Desaniciar New Folder Nueva carpeta Edit Name Editar nome Edit Address Editar direición BookmarksManager Error when loading bookmarks on line %1, column %2: %3 Error al cargar los marcadores na llinia %1, columna %2: %3 Toolbar Bookmarks Barra de ferramientes de marcadores Menu Menú Open File Abrir Ficheru XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) Imported %1 Importáu %1 Save File Guardar Ficheru %1 Bookmarks.xbel %1 Bookmarks.xbel Export error Error al esportar error saving bookmarks Error guardando los marcadores Remove Bookmark Desaniciar marcador Insert Bookmark Enxertar marcador Bookmarks Bar Barra de marcadores Bookmarks Menu Menú de marcadores Error when loading html bookmarks: %1 Error al cargar marcadores html: %1 XBEL XBEL Name Change Undo bookmark title change Cambear el nome Address Change Undo bookmark url change Cambear la direición XBEL bookmarks HTML Netscape bookmarks htmlToXBel tool required htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. Loading Bookmark Error when loading HTML bookmarks: %1 BookmarksMenu Open in Tabs Abrir en llingüetes BookmarksModel Title Títulu Address Direición BookmarksToolBar Bookmark Marcador Open Abrir Open in New &Tab Abrir nuna Nueva &Llingüeta Remove Desaniciar Add Bookmark... Amestar marcador... Add Folder... Amestar carpeta... Bookmarks Marcadores BrowserApplication (Change: %1 %2) (Cambéu: %1 %2) There are %1 windows and %2 tabs open Do you want to quit anyway? Hai %1 ventanes y %2 llingüetes abiertes ¿Tas seguru de que quiés colar? Restore failed Falló la recuperación The saved session will not be restored because Arora crashed while trying to restore this session. La sesión guardada nun puede recuperase darréu que Arora falló durante la cabera recuperación. Arora crashed while trying to restore this session. Should I try again? BrowserMainWindow &File &Ficheru &New Window &Ventana Nueva &Open File... &Abrir Ficheru... Open &Location... Abrir &sitiu... &Save As... &Guardar como... &Import Bookmarks... &Importar marcadores... &Export Bookmarks... &Esportar marcadores... P&rint Preview... V&ista previa... &Print... Im&prentar... Private &Browsing... &Restolación privao... &Quit &Colar &Edit &Editar &Undo &Desfacer &Redo &Refacer Cu&t Cor&tar &Copy &Copiar &Paste &Apegar &Find &Guetar Find Nex&t Guetar siguiente Find P&revious Guetar &anterior Prefere&nces... &Preferencies... Ctrl+, Ctrl+, &View &Ver Show Menu Bar Amosar barra de menú Ctrl+| Ctrl+| Shift+Ctrl+B Shift+Ctrl+B Ctrl+/ Ctrl+/ &Stop &Parar &Reload Page &Recargar páxina Page S&ource Códigu &fonte Ctrl+Alt+U Ctrl+Alt+U &Full Screen Pantalla &completa Hi&story &Hestorial Back Atrás Forward Alantre Home Aniciu Restore Last Session Recuperar la cabera sesión &Bookmarks &Marcadores Add Bookmark... Amestar marcador... &Window &Ventana &Tools &Ferramientes Web &Search &Guetar na web Ctrl+K Web Search Ctrl+K &Clear Private Data &Llimpiar datos privaos Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete Enable Web &Inspector Activar l'&inspector web &Help A&ida About &Qt Tocante a &Qt Navigation Restolación Show Status Bar Amosar la barra d'estáu Hide Status Bar Anubrir la barra d'estáu Show Toolbar Amosar la barra de ferramientes Hide Toolbar Anubrir la barra de ferramientes Show Bookmarks Bar Amosar la barra de marcadores Hide Bookmarks Bar Anubrir la barra de marcadores %1 - Arora Page title and Browser name %1 - Arora Open Web Resource Abrir un recursu web Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Recursos web (*.html *.htm *.svg *.png *.gif *.svgz);;Tolos ficheros (*.*) Print Document Imprentar documentu Are you sure you want to turn on private browsing? ¿Tas seguru de que quiés activar la restolación privao? Are you sure you want to close the window? There are %1 tabs open ¿Tas seguru de que quiés zarrar la ventana? Hai %1 llingüetes abiertes Web Inspector Inspector web The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? L'inspector web namás furrulará correcho coles páxines cargaes dempués d'activalu. ¿Quiés recargar toles páxines? Stop loading the current page Detener la carga de la páxina actual Reload the current page Recargar la páxina actual Downloads Descargues Show &Network Monitor Amosar mo&nitor de rede Switch application language Cambear la llingua de l'aplicación Close Window Zarrar ventana Zoom &In Zoom &aumentar Zoom &Normal Zoom &normal Zoom &Out Zoom &amenorgar Zoom &Text Only Zoom solo &testu About &%1 About Browser Tocante a &%1 Ctrl+Y Download Manager Ctrl+Y Show All Bookmarks... Amosar tolos marcadores... Add Folder... Amestar carpeta... <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Al activar la restolación privao, desactiváranse delles midíes relatives a la to privacidá:<ul><li> Les páxines web nun van amestase al hestorial.</li><li> Desaniciaránse automáticamente los elementos de la ventana de descargues.</li><li> Nun s'amestarán nueves galletes y les actuales nun sedrán accesibles.</li><li> Los iconos de los sitios nun s'atroxarán, nin se guardarán les sesiones.</li><li> Les guetes nun s'amestarán al menú emerxente nel cuadru de gueta.</li></ul>Podrás facer clic nos botones Atrás y Alantre pa volver a les páxines web qu'abristi namás fasta que se zarre la ventana. Default Select &All Alt+Ctrl+B Text Encoding Ctrl+K Web Search Ctrl+K Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete About &%1 About Browser Tocante a &%1 %1 - Arora Page title and Browser name %1 - Arora Ctrl+Y Download Manager Ctrl+Y Options... Configure Search Engines... Configurar motores de gueta... &Ad Block... When private browsing is turned on, some actions concerning your privacy will be disabled: Webpages are not added to the history. Items are automatically removed from the Downloads window. New cookies are not stored, current cookies can't be accessed. Site icons won't be stored. Session won't be saved. Searches are not added to the pop-up menu in the search box. No new network cache is written to disk. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Private Browsing ClearButton Clear Llimpiar ClearPrivateData Clear Private Data Llimpiar datos privaos Clear the following items: Llimpiar los siguientes elementos: &Browsing History Hestorial de &restolación &Download History Hestorial de &descargues &Search History Hestorial de &guetes &Cookies &Galletes C&ached Web Pages Páxines &web na memoria caché Website &Icons &Iconos de los sitios web Clear &Private Data Llimpiar datos &privaos &Cancel &Encaboxar ClickToFlash Load Cargar Load All Cargar too Add %1 to Whitelist Amestar %1 a la llista blanca Remove from Whitelist Quitar de la llista blanca Settings Axustes Load Flash Cargar «Flash» ClickToFlashSettings Whitelist sites Llista blanca de sitios CookieExceptionsModel Website Sitiu web Rule Regla Allow Permitir Block Bloquiar Allow For Session Permitir namái pa esta sesión CookieModel Website Sitiu web Name Nome Path Ubicación Secure Seguru Expires Caduca Contents Conteníos true verdaderu false falsu Session cookie Galleta de la sesión CookiesDialog Cookies Galletes &Remove &Desaniciar Remove &All Cookies Desaniciar &toles galletes Add &Rule Amestar &regla CookiesExceptionsDialog Cookie Exceptions Galletes escluyíes New Exception Nueva esceición Domain: Dominiu: Block Bloquiar Allow For Session Permitir namás pa esta sesión Allow Permitir Exceptions Esceiciones &Remove &Desaniciar Remove &All Desaniciar &toes DownloadDialog Downloads Descargues Clean up Vaciar 0 Items 0 elementos DownloadItem Form Formulariu Ico Iconu Filename Nome d'archivu Try Again Volver a intentalo Stop Parar Open Abrir Save File Guardar ficheru Download canceled: %1 Descarga encaboxada: %1 Error opening output file: %1 Error al abrir l'archivu de salida: %1 Error saving: %1 Error al guardar: %1 Network Error: %1 Error de rede: %1 ? ? %1 of %2 - Stopped %1 de %2 - Parao %1 of %2 (%3/sec) - %4 %1 de %2 (%3/seg) - %4 Download directory (%1) couldn't be created. DownloadManager %n Download(s) %n Descarga(ues) There are %1 downloads in progress Do you want to quit anyway? Hai %1 descargues en procesu ¿Quiés colar de toes formes? %n minutes remaining Falten %n minutos %n seconds remaining Falten %n segundos bytes bytes kB kB MB MB GB FileAccessReply No Error Error opening: %1: No such file or directory Unable to read %1 Contents of %1 %1 KB HistoryDialog History Hestorial &Remove &Desaniciar Remove &All Desaniciar &too Open Abrir Copy Copiar Delete Desaniciar HistoryMenu Show All History Amosar tol hestorial Clear History... Llimpiar hestorial... Clear History Llimpiar hestorial Do you want to clear the history? ¿Quiés llimpiar l'hestorial? HistoryModel Title Títulu Address Direición HistoryTreeModel Earlier Today Vai un ratu %n item(s) %n elementu(os) JavaScriptAroraObject Welcome to Arora! Arora Start Search! Search results provided by About Arora LanguageManager Choose language Escoyer llingua <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Pué executase con una llingua distinta<br>a la predeterminá del sistema operativu.</p><p>Per favor, escueye la llingua que quiés utilizar</p> No translation files are installed. Los archivos de torna nun tan instalaos. No translation files are installed at %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Introduz el nome d'usuariu y la contraseña pa "%1" en %2</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Coneutar al proxy "%1" usando:</qt> - SSL Errors Errores -SSL <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>Errores SSL:<br/><br/>pa: <tt>%1</tt><ul><li>%2</li></ul> ¿Inorar estos errores?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Certificaos:<br/>%1<br/>¿Quiés aceutar toos estos certificaos?</qt> Issuer: %1 Not valid before: %1 Valid until: %1 Alternate Names: NetworkMonitor Name Nome Value Valor NetworkMonitorDialog Network Monitor Monitor de rede Network Requests Solicitudes de rede Request Headers Cabeceres de les solicitudes Response Headers Cabeceres de retruca &Remove &Desaniciar Remove &All Requests Desaniciar &toles solicitudes OpenSearchDialog Open File Abrir Ficheru OpenSearch OpenSearch Error Error %1 is not a valid OpenSearch 1.1 description or is already on your list. %1 nun ye una descripción correcho pa OpenSearch 1.1 o yá ta na to llista. You must have at least one search engine in here. Tienes de tener equí polo menos un motor de gueta. OpenSearch Manager Xestor OpenSearch &Restore Defaults &Restaurar predeterminaos &Delete &Desaniciar &Add &Amestar &Close &Zarrar OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Descripción:</strong> %1 <strong>Provides contextual suggestions</strong> <strong>Proporciona suxerencies contestuales</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Name Nome Keywords OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 ¿Quiés amestar el siguiente motor a la to llista de motores de gueta?<br /><br />Nome: %1<br />Guetes en: %2 PasswordDialog Authentication Required Precísase autenticación DUMMY ICON ICONU SIMULAU INTRO TEXT DUMMY ENXERTAR TESTU SIMULAU Username: Nome d'usuariu: Password: Contraseña: PlainTextEditSearch Not Found Non alcontráu ProxyDialog Proxy Authentication Autenticación nel proxy Connect to proxy Coneutar al proxy Username: Nome d'usuariu: Password: Contraseña: QObject The file is not an XBEL version 1.0 file. L'archivu nun ye un archivu XBEL versión 1.0. Unknown title Títulu desconociu The file is not an OpenSearch 1.1 file. Esti archivu nun ye un archivu OpenSearch 1.1. RequestModel Redirect: %1 Redirixe a: %1 Method Métodu Address Direición Response Retruca Length Llonxitú Content Type Triba de conteníu Info Información SearchBanner Form Formulariu Done Fecho Highlight All SearchLineEdit Search Guetar Settings Preferences Preferencies General Xeneral On startup: Nel aniciu: Show my home page Amosar la mio páxina d'aniciu Show a blank page Amosar páxina en blancu Restore windows and tabs from last time Restaurar ventanes y llingüetes de la cabera sesión Home Page: Páxina d'aniciu: Set to current page Páxina actual Remove history items: Desaniciar páxines del hestorial: After one day Al cabu d'un día After one week Al cabu d'una selmana After two weeks Al cabu de dos selmanes After one month Al cabu d'un mes After one year Al cabu d'un añu Manually Manualmente On application exit Al zarrar l'aplicación Open links from applications: Abrir enllaces dende aplicaciones: In a new window Nuna ventana nueva Downloads Descargues Ask for a destination each time Entrugar en cada casu ónde se quier guardar Use this destination: Usar esti destinu: Appearance Apariencia Standard font: Tipografía estándar: Select... Seleicionar... Fixed-width font: Tipografía d'anchu fixu: Privacy Privacidá Web Content Conteniu web Enable Plugins Activar añadíos Enable Javascript Activar javascript View Images Ver imáxenes Cookies Galletes Accept Cookies: Aceutar galletes: Always Siempres Never Nunca Only from sites you navigate to Namás dende los sitios que visite Exceptions... Esceiciones... Keep Cookies Until: Caltener les galletes: They expire Fasta que caduquen I exit the application Fasta que zarre l'aplicación At most 90 days 90 díes como máximu Cookies... Galletes... Tabs Llingüetes Select tabs and windows as they are created Seleicionar llingüetes y ventanes al ser criaes Proxy Proxy Use proxy server Usar un sirvidor proxy Type: Tipu: Socks5 Socks5 Host name: Nome de la máquina: Port: Puertu: User Name: Nome d'usuariu: Password: Contraseña: Advanced Avanzao Style Sheet: Fueya d'estilos: Show only one close button instead of one for each tab Amosar namás qu'un botón de cierre en llugar d'unu pa cada llingüeta Block Popup Windows Bloquiar ventanes emerxentes Opening links Abriendo enllaces Links that want to open in a new window: Enllaces que quiés abrir nuna nueva ventana: In a new selected tab in the current window Na llingüeta seleicioná na ventana actual In a new tab in the current window Nuna nueva llingüeta na ventana actual In the current tab Na llingüeta actual Http (Secure) Http (Seguru) Http (Transparent) Http (Tresparente) Preferred languages for viewing webpages in: Llingües preferíes pa visualizar páxines web en: Use ClickToFlash on flash plugins Usar ClickToFlash nes estensiones flash Filter Tracking Cookies Peñerar les galletes de seguimientu Confirm when closing multiple tabs or windows Pedir confirmación cuando se zarren multiples llingüetes o ventanes Quit the application when last tab is closed Colar de l'aplicación cuando se zarre la cabera llingüeta Enable network cache Activar caché de rede Maximum Size: Tamañu máximu: MB MB Use the default search engine as fallback when the URL given by the user is invalid Choose Directory... A cookie session ends: When I exit the application 1 day 2 days 3 days 7 days 30 days AutoFill AutoFill web forms: User names and passwords Edit... Browse... SettingsDialog Restart required Precísase reaniciar The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. La configuración de la caché de rede camudó. Col fin de que seya tenida en cunta, el restolador tién de reaniciase. Choose Directory Choose CSS File SourceViewer Loading... Cargando... &Edit &Editar &Find &Guetar &View &Ver &Wrap lines A&xustar les llinies Source of Page Códigu fonte de la páxina Source of Page %1 TabBar Show Tab Bar Amosar barra de llingüetes Hide Tab Bar Anubrir barra de llingüetes Duplicate Tab Duplicar llingüeta &Close Tab &Zarrar llingüeta Close &Other Tabs Zarrar les &otres llingüetes Reload Tab Recargar llingüeta Reload All Tabs Recargar toles llingüetes TabWidget New &Tab Nueva &llingüeta &Close Tab &Zarrar llingüeta Show Next Tab Amosar llingüeta siguiente Show Previous Tab Amosar llingüeta anterior Recently Closed Tabs Llingüetes zarraes caberamente Untitled Ensin títulu Do you really want to close this page? ¿Tas seguru de querer zarrar esta páxina? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Modificasti esta páxina y si la zarres perderás tolos cambeos. ¿Daveres quies zarrar esta páxina? Ctrl-] Ctrl-] Ctrl-[ Ctrl-[ Saved Tabs Llingüetes guardaes Loading... Cargando... Loading %1% (%2 %3)... Cargando %1% (%2 %3)... Finished loading Carga finada Failed to load Hebo un fallu durante la carga Bookmark All Tabs Toles llingüetes a marcadores ToolbarSearch No Recent Searches Nun hai guetes recientes Recent Searches Guetes recientes Clear Recent Searches Llimpiar guetes recientes Suggestions Suxerencies Add '%1' Amestar «%1» Configure Search Engines... Configurar motores de gueta... WebPage Error loading page: %1 Error al cargar la páxina: %1 When connecting to: %1. Cuando se coneuta a: %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org Comproba que nun hai errores na direición como<b>ww</b>.arora-browser.org en llugar de <b>www</b>.arora-browser.org If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Si el to ordenador o rede tan protexios per un cortafueos o un proxy, comproba que al restolador se-y permite l'accesu a la rede. If the address is correct, try checking the network connection. Si la direición ye correcha, comproba la conesión de rede. Resending POST request In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? WebView Open in New &Window Abrir nuna &ventana nueva Open in New &Tab Abrir nuna &llingüeta nueva Save Lin&k &Guardar enllaz &Bookmark This Link &Amestar esta páxina a marcadores &Copy Link Location &Copiar direición del enllaz Open Image in New &Window Abrir &imaxe nuna ventana nueva Open Image in New &Tab Abrir i&maxe nuna llingüeta nueva &Save Image G&uardar imaxe &Copy Image Co&piar imaxe C&opy Image Location Copiar &direición de la imaxe Loading... Cargando... Search with... Guetar con... Add to the toolbar search Method not supported %1 method is not supported. Search engine Choose the desired search engine Engine name Type in a name for the engine Block Image WebViewSearch Not Found Non alcontráu arora-0.11.0/src/locale/ca.ts000066400000000000000000002156031145000221100156470ustar00rootroot00000000000000 AboutDialog About %1 Quant a %1 Authors Autors License Llicència Lightweight WebKit-based web browser Navegador web lleuger basat en WebKit <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> Close Tanca WebKit version: %1 AcceptLanguage Languages Idiomes Languages: in order of preference: Idiomes en odre de preferència: Move &Up Mou am&unt Move &Down Mou a&vall &Remove Esbo&rra Add... Afegeix... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 AdBlockDialog Add Custom Rule Learn more about writing rules... Update Subscription Browse Subscriptions... Remove Subscription AdBlock Configuration Enable AdBlock Action AdBlockManager Custom Rules AdBlockModel Rule Regla AdBlockSchemeAccessHandler Subscribe? Subscribe to this AdBlock subscription? %1 AddBookmarkDialog Url Url Title Títol Add Folder Afegeix carpeta Add Bookmark Afegeix punt Type a name for the bookmark, and choose where to keep it. Introduïu un nom pel punt i escolliu on desar-lo. AutoFillDialog Form Passwords Remove Elimina Remove All AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. Never for this site Not now AutoFillModel WebSite User Name BookmarksDialog Open Obre Open in New Tab Obre en una pestanya nova Edit Name Edita nom Edit Address Edita adreça Delete Esborra New Folder Carpeta nova Bookmarks Punts &Remove &Elimina Add Folder Afegeix carpeta BookmarksManager Bookmarks Bar Barra de punts Bookmarks Menu Menú de punts Error when loading bookmarks on line %1, column %2: %3 Error en carregar punts a la línia %1, columna %2: %3 Toolbar Bookmarks Barra d'eines de punts Menu Menú Open File Obre fitxer XBEL XBEL Error when loading html bookmarks: %1 Error en carregar punts html: %1 Imported %1 Importat: %1 Save File Desa el fitxer %1 Bookmarks.xbel %1 Punts.xbel XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) Export error Error d'exportació error saving bookmarks Erro en desar els punts Remove Bookmark Elimina punt Insert Bookmark Insereix punt Name Change Undo bookmark title change Canvia el nom Address Change Undo bookmark url change Canvia l'adreça XBEL bookmarks HTML Netscape bookmarks htmlToXBel tool required htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. Loading Bookmark Error when loading HTML bookmarks: %1 BookmarksMenu Open in Tabs Obre en pestanyes BookmarksModel Title Títol Address Adreça BookmarksToolBar Bookmark Punt Open Obre Open in New &Tab Obre en una nova pes&tanya Remove Elimina Add Bookmark... Afegeix punt... Add Folder... Afegeix carpeta... Bookmarks Punts BrowserApplication There are %1 windows and %2 tabs open Do you want to quit anyway? Hi ha obertes %1 finestres i %2 pestanyes Voleu sortir igualment? Restore failed Ha fallat la restauració The saved session will not be restored because Arora crashed while trying to restore this session. La sessió desada no es restablirà perquè l'Arora va petar mentre tractava de restaurar aquesta sessió. Arora crashed while trying to restore this session. Should I try again? BrowserMainWindow Default Predeterminat &File &Fitxer &New Window &Nova finestra &Open File... &Obre fitxer... Open &Location... Obre &localització... &Save As... &Desa com a... &Import Bookmarks... &Importa punts... &Export Bookmarks... &Exporta punts... P&rint Preview... Vista p&rèvia d'impressió... &Print... Im&primeix... Private &Browsing... Nave&gació.privada... Close Window Tanca la finestra &Quit &Abandona &Edit &Edita &Undo &Desfés &Redo &Refés Cu&t &Talla &Copy &Copia &Paste &Enganxa &Find &Cerca Find Nex&t Cerca Següen&t Find P&revious Ce&rca Anterior Prefere&nces... Preferè&ncies... Ctrl+, Ctrl+, &View &Visualitza Ctrl+| Ctrl+| Shift+Ctrl+B Maj+Ctrl+B Ctrl+/ Ctrl+/ Show Menu Bar Mostra la barra de menú &Reload Page &Recarrega la pàgina &Stop A&tura Zoom &In &Apropa Zoom &Normal Zoom &Normal Zoom &Out A&llunya Zoom &Text Only Zoom només el &text Page S&ource C&odi font de la pàgina Ctrl+Alt+U Ctrl+Alt+U &Full Screen &Pantalla completa Text Encoding Codificació del text Hi&story Hi&storial Back Enrere Forward Endavant Home Inici Restore Last Session Restaura l'última sessió &Bookmarks &Punts Show All Bookmarks... Mostra tots els punts... Add Bookmark... Afegeix punt... Add Folder... Afegeix carpeta... &Window &Finestra &Tools &Eines Web &Search &Cerca a la web Ctrl+K Web Search Ctrl+K &Clear Private Data &Neteja les dades privades Ctrl+Shift+Delete Clear Private Data Ctrl+Maj+Supr Show &Network Monitor Mostra el mo&nitor de xarxa Enable Web &Inspector Hab&ilita l'inspector web &Help A&juda Switch application language Canvia l'idioma de l'aplicació About &Qt Quant a &Qt About &%1 About Browser Quant a &%1 Navigation Navegació Show Status Bar Mostra la barra d'estat Hide Status Bar Oculta la barra d'estat Show Toolbar Mostra barra d'eines Hide Toolbar Oculta Barra d'eines Show Bookmarks Bar Mostra la barra de punts Hide Bookmarks Bar Oculta la barra de punts %1 - Arora Page title and Browser name %1 - Arora Open Web Resource Obre recurs web Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Recursos web (*.html *.htm *.svg *.png *.gif *.svgz);;Tots els fitxers (*.*) Print Document Imprimeix document Are you sure you want to turn on private browsing? Esteu segur que voleu activar la navegació privada? <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Quan la navegació privada està activada, algunes accions corresponents a la privadesa es deshabilitaran:<ul><li>Les pàgines web no s'afegeixen a l'historial.</li><li>Els ítems son eliminats automàticament de la finestra de baixades.</li><li>No es desen les noves galetes, no es pot accedir a les galetes actuals.</li><li>Les icones dels llocs no es poden desar, les sessions no es poden desar.</li><li>Les cerques no s'afegeixen al menú desplegable a la caixa de cerca.</li></ul>Fins que no tanqueu la finestra, podeu clicar als botons Enrere i Endavant per tornar a les pàgines web que heu obert. Are you sure you want to close the window? There are %1 tabs open Esteu segur que voleu tancar la finestra? Hi ha %1 pestanyes obertes Web Inspector Inspector web The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? L'inspector web només funciona correctament per pagines carregades després d'habilitar-lo. Voleu recarregar totes les pàgines? Stop loading the current page Atura la càrrega de la pàgina actual Reload the current page Recarrega la pàgina actual Downloads Baixades Ctrl+Y Download Manager Ctrl+Y Ctrl+Y Download Manager Ctrl+Y Select &All Alt+Ctrl+B Options... Configure Search Engines... Configura els motors de cerca... &Ad Block... When private browsing is turned on, some actions concerning your privacy will be disabled: Webpages are not added to the history. Items are automatically removed from the Downloads window. New cookies are not stored, current cookies can't be accessed. Site icons won't be stored. Session won't be saved. Searches are not added to the pop-up menu in the search box. No new network cache is written to disk. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Private Browsing ClearButton Clear Neteja ClearPrivateData Clear Private Data Neteja les dades privades Clear the following items: Neteja els següents ítems: &Browsing History Historial de &navegació &Download History Historial de baixa&des &Search History Hi&storial de cerca &Cookies &Galetes C&ached Web Pages P&àgines web en memòria cau Website &Icons &Icones dels llocs web Clear &Private Data Neteja les dades &privades &Cancel &Cancel·la ClickToFlash Load Carrega Load All Carrega-ho tot Add %1 to Whitelist Afegeix %1 a la llista blanca Remove from Whitelist Elimina de la llista blanca Settings Arranjament Load Flash Carrega Flash ClickToFlashSettings Whitelist sites Llista blanca de llocs CookieExceptionsModel Website Lloc web Rule Regla Allow Permet Block Bloqueja Allow For Session Permet per aquesta sessió CookieModel Website Lloc web Name Nom Path Ruta Secure És segura Expires Expira Contents Continguts true cert false fals Session cookie Galeta de sessió CookiesDialog Cookies Galetes &Remove &Elimina Remove &All Cookies Esborra totes les g&aletes Add &Rule Afegeix &regla CookiesExceptionsDialog Cookie Exceptions Excepcions de galetes New Exception Nova excepció Domain: Domini: Block Bloqueja Allow For Session Permet per aquesta sessió Allow Permet Exceptions Excepcions &Remove &Elimina Remove &All Elimin&a-ho tot DownloadDialog Downloads Baixades Clean up Neteja 0 Items 0 ítems DownloadItem Ico Ico Filename Nom del fitxer Try Again Torna a intentar-ho Stop Atura Open Obre Save File Desa el fitxer Download canceled: %1 S'ha cancel·lat la baixada: %1 Error opening output file: %1 Error en obrir el fitxer de sortida: %1 Error saving: %1 Error en desar: %1 Network Error: %1 Error de xarxa: %1 %1 of %2 (%3/sec) - %4 %1 de %2 (%3/seg) - %4 ? ? %1 of %2 - Stopped %1 de %2 - aturat Download directory (%1) couldn't be created. DownloadManager There are %1 downloads in progress Do you want to quit anyway? Hi ha %1 baixades en curs Voleu abandonar igualment? %n Download(s) %n baixada(es) %n minutes remaining %n minuts restants %n seconds remaining %n segons restants bytes bytes kB kB MB MB GB GB FileAccessReply No Error Error opening: %1: No such file or directory Unable to read %1 Contents of %1 %1 KB HistoryDialog Open Obre Copy Copia Delete Esborra History Historial &Remove &Elimina Remove &All Elimin&a-ho tot HistoryMenu Show All History Mostra tot l'historial Clear History... Neteja l'historial... Clear History Neteja l'historial Do you want to clear the history? Voleu netejar l'historial? HistoryModel Title Títol Address Adreça HistoryTreeModel Earlier Today Anterior a avui %n item(s) %n ítem(s) JavaScriptAroraObject Welcome to Arora! Arora Start Search! Search results provided by About Arora LanguageManager No translation files are installed. No s'han instal·lat fitxers de traducció. Choose language Seleccioneu l'idioma <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Podeu treballar amb un idioma diferent al<br>predeterminat del sistema.</p><p>Si us plau, seleccioneu un idioma a usar</p> No translation files are installed at %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Introduïu nom d'usuari i contrasenya per \"%1\" a \"%2\"</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Connecta al proxy \"%1\" usant:</qt> - SSL Errors - errors SSL <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>Errors SSL:<br/><br/>per: <tt>%1</tt><ul><li>%2</li></ul> Voleu ignorar aquests errors?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Certificats:<br/>%1<br/>Voleu acceptar aquests certificats?</qt> Issuer: %1 Not valid before: %1 Valid until: %1 Alternate Names: NetworkMonitor Name Nom Value Valor NetworkMonitorDialog Network Monitor Monitor de xarxa Network Requests Peticions de xarxa Request Headers Capçaleres de petició Response Headers Capçaleres de resposta &Remove &Elimina Remove &All Requests Elimin&a Totes les peticions OpenSearchDialog Open File Obre fitxer OpenSearch OpenSearch Error Error %1 is not a valid OpenSearch 1.1 description or is already on your list. %1 no és una descripció OpenSearch 1.1 vàlida o ja està a la llista. You must have at least one search engine in here. Heu de tenir almenys un motor de cerca aquí. OpenSearch Manager Gestor OpenSearch &Add &Afegeix &Delete Es&borra &Restore Defaults &Restaura els valors predeterminats &Close &Tanca OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Descripció:</strong> %1 <strong>Provides contextual suggestions</strong> <strong>Proporciona suggeriments contextuals</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Name Nom Keywords OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 Voleu afegir el següent motor a la llista de motors de cerca?<br/><br />Nom: %1<br />Cerca a: %2 PasswordDialog Authentication Required Es requereix autenticació DUMMY ICON ICONA SIMULADA INTRO TEXT DUMMY TEXT INTRODUÏT SIMULAT Username: Nom d'usuari: Password: Contrasenya: PlainTextEditSearch Not Found No s'ha trobat ProxyDialog Proxy Authentication Autenticació proxy Connect to proxy Connecta a proxy Username: Nom d'usuari: Password: Contrasenya: QObject The file is not an XBEL version 1.0 file. El fitxer no és un fitxer XBEL versió 1.0. Unknown title Títol desconegut The file is not an OpenSearch 1.1 file. El fitxer no és un fitxer Opensearch 1,1. RequestModel Redirect: %1 Redirecciona: %1 Method Mètode Address Adreça Response Resposta Length Durada Content Type Tipus de contingut Info Informació SearchBanner Done Fet Highlight All SearchLineEdit Search Cerca Settings Preferences Preferències General General On startup: En iniciar: Show my home page Mostra la meva pàgina d'inici Show a blank page Mostra una pàgina en blanc Restore windows and tabs from last time Restaura les finestres i les pestanyes de la darrera vegada Home Page: Pàgina d'inici: Set to current page Estableix a la pàgina actual Remove history items: Elimina ítems de l'historial: After one day Després d'un dia After one week Després d'una setmana After two weeks Després de dos setmanes After one month Després d'una mes After one year Després d'un any Manually Manualment On application exit En sortir del programa Downloads Baixades Ask for a destination each time Pregunta el destí cada vegada Use this destination: Usa aquesta destí: Appearance Aparença Standard font: Tipus de lletra estàndard: Select... Selecciona... Fixed-width font: Tipus d'amplada fixa: Preferred languages for viewing webpages in: Idiomes preferits per mostrar les pàgines web: Privacy Privadesa Web Content Contingut web Block Popup Windows Bloqueja les finestres emergents Enable Plugins Habilita connectors Use ClickToFlash on flash plugins Usa ClickToFlash en els connectors Flash Enable Javascript Habilita el Javascript View Images Mostra les imatges Cookies Galetes Accept Cookies: Accepta galetes: Always Sempre Never Mai Only from sites you navigate to Només dels llocs que visiteu Exceptions... Excepcions... Keep Cookies Until: Conserva les galetes fins que: They expire Expirin I exit the application Es tanqui el programa At most 90 days Com a molt 90 dies Cookies... Galetes... Filter Tracking Cookies Filtra les galetes de seguiment Tabs Pestanyes Select tabs and windows as they are created Selecciona les pestanyes i les finestres en crear-les Confirm when closing multiple tabs or windows Demana confirmació en tancar múltiples pestanyes o finestres Show only one close button instead of one for each tab Mostra només un botó de tancament enlloc d'un per cada pestanya Quit the application when last tab is closed Abandona el programa en tancar la darrera pestanya Opening links Opertura d'enllaços Links that want to open in a new window: Enllaços que volen obrir-se en una nova finestra: In a new window En una nova finestra In a new selected tab in the current window En una pestanya nova seleccionada de la finestra actual In a new tab in the current window En una nova pestanya de la finestra actual In the current tab En la pestanya actual Open links from applications: Obre enllaços des de programes: Proxy Proxy Use proxy server Usa servidor proxy Type: Tipus: Socks5 Socks5 Http (Secure) Http (segur) Http (Transparent) Http (transparent) Host name: Nom de la màquina: Port: Port: User Name: Nom d'usuari: Password: Contrasenya: Advanced Avançat Style Sheet: Full d'estil: Enable network cache Habilita la memòria cau de xarxa Maximum Size: Mida màxima: MB MB Use the default search engine as fallback when the URL given by the user is invalid Choose Directory... A cookie session ends: When I exit the application 1 day 2 days 3 days 7 days 30 days AutoFill AutoFill web forms: User names and passwords Edit... Browse... SettingsDialog Restart required S'ha de reiniciar The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. La configuració de la memòria cau de xarxa ha canviat. S'ha de reiniciar el navegador per tenir-ho en compte. Choose Directory Choose CSS File SourceViewer Loading... S'està carregant... &Edit &Edita &Find &Cerca &View &Visualitza &Wrap lines &Ajusta les línies Source of Page %1 Codi font de la pàgina %1 TabBar Show Tab Bar Mostra la barra de pestanyes Hide Tab Bar Oculta la barra de pestanyes Duplicate Tab Duplica la pestanya &Close Tab &Tanca la pestanya Close &Other Tabs Tanca les &altres pestanyes Reload Tab Recarrega la pestanya Reload All Tabs Recarrega totes les pestanyes TabWidget Untitled Sense títol Saved Tabs Pestanyes desades Do you really want to close this page? Realment voleu tancar aquesta pàgina? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Heu modificat aquesta pàgina i les modificacions es perdran en tancar-la. Realment voleu tancar aquesta pàgina? Loading... S'està carregant... Loading %1% (%2 %3)... S'està carregant %1% (%2 %3)... Finished loading Ha finalitzat la càrrega Failed to load Ha fallat en carregar Show Next Tab Mostra la pestanya següent Ctrl-] Ctrl-] Show Previous Tab Mostra la pestanya anterior Ctrl-[ Ctrl-[ Recently Closed Tabs Pestanyes tancades recentment New &Tab Nova pes&tanya &Close Tab &Tanca la pestanya Bookmark All Tabs Afegeix totes les pestanyes als punts ToolbarSearch Suggestions Suggeriments Add '%1' Afegeix '%1' Configure Search Engines... Configura els motors de cerca... Clear Recent Searches Neteja les cerques recents No Recent Searches Cap cerca recent Recent Searches Cerques recents WebPage Resending POST request S'està tornant a enviar la petició POST In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? Per tal de mostrar el lloc, s'han d'enviar novament la sol licitud junt amb totes les dades, això pot donar lloc a comportaments inesperats del lloc web, p.ex. la mateixa acció podria ser realitzada una vegada més. Voleu continuar igualment? Error loading page: %1 Error en carregar la pàgina %1 When connecting to: %1. En connectar a: %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org Comproveu l'adreça per trobar errors com ara <b>ww</b>.arora-browser.org enlloc de <b>www</b>.arora-browser.org If the address is correct, try checking the network connection. Si l'adreça és correcta, intenteu-ho comprovant la connexió de la xarxa. If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Si el vostre ordinador està protegit per un tallafocs o proxy, assegureu-vos que el navegador té permés accedir a la xarxa. WebView Open in New &Window Obre en una &finestra nova Open in New &Tab Obre en una pes&tanya nova Save Lin&k Desa l'enlla&ç &Bookmark This Link &Apunta aquest enllaç &Copy Link Location &Copia la ubicació de l'enllaç Open Image in New &Window Obre la imatge en una &finestra nova Open Image in New &Tab Obre la imatge en una pes&tanya nova &Save Image De&sa la imatge &Copy Image &Copia la imatge C&opy Image Location C&opia la ubicació de la Imatge Search with... Cerca amb... Add to the toolbar search Afegeix a la barra de cerques Method not supported Mètode no acceptat %1 method is not supported. %1 mètode no està acceptat. Search engine Motor de cerca Choose the desired search engine Seleccioneu el motor de cerca Engine name Nom del motor Type in a name for the engine Introduïu un nom pel motor Loading... S'està carregant... Block Image WebViewSearch Not Found No s'ha trobat arora-0.11.0/src/locale/calculate_completion.sh000077500000000000000000000013211145000221100214270ustar00rootroot00000000000000#!/bin/bash # # This script was written to get some data on how far the various translations are # compared to each other # # This script is donated to the public domain # # Klaas van Gend, 2008 printf "\n translation file %%ready (unfinished/(total-obsolete))\n" printf '=============================================================\n' for I in `ls -1 *.ts`; do UNFINISHED=`grep 'type="unfinished"' $I | wc -l`; OBSOLETE=`grep 'obsolete' $I | wc -l`; MSGLINES=`grep '' $I | wc -l`; let "REALLINES=$MSGLINES-$OBSOLETE"; let "PERCENT=(100*$UNFINISHED)/$REALLINES"; let "FINISHED=100-$PERCENT"; printf "% 18s : % 4d%% %d/(%d-%d)\n" $I $FINISHED $UNFINISHED $MSGLINES $OBSOLETE ; done printf "\n" arora-0.11.0/src/locale/cs_CZ.ts000066400000000000000000002521421145000221100162640ustar00rootroot00000000000000 AboutDialog About O prohlížeči About %1 O %1 Authors Autoři License Licence Lightweight WebKit-based web browser Lehký webový prohlížeč založený na WebKitu <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Autorská práva vyhrazena © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <a href="http://arora-browser.org">http://arora-browser.org</a> Close Zavřít WebKit version: %1 Verze WebKitu: %1 AcceptLanguage Languages Jazyky Languages: in order of preference: Jazyky seřazené podle vašich preferencí: Move &Up Posunout &výše Move &Down Posunout &níže &Remove &Odstranit Add... Přidat... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 Blokováno AdBlock pravidlem: %1 AdBlockDialog Add Custom Rule Přidat vlastní pravidlo Learn more about writing rules... Více informací o psaní pravidel... Update Subscription Aktualizovat cizí filtry Browse Subscriptions... Prohlížet cizí filtry... Remove Subscription Odstranit cizí filtry AdBlock Configuration Konfigurace AdBlock Enable AdBlock Povolit AdBlock Action Akce AdBlockManager Custom Rules Vlastní pravidla AdBlockModel Rule Pravidlo AdBlockSchemeAccessHandler Subscribe? Přidat cizí filtry? Subscribe to this AdBlock subscription? %1 Přidat tyto cizí AdBlock filtry? %1 AddBookmarkDialog Add Bookmark Přidat záložku Type a name for the bookmark, and choose where to keep it. Napište jméno pro záložku a vyberte, kde má být uložena. Url Adresa Title Titulek Add Folder Přidat složku AutoFillDialog Form Passwords Formulář hesel Remove Odstranit Remove All Odstranit vše AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. <b>Chcete uložit toto heslo?</b><br> Pro prohlížení uložených hesel a jejich odstranění otevřete kartu Automatické doplňování v dialogu nastavení. Never for this site Nikdy na této stránce Not now Nyní ne AutoFillModel WebSite Webová stránka User Name Uživatelské jméno BookmarksDialog Open Otevřít Delete Smazat New Folder Nová složka Bookmarks Záložky &Remove &Odstranit Add Folder Přidat složku Open in New Tab Otevřít v nové kartě Edit Name Upravit název Edit Address Upravit adresu BookmarksManager Error when loading bookmarks on line %1, column %2: %3 Chyba při načítání záložek na řádku %1, v sloupci %2: %3 Bookmarks Bar Lišta záložek Bookmarks Menu Menu záložek Toolbar Bookmarks Nástrojová lišta záložek Menu Menu Open File Otevřít soubor XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) Imported %1 Importováno %1 XBEL (*.xbel *.xml *.html) XBEL (*.xbel *.xml *.html) Error when loading html bookmarks: %1 Chyba při načítání HTML záložek: %1 Save File Uložit soubor %1 Bookmarks.xbel %1 Bookmarks.xbel Export error Chyba exportu error saving bookmarks chyba při ukládání záložek Remove Bookmark Odstranit záložku Insert Bookmark Vložit záložku Name Change Změna jména Address Change Změna adresy Name Change Undo bookmark title change Změna jména Address Change Undo bookmark url change Změna adresy XBEL bookmarks XBEL záložky HTML Netscape bookmarks Záložky Netscape HTML htmlToXBel tool required je vyžadován nástroj htmlToXBel htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. Nástroj htmlToXBel, který je dodáván s Arorou a je nutný k importu HTML záložek, není nainstalován nebo není dostupný v hledaných cestách. Loading Bookmark Načítání záložky Error when loading HTML bookmarks: %1 Chyba při načítání HTML záložek: %1 BookmarksMenu Open in Tabs Otevřít v kartách BookmarksModel Title Titulek Address Adresa BookmarksToolBar Bookmark Záložky Open Otevřít Open in New &Tab Otevřít v &nové kartě Remove Odstranit Add Bookmark... Přidat záložku... Add Folder... Přidat složku... Bookmarks Záložky BrowserApplication There are %1 windows and %2 tabs open Do you want to quit anyway? Je otevřeno %1 oken a %2 karet Přesto ukončit? Restore failed Obnovení selhalo The saved session will not be restored because Arora crashed while trying to restore this session. Uložená relace nebude obnovena, protože Arora spadla při pokusu o její obnovení. (Change: %1 %2) (Revize: %1 %2) Arora crashed while trying to restore this session. Should I try again? Arora spadla při pokusu o obnovu této relace. Zkusit znovu? BrowserMainWindow &File &Soubor &New Window &Nové okno &Open File... Otevřít &soubor... Open &Location... &Otevřít adresu... &Save As... &Uložit jako... &Import Bookmarks... &Importovat záložky... &Export Bookmarks... &Exportovat záložky... P&rint Preview... Ná&hled tisku... &Print... &Tisk... Private &Browsing... Soukro&mé prohlížení... Close Window Zavřít okno &Quit U&končit &Edit Úpr&avy &Undo &Zpět &Redo Zn&ovu Cu&t &Vyjmout &Copy &Kopírovat &Paste V&ložit &Find Na&jít About &%1 About Browser O &%1 <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Když je zapnuto soukromé prohlížení, některé akce narušující tvoje soukromí budou zakázány:<ul><li> Stránky nejsou přidávány do historie.</li><li> Položky jsou automaticky smazány z okna stahování.</li><li> Nové cookies nejsou uloženy, aktuální nebudou přístupné.</li><li> Ikony stránek nejsou ukládány, relace taky ne.</li><li> Hledání nejsou přidávány do vyjížděcího menu v políčku hledání.</li></ul>Dokud nezavřeš okno, můžeš vždy klikat Zpět a Vpřed pro vrácení na dříve otevřené stránky. Ctrl+Y Download Manager Ctrl+Y &Find Next Nají&t další &Find Previous Najít &předchozí &Preferences Před&volby Ctrl+, Ctrl+, &View &Zobrazit Shift+Ctrl+B Shift+Ctrl+B Ctrl+| Ctrl+| Ctrl+/ Ctrl+/ &Stop Z&astavit Reload Page O&bnovit &Make Text Bigger Z&většit písmo &Make Text Normal &Normální velikost písma &Make Text Smaller Z&menšit písmo Page S&ource &Zdrojový kód stránky Ctrl+Alt+U Ctrl+Alt+U &Full Screen &Celá obrazovka Hi&story &Historie Back Zpět Forward Vpřed Home Domů Restore Last Session Obnovit poslední relaci &Bookmarks Zál&ožky Manage Bookmarks... Spravovat záložky... Add Bookmark... Přidat záložku... Add Folder... Přidat složku... &Window &Okno &Tools &Nástroje Web &Search &Hledání na webu Ctrl+K Web Search Ctrl+K Show &Network Monitor Zobrazit &monitor sítě Enable Web &Inspector Povolit Web &Inspector &Help Nápo&věda About &Qt O &Qt About &Arora O &Arora Navigation Navigace Show Status Bar Zobrazit stavový řádek Hide Status Bar Skrýt stavový řádek Show Toolbar Zobrazit panel nástrojů Hide Toolbar Skrýt panel nástrojů Show Bookmarks bar Zobrazit panel záložek Hide Bookmarks bar Skrýt panel záložek Arora Arora %1 - Arora Page title and Browser name %1 - Arora About O prohlížeči Version %1<p>This demo demonstrates Qt's webkit facilities in action, providing an example browser for you to experiment with.<p><p>QtWebKit is based on the Open Source WebKit Project developed at <a href="http://webkit.org/">http://webkit.org/</a>. Verze %1<p>Tato ukázka předvádí schopnosti WebKitu v Qt v akci, poskytnutím vzorového prohlížeče, abys s ním mohl(a) experimentovat.<p><p>QtWebKit je založen na open-source projektu WebKit vyvíjeného na <a href="http://webkit.org/">http://webkit.org/</a>. Open Web Resource Otevřít webovou stránku Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Webové stránky (*.html *.htm *.svg *.png *.gif *.svgz);;Všechny soubory (*.*) Print Document Vytisknout dokument Are you sure you want to turn on private browsing? Opravdu chcete zapnout soukromé prohlížení? <b>%1</b><br><br>When private browsing in turned on, webpages are not added to the history, items are automatically removed from the Downloads window, new cookies are not stored, current cookies can't be accessed, site icons wont be stored, session wont be saved, and searches are not addded to the pop-up menu in the Google search box. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Když je zapnuto soukromé prohlížení, stránky nejsou přidávány do historie, soubory jsou automaticky smazány z okna stahování, nové cookies nejsou ukládány, aktuální cookies nejsou přístupné, ikony stránek nejsou ukládány, relace se neukádá a hledání nejsou přidávány do vysouvacího menu v políčku Google hledání. Dokud nezavřeš okno, můžeš vždy klikat Zpět a Vpřed pro vrácení na dříve otevřené stránky. Are you sure you want to close the window? There are %1 tabs open Opravdu chcete zavřít okno? Je otevřeno %1 karet Page Source of %1 Zdrojový kód stránky %1 Web Inspector Web Inspector The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Webový inspektor bude fungovat pouze pro stránky načtené po jeho povolení. Chcete znovu načíst všechny stránky? Stop loading the current page Zastaví načítání aktuální stránky Reload the current page Znovu načte aktuální stránku Downloads Stahování Alt+Ctrl+L Download Manager Alt+Ctrl+L &Clear Private Data Smazat &soukromá data Ctrl+Shift+Delete Clear Private Data <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttonsto return to the webpages you have opened. <b>%1</b><br><br>Když je zapnuto soukromé prohlížení, některé akce narušující tvoje soukromí budou zakázány:<ul><li> Stránky nejsou přidávány do historie.</li><li> Položky jsou automaticky smazány z okna stahování.</li><li> Nové cookies nejsou uloženy, aktuální nebudou přístupné.</li><li> Ikony stránek nejsou ukládány, relace taky ne.</li><li> Hledání nejsou přidávány do vyjížděcího menu v políčku hledání.</li></ul>Dokud nezavřeš okno, můžeš vždy klikat Zpět a Vpřed pro vrácení na dříve otevřené stránky. <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Když je zapnuto soukromé prohlížení, některé akce narušující tvoje soukromí budou zakázány:<ul><li> Stránky nejsou přidávány do historie.</li><li> Položky jsou automaticky smazány z okna stahování.</li><li> Nové cookies nejsou uloženy, aktuální nebudou přístupné.</li><li> Ikony stránek nejsou ukládány, relace taky ne.</li><li> Hledání nejsou přidávány do vyjížděcího menu v políčku hledání.</li></ul>Dokud nezavřeš okno, můžeš vždy klikat Zpět a Vpřed pro vrácení na dříve otevřené stránky. Show Bookmarks Bar Zobrazit lištu záložek Hide Bookmarks Bar Skrýt lištu záložek Find &Next Nají&t další Find P&revious Najít &předchozí Prefe&rences Před&volby &Reload Page O&bnovit stránku Make Text &Bigger Z&většit text Make Text &Normal &Normální velikost textu Make Text &Smaller Z&menšit text Find Nex&t Nají&t další Prefere&nces... Před&volby... Show Menu Bar Zobrazit menu Zoom &In Při&blížit Zoom &Normal &Normální velikost Zoom &Out Od&dálit Zoom &Text Only Přibližovat pouze &text Show All Bookmarks... Zobrazit všechny záložky... Switch application language Přepnout jazyk aplikace Default Výchozí Text Encoding Kódování textu Select &All Vybr&at vše Alt+Ctrl+B Options... Nastavení... Configure Search Engines... Nastavit vyhledávače... &Ad Block... &AdBlock... When private browsing is turned on, some actions concerning your privacy will be disabled: Při zapnutém soukromém prolížení budou některé akce týkající se vašeho soukromí zakázány: Webpages are not added to the history. Stránky nejsou přidávány do historie. Items are automatically removed from the Downloads window. Soubory jsou automaticky odstraňovány z okna stahování. New cookies are not stored, current cookies can't be accessed. Nové cookies nejsou ukládány, ke stávajícím cookies nemůže být přistupováno. Site icons won't be stored. Ikony stránek nebudou ukládány. Session won't be saved. Relace nebude uložena. Searches are not added to the pop-up menu in the search box. Vyhledávání nejsou přidávána do vyskakovacího menu vyhledávacího políčka. No new network cache is written to disk. Síťová mezipaměť není ukládána na disk. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Dokud nezavřete okno, můžete se pomocí tlačítek Zpět a Vpřed vrácet na vámi otevřené stránky. Private Browsing Soukromé prohlížení ClearButton Clear Vyčistit ClearPrivateData Clear Private Data Snazat soukromá data Clear the following items: Smazat tyto položky: &Browsing History &Historie prohlížení &Download History Historie &stahování &Search History Historie vyhledávání &Cookies &Cookies C&ache Vyrovnávací &paměť Website &Icons Ikony stránek Clear &Private Data Smazat soukromá data &Cancel Zrušit C&ached Web Pages Stránky v &mezipaměti ClickToFlash Load Načíst Load All Načíst vše Add %1 to Whitelist Přidat %1 do povolených Remove from Whitelist Odebrat z povolených Settings Nastavení Load Flash Načíst flash ClickToFlashSettings Whitelist sites Povolené weby CookieExceptionsModel Website Webová stránka Status Stav Allow Povoleno Block Blokovat Allow For Session Povolit pro relaci Rule Pravidlo CookieModel Website Webová stránka Name Jméno Path Cesta Secure Zabezpečené Expires Vyprší Contents Obsah true false Session cookie Relační cookie CookiesDialog Cookies Cookies &Remove &Smazat Remove &All Cookies Smazat &vše Add &Rule Přidat &pravidlo CookiesExceptionsDialog Cookie Exceptions Výjimky pro cookies New Exception Nová výjimka Domain: Doména: Block Blokovat Allow For Session Povolit pro relaci Allow Povolit Exceptions Výjimky &Remove &Odstranit Remove &All Odstranit &vše DownloadDialog Downloads Stahování Clean up Vyčistit 0 Items 0 položek DownloadItem Ico Filename Název souboru Try Again Zkusit znovu Stop Zastavit Open Otevřít Save File Uložit soubor Download canceled: %1 Stahování zrušeno: %1 %1 of %2 (%3/sec) - %4 %1 z %2 (%3/sek) - %4 Error opening save file: %1 Chyba při otevírání souboru pro uložení: %1 Error saving: %1 Chyba při ukládání: %1 Network Error: %1 Chyba sítě: %1 seconds sekund minutes minut - %4 %5 remaining - %4 %5 zbývá %1 of %2 (%3/sec) %4 %1 z %2 (%3/s) %4 ? %1 of %2 - Stopped %1 z %2 - Zastaveno bytes bajtů - %n minutes remaining - %n minuta zbývá - %n minuty zbývají - %n minut zbývá - %n seconds remaining - %n sekunda zbývá - %n sekundy zbývají - %n sekund zbývá Error opening output file: %1 Chyba při otevírání výstupního souboru: %1 Download directory (%1) couldn't be created. Složka pro stahování (%1) nemůže být vytvořena. DownloadManager There are %1 downloads in progress Do you want to quit anyway? Právě probíhá %1 stahování Přesto ukončit? %n minutes remaining %n minuta zbývá %n minuty zbývají %n minut zbývá %n seconds remaining %n sekunda zbývá %n sekundy zbývají %n sekund zbývá bytes bajtů kB kB MB MB 1 Download 1 stahování %1 Downloads %1 stahování %n Download(s) %n stahování %n stahování %n stahování GB GB FileAccessReply No Error Žádná chyba Error opening: %1: No such file or directory Chyba při otevírání %1: Soubor nebo složka neexistuje Unable to read %1 Chyba při čtení %1 Contents of %1 Obsah %1 %1 KB %1 KB HistoryDialog Open Otevřít Copy Kopírovat Delete Smazat History Historie &Remove &Odstranit Remove &All Odstranit &vše HistoryMenu Show All History Zobrazit celou historii Clear History Vyčistit historii Clear History... Vyčistit historii... Do you want to clear the history? Chcete vyčistit historii? HistoryModel Title Titulek Address Adresa HistoryTreeModel Earlier Today Dříve dnes %1 items %1 položek %n item(s) %n položka %n položky %n položek JavaScriptAroraObject Welcome to Arora! Vítejte v Aroře! Arora Start Search! Vyhledat! Search results provided by Výsledky vyhledávání poskytovány About Arora O Aroře LanguageManager Default Výchozí No translation files are installed. Žádné překlady nejsou nainstalovány Choose language Vyberte jazyk <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Arora může používat jiný jazyk, než<br>je výchozí jazyk operačního systému.</p><p>Prosím vyberte, který jazyk má být použit</p> No translation files are installed at %1. Žádné překladové soubory nejsou nainstalovány v %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Zadejte uživatelské jméno a heslo pro "%1" na %2</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Připojit k proxy "%1" pomocí:</qt> - SSL Errors - Chyby SSL <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>Chyby SSL:<br/><br/>pro: <tt>%1</tt><ul><li>%2</li></ul> Chcete ignorovat tyto chyby?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Certifikáty:<br/>%1<br/>Chcete přijmout všechny tyto certifikáty?</qt> <qt>Certifactes:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Certifikáty:<br/>%1<br/>Chceš přijmout všechny tyto certifikáty?</qt> SSL Errors: %1 %2 Do you want to ignore these errors? Chyby SSL: %1 %2 Chceš ignorovat tyto chyby? Do you want to accept all these certificates? Chceš přijmout všechny tyto certifikáty? Issuer: %1 Vydal: %1 Not valid before: %1 Neplatný před: %1 Valid until: %1 Platný do: %1 Alternate Names: Alternativní jména: NetworkMonitor Name Název Value Hodnota NetworkMonitorDialog Network Monitor Monitor sítě Network Requests Síťové požadavky Request Headers Hlavičky požadavku Response Headers Hlavičky odpovědi &Remove &Smazat Remove &All Requests Smazat &všechny požadavky OpenSearchDialog Open File Otevřít soubor OpenSearch OpenSearch Error Chyba %1 is not a valid OpenSearch 1.1 description or is already on your list. %1 není validní OpenSearch 1.1 popis, nebo už je na seznamu. You must have at least one search engine in here. Musíte mít alespoň jeden vyhledávač. OpenSearch Manager Správce OpenSearch &Restore Defaults &Obnovit původní &Delete &Smazat &Add &Přidat &Close &Zavřít OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Popis:</strong> %1 <strong>Provides contextual suggestions</strong> <strong>Poskytuje kontextové návrhy</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Seznam čárkou oddělených klíčových slov, která mají být vložena do vyhledávacího políčka následovány vyhledávanými slovy s tímto vyhledávačem Name Název Keywords Klíčová slova OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 Chcete přidat následující vyhledávač do seznamu svých vyhledávačů?<br /><br />Jméno: %1<br />Vyhledává na: %2 PasswordDialog Authentication Required Vyžadováno přihlášení DUMMY ICON INTRO TEXT DUMMY Username: Uživatelské jméno: Password: Heslo: PlainTextEditSearch Not Found Nenalezeno ProxyDialog Proxy Authentication Přihlášení k proxy Connect to proxy Připojit k proxy Username: Uživatelské jméno: Password: Heslo: QObject The file is not an XBEL version 1.0 file. Soubor není souborem XBEL verze 1.0. Unknown title Neznámý titulek The file is not an OpenSearch 1.1 file. Toto není soubor OpenSearch 1.1. RequestModel Redirect: %1 Přesměrování: %1 Method Metoda Address Adresa Response Odpověď Length Délka Content Type Typ obsahu Info Info SearchBanner Done Hotovo Highlight All Vyznačit vše SearchLineEdit Search Hledat Settings Settings Nastavení General Obecné Home: Domov: Set to current page Nastavit na aktuální stránku Remove history items: Odstranit položky historie: After one day Po jednom dni After one week Po jednom týdnu After two weeks Po dvou týdnech After one month Po měsíci After one year Po roce Manually Ručně Save downloads to: Uložit stahování do: Open links from applications: Otevřít odkazy z aplikací: In a tab in the current window V panelu v aktuálním okně In a new window V novém okně Appearance Vzhled Standard font: Standardní písmo: Times 16 Times 16 Select... Vybrat... Fixed-width font: Písmo s pevnou šířkou: Courier 13 Courier 13 Preferred languages for viewing webpages in: Upřednostňované jazyky pro prohlížení stránek: Privacy Soukromí Web Content Obsah webu Block Popup Windows Blokovat vyskakovací okna Enable Plugins Povolit zásuvné moduly Enable Javascript Povolit JavaScript Cookies Cookies Accept Cookies: Přijímat cookies: Always Vždy Never Nikdy Only from sites you navigate to Pouze z navštívených stránek Exceptions... Výjimky... Keep until: Uchovat dokud: They expire Vyprší I exit the application Ukončení aplikace At most 90 days Maximálně 90 dní Cookies... Cookies... Proxy Proxy Enable proxy Povolit proxy Type: Typ: Socks5 Socks5 Http Http Host: Server: Port: Port: User Name: Uživatelské jméno: Password: Heslo: Advanced Rozšířené Style Sheet: CSS styl: Downloads Stahování Ask for a destination each time Vždy se ptát na umístění stahování Use this destination: Použít toto umístění: On application exit Při ukončení aplikace Enable Images Povolit obrázky Tabs Karty Select tabs and windows as they are created Přepínat na okna nebo karty, když jsou vytvořeny Confirm when closing multiple tabs Vyžadovat potvrzení při zavírání více panelů On startup: Po spuštění: Show my home page Zobrazit moji domovskou stránku Show a blank page Zobrazit prázdnou stránku Restore windows and tabs from last time Obnovit okna a karty z poslední relace Preferences Předvolby Home Page: Domovská stránka: Use ClickToFlash on flash plugins Používat ClickToFlash na zásuvných modulech flash View Images Zobrazovat obrázky Keep Cookies Until: Ponechat cookies dokud: Filter Tracking Cookies Filtrovat sledovací cookies Confirm when closing multiple tabs or windows Vyžadovat potvzrení při zavírání více karet nebo oken Quit the application when last tab is closed Ukončit aplikaci, když je zavřena poslední karta Opening links Otevírání odkazů Links that want to open in a new window: Odkazy, které chtějí otevřít v novém okně: In a new selected tab in the current window V nové kartě aktuálního okna, který bude označen In a new tab in the current window V nové kartě aktuálního okna In the current tab V aktuálním kartě Use proxy server Používat proxy server Http (Secure) HTTP (zabezpečené) Http (Transparent) HTTP (průhledné) Host name: Jméno hostitele: Enable network cache Povolit síťovou mezipaměť Maximum Size: Maximální velikost: MB MB Show only one close button instead of one for each tab Zobrazit pouze jedno zavírací tlačítko místo jednoho pro každou kartu Use the default search engine as fallback when the URL given by the user is invalid Použít výchozí vyhledávač jako nouzový, když je adresa zadaná uživatelem neplatná Choose Directory... Vybrat adresář... A cookie session ends: Relace cookies končí: When I exit the application Když ukončím aplikaci 1 day 1 den 2 days 2 dny 3 days 3 dny 7 days 7 dní 30 days 30 dní AutoFill Automatické doplňování AutoFill web forms: Automaticky doplňovat webové formuláře: User names and passwords Uživatelská jména a hesla Edit... Upravit... Browse... Prohlížet... SettingsDialog Restart required Vyžadován restart aplikace The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. Byla změněna nastavení síťové cache. Aby se změny projevily, prohlížeč musí být restartován. Choose Directory Vybrat adresář Choose CSS File Vybrat soubor CSS SourceViewer Loading... Načítání... &Edit Úpr&avy &Find Na&jít &View &Zobrazit &Wrap lines Za&lamovat řádky Source of Page Zdrojový kód stránky Source of Page %1 Zdrojový kód stránky %1 TabBar New &Tab &Nový panel Duplicate Tab Duplikovat kartu &Close Tab &Zavřít kartu Close &Other Tabs Zavřít o&statní karty Reload Tab Obnovit kartu Reload All Tabs Obnovit všechny karty Show Tab Bar Zobrazit lištu karet Hide Tab Bar Skrýt lištu karet TabWidget New &Tab &Nová karta &Close Tab &Zavřít kartu Show Next Tab Zobrazit další kartu Saved Tabs Uložené karty Loading... Načítání... Loading %1% (%2 %3)... Načítání %1% (%2 %3)... Finished loading Načítání dokončeno Failed to load Nepovedlo se načíst Ctrl-] Ctrl-] Show Previous Tab Zobrazit předchozí kartu Ctrl-[ Ctrl-[ Recently Closed Tabs Naposledy zavřené karty Bookmark All Tabs Přidat všechny karty do záložek (Untitled) (Bez titulku) Do you really want to close this page? Opravdu chcete zavřít tuto stránku? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Změnili jste tuto stránku, pokud ji zavřete, změny budou ztraceny. Opravdu chcete zavřít tuto stránku? Untitled Bez názvu ToolbarSearch Suggestions Návrhy Add '%1' Přidat '%1' Configure Search Engines... Nastavit vyhledávací enginy... No Recent Searches Žádná nedávná vyhledávání Recent Searches Nedávná vyhledávání Clear Recent Searches Vyčistit nedávná vyhledávání WebPage Error loading page: %1 Chyba při načítání stránky: %1 When connecting to: %1. Při připojování k: %1. Check the address for errors such as <b>ww</b>.trolltech.com instead of <b>www</b>.trolltech.com. Zkontroluj adresu na chyby jako <b>ww</b>.trolltech.com místo <b>www</b>.trolltech.com. If the address is correct, try to check the network connection. Pokud je adresa správná, zkontroluj síťové připojení. If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Pokud je váš počítač nebo vaše síť chráněna firewallem nebo proxy, ujistěte se, že je prohlížeči povolen přístup k síti. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org Zkontrolujte adresu kvůli chybách jako <b>ww</b>.arora-browser.org namísto <b>www</b>.arora-browser.org If the address is correct, try checking the network connection. Pokud je adresa správná, zkontrolujte síťové připojení. Resending POST request Opětovné posílání POST požadavku In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? Pro zobrazení stránky musí být požadavek spolu se všemi daty poslán znovu, což může způsobit neočekávané chování stránky, například ta samá akce může být vykonána znovu. Přesto pokračovat? WebView Open in New Tab Otevřít v novém panelu Open in New &Window &Otevřít v novém okně Open in New &Tab Otevřít v &nové kartě Save Lin&k Uložit o&dkaz &Bookmark This Link &Vytvořit záložku pro tento odkaz &Copy Link Location &Kopírovat adresu odkazu Open Image in New &Window Otevřít obrázek v novém okně Open Image in New &Tab Otevřít obrázek v nové kartě &Save Image &Uložit obrázek &Copy Image Kopírovat o&brázek C&opy Image Location Kopírovat adresu ob&rázku Search with... Vyhledat pomocí... Loading... Načítání... Add to the toolbar search Přidat do políčka vyhledávání Method not supported Metoda není podporována %1 method is not supported. Metoda %1 není podporována. Search engine Vyhledávač Choose the desired search engine Vyber požadovaný vyhledávač Engine name Název vyhledávače Type in a name for the engine Napište jméno pro vyhledávač Block Image Blokovat obrázek WebViewSearch Not Found Nenalezeno arora-0.11.0/src/locale/da_DK.ts000066400000000000000000002236761145000221100162370ustar00rootroot00000000000000 AboutDialog Lightweight WebKit-based web browser Letvægts WebKit-baseret internetbrowser <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ophavsret © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> About %1 Authors Ophavsmænd License Licens Close Luk About Om WebKit version: %1 AcceptLanguage Languages Languages: in order of preference: Move &Up Move &Down &Remove &Fjern Add... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 AdBlockDialog Add Custom Rule Learn more about writing rules... Update Subscription Browse Subscriptions... Remove Subscription AdBlock Configuration Enable AdBlock Action AdBlockManager Custom Rules AdBlockModel Rule AdBlockSchemeAccessHandler Subscribe? Subscribe to this AdBlock subscription? %1 AddBookmarkDialog Add Bookmark Tilføj bogmærke Type a name for the bookmark, and choose where to keep it. Skriv et navn for bogmærket og vælg et sted at gemme det. Url Title Titel Add Folder Tilføj mappe AutoFillDialog Form Passwords Remove Remove All AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. Never for this site Not now AutoFillModel WebSite User Name BookmarksDialog Bookmarks Bogmærker &Remove &Fjern Add Folder Tilføj mappe Open Åbn Open in New Tab Åbn i nyt faneblad Delete Slet New Folder Ny mappe Edit Name Edit Address BookmarksManager Error when loading bookmarks on line %1, column %2: %3 Fejl under indlæsning af bogmærker på linje %1, kolonne %2: %3 Bookmarks Bar Bookmarks Menu Toolbar Bookmarks Værktøjslinjebogmærker Menu Menu Open File Åbn fil XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) Imported %1 %1 er importeret Save File Gem fil %1 Bookmarks.xbel %1 Bookmarks.xbel Export error Eksporteringsfejl error saving bookmarks fejl under lagring af bogmærker Remove Bookmark Fjern bogmærke Insert Bookmark Indsæt bogmærke Name Change Ændre navn Address Change Ændre adresse Name Change Undo bookmark title change Ændre navn Address Change Undo bookmark url change Ændre adresse XBEL bookmarks HTML Netscape bookmarks htmlToXBel tool required htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. Loading Bookmark Error when loading HTML bookmarks: %1 BookmarksMenu Open in Tabs BookmarksModel Title Titel Address Adresse BookmarksToolBar Bookmark Bogmærke Open Åbn Open in New &Tab Åbn i nyt &faneblad Remove Add Bookmark... Tilføj bogmærke... Add Folder... Bookmarks Bogmærker BrowserApplication There are %1 windows and %2 tabs open Do you want to quit anyway? Der er %1 vinduer og %2 faneblade åbne Ønsker du alligevel at afslutte? Restore failed Arora crashed while trying to restore this session. Should I try again? BrowserMainWindow &File &Fil &New Window &Nyt vindue &Open File... &Åbn fil... Open &Location... Åbn &adresse... &Save As... Ge&m Som... &Import Bookmarks... &Importér bogmærker... &Export Bookmarks... &Exportér bogmærker... P&rint Preview... &Vis udskrift... &Print... &Udskriv... Private &Browsing... Privat &browsing... Close Window &Quit &Afslut &Edit &Redigér &Undo &Fortryd &Redo &Omgør Cu&t Kli&p &Copy &Kopiér &Paste &Indsæt &Find &Find Show All Bookmarks... About &%1 About Browser Ctrl+Y Download Manager &Find Next &Find næste &Find Previous &Find forrige &Preferences &Indstillinger Ctrl+, Ctrl+, &View &Vis Ctrl+| Crtl+| Shift+Ctrl+B Shift+Ctrl+B Ctrl+/ Crtl+/ &Stop &Stop Reload Page Genindlæs side &Make Text Bigger &Gør tekst større &Make Text Normal &Gør tekst normal &Make Text Smaller &Gør tekst mindre Find Nex&t Show Menu Bar Zoom &In Zoom &Normal Zoom &Out Zoom &Text Only Page S&ource Sidens &kilde Ctrl+Alt+U Crtl+Alt+U &Full Screen &Fuldskærm Hi&story Hi&storik Back Tilbage Forward Frem Home Hjem Restore Last Session Genindlæs sidste session &Bookmarks &Bogmærker Manage Bookmarks... Håndtér bogmærker... Add Bookmark... Tilføj bogmærke... Add Folder... &Window &Vindue &Tools &Værktøjer Web &Search Net&søgning Ctrl+K Web Search Crtl+K &Clear Private Data &Ryd private informationer Ctrl+Shift+Delete Clear Private Data Crtl+Shift+Delete Enable Web &Inspector Aktivér Web&inspektør &Help &Hjælp Switch application language About &Qt Om &Qt About &Arora Om &Arora Navigation Navigation Show Status Bar Vis statuslinje Hide Status Bar Skjul statuslinje Show Toolbar Vis værktøjslinje Hide Toolbar Skjul værktøjslinje Show Bookmarks bar Vis bogmærkelinje Hide Bookmarks bar Skjul bogmærkelinje Arora Arora %1 - Arora Page title and Browser name %1 - Arora Open Web Resource Åbn netressource Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Netressourcer (*.html *.htm *.svg *.png *.gif *.svgz);; Alle filer (*.*) Print Document Udskriv dokument Are you sure you want to turn on private browsing? Er du sikker på du vil slå privat browsing til? <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Når privat browsing er slået til, vil nogle handlinger vedrørende dine hemmeligheder blive slået fra:<ul><li>Sider bliver ikke tilføjet til historikken.</li><li> Filer bliver automatisk fjernet fra "Downloads"-vinduet.</li><li> Nye cookies bliver ikke gemt og eksisterende cookies kan ikke tilgås.</li><li> Sideikoner bliver ikke gemt, og sessioner vil ikke blive gemt.</li><li> Søgetermer bliver ikke tilføjet pop-op-menuen i søgefeltet.</li></ul>Indtil du lukker vinduet, kan du stadig klikke på frem- og tilbage-knapperne for at komme tilbage til åbne netsider. Are you sure you want to close the window? There are %1 tab open Er du sikker på du vil lukke vinduet? Der er %1 faneblade åbne Page Source of %1 Kilde til %1 Web Inspector Webinspektør The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Webinspektøren vil kun virke korrekt for sider der er indlæst efter webinspektøren er aktiveret Vil du genindlæse alle sider? Stop loading the current page Stop indlæsning af den aktuelle side Reload the current page Genindlæs den aktuelle side Downloads Downloads Alt+Ctrl+L Download Manager Alt+Crtl+L Find P&revious &Reload Page Show Bookmarks Bar Hide Bookmarks Bar Are you sure you want to close the window? There are %1 tabs open Default Text Encoding Select &All Alt+Ctrl+B Options... Configure Search Engines... &Ad Block... When private browsing is turned on, some actions concerning your privacy will be disabled: Webpages are not added to the history. Items are automatically removed from the Downloads window. New cookies are not stored, current cookies can't be accessed. Site icons won't be stored. Session won't be saved. Searches are not added to the pop-up menu in the search box. No new network cache is written to disk. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Private Browsing ClearButton Clear Ryd ClearPrivateData Clear Private Data Ryd private data Clear the following items: Ryd følgende emner: &Browsing History &Browserhistorik &Download History &Downloadhistorik &Search History &Søgehistorik &Cookies &Cookies C&ached Web Pages C&ache C&ache Website &Icons Side&Ikoner Clear &Private Data Ryd &private data &Cancel &Annullér ClickToFlash Load Load All Add %1 to Whitelist Remove from Whitelist Settings Opsætning Load Flash ClickToFlashSettings Whitelist sites CookieExceptionsModel Website Hjemmeside Status Status Rule Allow Tillad Block Blokér Allow For Session Tillad for session CookieModel Website Hjemmeside Name Navn Path Sti Secure Sikker Expires Udløber Contents Indhold true false Session cookie CookiesDialog Cookies Cookies &Remove &Fjern Remove &All Cookies Fjern &alle cookies Add &Rule CookiesExceptionsDialog Cookie Exceptions cookie-undtagelser New Exception Ny undtagelse Domain: Domæne: Block Blokér Allow For Session Tillad for session Allow Tillad Exceptions Undtagelser &Remove &Fjern Remove &All Fjern &alle DownloadDialog Downloads Downloads Clean up Ryd op 0 Items 0 elementer DownloadItem Form Formular Ico Ikon Filename Filnavn Try Again Prøv Igen Stop Stop Open Åbn Save File Gem fil Download canceled: %1 Download annulleret: %1 %1 of %2 (%3/sec) - %4 Error opening save file: %1 Fejl under åbning af fil for skrivning: %1 Error saving: %1 Fejl ved skrivning: %1 Network Error: %1 Netværksfejl: %1 seconds Sekunder minutes Minutter - %4 %5 remaining - %4 %5 tilbage %1 of %2 (%3/sec) %4 %1 af %2 (%3/sek) %4 ? ? %1 of %2 - Stopped %1 af %2 - Stoppet bytes Bytes kB kB MB MB Error opening output file: %1 Download directory (%1) couldn't be created. DownloadManager There are %1 downloads in progress Do you want to quit anyway? %n minutes remaining %n seconds remaining bytes Bytes kB kB MB MB 1 Download 1 Download %1 Downloads %1 Downloads %n Download(s) GB FileAccessReply No Error Error opening: %1: No such file or directory Unable to read %1 Contents of %1 %1 KB HistoryDialog History Historik &Remove &Fjern Remove &All Fjern &alt Open Åbn Copy Kopiér Delete Slet HistoryMenu Show All History Vis fuld historik Clear History Ryd historik Clear History... Do you want to clear the history? HistoryModel Title Titel Address Adresse HistoryTreeModel Earlier Today Tidligere i dag %1 items %1 elementer %n item(s) JavaScriptAroraObject Welcome to Arora! Arora Start Search! Search results provided by About Arora LanguageManager Choose language <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> No translation files are installed at %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Indtast brugernavn og kodeord for "%1" på %2</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Forbind til proxy'en "%1" ved brug af:</qt> - SSL Errors <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> SSL Errors: %1 %2 Do you want to ignore these errors? SSL-fejl: %1 %2 Vil du ignorere disse fejl? Do you want to accept all these certificates? Vil du acceptere alle disse certifikater? Issuer: %1 Not valid before: %1 Valid until: %1 Alternate Names: NetworkMonitor Name Navn NetworkMonitorDialog &Remove &Fjern OpenSearchDialog Open File Åbn fil OpenSearch Error %1 is not a valid OpenSearch 1.1 description or is already on your list. You must have at least one search engine in here. OpenSearch Manager &Restore Defaults &Delete &Add &Close OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Provides contextual suggestions</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Name Navn Keywords OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 PasswordDialog Authentication Required Godkendelse påkrævet DUMMY ICON STANDARDIKON INTRO TEXT DUMMY INTRODUKTIONSSTANDARDTEKST Username: Brugernavn: Password: Kodeord: PlainTextEditSearch Not Found Ikke fundet ProxyDialog Proxy Authentication Proxy-godkendelse ICON IKON Connect to proxy Forbind til proxy Username: Brugernavn: Password: Kodeord: QObject The file is not an XBEL version 1.0 file. Filen er ikke af typen XBEL version 1.0. Unknown title Ukendt titel The file is not an OpenSearch 1.1 file. RequestModel Address Adresse SearchBanner Form Formular TextLabel TextLabel < < > > Done Færdig Highlight All SearchLineEdit Search Søg Settings Settings Opsætning General Generelt Home: Hjem: Home Page: Set to current page Sæt til nuværende side Remove history items: Fjern elementer fra historik: After one day Efter en dag After one week Efter en uge After two weeks Efter to uger After one month Efter en måned After one year Efter et år Manually Manuelt On application exit Ved afslutning af program Open links from applications: Åbn links fra programmer: In a tab in the current window I et faneblad i nuværende vindue In a new window I et nyt vindue Downloads Downloads Ask for a destination each time Bed om destination hver gang Use this destination: Brug denne destination: Appearance Udseende Standard font: Standardskrifttype: Times 16 Times 16 Select... Vælg... Fixed-width font: Skrifttype med fast bredde: Courier 13 Courier 13 Preferred languages for viewing webpages in: Privacy Privatliv Web Content Netindhold Block Popup Windows Enable Plugins Aktivér plugins Use ClickToFlash on flash plugins Enable Javascript Aktivér JavaScript View Images Keep Cookies Until: Filter Tracking Cookies Confirm when closing multiple tabs or windows Quit the application when last tab is closed Opening links Links that want to open in a new window: In a new selected tab in the current window In a new tab in the current window In the current tab Use proxy server Http (Secure) Http (Transparent) Host name: Enable network cache Maximum Size: MB Enable Images Aktivér billeder Cookies Cookies Accept Cookies: Acceptér cookies: Always Altid Never Aldrig Only from sites you navigate to Kun fra sider du aktivt besøger Exceptions... Undtagelser... Keep until: Behold indtil: They expire De udløber I exit the application Jeg afslutter programmet At most 90 days Højst 90 dage Cookies... Cookies... Tabs Faneblade Select tabs and windows as they are created Vælg faneblade og vinduer når de oprettes Confirm when closing multiple tabs Bekræft ved afslutning af flere faneblade Show only one close button instead of one for each tab Proxy Proxy Enable proxy Aktivér proxy Type: Type: Socks5 Socks5 Http Http Host: Vært: Port: Port: User Name: Brugernavn: Password: Kodeord: Advanced Avanceret Style Sheet: Stilark: On startup: Preferences Show my home page Show a blank page Restore windows and tabs from last time Use the default search engine as fallback when the URL given by the user is invalid Choose Directory... A cookie session ends: When I exit the application 1 day 2 days 3 days 7 days 30 days AutoFill AutoFill web forms: User names and passwords Edit... Browse... SettingsDialog Restart required The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. Choose Directory Choose CSS File SourceViewer Loading... Indlæser... &Edit &Redigér &Find &Find &View &Vis Source of Page %1 TabBar Show Tab Bar Vis fanebladslinje Hide Tab Bar Skjul fanebladslinje New &Tab Nyt &faneblad Duplicate Tab Duplikér faneblad &Close Tab &Luk faneblad Close &Other Tabs Luk &andre faneblade Reload Tab Genindlæs faneblad Reload All Tabs Genindlæs alle faneblade TabWidget New &Tab Nyt &faneblad &Close Tab &Luk faneblad Show Next Tab Vis næste faneblad Saved Tabs Loading... Indlæser... Loading %1% (%2 %3)... Finished loading Failed to load Ctrl-] Show Previous Tab Vis forrige faneblad Ctrl-[ Recently Closed Tabs Nyligt lukkede faneblade Bookmark All Tabs Untitled (Untitled) (Uden titel) Do you really want to close this page? Vil du virkelig lukke denne side? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Du har ændret i denne side og ved at lukke den, vil du miste ændringerne Er du sikker på du vil lukke siden? ToolbarSearch Google Google Suggestions Add '%1' No Recent Searches Ingen nylige søgninger Recent Searches Nylige søgninger Clear Recent Searches Ryd nylige søgninger WebPage Error loading page: %1 Fejl ved indlæsning af side: %1 When connecting to: %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org If the address is correct, try checking the network connection. If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Resending POST request In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? WebView Open in New &Window Åbn i nyt &vindue Open in New &Tab Åbn i nyt &faneblad Save Lin&k Gem lin&k &Bookmark This Link Tilføj link til &bogmærker &Copy Link Location &Kopiér linkadresse Open Image in New &Window Åbn billede i nyt &vindue Open Image in New &Tab Åbn billede i nyt &faneblad &Save Image &Gem billede &Copy Image &Kopiér billede C&opy Image Location K&opiér billedadresse Search with... Loading... Indlæser... Add to the toolbar search Method not supported %1 method is not supported. Search engine Choose the desired search engine Engine name Type in a name for the engine Block Image WebViewSearch Not Found Ikke fundet arora-0.11.0/src/locale/de_DE.ts000066400000000000000000002617101145000221100162240ustar00rootroot00000000000000 Error Fehler Arora is already running. Exiting. Arora läuft bereits. AboutDialog About Über About %1 Über %1 Authors Autoren License Lizenz Lightweight WebKit-based web browser schlanker WebKit-basierter Webbrowser <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> Close Schließen <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style="font-size:9pt;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> WebKit version: %1 WebKit Version: %1 AcceptLanguage Languages Sprachen Languages: in order of preference: Sprachen: bevorzugte Reihenfolge: Move &Up Nach &Oben Move &Down Nach &Unten &Remove &Entfernen Add... Hinzufügen... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 Blockiert durch AdBlockRegel: %1 AdBlockDialog Add Custom Rule Benutzerdefinierte Regel hinzufügen Learn more about writing rules... Weitere Informationen zum Schreiben von Regeln... Update Subscription Abonnement aktualisieren Browse Subscriptions... Abonnements anzeigen... Remove Subscription Abonnement entfernen AdBlock Configuration AdBlock Konfiguration Enable AdBlock AdBlock aktivieren Action Aktion AdBlockManager Custom Rules Benutzerdefinierte Regeln AdBlockModel Rule Regel AdBlockSchemeAccessHandler Subscribe? Abonnieren? Subscribe to this AdBlock subscription? %1 Wollen sie dieses AdBlock Abonnement hinzufügen? %1 AddBookmarkDialog Add Bookmark Lesezeichen hinzufügen Type a name for the bookmark, and choose where to keep it. Geben Sie einen Namen und Speicherort für das Lesezeichen an. Url Url Title Titel Add Folder Ordner hinzufügen AutoFillDialog Form Passwords Formular Passwörter Remove Löschen Remove All Alle löschen AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. <b>Möchten Sie dieses Passwort speichern?</b><br> Um die gespeicherte Passwörter anzuzeigen oder zu löschen, nutzen Sie das Autovervollständigungs-Tab im Einstellungsmenü. Never for this site Nie für diese Seite Not now Nicht jetzt AutoFillModel WebSite Webseite User Name Benutzername BookmarksDialog Open Öffnen Delete Löschen New Folder Neuer Ordner Bookmarks Lesezeichen &Remove &Entfernen Add Folder Ordner hinzufügen Open in New Tab In einem neuen Tab öffnen Edit Name Titel editieren Edit Address Adresse editieren BookmarksManager Error when loading bookmarks on line %1, column %2: %3 Fehler beim Laden der Lesezeichen in Zeile %1, Spalte %2: %3 Bookmarks Bar Lesezeichenleiste Bookmarks Menu Lesezeichenmenü Toolbar Bookmarks Lesezeichenleiste Menu Menü Open File Datei öffnen XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) Imported %1 Importiert %1 XBEL (*.xbel *.xml *.html) XBEL (*.xbel *.xml *.html) Error when loading html bookmarks: %1 Fehler beim Laden der html Lesezeichen: %1 Save File Datei speichern %1 Bookmarks.xbel %1 Bookmarks.xbel Export error Exportfehler error saving bookmarks Fehler beim Speichern der Lesezeichen Remove Bookmark Lesezeichen entfernen Insert Bookmark Lesezeichen einfügen Name Change Namensänderung Address Change Adressänderung Name Change Undo bookmark title change Namensänderung Address Change Undo bookmark url change Adressänderung XBEL bookmarks XBEL Lesezeichen HTML Netscape bookmarks HTML Netscape Lesezeichen htmlToXBel tool required htmlToXbel wird benötigt htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. htmlToXBel - welches mit Arora vertrieben wird und nötig ist um HTML Lesezeichen zu importieren - ist nicht installiert oder nicht im Suchpfad verfügbar. Loading Bookmark Lade Lesezeichen Error when loading HTML bookmarks: %1 Fehler beim Laden der HTML Lesezeichen: %1 BookmarksMenu Open in Tabs In Tabs öffnen BookmarksModel Title Titel Address Adresse BookmarksToolBar Bookmark Lesezeichen Open Öffnen Open in New &Tab In einem neuen &Tab öffnen Remove Entfernen Add Bookmark... Lesezeichen hinzufügen... Add Folder... Ordner hinzufügen... Bookmarks Lesezeichen BrowserApplication There are %1 windows and %2 tabs open Do you want to quit anyway? %1 Fenster und %2 Tabs sind geöffnet Arora wirklich beenden? Restore failed Wiederherstellung fehlgeschlagen The saved session will not being restored because last time it was restored Arora crashed. Die gespeicherte Sitzung wird nicht wiederhergestellt weil bei der letzten Wiederherstellung Arora abgestürzt ist. (Change: %1 %2) (Änderung: %1 %2) The saved session will not be restored because Arora crashed while trying to restore this session. Die gespeicherte Sitzung wird nicht wiederhergestellt, weil bei der letzten Wiederherstellung Arora abgestürzt ist. Arora crashed while trying to restore this session. Should I try again? Arora ist bei dem Versuch die Sitzung wiederherzustellen abgestürzt. Soll erneut versucht werden, die Sitzung wiederherzustellen? BrowserMainWindow &File &Datei &New Window &Neues Fenster &Open File... &Datei öffnen... Open &Location... &Adresse aufrufen... &Save As... &Speichern unter... &Import Bookmarks... Lesezeichen &importieren... &Export Bookmarks... Lesezeichen &exportieren... P&rint Preview... Druck&vorschau... &Print... &Drucken... Private &Browsing... &Private Browsing... Close Window Fenster schließen &Quit &Beenden &Edit &Bearbeiten &Undo &Rückgängig &Redo &Wiederholen Cu&t &Ausschneiden &Copy &Kopieren &Paste &Einfügen &Find &Suchen About &%1 About Browser Über&%1 Ctrl+Y Download Manager Not sure if the Key is the same in german Strg+Y &Find Next Nächstes &Ergebnis &Find Previous Vorheriges &Ergebnis &Preferences &Einstellungen Ctrl+, Strg+, &View &Ansicht Shift+Ctrl+B Shift+Strg+B Ctrl+| Strg+| Ctrl+/ Strg+/ &Stop &Stop Reload Page Seite aktualisieren &Make Text Bigger &Text vergrößern &Make Text Normal Normale &Textgröße &Make Text Smaller &Text verkleinern Page S&ource &Quelltext Ctrl+Alt+U Strg+Alt+U &Full Screen &Vollbild Hi&story &Verlauf Back Zurück Forward Vorwärts Home Startseite Restore Last Session Letzte Sitzung wiederherstellen &Bookmarks &Lesezeichen Manage Bookmarks... Lesezeichen verwalten... Add Bookmark... Lesezeichen hinzufügen... Add Folder... Ordner hinzufügen... &Window &Fenster &Tools &Werkzeuge Web &Search Web&suche Ctrl+K Web Search Strg+K Show &Network Monitor &Netzwerk Monitor anzeigen Enable Web &Inspector Web-&Inspector aktivieren &Help &Hilfe About &Qt Über &Qt About &Arora Über &Arora Navigation Navigation Show Status Bar Statusleiste zeigen Hide Status Bar Statusleiste verbergen Show Toolbar Werkzeugleiste zeigen Hide Toolbar Werkzeugleiste verbergen Show Bookmarks bar Lesezeichenleiste zeigen Hide Bookmarks bar Lesezeichenleiste verbergen Arora Arora %1 - Arora Page title and Browser name %1 - Arora Open Web Resource Webinhalte öffnen Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Webinhalte (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Print Document Dokument drucken Are you sure you want to turn on private browsing? Private Browsing wirklich aktivieren? <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Wenn Private Browsing aktiviert ist, werden einige Funktionen deaktiviert die Ihre Privatsphäre betreffen:<ul><li> Aufgerufene Webseiten erscheinen nicht im Verlauf.</li><li> Einträge im Downloadfenster werden automatisch entfernt.</li><li> Neue Cookies werden nicht gespeichert, auf bestehende Cookies gibt es keinen Zugriff.</li><li> Seitensymbole und Sitzungen werden nicht gespeichert.</li><li> Suchen erscheinen nicht im Suchverlauf.</li></ul>Die Zurück- und Vorwärtsbuttons funktionieren noch auf offenen Webseiten bis das Fenster geschlossen wird. Are you sure you want to close the window? There are %1 tabs open Soll das Fenster wirklich geschlossen werden? Es sind %1 Tabs geöffnet Page Source of %1 Quelltext von %1 Web Inspector Web Inspector The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Der Web Inspector funktioniert nur auf neu geladenen Seiten. Sollen alle Seiten neu geladen werden? Stop loading the current page Ladevorgang abbrechen Reload the current page Seite aktualisieren Downloads Downloads Alt+Ctrl+L Download Manager Alt+Strg+L <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttonsto return to the webpages you have opened. <b>%1</b><br><br>Wenn Private Browsing aktiviert ist, werden einige Funktionen deaktiviert die Ihre Privatsphäre betreffen:<ul><li> Aufgerufene Webseiten erscheinen nicht im Verlauf.</li><li> Einträge im Downloadfenster werden automatisch entfernt.</li><li> Neue Cookies werden nicht gespeichert, auf bestehende Cookies gibt es keinen Zugriff.</li><li> Seitensymbole und Sitzungen werden nicht gespeichert.</li><li> Suchen erscheinen nicht im Suchverlauf.</li></ul>Die Zurück- und Vorwärtsbuttons funktionieren noch auf offenen Webseiten bis das Fenster geschlossen wird. &Clear Private Data Private Daten &löschen Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Wenn Private Browsing aktiviert ist, werden einige Funktionen deaktiviert die Ihre Privatsphäre betreffen:<ul><li> Aufgerufene Webseiten erscheinen nicht im Verlauf.</li><li> Einträge im Downloadfenster werden automatisch entfernt.</li><li> Neue Cookies werden nicht gespeichert, auf bestehende Cookies gibt es keinen Zugriff.</li><li> Seitensymbole und Sitzungen werden nicht gespeichert.</li><li> Suchen erscheinen nicht im Suchverlauf.</li></ul>Die Zurück- und Vorwärtsbuttons funktionieren noch auf offenen Webseiten bis das Fenster geschlossen wird. Find &Next Nächstes &Ergebnis Find P&revious &Vorheriges Ergebnis Prefe&rences &Einstellungen &Reload Page Seite &aktualisieren Make Text &Bigger Text ver&größern Make Text &Normal &Normale Textgröße Make Text &Smaller Text ver&kleinern Show Bookmarks Bar Lesezeichenleiste zeigen Hide Bookmarks Bar Lesezeichenleiste verbergen Find Nex&t &Nächstes Ergebnis Prefere&nces... Einstellun&gen... Show Menu Bar Menüleiste zeigen Zoom &In Ver&größern Zoom &Normal &Normale Größe Zoom &Out Ver&kleinern Zoom &Text Only Nur &Textgröße ändern Show All Bookmarks... Alle Lezeichen anzeigen... Switch application language Sprache ändern Default Standard Text Encoding Text Kodierung Select &All &Alle auswählen Alt+Ctrl+B Alt+Strg+B Options... Optionen... Configure Search Engines... Suchmaschinen verwalten... &Ad Block... &AdBlock... When private browsing is turned on, some actions concerning your privacy will be disabled: Sobald privates Surfen aktiviert ist, sind einige Aktionen die ihre Privatsphäre betreffen deaktiviert: Webpages are not added to the history. Webseiten werden nicht zum Verlauf hinzugefügt. Items are automatically removed from the Downloads window. Objekte werden automatisch aus dem Download Fenster entfernt. New cookies are not stored, current cookies can't be accessed. Neue Cookies werden nicht gespeichert, auf aktuelle Cookies kann nicht zugegriffen werden. Site icons won't be stored. Website Symbole werden nicht gespeichert. Session won't be saved. Die Sitzung wird nicht gespeichert. Searches are not added to the pop-up menu in the search box. Suchen werden nicht in den Suchverlauf aufgenommen. No new network cache is written to disk. Kein neuer Netzwerk-Cache wird auf der Platte erstellt. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Bis Sie das Fenster geschlossen haben, können Sie die Zurück und Vorwärts Schaltflächen wie gewohnt benutzen. Private Browsing Privates Surfen ClearButton Clear Leeren ClearPrivateData Clear Private Data Private Daten löschen Clear the following items: Folgende Einträge löschen: &Browsing History &Seitenverlauf &Download History &Downloadverlauf &Search History &Suchverlauf &Cookies &Cookies C&ache C&ache Website &Icons &Webseiten-Symbole Clear &Private Data &Private Daten löschen &Cancel &Abbrechen C&ached Web Pages &Zwischengespeicherte Webseiten ClickToFlash Load Laden Load All Alle Laden Add %1 to Whitelist %1 zur Whitelist hinzufügen Remove from Whitelist Von der Whitelist entfernen Settings Einstellungen Load Flash Flash laden ClickToFlashSettings Whitelist sites Webseiten auf der Whitelist CookieExceptionsModel Website Website Status Status Allow Erlauben Block Blocken Allow For Session Für diese Sitzung erlauben Rule Regel CookieModel Website Website Name Name Path Pfad Secure Sicher Expires Läuft ab am Contents Inhalte true wahr false falsch Session cookie Sitzungs-Cookie CookiesDialog Cookies Cookies &Remove &Entfernen Remove &All Cookies &Alle Cookies entfernen Add &Rule Regel hinzufügen CookiesExceptionsDialog Cookie Exceptions Cookie Ausnahmen New Exception Neue Ausnahme Domain: Domain: Block Blocken Allow For Session Für diese Sitzung erlauben Allow Erlauben Exceptions Ausnahmen &Remove &Entfernen Remove &All &Alle entfernen Dialog Dialog RemoveAll Left: Foo Bar Baz Arora LineEdit Manual Test This is the end Right: Empty: Foo Bar Baz Arora LineEdit Manual Test Widget Site Icon RSS Bookmark Lesezeichen Position Left Right Add Remove Swap Visibility Add ToolButton DownloadDialog Downloads Downloads Clean up Leeren 0 Items 0 Einträge &OK &OK DownloadItem Save File Datei speichern Download canceled: %1 Download abgebrochen: %1 %1 of %2 (%3/sec) - %4 %1 von %2 (%3/Sek) - %4 Error opening save file: %1 Fehler beim öffnen der gespeicherten Datei: %1 Error saving: %1 Fehler beim Speichern: %1 Network Error: %1 Netzwerk-Fehler: %1 seconds Sekunden minutes Minuten - %4 %5 remaining - noch %4 %5 %1 of %2 (%3/sec) %4 %1 von %2 (%3/Sek) %4 ? ? %1 of %2 - Stopped %1 von %2 - Angehalten bytes bytes kB kB MB MB Form Form Ico Ico Filename Dateiname Try Again Erneut versuchen Stop Stop Open Öffnen - %n minutes remaining - noch %n Minute(n) - %n seconds remaining - noch %n Sekunden Error opening output file: %1 Fehler beim Öffnen der Ausgabedatei: %1 Download directory (%1) couldn't be created. Download Verzeichnis (%1) konnte nicht erstellt werden. DownloadManager There are %1 downloads in progress Do you want to quit anyway? Es sind noch %1 Download(s) aktiv. Trotzdem beenden? %n minutes remaining noch %n Minute verbleibend noch %n Minuten verbleibend %n seconds remaining noch %n sekunde verbleibend noch %n sekunden verbleibend bytes bytes kB kB MB MB 1 Download 1 Download %1 Downloads %1 Downloads %n Download(s) %n Download %n Downloads GB GB FileAccessReply No Error Kein Fehler Error opening: %1: No such file or directory Fehler beim Öffnen von %1: Datei oder Verzeichnis nicht gefunden Unable to read %1 Kann %1 nicht lesen Contents of %1 Inhalt von %1 %1 KB %1 KB HistoryDialog Open Öffnen Copy Kopieren Delete Löschen History Verlauf &Remove &Entfernen Remove &All &Alle entfernen HistoryMenu Show All History Kompletten Verlauf zeigen Clear History Verlauf leeren Clear History... Verlauf leeren... Do you want to clear the history? Soll der Verlauf geleert werden? HistoryModel Title Titel Address Adresse HistoryTreeModel Earlier Today Heute %1 items %1 Einträge %n item(s) %n Einträg %n Einträge JavaScriptAroraObject Welcome to Arora! Willkommen bei Arora! Arora Start Arora Start Search! Suche! Search results provided by Suchergebnisse werden zur Verfügung gestellt von About Arora Über Arora LanguageManager System locale (%1) %2 System-Vorgabe (%1) %2 Default Standard No translation files are installed. Keine Sprachdateien installiert. Choose language Sprache wählen <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Sie können eine andere Sprache wählen,<br>als im Betriebssystem voreingestellt.</p><p>Bitte wählen Sie die Sprache,<br> die verwendet werden soll No translation files are installed at %1. In %1 befinden sich keine Übersetzungsdateien. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Benutzernamen und Password eingeben für "%1" bei "%2"</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Mit Proxy "%1" verbinden mit:</qt> - SSL Errors - SSL Fehler <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>SSL-Fehler:<br/><br/>für:<tt>%1</tt><ul><li>%2</li></ul> Möchten Sie diese Fehler ignorieren?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Certificates:<br/>%1<br/>Möchten Sie all diese Zertifikate akzeptieren?</qt> <qt>Certifactes:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Zertifikate:<br/>%1<br/>Alle Zertifikate akzeptieren?</qt> SSL Errors: %1 %2 Do you want to ignore these errors? SSL-Fehler: %1 %2 Möchten Sie diese Fehler ignorieren? Do you want to accept all these certificates? Alle Zertifikate akzeptieren? Issuer: %1 Herausgeber: %1 Not valid before: %1 Nicht gültig vor: %1 Valid until: %1 Gültig bis: %1 Alternate Names: Alternative Namen: NetworkMonitor Name Name Value Wert NetworkMonitorDialog Network Monitor Netzwerk Monitor Network Requests Netzwerkanfragen Request Headers Anfrage Header Response Headers Antwort Header &Remove &Entfernen Remove &All Requests &Alle Entfernen OpenSearchDialog Open File Datei öffnen OpenSearch OpenSearch Error Fehler %1 is not a valid OpenSearch 1.1 description or is already on your list. %1 ist keine gültige OpenSearch 1.1 Beschreibung oder schon in Ihrer Liste. You must have at least one search engine in here. Mindestens eine Suchmaschiene muss hier eingetragen sein. OpenSearch Manager OpenSearch Verwaltung &Restore Defaults Auf Standard zu&rücksetzen &Delete &Löschen &Add &Hinzufügen &Close &Schließen OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Beschreibung:</strong> %1 <strong>Provides contextual suggestions</strong> <strong>Stellt Kontextvorschläge bereit</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Mit Kommas getrennte Liste von Schlüsselwörtern die In der Adressleiste von Suchbegriffen gefolgt eingegeben werden können um mit dieser Suchmaschine zu suchen Name Name Keywords Schlüsselwörter OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 Möchten Sie die folgende Suchmaschiene zu Ihrer Liste hinzufügen?<br /><br />Name: %1<br />Sucht mit: %2 PasswordDialog Authentication Required Authentifikation erforderlich DUMMY ICON DUMMY ICON INTRO TEXT DUMMY INTRO TEXT DUMMY Username: Benutzername: Password: Passwort: PlainTextEditSearch Not Found Nicht gefunden ProxyDialog Proxy Authentication Proxy Authentifikation ICON ICON Connect to proxy Zum Proxy verbinden Username: Benutzername: Password: Passwort: QObject The file is not an XBEL version 1.0 file. Die Datei ist keine XBEL Version 1.0 Datei. Unknown title Unbekannter Titel The file is not an OpenSearch 1.1 file. Diese Datei ist keine OpenSearch 1.1 Datei. RequestModel Redirect: %1 Umleitung: %1 Method Methode Address Adresse Response Antwort Length Länge Content Type Format Info Information SearchBanner Form Form TextLabel TextLabel < < > > Done Fertig Highlight All Alle hervorheben SearchLineEdit Search Suche Settings Settings Einstellungen General Allgemein Home: Startseite: Set to current page Aktuelle Seite Remove history items: Verlauf Einträge löschen: After one day Nach einem Tag After one week Nach einer Woche After two weeks Nach zwei Wochen After one month Nach einem Monat After one year Nach einem Jahr Manually Manuell Save downloads to: Downloads speichern nach: Open links from applications: Links von Programmen öffnen in: In a tab in the current window einem Tab im aktuellen Fenster In a new window einem neuen Fenster Appearance Aussehen Fixed-width font: Schrift fester Breite: Preferred languages for viewing webpages in: Sprachen: bevorzugte Reihenfolge für Webseiten: Privacy Privatsphäre Web Content Webinhalt Block Popup Windows Popup Fenster blockieren Enable Plugins Plugins aktivieren Use ClickToFlash on flash plugins KlickToFlash benutzen Enable Javascript Javascript aktivieren Cookies Cookies Accept Cookies: Cookies akzeptieren: Always Immer Never Nie Only from sites you navigate to Nur von besuchten Seiten Exceptions... Ausnahmen... Keep until: Speichern bis: They expire die Cookies ablaufen I exit the application das Programm beende At most 90 days maximal 90 Tage Cookies... Cookies... Proxy Proxy Enable proxy Proxy aktivieren Type: Typ: Socks5 Socks5 Http Http Host: Host: Port: Port: User Name: Benutzername: Password: Passwort: Advanced Erweitert Style Sheet: Style Sheet: Size: Größe: Default font: Standardschrift: Sans serif Sans serif Serif Serif Downloads Downloads Ask for a destination each time Jedes Mal nach Ziel fragen Use this destination: Hier speichern: Standard font: Standard-Schriftart: Times 16 Times 16 Select... Auswahl... Courier 13 Courier 13 Tabs Tabs Select tabs and windows as they are created Neue erzeugte Tabs und Fenster selektieren Confirm when closing multiple tabs Nachfragen, wenn mehrere Tabs geschlossen werden Enable Images Bilder anzeigen On startup: Beim Starten: Show my home page Meine Homepage zeigen Show a blank page Eine leere Seite zeigen Restore windows and tabs from last time Letzte Sitzung wiederherstellen On application exit Beim Beenden Preferences Einstellungen Home Page: Startseite: View Images Bilder anzeigen Keep Cookies Until: Cookies speichern bis: Filter Tracking Cookies Seitenfremde Cookies verbieten Confirm when closing multiple tabs or windows Das Schließen mehrerer Tabs oder Fenster bestätigen Show only one close button instead of one for each tab Nur einen Schließen Button anzeigen, statt einen für jeden Tab Quit the application when last tab is closed Anwendung beenden wenn letztes Tab geschlossen wurde Opening links Öffnen von LInks Links that want to open in a new window: Links die in einem neuen Fenster geöffnet werden sollen: In a new selected tab in the current window In einem neuen aktiven Tab im aktuellen Fenster In a new tab in the current window In einem neuen Tab im aktiven Fenster In the current tab Im aktuellen Tab Use proxy server Proxyserver verwenden Http (Secure) Http (Sicher) Http (Transparent) Http (Unsicher) Host name: Hostname: Enable network cache Netzwerk-Cache aktivieren Maximum Size: Maximale Größe: MB MB Use the default search engine as fallback when the URL given by the user is invalid Standardsuchmaschine benutzen falls die vom Nutzer angegebene URL ungültig ist Choose Directory... Verzeichnis auswählen... A cookie session ends: Gültigkeit einer Cookie Sitzung: When I exit the application Bis zum schließen des Browsers 1 day 1 Tag 2 days 2 Tage 3 days 3 Tage 7 days 7 Tage 30 days 30 Tage AutoFill Autovervollständigung AutoFill web forms: Autovervollständigungs Formulare: User names and passwords Benutzernamen und Passwörter Edit... Editieren... Browse... Anzeigen... SettingsDialog Restart required Neustart nötig The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. Die Netzwerk-Cache Konfiguration wurde geändert. Damit diese Änderung Effekt hat, muss der Browser neu gestartet werden. Choose Directory Verzeichnis auswählen Choose CSS File CSS Datei auswählen SourceViewer Loading... Laden... &Edit &Bearbeiten &Find &Suchen &View &Ansicht &Wrap lines Zeilen &Umbrechen Source of Page Quelltext der Seite Source of Page %1 Quelltext der Seite %1 SuggestionsTestNetworkReply No Error Kein Fehler TabBar New &Tab Neuer &Tab Duplicate Tab Tab duplizieren &Close Tab Tab &schließen Close &Other Tabs &Andere Tabs schließen Reload Tab Tab neu laden Reload All Tabs Alle Tabs neu laden Shift+Ctrl+T Shift+Ctrl+T Show Tab Bar Tableiste zeigen Hide Tab Bar Tableiste verbergen TabWidget New &Tab Neuer &Tab &Close Tab &Tab schließen Show Next Tab Nächster Tab Saved Tabs Gespeicherte Tabs Loading... Laden... Loading %1% (%2 %3)... Laden %1% (%2 %3)... Finished loading Laden abgeschlossen Failed to load Laden fehlgeschlagen Ctrl-] Not sure if the Key is the same in german Strg+] Show Previous Tab Vorheriger Tab Ctrl-[ Not sure if the Key is the same in german Strg+[ Recently Closed Tabs Zuletzt geschlossene Tabs Bookmark All Tabs Alle Tabs als Lezeichen hinzufügen (Untitled) (Unbetitelt) Do you really want to close this page? Diese Seite wirklich schließen? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Die Seite wurde modifiziert. Wenn die Seite geschlossen wird gehen die Änderungen verloren. Diese Seite wirklich schließen? Untitled Namenlos ToolbarSearch Google Google Suggestions Vorschläge Add '%1' '%1' hinzufügen No Recent Searches Keine vorherigen Suchvorgänge Recent Searches Letzte Suchvorgänge Clear Recent Searches Letzte Suchvorgänge löschen TreeSortFilterProxyModelDialog Dialog WebPage Error loading page: %1 Fehler beim Laden von: %1 When connecting to: %1. Beim Verbinden zu: %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org Überprüfen Sie die Adresse auf Fehler wie <b>ww</b>.arora-browser.org statt <b>www</b>.arora-browser.org If the address is correct, try to check the network connection. Falls die Adresse stimmt, versuchen Sie, die Netzwerkverbindung zu überprüfen. If the address is correct, try checking the network connection. Falls die Adresse stimmt, versuchen Sie, die Netzwerkverbindung zu überprüfen. If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Wenn Ihr Computer oder Ihr Netzwerk durch eine Firewall oder einen Proxy geschützt ist, stellen Sie sicher, dass der Browser auf das Netzwerk zugreifen darf. Resending POST request Erneutes Senden einer POST Anfrage In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? Um diese Seite anzeigen können, muss die Anfrage mit allen Daten erneut gesendet werden, was zu unerwartetem Verhalten der Seite führen kann, so könnte z.B. die selbe Aktion erneut ausgeführt werden. Möchten Sie trotzdem fortfahren? WebView Open in New &Window In einem neuen &Fenster öffnen Open in New &Tab In einem neuen &Tab öffnen Save Lin&k Lin&k speichern &Bookmark This Link &Lesezeichen für diesen Link setzen &Copy Link Location Linkadresse &kopieren Open Image in New &Window Bild in einem neuen &Fenster öffnen Open Image in New &Tab Bild in einem neuen &Tab öffnen &Save Image Bild &speichern &Copy Image Bild &kopieren C&opy Image Location Bildadresse &kopieren Search with... Suchen mit... Loading... Laden... Add to the toolbar search Zur Suchleiste hinzufügen Method not supported Methode nicht unterstützt %1 method is not supported. %1 Methode wird nicht unterstützt. Search engine Suchmaschiene Choose the desired search engine Wählen Sie die gewünschte Suchmaschiene Engine name Name Type in a name for the engine Geben Sie einen Namen für die Suchmaschiene ein Block Image Bild unterdrücken WebViewSearch Not Found Nicht gefunden arora-0.11.0/src/locale/el_GR.ts000066400000000000000000002537401145000221100162600ustar00rootroot00000000000000 AboutDialog About Σχετικά με το About %1 Authors Συγγραφείς License Άδεια Lightweight WebKit-based web browser Ένας ελαφρύς περιηγητής ιστοσελίδων βασισμένος στο WebKit <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style="font-size:9pt;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> Close Κλείσιμο WebKit version: %1 AcceptLanguage Languages Γλώσσες Languages: in order of preference: Γλώσσες: κατά σειρά προτίμησης: Move &Up Μετακίνηση &Πάνω Move &Down Μετακίνηση &Κάτω &Remove &Αφαίρεση Add... Προσθήκη... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 AdBlockDialog Add Custom Rule Learn more about writing rules... Update Subscription Browse Subscriptions... Remove Subscription AdBlock Configuration Enable AdBlock Action AdBlockManager Custom Rules AdBlockModel Rule Κανόνας AdBlockSchemeAccessHandler Subscribe? Subscribe to this AdBlock subscription? %1 AddBookmarkDialog Add Bookmark Προσθήκη σελιδοδείκτη Type a name for the bookmark, and choose where to keep it. Δώστε ένα όνομα και επιλέξτε θέση. Url Url Title Τίτλος Add Folder Προσθήκη Φακέλου AutoFillDialog Form Passwords Remove Αφαίρεση Remove All AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. Never for this site Not now AutoFillModel WebSite User Name BookmarksDialog Open Άνοιγμα Open in New Tab Άνοιγμα σε Νέα Καρτέλα Edit Name Αλλαγή Ονόματος Edit Address Αλλαγή Διεύθυνσης Delete Διαγραφή New Folder Νέος Φάκελος Bookmarks Σελιδοδείκτες &Remove &Αφαίρεση Add Folder Προσθήκη Φακέλου BookmarksManager Bookmarks Bar Μπάρα Σελιδοδεικτών Bookmarks Menu Μενού Σελιδοδεικτών Error when loading bookmarks on line %1, column %2: %3 Σφάλμα φόρτωσης σελιδοδεικτών στη γραμμή %1, στήλη %2: %3 Toolbar Bookmarks Εργαλειοθήκη Σελιδοδεικτών Menu Μενού Open File Άνοιγμα Αρχείου XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) Imported %1 Εισήχθησαν %1 Save File Αποθήκευση Αρχείου %1 Bookmarks.xbel %1 Bookmarks.xbel Export error Σφάλμα εισαγωγής error saving bookmarks σφάλμα κατά την αποθήκευση σελιδοδεικτών Remove Bookmark Αφαίρεση Σελιδοδείκτη Insert Bookmark Εισαγωγή Σελιδοδείκτη Name Change Αλλαγή Ονόματος Address Change Αλλαγή Διεύθυνσης XBEL (*.xbel *.xml *.html) XBEL (*.xbel *.xml *.html) Error when loading html bookmarks: %1 Σφάλμα κατά τη φόρτωση html σελιδοδεικτών: %1 Name Change Undo bookmark title change Αλλαγή Ονόματος Address Change Undo bookmark url change Αλλαγή Διεύθυνσης XBEL bookmarks HTML Netscape bookmarks htmlToXBel tool required htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. Loading Bookmark Error when loading HTML bookmarks: %1 BookmarksMenu Open in Tabs Άνοιγμα σε Καρτέλες BookmarksModel Title Τίτλος Address Διεύθυνση BookmarksToolBar Bookmark Σελιδοδείκτης Open Άνοιγμα Open in New &Tab Άνοιγμα σε Νέα &Καρτέλα Remove Αφαίρεση Add Bookmark... Προσθήκη Σελιδοδείκτη... Add Folder... Προσθήκη Φακέλου... Bookmarks Σελιδοδείκτες BrowserApplication (Change: %1 %2) (Αλλαγή: %1 %2) There are %1 windows and %2 tabs open Do you want to quit anyway? Είναι ανοιχτά %1 παράθυρα και %2 καρτέλες Είστε σίγουροι ότι θέλετε να κλείσετε; Restore failed Η επαναφορά απέτυχε The saved session will not be restored because Arora crashed while trying to restore this session. Δεν μπορεί να γίνει επαναφορά της αποθηκευμένης συνεδρίας επειδή το Arora τερμάτισε απρόσμενα κατά τη διάρκεια της επαναφοράς. Arora crashed while trying to restore this session. Should I try again? BrowserMainWindow &File &Αρχείο &New Window &Νέο Παράθυρο &Open File... Άν&οιγμα Αρχείου... Open &Location... Άνοιγμα Τ&οποθεσίας... &Save As... Απο&θήκευση Ως... &Import Bookmarks... &Εισαγωγή Σελιδοδεικτών... &Export Bookmarks... Εξαγωγή &Σελιδοδεικτών... P&rint Preview... Π&ροεπισκόπηση Εκτύπωσης... &Print... Ε&κτύπωση... Private &Browsing... Ασφαλής &Περιήγηση... &Quit &Τερματισμός &Edit &Επεξεργασία &Undo &Αναίρεση &Redo Α&κύρωση Αναίρεσης Cu&t Αποκο&πή &Copy Α&ντιγραφή &Paste Επικόλλη&ση &Find Ανα&ζήτηση Find Nex&t Αναζήτηση Επό&μενου Find P&revious Αναζήτηση Προη&γούμενου Prefere&nces... Προ&τιμήσεις... Ctrl+, Ctrl+, &View &Προβολή Show Menu Bar Εμφάνιση Γραμμής Μενού Ctrl+| Ctrl+| Shift+Ctrl+B Shift+Ctrl+B Ctrl+/ Ctrl+/ &Stop &Διακοπή &Reload Page &Επαναφόρτωση Make Text &Bigger &Μεγέθυνση Γραμματοσειράς Make Text &Normal Ε&παναφορά Γραμματοσειράς Make Text &Smaller &Σμίκρυνση Γραμματοσειράς Page S&ource &Κώδικας Σελίδας Ctrl+Alt+U Ctrl+Alt+U &Full Screen Πλήρης &Οθόνη Hi&story &Ιστορικό Back Πίσω Forward Μπροστά Home Αρχική Σελίδα Restore Last Session Επαναφορά Προηγούμενης Συνεδρίας &Bookmarks &Σελιδοδείκτες Manage Bookmarks... Οργάνωση Σελιδοδεικτών... Add Bookmark... Προσθήκη Σελιδοδείκτη... &Window Παρά&θυρο &Tools Ερ&γαλεία Web &Search Αναζήτηση στο &Διαδίκτυο Ctrl+K Web Search Ctrl+K &Clear Private Data &Εκκαθάριση Προσωπικών Δεδομένων Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete Show &Network Monitor Παρακο&λούθηση Δικτύου Enable Web &Inspector Ενε&ργοποίηση του Επόπτη Ιστοσελίδων &Help &Βοήθεια Switch application language Αλλάγη γλώσσας της εφαρμογής About &Qt Σχετικά με το &Qt About &Arora Σχετικά με το &Arora Navigation Πλοήγηση Show Status Bar Εμφάνιση Γραμμής Κατάστασης Hide Status Bar Απόκρυψη Γραμμής Κατάστασης Show Toolbar Εμφάνιση Εργαλειοθήκης Hide Toolbar Απόκρυψη Εργαλειοθήκης Show Bookmarks Bar Εμφάνιση Γραμμής Σελιδοδεικτών Hide Bookmarks Bar Απόκρυψη Γραμμής Σελιδοδεικτών Arora Arora %1 - Arora Page title and Browser name %1 - Arora Open Web Resource Άνοιγμα Αρχείου Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Αρχεία Web (*.html *.htm *.svg *.png *.gif *.svgz);;Όλα τα αρχεία (*.*) Print Document Εκτύπωση Are you sure you want to turn on private browsing? Είσαι βέβαιος ότι θέλεις να ενεργοποιήσεις την ασφαλή περιήγηση; <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Όταν η ασφαλής περιήγηση είναι ενεργή, μερικές λειτουργίες θα απενεργοποιηθούν:<ul><li> Οι ιστοσελίδες δεν προστίθενται στο ιστορικό.</li><li> Τα αντικείμενα που κατεβάζετε, αυτομάτως απομακρύνονται από το παράθυρο λήψης αρχείων.</li><li> Δεν αποθηκεύονται νέα cookies και τα ήδη υπάρχοντα είναι αδύνατον να προσπελαστούν.</li><li> Το εικονίδια των ιστοσελίδων δεν αποθηκεύονται, η συνεδρία δεν θα αποθηκευτεί.</li><li> Το ιστορικό των αναζητήσεων δεν αποθηκεύεται στο πλαίσιο αναζητήσεων.</li></ul>Εώς ότου να κλείσετε το παράθυρο, μπορείτε να κάνετε χρήση των κουμπιών Πίσω και Μπροστά, για να πάτε σε σελίδες που έχει ήδη ανοίξει. Are you sure you want to close the window? There are %1 tabs open Είστε σίγουροι ότι θέλετε να κλείσετε το παράθυρο; Υπάρχουν %1 ανοιχτές καρτέλες Web Inspector Επόπτης Ιστοσελίδων The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Ο επόπτης ιστοσελίδων θα δουλέψει σωστά μόνο για τις σελίδες μετά την ενεργοποίηση του. Θέλετε να επαναφορτώσετε όλες τις σελίδες; Stop loading the current page Διακοπή φόρτωσης αυτής της σελίδας Reload the current page Επαναφόρτωση της τρέχουσας σελίδας Downloads Λήψεις Αρχείων Alt+Ctrl+L Download Manager Alt+Ctrl+L Close Window Κλείσιμο Παραθύρου Zoom &In &Μεγέθυνση Zoom &Normal Ε&παναφορά Προβολής Zoom &Out &Σμίκρυνση Zoom &Text Only Μεγένθυνση &Μόνο Κειμένου About &%1 About Browser Σχετικά με το &%1 <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Όταν η ασφαλής περιήγηση είναι ενεργή, μερικές λειτουργίες θα απενεργοποιηθούν:<ul><li> Οι ιστοσελίδες δεν προστίθενται στο ιστορικό.</li><li> Τα αντικείμενα που κατεβάζετε, αυτομάτως απομακρύνονται από το παράθυρο λήψης αρχείων.</li><li> Δεν αποθηκεύονται νέα cookies και τα ήδη υπάρχοντα είναι αδύνατον να προσπελαστούν.</li><li> Το εικονίδια των ιστοσελίδων δεν αποθηκεύονται, η συνεδρία δεν θα αποθηκευτεί.</li><li> Το ιστορικό των αναζητήσεων δεν αποθηκεύεται στο πλαίσιο αναζητήσεων.</li></ul>Εώς ότου να κλείσετε το παράθυρο, μπορείτε να κάνετε χρήση των κουμπιών Πίσω και Μπροστά, για να πάτε σε σελίδες που έχει ήδη ανοίξει. Ctrl+Y Download Manager Ctrl+Y Show All Bookmarks... Εμφάνιση Όλων των Σελιδοδεικτών... Add Folder... Προσθήκη Φακέλου... Default Προεπιλογή Text Encoding Select &All Alt+Ctrl+B Options... Configure Search Engines... &Ad Block... When private browsing is turned on, some actions concerning your privacy will be disabled: Webpages are not added to the history. Items are automatically removed from the Downloads window. New cookies are not stored, current cookies can't be accessed. Site icons won't be stored. Session won't be saved. Searches are not added to the pop-up menu in the search box. No new network cache is written to disk. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Private Browsing ClearButton Clear Καθαρισμός ClearPrivateData Clear Private Data Εκκαθάριση Προσωπικών Δεδομένων Clear the following items: Εκκαθάριση των ακόλουθων αντικειμένων: &Browsing History &Ιστορικό Περιήγησης &Download History Ιστορικό &Λήψης Αρχείων &Search History Ιστορικό &Αναζήτησης &Cookies &Cookies C&ached Web Pages &Λανθάνουσα Μνήμη Website &Icons Εικονίδια &Ιστοσελίδων Clear &Private Data Εκκαθάριση &Προσωπικών Δεδομένων &Cancel &Ακύρωση ClickToFlash Load Load All Add %1 to Whitelist Remove from Whitelist Settings Load Flash ClickToFlashSettings Whitelist sites CookieExceptionsModel Website Ιστοσελίδα Rule Κανόνας Allow Να επιτρέπεται Block Φραγή Allow For Session Να επιτρέπεται μόνο για τη συνεδρία CookieModel Website Ιστοσελίδα Name Όνομα Path Διαδρομή Secure Ασφάλεια Expires Λήξη Contents Περιεχόμενα true αληθές false ψευδές Session cookie CookiesDialog Cookies Cookies &Remove &Απομάκρυνση Remove &All Cookies Απομάκρυνση &Όλων των Cookies Add &Rule CookiesExceptionsDialog Cookie Exceptions Εξαιρέσεις Cookies New Exception Νέα Εξαίρεση Domain: Διεύθυνση: Block Φραγή Allow For Session Να επιτρέπεται μόνο για τη συνεδρία Allow Να επιτρέπεται Exceptions Εξαιρέσεις &Remove &Απομάκρυνση Remove &All Απομάκρυνση &Όλων DownloadDialog Downloads Λήψεις Αρχείων Clean up Εκκαθάριση λίστας 0 Items 0 Αντικείμενα &OK &OK DownloadItem Form Φόρμα Ico Ico Filename Όνομα Αρχείου Try Again Ξανά Προσπαθήστε Stop Διακοπή Open Άνοιγμα Save File Αποθήκευση Αρχείου Download canceled: %1 Η μεταφόρτωση ακυρώθηκε: %1 Error opening output file: %1 Σφάλμα κατά το άνοιγμα του αρχείου εξόδου: %1 Error saving: %1 Σφάλμα αποθήκευσης: %1 Network Error: %1 Σφάλμα Δικτύου: %1 seconds δευτερόλεπτα - %n minutes remaining - απομένει %n λεπτό - απομένουν %n λεπτά - %n seconds remaining - απομένει %n δευτερόλεπτο - απομένουν %n δευτερόλεπτα %1 of %2 (%3/sec) %4 %1 από %2 (%3/δευτ) %4 ? ; %1 of %2 - Stopped %1 από %2 - Διακόπηκε bytes bytes kB kB MB MB %1 of %2 (%3/sec) - %4 %1 από %2 (%3/δευτ) - %4 Download directory (%1) couldn't be created. DownloadManager %n Download(s) %n Λήψη %n Λήψεις There are %1 downloads in progress Do you want to quit anyway? Είναι %1 λήψεις σε εξέλιξη Είστε σίγουροι ότι θέλετε να κλείσετε; %n minutes remaining απομένει %n λεπτό απομένουν %n λεπτά %n seconds remaining απομένει %n δευτερόλεπτο απομένουν %n δευτερόλεπτα bytes bytes kB kB MB MB GB FileAccessReply No Error Error opening: %1: No such file or directory Unable to read %1 Contents of %1 %1 KB HistoryDialog Open Άνοιγμα Copy Αντιγραφή Delete Διαγραφή History Ιστορικό &Remove &Απομάκρυνση Remove &All Α&πομάκρυνση Όλων HistoryMenu Show All History Προβολή Ιστορικού Clear History... Εκκαθάριση Ιστορικού... Clear History Εκκαθάριση Ιστορικού Do you want to clear the history? Θέλετε να διαγράψετε το ιστορικό; HistoryModel Title Τίτλος Address Διεύθυνση HistoryTreeModel Earlier Today Νωρίτερα Σήμερα %n item(s) %n αντικείμενο %n αντικείμενα JavaScriptAroraObject Welcome to Arora! Arora Start Search! Search results provided by About Arora LanguageManager Default Προεπιλογή Choose language Επιλογή γλώσσας <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Μπορείτε να επιλέξετε μια γλώσσα διαφορετική από<br>την προεπιλεγμένη του λειτουργικού συστήματος.</p><p>Παρακαλώ επιλέξτε τη γλώσσα που επιθυμείτε</p> No translation files are installed. Δεν έχουν εγκατασταθεί αρχεία μεταφράσεων. No translation files are installed at %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Εισάγετε το όνομα χρήστη και τον κωδικό για "%1" στο %2</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Σύνδεση στον διαμεσολαβητή "%1" χρησιμοποιώντας:</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> SSL Errors: %1 %2 Do you want to ignore these errors? Σφάλματα SSL: %1 %2 Θέλετε να αγνοήσετε αυτά τα σφάλματα; Do you want to accept all these certificates? Θέλετε να αποδεχτείτε όλα αυτά τα πιστοποιητικά; - SSL Errors - Σφάλματα SSL <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>Σφάλματα SSL:<br/><br/>για: <tt>%1</tt><ul><li>%2</li></ul> Θέλετε να αγνοήσετε αυτά τα σφάλματα;</qt> <qt>Certifactes:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Πιστοποιητικά:<br/>%1<br/>Θέλετε να αποδεχτείτε όλα αυτά τα πιστοποιητικά;</qt> Issuer: %1 Not valid before: %1 Valid until: %1 Alternate Names: NetworkMonitor Name Όνομα Value Τιμή NetworkMonitorDialog Network Monitor Παρακολούθηση Δικτύου Network Requests Αιτήσεις Δικτύου Request Headers Κεφαλίδες Αίτησης Response Headers Κεφαλίδες Απάντησης &Remove &Αφαίρεση Remove &All Requests Αφαίρεση &Όλων των Αιτημάτων OpenSearchDialog Open File Άνοιγμα Αρχείου OpenSearch Error %1 is not a valid OpenSearch 1.1 description or is already on your list. You must have at least one search engine in here. OpenSearch Manager &Restore Defaults &Delete &Add &Close OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Provides contextual suggestions</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Name Όνομα Keywords OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 PasswordDialog Authentication Required Χρειάζεται Αυθεντικοποίηση DUMMY ICON DUMMY ICON INTRO TEXT DUMMY INTRO TEXT DUMMY Username: Όνομα Χρήστη: Password: Κωδικός: PlainTextEditSearch Not Found Δεν Βρέθηκε ProxyDialog Proxy Authentication Αυθεντικοποίηση Διαμεσολαβητή ICON ICON Connect to proxy Σύνδεση σε διαμεσολαβητή Username: Όνομα Χρήστη: Password: Κωδικός: QObject The file is not an XBEL version 1.0 file. Το αρχείο δεν είναι XBEL έκδοσης 1.0. Unknown title Άγνωστος τίτλος The file is not an OpenSearch 1.1 file. RequestModel Redirect: %1 Επαναδρομολόγηση: %1 Method Μέθοδος Address Διεύθυνση Response Απάντηση Length Μήκος Content Type Τύπος Περιεχομένου Info Πληροφορίες SearchBanner Form Φόρμα TextLabel Ετικέτα < < > > Done Ολοκλήρωση Highlight All SearchLineEdit Search Αναζήτηση Settings Preferences Προτιμήσεις General Γενικά On startup: Στην εκκίνηση του Arora: Show my home page Προβολή της αρχικής μου σελίδας Show a blank page Προβολή μιας κενής σελίδας Restore windows and tabs from last time Επαναφορά των παραθύρων και καρτελών που υπήρχαν την τελευταία φορά Home Page: Αρχική Σελίδα: Set to current page Χρήση της τρέχουσας Remove history items: Απαλοιφή ιστορικού: After one day Μετά από μια μέρα After one week Μετά από μια εβδομάδα After two weeks Μετά από δύο εβδομάδες After one month Μετά από ένα μήνα After one year Μετά από ένα χρόνο Manually Χειροκίνητα On application exit Κατά την έξοδο από την εφαρμογή Confirm when closing multiple tabs or windows Quit the application when last tab is closed Open links from applications: Άνοιγμα συνδέσμων από εφαρμογές: In a tab in the current window Σε καρτέλα στο τρέχον παράθυρο In a new window Σε νέο παράθυρο Downloads Λήψεις Αρχείων Ask for a destination each time Πάντα ερώτηση για την τοποθεσία αποθήκευσης Use this destination: Αποθήκευση αρχείων σε: Appearance Εμφάνιση Standard font: Προεπιλεγμένη γραμματοσειρά: Times 16 Times 16 Select... Επιλογή... Fixed-width font: Σταθερού πλάτους γραμματοσειρά: Courier 13 Courier 13 Privacy Απόρρητο Web Content Περιεχόμενο Ιστοσελίδων Enable Plugins Ενεργοποίηση Πρόσθετων Use ClickToFlash on flash plugins Enable Javascript Ενεργοποίηση της Javascript View Images Προβολή Εικόνων Cookies Cookies Accept Cookies: Αποδοχή Cookies: Always Πάντα Never Ποτέ Only from sites you navigate to Μόνο από σελίδες που μπαίνει ο ίδιος ο χρήστης Exceptions... Εξαιρέσεις... Keep Cookies Until: Διατήρηση Cookies Μέχρι: They expire Να λήξουν I exit the application Να βγω από την εφαρμογή At most 90 days Το πολύ 90 ημέρες Cookies... Cookies... Filter Tracking Cookies Tabs Καρτέλες Select tabs and windows as they are created Επιλογή καρτελών και παραθύρων καθώς δημιουργούνται Enable network cache Maximum Size: MB Confirm when closing multiple tabs Προειδοποίηση στο κλείσιμο πολλαπλών καρτελών Show only one close button instead of one for each tab Εμφάνισε μόνο ένα κουμπί κλεισίματος αντί για ένα σε κάθε καρτέλα Proxy Διαμεσολαβητής Use proxy server Χρήση διαμεσολαβητή Type: Τύπος: Socks5 Socks5 Http Http Host name: Διαμεσολαβητής: Port: Θύρα: User Name: Όνομα Χρήστη: Password: Κωδικός: Advanced Για Προχωρημένους Style Sheet: Style Sheet: Prefered languages for viewing webpages in: Προτιμώμενες γλώσσες για την εμφάνιση των ιστοσελίδων: Block Popup Windows Φραγή Αναδυόμενων Παραθύρων Opening links Άνοιγμα συνδέσμων Links that want to open in a new window: Συνδέσμους που θέλετε να ανοίξετε σε νέο παράθυρο: In a new selected tab in the current window Σε μια νέα επιλεγμένη καρτέλα στο τρέχον παράθυρο In a new tab in the current window Σε μια νέα καρτέλα στο τρέχον παράθυρο In the current tab Στην τρέχουσα καρτέλα Http (Secure) Http (Ασφαλές) Http (Transparent) Http (Διαφανές) Preferred languages for viewing webpages in: Προτιμώμενες γλώσσες για την εμφάνιση των ιστοσελίδων: Use the default search engine as fallback when the URL given by the user is invalid Choose Directory... A cookie session ends: When I exit the application 1 day 2 days 3 days 7 days 30 days AutoFill AutoFill web forms: User names and passwords Edit... Browse... SettingsDialog Restart required The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. Choose Directory Choose CSS File SourceViewer Loading... Φορτώνει... &Edit &Επεξεργασία &Find &Αναζήτηση &View &Προβολή &Wrap lines &Περιορισμός γραμμής κειμένου στο παράθυρο Source of Page Κώδικας της Σελίδας Source of Page %1 TabBar Show Tab Bar Εμφάνιση Γραμμής Καρτελών Hide Tab Bar Απόκρυψη Γραμμής Καρτελών New &Tab Νέα &Καρτέλα Duplicate Tab Αντίγραφο Καρτέλας &Close Tab Κ&λείσιμο Καρτέλας Close &Other Tabs Κλ&είσιμο των άλλων Καρτελών Reload Tab Επαναφόρτωση Καρτέλας Reload All Tabs Επαναφόρτωση όλων των Καρτελών TabWidget New &Tab &Νέα Καρτέλα &Close Tab &Κλείσιμο Καρτέλας Show Next Tab Προβολή Επόμενης Καρτέλας Ctrl-] Ctrl-] Show Previous Tab Προβολή Προηγούμενης Καρτέλας Ctrl-[ Ctrl-[ Recently Closed Tabs Πρόσφατα Κλεισμένες Καρτέλες Untitled Χωρίς τίτλο Do you really want to close this page? Θέλετε σίγουρα να κλείσετε αυτή τη σελίδα; You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Έχετε τροποποιήσει τη σελίδα και μόλις την κλείσετε θα χάσετε τις αλλαγές. Θέλετε σίγουρα να κλείσετε αυτή τη σελίδα; Loading... Φορτώνει... Loading %1% (%2 %3)... Φορτώνει %1% (%2 %3)... Finished loading Ολοκλήρωση φόρτωσης Failed to load Αποτυχία φόρτωσης Saved Tabs [Όνομα Φακέλου] Bookmark All Tabs Όλες οι Καρτέλες ως Σελιδοδείκτης ToolbarSearch Add '%1' No Recent Searches Δεν Υπάρχουν Πρόσφατες Αναζητήσεις Recent Searches Πρόσφατες Αναζητήσεις Clear Recent Searches Απαλοιφή Πρόσφατων Αναζητήσεων Suggestions Προτάσεις WebPage Error loading page: %1 Σφάλμα κατά την φόρτωση της σελίδας: %1 When connecting to: %1. Κατά τη σύνδεση στο: %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org Έλεγξε την διεύθυνση για λάθη όπως <b>ww</b>.arora-browser.org αντί για <b>www</b>.arora-browser.org If the address is correct, try to check the network connection. Εάν η διεύθυνση είναι σωστή, ελέγξτε την σύνδεση σας. If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Εάν ο υπολογιστής σας ή το δίκτυο σας προστατεύεται από τείχος προστασίας ή διαμεσολαβητή, βεβαιωθείται ότι ο περιηγητής σας έχει τα κατάλληλα δικαιώματα για πρόσβαση στο δίκτυο. If the address is correct, try checking the network connection. Εάν η διεύθυνση είναι σωστή, ελέγξτε την σύνδεση σας. Resending POST request In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? WebView Open in New &Window Άνοιγμα σε Νέο &Παράθυρο Open in New &Tab Άνοιγμα σε Νέα &Καρτέλα Save Lin&k Αποθήκευση &Δεσμού &Bookmark This Link Ο Δεσμός ως &Σελιδοδείκτης &Copy Link Location &Αντιγραφή Τοποθεσίας Δεσμού Open Image in New &Window Προβολή Εικόνας σε Νέο &Παράθυρο Open Image in New &Tab Προβολή Εικόνας σε Νέα &Καρτέλα &Save Image &Αποθήκευση Εικόνας &Copy Image Αντιγραφή &Εικόνας C&opy Image Location Αντιγραφή &Τοποθεσίας Εικόνας Search with... Loading... Φορτώνει... Add to the toolbar search Method not supported %1 method is not supported. Search engine Choose the desired search engine Engine name Type in a name for the engine Block Image WebViewSearch Not Found Δεν Βρέθηκε arora-0.11.0/src/locale/es.ts000066400000000000000000002277251145000221100157030ustar00rootroot00000000000000 AboutDialog Lightweight WebKit-based web browser Navegador ligero basado en WebKit <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> Authors Autores License Licencia Close Cerrar About %1 Acerca de %1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">(new line) <html><head><meta name="qrichtext" content="1" /><style type="text/css">(new line) p, li { white-space: pre-wrap; }(new line) </style></head><body style="font-size:9pt;">(new line) <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> WebKit version: %1 WebKit versión: %1 AcceptLanguage Languages Idiomas Languages: in order of preference: Idiomas: en orden de preferencia: Move &Up Mover hacia &arriba Move &Down Mover hacia a&bajo &Remove &Eliminar Add... Añadir... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 Bloqueado por la regla AdBlock: %1 AdBlockDialog Add Custom Rule Añadir regla personalizada Learn more about writing rules... Aprenda más sobre la escritura de reglas... Update Subscription Actualizar la subscripción Browse Subscriptions... Examinar las subscripciones... Remove Subscription Eliminar la subscripción AdBlock Configuration Configuración de AdBlock Enable AdBlock Activar AdBlock Action Acción AdBlockManager Custom Rules Reglas personalizadas AdBlockModel Rule Regla AdBlockSchemeAccessHandler Subscribe? ¿Subscribir? Subscribe to this AdBlock subscription? %1 ¿Aceptar esta subscripción AdBlock? %1 AddBookmarkDialog Add Bookmark Añadir marcador Type a name for the bookmark, and choose where to keep it. Escriba un nombre para el marcador y elija dónde quiere guardarlo. Url Url Title Título Add Folder Añadir carpeta AutoFillDialog Form Passwords Formulario de contraseñas Remove Eliminar Remove All Eliminar todo AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. <b>¿Desea guardar esta contraseña?</b><br> Para revisar y eliminar las contraseñas guardadas, abra el panel Autocompletar de Preferencias. Never for this site Nunca para este sitio Not now Ahora no AutoFillModel WebSite Página web User Name Nombre de usuario BookmarksDialog Bookmarks Marcadores &Remove &Eliminar Add Folder Crear carpeta Open Abrir Open in New Tab Abrir en una pestaña nueva Delete Borrar New Folder Nueva carpeta Edit Name Editar nombre Edit Address Editar dirección BookmarksManager Error when loading bookmarks on line %1, column %2: %3 Error al cargar los marcadores en la línea %1, columna %2: %3 Toolbar Bookmarks Barra de herramientas de marcadores Menu Menú Open File Abrir archivo XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) Imported %1 Importado %1 Save File Guardar archivo %1 Bookmarks.xbel %1 Bookmarks.xbel Export error Error al exportar error saving bookmarks Error guardando los marcadores Remove Bookmark Eliminar marcador Insert Bookmark Insertar marcador Bookmarks Bar Barra de marcadores Bookmarks Menu Menú de marcadores Error when loading html bookmarks: %1 Error al cargar marcadores html: %1 XBEL XBEL Name Change Undo bookmark title change Cambiar el nombre Address Change Undo bookmark url change Cambiar la dirección XBEL bookmarks Marcadores XBEL HTML Netscape bookmarks Marcadores HTML de Netscape htmlToXBel tool required Se necesita la herramienta htmlToXBel htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. La herramienta htmlToXBel , que se incluye con Arora y es necesaria para importar los marcadores HTML, no está instalada o no está disponible en el camino de búsqueda. Loading Bookmark Cargando marcador Error when loading HTML bookmarks: %1 Se produjo un error mientras se cargaban los marcadores HTML: %1 BookmarksMenu Open in Tabs Abrir en pestañas BookmarksModel Title Título Address Dirección BookmarksToolBar Bookmark Marcador Open Abrir Open in New &Tab Abrir en una &pestaña nueva Remove Eliminar Add Bookmark... Añadir marcador... Add Folder... Añadir carpeta... Bookmarks Marcadores BrowserApplication (Change: %1 %2) (Cambio: %1 %2) There are %1 windows and %2 tabs open Do you want to quit anyway? Hay %1 ventanas y %2 pestañas abiertas ¿Está seguro de que desea salir? Restore failed Falló la recuperación The saved session will not be restored because Arora crashed while trying to restore this session. La seión guardada no puede ser recuperada ya que Arora falló durante la última recuperación. Arora crashed while trying to restore this session. Should I try again? Arora se cerró inesperadamente mientras intentaba recuperar esta sesión. ¿Intentarlo de nuevo? BrowserMainWindow &File &Archivo &New Window &Ventana nueva &Open File... &Abrir archivo... Open &Location... Abrir &ubicación... &Save As... &Guardar como... &Import Bookmarks... &Importar marcadores... &Export Bookmarks... &Exportar marcadores... P&rint Preview... V&ista previa... &Print... Im&primir... Private &Browsing... &Navegación privada... &Quit &Salir &Edit &Editar &Undo &Deshacer &Redo &Rehacer Cu&t Cor&tar &Copy &Copiar &Paste &Pegar &Find &Buscar Find Nex&t Buscar &siguiente Find P&revious Buscar &anterior Prefere&nces... &Preferencias... Ctrl+, Ctrl+, &View &Ver Show Menu Bar Mostrar barra de menú Ctrl+| Ctrl+| Shift+Ctrl+B Shift+Ctrl+B Ctrl+/ Ctrl+/ &Stop &Detener &Reload Page &Recargar página Page S&ource Código &fuente Ctrl+Alt+U Ctrl+Alt+U &Full Screen Pantalla &completa Hi&story &Historial Back Atrás Forward Adelante Home Inicio Restore Last Session Recuperar la última sesión &Bookmarks &Marcadores Add Bookmark... Añadir marcador... &Window &Ventana &Tools &Herramientas Web &Search &Buscar en la web Ctrl+K Web Search Ctrl+K &Clear Private Data &Borrar datos privados Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete Enable Web &Inspector Activar el &inspector web &Help A&yuda About &Qt Acerca de &Qt Navigation Navegación Show Status Bar Mostrar la barra de estado Hide Status Bar Ocultar la barra de estado Show Toolbar Mostrar la barra de herramientas Hide Toolbar Ocultar la barra de herramientas Show Bookmarks Bar Mostrar barra de marcadores Hide Bookmarks Bar Ocultar barra de marcadores %1 - Arora Page title and Browser name %1 - Arora Open Web Resource Abrir un recurso web Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Recursos web (*.html *.htm *.svg *.png *.gif *.svgz);;Todos los archivos (*.*) Print Document Imprimir documento Are you sure you want to turn on private browsing? ¿Está seguro de que quiere activar la navegación privada? Are you sure you want to close the window? There are %1 tabs open ¿Está seguro de que quiere cerrar la ventana? Hay %1 pestañas abiertas Web Inspector Inspector web The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? El inspector web sólo funcionará correctamente con las páginas que se carguen después de activarlo. ¿Desea recargar todas las páginas? Stop loading the current page Detener la carga de la página actual Reload the current page Recargar la página actual Downloads Descargas Show &Network Monitor Mostrar mo&nitor de red Switch application language Cambiar el idioma de la aplicación Close Window Cerrar ventana Zoom &In Zoom &aumentar Zoom &Normal Zoom &normal Zoom &Out Zoom &reducir Zoom &Text Only Zoom &solo texto About &%1 About Browser Acerca de &%1 Ctrl+Y Download Manager Ctrl+Y Show All Bookmarks... Mostrar todos los marcadores... Add Folder... Añadir carpeta... <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Al activar la navegación privada, se desactivarán algunas de las medidas relativas a su privacidad:<ul><li> Las páginas web so serán añadidas al historial.</li><li> Se eliminará automáticamente los elementos de la ventana de descargas.</li><li> No se añadiran nuevas cookies y las actuales no serán accesibles.</li><li> Los iconos de los sitios no se almacenarán, tampoco se guardarán las sesiones.</li><li> Las búsquedas no serán añadidas al menú emergente en el cuadro de búsqueda.</li></ul>Podrá hacer clic en los botones Atrás y Adelante para volver a las páginas web que ha abierto solo hasta que se cierre la ventana. Default Predeterminado Text Encoding Codificación del texto <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li><li> Network cache is disabled.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Al activar la navegación privada, se desactivarán algunas de las medidas relativas a su privacidad:<ul><li> Las páginas web so serán añadidas al historial.</li><li> Se eliminará automáticamente los elementos de la ventana de descargas.</li><li> No se añadiran nuevas cookies y las actuales no serán accesibles.</li><li> Los iconos de los sitios no se almacenarán, tampoco se guardarán las sesiones.</li><li> Las búsquedas no serán añadidas al menú emergente en el cuadro de búsqueda.</li></ul>Se desactiva la caché de red.</li></ul>Podrá hacer clic en los botones Atrás y Adelante para volver a las páginas web que ha abierto solo hasta que se cierre la ventana. Select &All Seleccionar &todo Alt+Ctrl+B Alt+Ctrl+B <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li><li> No new network cache is written to disk.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Al activar la navegación privada, se desactivarán algunas de las medidas relativas a su privacidad:<ul><li> Las páginas web so serán añadidas al historial..</li><li> Se eliminará automáticamente los elementos de la ventana de descargas..</li><li> No se añadiran nuevas cookies y las actuales no serán accesibles.</li><li> Los iconos de los sitios no se almacenarán, tampoco se guardarán las sesiones.</li><li> Las búsquedas no serán añadidas al menú emergente en el cuadro de búsqueda.</li><li> La nueva caché de red no se gravará en el disco.</li></ul>Podrá hacer clic en los botones Atrás y Adelante para volver a las páginas web que ha abierto solo hasta que se cierre la ventana. Options... Opciones... Configure Search Engines... Configurar los motores de búsqueda... &Ad Block... &Bloquear publicidad... When private browsing is turned on, some actions concerning your privacy will be disabled: Cuando se activa la navegación privada, se desactivarán algunas acciones relacionadas con su intimidad: Webpages are not added to the history. Las páginas web no se añadirán al historial. Items are automatically removed from the Downloads window. Se eliminarán automáticamente los elementos de la ventana de descargas. New cookies are not stored, current cookies can't be accessed. No se guardarán las nuevas cookies, no se podrá acceder a las cookies actuales. Site icons won't be stored. No se guardarán los iconos de la página. Session won't be saved. No se guardará la sesión. Searches are not added to the pop-up menu in the search box. Las búsquedas no se añadirán al menú emergente en el cuadro de búsquedas. No new network cache is written to disk. No se escribirá en el disco la nueva caché de la red. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Hasta que se cierre la ventana, usted podrá hacer clic en los botones Atrás y Adelante para volver a las páginas web que ha abierto. Private Browsing Navegación privada ClearButton Clear Limpiar ClearPrivateData Clear Private Data Limpiar datos privados Clear the following items: Limpiar los siguientes elementos: &Browsing History Historial de &navegación &Download History Historial de &descargas &Search History Historial de &búsquedas &Cookies &Cookies C&ached Web Pages Páginas &web en memoria caché Website &Icons &Iconos de los sitios web Clear &Private Data Limpiar datos &privados &Cancel &Cancelar ClickToFlash Load Cargar Load All Cargar todo Add %1 to Whitelist Añadir %1 a la lista blanca Remove from Whitelist Quitar de la lista blanca Settings Ajustes Load Flash Cargar «Flash» ClickToFlashSettings Whitelist sites Lista blanca de sitios CookieExceptionsModel Website Sitio web Rule Regla Allow Permitir Block Bloquear Allow For Session Permitir sólo para esta sesión CookieModel Website Sitio web Name Nombre Path Ruta Secure Segura Expires Caduca Contents Contenidos true verdadero false falso Session cookie Cookie de la sesión CookiesDialog Cookies Cookies &Remove &Eliminar Remove &All Cookies Eliminar &todas las cookies Add &Rule Añadir &regla CookiesExceptionsDialog Cookie Exceptions Cookies exentas New Exception Nueva excepción Domain: Dominio: Block Bloquear Allow For Session Permitir sólo para esta sesión Allow Permitir Exceptions Excepciones &Remove &Eliminar Remove &All Eliminar &todas DownloadDialog Downloads Descargas Clean up Vaciar 0 Items 0 elementos DownloadItem Form Formulario Ico Icono Filename Nombre de archivo Try Again Volver a intentarlo Stop Detener Open Abrir Save File Guardar archivo Download canceled: %1 Descarga cancelada: %1 Error opening output file: %1 Error al abrir el archivo de salida: %1 Error saving: %1 Error al guardar: %1 Network Error: %1 Error de red: %1 seconds segundos %1 of %2 (%3/sec) %4 %1 de %2 (%3/seg) %4 ? ? %1 of %2 - Stopped %1 de %2 - Detenida %1 of %2 (%3/sec) - %4 %1 de %2 (%3/sec) - %4 Download directory (%1) couldn't be created. El directorio de descarga (%1)no se puede crear. DownloadManager %n Download(s) %n Descarga(s) There are %1 downloads in progress Do you want to quit anyway? Hay %1 descargas en proceso ¿Quiere salir de todos modos? %n minutes remaining Faltan %n minutos %n seconds remaining Faltan %n segundos bytes bytes kB kB MB MB GB GB FileAccessReply No Error Sin error Error opening: %1: No such file or directory Se produjo un error al abrir: %1: No existe el archivo o directorio Unable to read %1 No se puede leer %1 Contents of %1 Contenido de %1 %1 KB %1 KB HistoryDialog History Historial &Remove &Eliminar Remove &All Eliminar &todo Open Abrir Copy Copiar Delete Borrar HistoryMenu Show All History Mostrar todo el historial Clear History... Limpiar historial... Clear History Limpiar historial Do you want to clear the history? ¿Desea limpiar el historial? HistoryModel Title Título Address Dirección HistoryTreeModel Earlier Today En el día de hoy %n item(s) %n elemento(s) JavaScriptAroraObject Welcome to Arora! ¡Bienvenido a Arora! Arora Start Iniciar Arora Search! ¡Buscar! Search results provided by Resultados de la búsqueda proporcionados por About Arora Acerca de Arora LanguageManager Choose language Elegir idioma <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Puede ejecutarse con un idioma distinto<br>al predeterminado del sistema operativo.</p><p>Por favor, elija el idioma que desee utilizar</p> No translation files are installed. Los archivos de traducción no están instalados. No translation files are installed at %1. Ho hay archivos de traducción instalados en %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Introduzca el nombre de usuario y la contraseña para "%1" en %2</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Conectar al proxy "%1" usando:</qt> - SSL Errors Errores -SSL <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>Errores SSL:<br/><br/>para: <tt>%1</tt><ul><li>%2</li></ul> ¿Ignorar estos errores?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Certificados:<br/>%1<br/>¿Aceptar todos estos certificados?</qt> Issuer: %1 Emisor: %1 Not valid before: %1 No es válido antes de: %1 Valid until: %1 Válido hasta el: %1 Alternate Names: Nombres alternativos: NetworkMonitor Name Nombre Value Valor NetworkMonitorDialog Network Monitor Monitor de red Network Requests Solicitudes de red Request Headers Cabeceras de las solicitudes Response Headers Cabeceras de respuesta &Remove &Eliminar Remove &All Requests Eliminar &todas las solicitudes OpenSearchDialog Open File Abrir archivo OpenSearch OpenSearch Error Error %1 is not a valid OpenSearch 1.1 description or is already on your list. %1 no es una descripción correcta para OpenSearch 1.1 o ya está en su lista. You must have at least one search engine in here. Debe tener aquí al menos un motor de búsqueda. OpenSearch Manager Gestor OpenSearch &Restore Defaults &Restaurar predeterminados &Delete &Borrar &Add &Añadir &Close &Cerrar OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Descripción:</strong> %1 <strong>Provides contextual suggestions</strong> <strong>Proporciona sugerencias contextuales</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Lista separada por comas de las palabras clave que se puede introducir en la barra seguidas de los términos de búsqueda para buscar con este motor Name Nombre Keywords Palabras clave OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 ¿Quiere añadir el siguiente motor a su lista de motores de búsqueda?<br /><br />Nombre: %1<br />Búsquedas en: %2 PasswordDialog Authentication Required Se necesita autenticación DUMMY ICON ICONO SIMULADO INTRO TEXT DUMMY INTRODUCIR TEXTO SIMULADO Username: Nombre de usuario: Password: Contraseña: PlainTextEditSearch Not Found No encontrado ProxyDialog Proxy Authentication Autenticación con el proxy Connect to proxy Conectar al proxy Username: Nombre de usuario: Password: Contraseña: QObject The file is not an XBEL version 1.0 file. El archivo no es un archivo XBEL versión 1.0. Unknown title Título desconocido The file is not an OpenSearch 1.1 file. Este archivo no es un archivo OpenSearch 1.1. RequestModel Redirect: %1 Redirige a: %1 Method Método Address Dirección Response Respuesta Length Longitud Content Type Tipo de contenido Info Información SearchBanner Form Formulario Done Hecho Highlight All Resaltar todo SearchLineEdit Search Buscar Settings Preferences Preferencias General General On startup: Al inicio: Show my home page Mostrar mi página de inicio Show a blank page Mostrar página en blanco Restore windows and tabs from last time Recuperar ventanas y pestañas de la última sesión Home Page: Página de inicio: Set to current page Página actual Remove history items: Eliminar páginas del historial: After one day Al cabo de un día After one week Al cabo de una semana After two weeks Al cabo de dos semanas After one month Al cabo de un mes After one year Al cabo de un año Manually Manualmente On application exit Al cerrar la aplicación Open links from applications: Abrir enlaces desde aplicaciones: In a new window En una ventana nueva Downloads Descargas Ask for a destination each time Preguntar en cada caso dónde se quieren guardar Use this destination: Usar este destino: Appearance Apariencia Standard font: Tipografía estándar: Select... Seleccionar... Fixed-width font: Tipografía de anchura fija: Privacy Privacidad Web Content Contenido web Enable Plugins Activar plugins Enable Javascript Activar javascript View Images Ver imagenes Cookies Cookies Accept Cookies: Aceptar cookies: Always Siempre Never Nunca Only from sites you navigate to Sólo desde los sitios que visite Exceptions... Excepciones... Keep Cookies Until: Mantener las cookies: They expire Hasta que caduquen I exit the application Hasta que cierre la aplicación At most 90 days 90 días como máximo Cookies... Cookies... Tabs Pestañas Select tabs and windows as they are created Seleccionar pestañas y ventanas al ser creadas Proxy Proxy Use proxy server Usar un sevidor proxy Type: Tipo: Socks5 Socks5 Host name: Nombre de la máquina: Port: Puerto: User Name: Nombre de usuario: Password: Contraseña: Advanced Avanzado Style Sheet: Hoja de estilos: Show only one close button instead of one for each tab Mostrar sólo un botón de cierre en lugar de uno para cada pestaña Block Popup Windows Bloquear ventanas emergentes Opening links Abiendo enlaces Links that want to open in a new window: Enlaces que desea abrir en una nueva ventana: In a new selected tab in the current window En la pestaña seleccionada en la ventana actual In a new tab in the current window En una nueva pestaña en la ventana actual In the current tab En la pestaña actual Http (Secure) Http (Seguro) Http (Transparent) Http (Transparente) Preferred languages for viewing webpages in: Idiomas preferidos para visualizar páginas web: Use ClickToFlash on flash plugins Use ClickToFlash en las extensiones flash Filter Tracking Cookies Filtrar las cookies de seguimiento Confirm when closing multiple tabs or windows Pedir confirmación cuando se cierren multiples pestañas o ventanas Quit the application when last tab is closed Salir de la aplicación cuando se cierre la última pestaña Enable network cache Activar caché de red Maximum Size: Tamaño máximo: MB MB Use the default search engine as fallback when the URL given by the user is invalid Use el motor de búsqueda predeterminado como último recurso cuando la URL dada por el usuario no es correcta Choose Directory... Elegir directorio... A cookie session ends: Una cookie de sesión caduca: When I exit the application Cuando salga de la aplicación 1 day 1 día 2 days 2 días 3 days 3 días 7 days 7 días 30 days 30 días AutoFill Autocompletar AutoFill web forms: Autocompletar formularios web: User names and passwords Nombres de usuario y contraseñas Edit... Editar... Browse... Examinar... SettingsDialog Restart required Se necesita reiniciar The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. La configuración de la caché de red ha cambiado. A fin de que pueda ser tenida en cuenta, el navegador tiene que ser reiniciado. Choose Directory Elegir directorio Choose CSS File Elegir archivo CSS SourceViewer Loading... Cargando... &Edit &Editar &Find &Buscar &View &Ver &Wrap lines A&justar las líneas Source of Page Código fuente de la página Source of Page %1 Código fuente de la página %1 TabBar Show Tab Bar Mostrar barra de pestañas Hide Tab Bar Ocultar barra de pestañas Duplicate Tab Duplicar pestaña &Close Tab &Cerrar pestaña Close &Other Tabs Cerrar las &otras pestañas Reload Tab Recargar pestaña Reload All Tabs Recargar todas las pestañas TabWidget New &Tab Nueva &pestaña &Close Tab &Cerrar pestaña Show Next Tab Mostrar pestaña siguiente Show Previous Tab Mostrar pestaña anterior Recently Closed Tabs Pestañas cerradas recientemente Untitled Sin título Do you really want to close this page? ¿Está seguro de que quiere cerrar esta página? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Ha modificado esta página y si la cierre perderá los cambios. ¿Está seguro de que quiere cerrar esta página? Ctrl-] Ctrl-] Ctrl-[ Ctrl-[ Saved Tabs Pestañas guardadas Loading... Cargando... Loading %1% (%2 %3)... Cargando %1% (%2 %3)... Finished loading Carga finalizada Failed to load Hubo un fallo durantre la carga Bookmark All Tabs Todas las pestañas a marcadores ToolbarSearch No Recent Searches No hay búsquedas recientes Recent Searches Búsquedas recientes Clear Recent Searches Limpiar búsquedas recientes Suggestions Sugerencias Add '%1' Añadir «%1» Configure Search Engines... Configurar motores de búsqueda... WebPage Error loading page: %1 Error al cargar la página: %1 When connecting to: %1. Cuando se conecta a: %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org Compruebe que no hay errores en la dirección como<b>ww</b>.arora-browser.org en lugar de <b>www</b>.arora-browser.org If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Si su ordenador o red están protegidos por un cortafuegos o un proxy, asegúrese de que al navegador se le permite el acceso a la red. If the address is correct, try checking the network connection. Si la dirección es correcta, compruebe la conexión de red. Resending POST request Reenviar una solicitud POST In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? Para mostrar el sitio web, la solicitud, junto con todos los datos deben ser enviados, una vez más, lo que puede llevar a algun comportamiento inesperado del sitio por ejemplo, la misma acción puede ser realizada una vez más. ¿Quiere continuar igualmente? WebView Open in New &Window Abrir en una &ventana nueva Open in New &Tab Abrir en una &pestaña nueva Save Lin&k &Guardar enlace &Bookmark This Link &Añadir esta página a marcadores &Copy Link Location &Copiar dirección del enlace Open Image in New &Window Abrir &imagen en una ventana nueva Open Image in New &Tab Abrir i&magen en una pestaña nueva &Save Image G&uardar imagen &Copy Image Co&piar imagen C&opy Image Location Copiar &dirección de la imagen Loading... Cargando... Search with... Buscar con... Add to the toolbar search Añadir a la barra de herramientas de búsqueda Method not supported Método no compatible %1 method is not supported. El método %1 no es compatible. Search engine Motor de búsqueda Choose the desired search engine Elija el motor de búsqueda deseado Engine name Nombre del motor Type in a name for the engine Escriba un nombre para el motor Block Image Bloquear imagen WebViewSearch Not Found No encontrado arora-0.11.0/src/locale/es_CR.ts000066400000000000000000002302611145000221100162540ustar00rootroot00000000000000 AboutDialog About Acerca de Authors Autores License Licencia Lightweight WebKit-based web browser Navegador web ligero, basado en WebKit <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style="font-size:9pt;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> Close Cerrar About %1 Acerca %1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> WebKit version: %1 AcceptLanguage Languages Idiomas Languages: in order of preference: Idiomas: En orden de preferencia: Move &Up Ir &Arriba Move &Down Ir &Abajo &Remove &Remover Add... Agregar... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 AdBlockDialog Add Custom Rule Learn more about writing rules... Update Subscription Browse Subscriptions... Remove Subscription AdBlock Configuration Enable AdBlock Action AdBlockManager Custom Rules AdBlockModel Rule Regla AdBlockSchemeAccessHandler Subscribe? Subscribe to this AdBlock subscription? %1 AddBookmarkDialog Add Bookmark Agregar marcador Type a name for the bookmark, and choose where to keep it. Introduzca un nombre para el marcador y seleccione donde desea guardarlo. Url URL Title Título Add Folder Agregar carpeta AutoFillDialog Form Passwords Remove Remover Remove All AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. Never for this site Not now AutoFillModel WebSite User Name BookmarksDialog Open Abrir Open in New Tab Abrir en una nueva pestaña Delete Borrar New Folder Nueva carpeta Bookmarks Marcadores &Remove &Remover Add Folder Agregar carpeta Edit Name Editar nombre Edit Address Editar dirección BookmarksManager Error when loading bookmarks on line %1, column %2: %3 Error durante la carga de los maradores en la línea %1, columna %2: %3 Toolbar Bookmarks Barra de Marcadores Menu Menú Open File Abrir archivo XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) Imported %1 Importado %1 Save File Guardar archivo %1 Bookmarks.xbel %1 Marcadores.xbel Export error Error de exportación error saving bookmarks error guardando los marcadores Remove Bookmark Remover marcador Insert Bookmark Insertar marcador Name Change Cambiar nombre Address Change Cambiar dirección Bookmarks Bar Barra de marcadores Bookmarks Menu Menú de marcadores Name Change Undo bookmark title change Cambiar nombre Address Change Undo bookmark url change Cambiar dirección XBEL bookmarks Marcadores XBEL HTML Netscape bookmarks Marcadores Netscape HTML htmlToXBel tool required Herramienta htmlToXBel requerida htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. Herramienta htmlToXBel, la cual viene incluida con Arora y es necesaria para importar marcadores HTML, no está instalado o disponible en las rutas de búsqueda. Loading Bookmark Cargando marcador Error when loading HTML bookmarks: %1 Error durante la carga de marcadores HTML: %1 BookmarksMenu Open in Tabs Abrir en pestañas BookmarksModel Title Título Address Dirección BookmarksToolBar Bookmark Marcador Open Abrir Open in New &Tab Abrir en una nueva &pestaña Remove Remover Add Bookmark... Agregar marcador... Add Folder... Agregar carpeta... Bookmarks Marcadores BrowserApplication (Change: %1 %2) (Cambiar: %1 %2) There are %1 windows and %2 tabs open Do you want to quit anyway? Hay %1 ventanas y %2 pestañas abiertas ¿Desea cerrarla(s) de todos modos? Restore failed Restauración fallida The saved session will not be restored because Arora crashed while trying to restore this session. La sesión guardada no pudo ser restaurada porque Arora se bloqueó mientras intentaba restaurar esta sesión. Arora crashed while trying to restore this session. Should I try again? BrowserMainWindow &File &Archivo &New Window &Nueva ventana &Open File... &Abrir archivo... Open &Location... Abrir &Dirección... &Save As... &Guardar como... &Import Bookmarks... &Importar marcadores... &Export Bookmarks... &Exportar marcadores... P&rint Preview... Vista p&reliminar... &Print... &Imprimir... Private &Browsing... Navegación &privada... &Quit &Quitar &Edit &Editar &Undo &Deshacer &Redo &Rehacer Cu&t Cor&tar &Copy &Copiar &Paste &Pegar &Find &Buscar Find Nex&t Buscar Próxi&mo Find P&revious Encontrar A&nterior Prefere&nces... Prefere&ncias... Ctrl+, Ctrl+, &View &Ver Show Menu Bar Mostrar la barra de menú Ctrl+| Ctrl+| Shift+Ctrl+B Shift+Ctrl+B Ctrl+/ Ctrl+/ &Stop &Detener &Reload Page &Recargar página Make Text &Bigger Hacer el texto más &grande Make Text &Normal Hacer el texto &normal Make Text &Smaller Hacer el texto más &pequeño Page S&ource F&uente de la página Ctrl+Alt+U Ctrl+Alt+U &Full Screen &Pantalla completa Hi&story Hi&storial Back Atrás Forward Adelante Home Inicio Restore Last Session Restaurar la última sesión &Bookmarks &Marcadores Manage Bookmarks... Administrar Marcadores... Add Bookmark... Agregar Marcador... &Window &Ventana &Tools &Herramientas Web &Search Búsqueda & Web Ctrl+K Web Search Ctrl+K &Clear Private Data &Limpiar información privada Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete Enable Web &Inspector Habilitar &Inspección Web &Help &Ayuda About &Qt Acerca de &QT About &Arora Acerca de &Arora Navigation Navegación Show Status Bar Mostar barra de estado Hide Status Bar Esconder barra de estado Show Toolbar Mostrar barra de herramientas Hide Toolbar Esconder barra de herramientas Show Bookmarks Bar Mostrar barra de marcadores Hide Bookmarks Bar Esconder barra de marcadores Arora Arora %1 - Arora Page title and Browser name %1 - Arora Open Web Resource Abrir recurso web Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Recursos web (*.html *.htm *.svg *.png *.gif *.svgz);;Todos los archivos (*.*) Print Document Imprimir documento Are you sure you want to turn on private browsing? ¿Está seguro de activar la navegación privada? <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Cuando la navegación privada se activa, algunas accciones relacionadas con su privacidad son deshabilitadas:<ul><li> Las páginas web no son agregadas en el historial.</li><li> Los objetos son automáticamente removidos de la ventana de descargas.</li><li> Las cookies nuevas no son guardadas, las cookies actuales no podrán ser accesadas.</li><li> Los íconos de los sitios no serán guardados, la sesión tampoco podrá ser guardada.</li><li> Las búsquedas no son agregadas al menú emergente de la caja de búsqueda.</li></ul> A menos que usted cierre la ventana, podrá utilizar los botones Regresar y Adelantar para regresar a páginas web que han sido abiertas. Are you sure you want to close the window? There are %1 tabs open ¿Está seguro que desea cerrar esta ventana? Hay %1 pestañana(s) abierta(s) Page Source of %1 Página fuente de %1 Web Inspector Inspector web The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? El Inspector web solo funcionará correctamente para páginas que fueron cargadas después de haber sido habilitado. ¿Desea recargar las páginas? Stop loading the current page Detener la carga de la página actual Reload the current page Recargar la página actual Downloads Descargas Alt+Ctrl+L Download Manager Alt+Ctrl+L Switch application language Cambiar el idioma del programa Close Window Cerrar ventana Zoom &In Acercamiento &Ampliar Zoom &Normal Acercamiento &Normal Zoom &Out Acercamiento &Achicar Zoom &Text Only Acercamiento &Sólo texto Show All Bookmarks... Mostrar todos los marcadores... Add Folder... Agregar carpeta... About &%1 About Browser Acerca &%1 Ctrl+Y Download Manager Ctrl+Y Default Predeterminado Text Encoding Codificación de caracteres <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li><li> Network cache is disabled.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Cuando la navegación privada se activa, algunas accciones relacionadas con su privacidad son deshabilitadas:<ul><li> Las páginas web no son agregadas en el historial.</li><li> Los objetos son automáticamente removidos de la ventana de descargas.</li><li> Las cookies nuevas no son guardadas, las cookies actuales no podrán ser accesadas.</li><li> Los íconos de los sitios no serán guardados, la sesión tampoco podrá ser guardada.</li><li> Las búsquedas no son agregadas al menú emergente de la caja de búsqueda.</li></ul> A menos que usted cierre la ventana, podrá utilizar los botones Regresar y Adelantar para regresar a páginas web que han sido abiertas. Select &All Alt+Ctrl+B Options... Configure Search Engines... Configurar motores de búsqueda... &Ad Block... When private browsing is turned on, some actions concerning your privacy will be disabled: Webpages are not added to the history. Items are automatically removed from the Downloads window. New cookies are not stored, current cookies can't be accessed. Site icons won't be stored. Session won't be saved. Searches are not added to the pop-up menu in the search box. No new network cache is written to disk. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Private Browsing ClearButton Clear Borrar ClearPrivateData Clear Private Data Borrar datos privados Clear the following items: Borrarr las siguientes opciones: &Browsing History &Historial de navegación &Download History &Historial de descargas &Search History &Historial de búsquedas &Cookies &Cookies C&ached Web Pages Páginas web c&acheadas Website &Icons &Íconos del sitio web Clear &Private Data Borrar los &Datos privados &Cancel &Cancelar ClickToFlash Load Cargar Load All Cargar todo Add %1 to Whitelist Agregar %1 a la lista blanca Remove from Whitelist Remover de la lista blanca Settings Configuraciones Load Flash Cargar Flash ClickToFlashSettings Whitelist sites Sitios de la lista blanca CookieExceptionsModel Website Sitio web Rule Regla Allow Permitir Block Bloquear Allow For Session Permitir por esta sesión CookieModel Website Stio web Name Nombre Path Ruta Secure Seguridad Expires Expiración Contents Contenidos true verdadero false falso Session cookie Cookie de la sesión CookiesDialog Cookies Cookies &Remove &Remover Remove &All Cookies Remove &todas las cookies Add &Rule Agregar &regla CookiesExceptionsDialog Cookie Exceptions Excepciones de Cookies New Exception Nueva excepción Domain: Dominio: Block Bloquear Allow For Session Permitir por esta sesión Allow Permitir Exceptions Excepciones &Remove &Remover Remove &All Remover &Todo DownloadDialog Downloads Descargas Clean up Borrar 0 Items 0 objetos &OK &OK DownloadItem Form Foma Ico Ícono Filename Nombre del archivo Try Again Intentar de nuevo Stop Detener Open Abrir Save File Guardar archivo Download canceled: %1 Descarga cancelada: %1 Error opening output file: %1 Error abriendo el archivo de salida: %1 Error saving: %1 Error guardando: %1 Network Error: %1 Error de red: %1 seconds segundos - %n minutes remaining - %n minuto restante - %n minutos restantes - %n seconds remaining - %n segundo restante - %n segundos restantes %1 of %2 (%3/sec) %4 %1 de %2 (%3/seg) %4 ? ? %1 of %2 - Stopped %1 de %2 - Detenido bytes bytes kB kB MB MB %1 of %2 (%3/sec) - %4 %1 de %2 (%3/seg) - %4 Download directory (%1) couldn't be created. Descargando directorio (%1) no puede ser creado. DownloadManager %n Download(s) %n Descargado %n Descargados There are %1 downloads in progress Do you want to quit anyway? Hay %1 descarga(s) en progreso ¿Desea quitarlo de todos modos? %n minutes remaining %n minuto restante %n minutos restantes %n seconds remaining %n segundo restante %n segundos restantes bytes bites kB kB MB MB GB FileAccessReply No Error Sin Error Error opening: %1: No such file or directory Error abriendo %1: No s pudo encontrar el archivo o directorio Unable to read %1 No se puede leer %1 Contents of %1 Contenidos de %1 %1 KB %1 KB HistoryDialog Open Abrir Copy Copiar Delete Borrar History Historial &Remove &Remover Remove &All Remover &Todo HistoryMenu Show All History Mostrar todo el historial Clear History... Borrar historial... Clear History Borrar historial Do you want to clear the history? ¿Desea borrar el historial? HistoryModel Title Título Address Dirección HistoryTreeModel Earlier Today Lo más antiguo %n item(s) %n objeto %n objetos JavaScriptAroraObject Welcome to Arora! ¡Bienvenido a Arora! Arora Start Iniciar Arora Search! ¡Buscar! Search results provided by Resultados de la búsqueda proveídos por About Arora Acerca de Arora LanguageManager Choose language Elija el idioma <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Usted puede ejecutar un idioma distinto al del <br>sistema operativo predeterminado.</p><p>Por favor el idioma que desea utilizar</p> No translation files are installed. No se instalarán archivos de traducción No translation files are installed at %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Digite el usuario y clave para "%1" en %2</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Conectarse al proxy "%1" usando:</qt> SSL Errors: %1 %2 Do you want to ignore these errors? Errores SSL: %1 %2 ¿Desea ignorar esos errores? Do you want to accept all these certificates? ¿Desea aceptar todos esos certificados? - SSL Errors - Errores-SSL <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>Errores SSL:<br/><br/>para: <tt>%1</tt><ul><li>%2</li></ul> ¿Quieres ignorar esos errores?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Certificados:<br/>%1<br/>¿Quieres aceptar todos esos certificados?</qt> Issuer: %1 Emitido por: %1 Not valid before: %1 No válido antes: %1 Valid until: %1 Válidao hasta: %1 Alternate Names: Nombres alternativos: NetworkMonitor Name Nombre NetworkMonitorDialog &Remove &Remover OpenSearchDialog Open File Abrir archivo OpenSearch BuscadorLibre Error Error %1 is not a valid OpenSearch 1.1 description or is already on your list. %1 no es una descripción de BuscadorLibre 1.1 o ya está en su lista. You must have at least one search engine in here. Debes tener al menos un motor de búsqueda acá. OpenSearch Manager Administrador de BuscadorLibre &Restore Defaults &Restaurar Predeterminado &Delete &Borrar &Add &Agregar &Close &Cerrar OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Descripción:</strong> %1 <strong>Provides contextual suggestions</strong> <strong>Provee sugerencias contextuales</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Name Nombre Keywords OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 ¿Quieres agregar el siguiente motor a su lista de motores de búsqueda?<br /><br />Nombre: %1<br />Reliza búsquedas en: %2 PasswordDialog Authentication Required Autenticación requerida DUMMY ICON ÍCONO VIRTUAL INTRO TEXT DUMMY DIGITAR TEXTO VIRTUAL Username: Nombre de usuario: Password: Contraseña: PlainTextEditSearch Not Found No encontrado ProxyDialog Proxy Authentication Autenticación de Proxy ICON ÍCONO Connect to proxy Conactar al proxsy Username: Usuario: Password: Clave: QObject The file is not an XBEL version 1.0 file. El archivo no es una versión 1.0 XBEL. Unknown title Título desconocido The file is not an OpenSearch 1.1 file. Este no es un archivo BuscadorLibre 1.1 RequestModel Address Dirección SearchBanner Form Forma TextLabel Etiqueta de texto < < > > Done Finalizado Highlight All Marcar todo SearchLineEdit Search Buscar Settings Preferences Preferencias General General On startup: Al iniciar: Show my home page Mostrar mi página de Inicio Show a blank page Mostrar una página en blanco Restore windows and tabs from last time Restaurar ventanas y pestañas de la última sesión Home Page: Página de Inicio: Set to current page Fijar la página actual Remove history items: Remover objetos del historial: After one day Después de un día After one week Después de una semana After two weeks Después de dos semanas After one month Después de un mes After one year Después de un año Manually Manualmente On application exit Al salir de la aplicación Open links from applications: Abrir enlaces desde aplicaciones: In a tab in the current window En una pestaña en la ventana actual In a new window En una nueva ventana Downloads Descargas Ask for a destination each time Preguntar en cada caso por el destino Use this destination: Usar este destino: Appearance Apariencia Standard font: Fuente estándar: Times 16 Times 16 Select... Seleccionar... Fixed-width font: Fuente de anchura-fija: Courier 13 Courier 13 Privacy Privacidad Web Content Contenido web Enable Plugins Habilitar agregados Enable Javascript Habilitar Javascript View Images Vier Imagenes Cookies Cookies Accept Cookies: Aceptar Cookies: Always Siempre Never Nunca Only from sites you navigate to Solo de las páginas visitadas Exceptions... Excepciones... Keep Cookies Until: Mantener Cookies hasta: They expire Que expiren (caduquen) I exit the application Al salir de la aplicación At most 90 days Durante 90 días Cookies... Cookies... Tabs Pestañas Select tabs and windows as they are created Seleccionar pestañas y ventanas cuando se crean Confirm when closing multiple tabs Confirmar cuando se cierran múltiples pestañas Proxy Proxy Use proxy server Usar servidor proxsy Type: Tipo: Socks5 Socks5 Http Http Host name: Nombre del Host: Port: Puerto: User Name: Usuario: Password: Clave: Advanced Avanzado Style Sheet: Estilo de hoja: Show only one close button instead of one for each tab Preferred languages for viewing webpages in: Block Popup Windows Opening links Links that want to open in a new window: In a new selected tab in the current window In a new tab in the current window In the current tab Http (Secure) Http (Transparent) Use ClickToFlash on flash plugins Filter Tracking Cookies Confirm when closing multiple tabs or windows Quit the application when last tab is closed Enable network cache Maximum Size: MB Use the default search engine as fallback when the URL given by the user is invalid Choose Directory... A cookie session ends: When I exit the application 1 day 2 days 3 days 7 days 30 days AutoFill AutoFill web forms: User names and passwords Edit... Browse... SettingsDialog Restart required Reinicio requerido The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. La configuración del cache de red ha cambiado. Con el fin de que sea tomado en su cuenta, el navegador debe ser reiniciado. Choose Directory Choose CSS File SourceViewer Loading... Cargando... &Edit &Editar &Find &Buscar &View &Ver &Wrap lines &Ajustar líneas Source of Page %1 Fuente de la página %1 TabBar Show Tab Bar Mostrar la barra de pestañas Hide Tab Bar Esconder la barra de pestañas New &Tab Nueva &pestaña Duplicate Tab Duplicar pestaña &Close Tab &Cerrar pestaña Close &Other Tabs Cerrar &otras pestañas Reload Tab Recargar pestaña Reload All Tabs Recargar todas las pestañas TabWidget New &Tab Nueva &pestaña &Close Tab &Cerrar pestaña Show Next Tab Mostrar la siguiente pestaña Show Previous Tab Mostrar la pestaña anterior Recently Closed Tabs Pestañas cerradas recientemente Untitled Sin título Do you really want to close this page? ¿Desea relamente cerrar esta página? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Usted ha modificado esta página y una vez que la haya cerrado los cambios se perderán ¿Desea realmente cerrrar esta página? Ctrl-] Ctrl-] Ctrl-[ Ctrl-[ Saved Tabs Pestañas guardadas Loading... Cargando... Loading %1% (%2 %3)... Cargando %1% (%2 %3)... Finished loading Carga finalizada Failed to load Falló al cargar Bookmark All Tabs Guardar en los marcadores todas las pestañas ToolbarSearch No Recent Searches No hay búsquedas recientes Recent Searches Búsquedas recientes Clear Recent Searches Limpiar búsquedas recientes Suggestions Sugerencies Add '%1' Agregar '%1' Configure Search Engines... Configurar motores de búsqueda... WebPage Error loading page: %1 Error cargando página: %1 When connecting to: %1. Cuando se conecta a: %1 Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org Verifica errores en la dirección como <b>ww</b>.arora-browser.org en lugar de <b>www</b>.arora-browser.org If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. si su computadora o red está protegida por un corta fuegos o proxy, asegúrese de que el navegador web tiene acceso permitido a la red. If the address is correct, try checking the network connection. si la dirección es correcta, intente verificar la conexión de red. Resending POST request Reenviando petición POST In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? Con el fin de mostrar el sitio, la solicitud con toda la información debe ser enviada una vez más, lo cual puede generar un comportamiento inesperado en el sitio p.e. la misma acción debe ser desempeñada una vez más. ¿Quieres continuar de todos modos? WebView Open in New &Window Abrir en una nueva &ventana Open in New &Tab Abrir en una nueva &pestaña Save Lin&k Guardar en&lace &Bookmark This Link &Marcar este enlace &Copy Link Location &Copiar la dirección del enlace Open Image in New &Window Abrir imagen en una nueva &ventana Open Image in New &Tab Abrir imagen en una nueva &pestaña &Save Image &Guardar imagen &Copy Image C&opiar imagen C&opy Image Location C&opiar la ubicación de la imagen Loading... Cargando... Search with... Buscar con... Add to the toolbar search Agregar a la barra de búsqueda Method not supported Método no soportado %1 method is not supported. %1 método no es soportado. Search engine Motor de búsqueda Choose the desired search engine Elija el nombre deseado para el motor de búsqueda Engine name Nombre de motor Type in a name for the engine Block Image WebViewSearch Not Found No encontrado arora-0.11.0/src/locale/et_EE.ts000066400000000000000000002242361145000221100162470ustar00rootroot00000000000000 AboutDialog About Info Authors Autorid License Litsents Lightweight WebKit-based web browser Lihtne WebKit-põhine veebilehitseja <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> Close Sulge About %1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> WebKit version: %1 AcceptLanguage Languages Languages: in order of preference: Move &Up Move &Down &Remove &Eemalda Add... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 AdBlockDialog Add Custom Rule Learn more about writing rules... Update Subscription Browse Subscriptions... Remove Subscription AdBlock Configuration Enable AdBlock Action AdBlockManager Custom Rules AdBlockModel Rule AdBlockSchemeAccessHandler Subscribe? Subscribe to this AdBlock subscription? %1 AddBookmarkDialog Add Bookmark Lisa järjehoidja Type a name for the bookmark, and choose where to keep it. Sisestage järjehoidjale nimi ja valige, kus seda hoida. Url Title Pealkiri Add Folder Lisa kaust AutoFillDialog Form Passwords Remove Remove All AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. Never for this site Not now AutoFillModel WebSite User Name BookmarksDialog Open &Ava Delete &Kustuta New Folder Uus kaust Bookmarks Järjehoidjad &Remove &Eemalda Add Folder Lisa kaust Open in New Tab Ava uues &sakis Edit Name Edit Address BookmarksManager Error when loading bookmarks on line %1, column %2: %3 Viga järjehoidjate laadimisel real %1, veerus %2: %3 Toolbar Bookmarks Tööriistariba järjehoidjad Menu Menüü Open File Ava fail XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) Imported %1 %1 imporditud Save File Salvesta fail %1 Bookmarks.xbel %1 järjehoidjad.xbel Export error Viga eksportimisel error saving bookmarks viga järjehoidjate salvestamisel Remove Bookmark Eemalda järjehoidja Insert Bookmark Sisesta järjehoidja Name Change Nime muutus Address Change Aadressi muutus Bookmarks Bar Bookmarks Menu Name Change Undo bookmark title change Nime muutus Address Change Undo bookmark url change Aadressi muutus XBEL bookmarks HTML Netscape bookmarks htmlToXBel tool required htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. Loading Bookmark Error when loading HTML bookmarks: %1 BookmarksMenu Open in Tabs BookmarksModel Title Pealkiri Address Aadress BookmarksToolBar Bookmark Järjehoidja Open Open in New &Tab Ava uues &sakis Remove Add Bookmark... &Lisa järjehoidja... Add Folder... Bookmarks Järjehoidjad BrowserApplication There are %1 windows and %2 tabs open Do you want to quit anyway? Lahti on %1 akent ja %2 sakki.Kas Te soovite siiski väljuda? Restore failed Taastamine ebaõnnestus The saved session will not being restored because last time it was restored Arora crashed. Salvestatud sessiooni ei taastata, sest viimane kord kui Arora seda üritas, jooksis ta kokku. Arora crashed while trying to restore this session. Should I try again? BrowserMainWindow &File &Fail &New Window Uus ake&n &Open File... &Ava fail... Open &Location... Ava as&ukoht... &Save As... &Salvesta failina... &Import Bookmarks... &Impordi järjehoidjaid... &Export Bookmarks... &Ekspordi järjehoidjad... P&rint Preview... P&rintimise eelvaade... &Print... &Prindi... Private &Browsing... Privaatne veebi&lehitsemine... &Quit &Välju &Edit &Redigeeri &Undo &Tühista &Redo Tee &uuesti Cu&t &Lõika &Copy &Kopeeri &Paste Klee&bi &Find &Otsi &Find Next Otsi &järgmist &Find Previous Otsi eel&mist &Preferences &Eelistused Ctrl+, &View &Vaade Ctrl+| Ctrl+/ &Stop &Katkesta lehekülje laadimine Reload Page Lae lehekülg &uuesti &Make Text Bigger Tee tekst &suuremaks &Make Text Normal T&aasta teksti suurus &Make Text Smaller Tee tekst &väiksemaks Page S&ource Veebilehe &lähtekood Ctrl+Alt+U &Full Screen &Täisekraanvaade Hi&story A&jalugu Back &Tagasi Forward &Edasi Home &Koduleht Restore Last Session Taasta eelmine &sessioon &Bookmarks &Järjehoidjad Manage Bookmarks... &Halda järjehoidjaid... Add Bookmark... &Lisa järjehoidja... &Window A&ken &Tools &Tööriistad Web &Search Veebi&otsing Ctrl+K Web Search Enable Web &Inspector Aktiveeri &Veebiinspektor &Help &Abi About &Qt Lähemalt &Qt kohta About &Arora Lähemalt &Arora kohta Navigation Navigeerimine Show Status Bar Näita olekuriba Hide Status Bar Peida olekuriba Show Toolbar Näita tööriistariba Hide Toolbar Peida tööriistariba Arora Arora %1 - Arora Page title and Browser name %1 - Arora Open Web Resource Ava veebiressurss Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Veebiressursid (*.html *.htm *.svg *.png *.gif *.svgz);;Kõik failid (*.*) Print Document Prindi dokument Are you sure you want to turn on private browsing? Kas Te olete kindel, et soovite sisse lülitada privaatse lehitsemise? Are you sure you want to close the window? There are %1 tabs open Kas Te olete kindel, et soovite akent sulgeda? Avatud on %1 sakki Page Source of %1 Lehekülje %1 lähtekood Web Inspector Veebiinspektor The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Veebiinspektor töötab korrektselt ainult lehekülgede puhul, mis laetakse pärast Veebiinspektori aktiveerimist. Kas Te soovite kõik leheküljed uuesti laadida? Stop loading the current page Peata käesoleva lehekülje laadimine Reload the current page Lae käesolev lehekülg uuesti Downloads &Allalaadimised &Clear Private Data Kustuta &privaatseid andmeid Ctrl+Shift+Delete Clear Private Data Show Bookmarks Bar Näita järjehoidjate riba Hide Bookmarks Bar Peida järjehoidjate riba <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Kui privaatne lehitsemine on sisse lülitatud, ei viida läbi teatud Teie privaatsust puudutavaid toiminguid:<ul><li> Veebilehti ei sisestata ajalukku.</li><li> Allalaadimisakent puhastatakse automaatselt.</li><li> Uusi küpsiseid ei salvestata, olemasolevatele küpsistele keelatakse veebilehtedel ligipääs.</li><li> Veebilehtede ikoone ei salvestata.</li><li> Sessioone ei salvestata.</li><li> Tehtud otsinguid ei lisata otsingukasti rippmenüüsse.</li></ul>Akna sulgemiseni võite siiski kasutada Edasi- ja Tagasi-nuppe avatud veebilehtedele tagasi pöördumiseks. Find &Next Otsi &järgmist Find P&revious Otsi eel&mist Prefe&rences &Eelistused &Reload Page Lae lehekülg &uuesti Make Text &Bigger Tee tekst &suuremaks Make Text &Normal T&aasta teksti suurus Make Text &Smaller Tee tekst &väiksemaks Find Nex&t Show Menu Bar Switch application language Close Window Zoom &In Zoom &Normal Zoom &Out Zoom &Text Only Show All Bookmarks... Add Folder... About &%1 About Browser Ctrl+Y Download Manager Default Text Encoding Select &All Alt+Ctrl+B Options... Configure Search Engines... &Ad Block... When private browsing is turned on, some actions concerning your privacy will be disabled: Webpages are not added to the history. Items are automatically removed from the Downloads window. New cookies are not stored, current cookies can't be accessed. Site icons won't be stored. Session won't be saved. Searches are not added to the pop-up menu in the search box. No new network cache is written to disk. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Private Browsing ClearButton Clear Tühjenda ClearPrivateData Clear Private Data Privaatsete andmete kustutamine Clear the following items: Kustuta järgmised andmed: &Browsing History &Veebi lehitsemise ajalugu &Download History &Allalaadimise ajalugu &Search History &Otsingute ajalugu &Cookies &Küpsised C&ache &Puhverdatud veebileheküljed Website &Icons Veebilehekülgede &ikoonid Clear &Private Data Kustuta &privaatsed andmed &Cancel &Loobu C&ached Web Pages ClickToFlash Load Load All Add %1 to Whitelist Remove from Whitelist Settings Eelistused Load Flash ClickToFlashSettings Whitelist sites CookieExceptionsModel Website Veebileht Status Reegel Allow Luba Block Keela Allow For Session Luba sessiooniks Rule CookieModel Website Veebileht Name Nimi Path Asukoht Secure Turvaline Expires Aegub Contents Sisu true false Session cookie CookiesDialog Cookies Küpsised &Remove &Eemalda Remove &All Cookies Eemalda &kõik küpsised Add &Rule CookiesExceptionsDialog Cookie Exceptions Küpsiste erandid New Exception Uus erand Domain: Domeen: Block Keela Allow For Session Luba sessiooniks Allow Luba Exceptions Erandid &Remove &Eemalda Remove &All Eemalda &kõik DownloadDialog Downloads Allalaadimised Clean up Puhasta 0 Items 0 elementi DownloadItem Save File Salvesta fail Download canceled: %1 Allalaadimine katkestatud: %1 Error opening save file: %1 Viga väljundfaili avamisel: %1 Error saving: %1 Viga salvestamisel: %1 Network Error: %1 Võrgu viga: %1 seconds sekundit %1 of %2 (%3/sec) %4 %1 / %2 (%3/s) %4 ? ? %1 of %2 - Stopped %1 / %2 - Katkestatud bytes baiti kB kiB MB MiB Ico Filename Faili nimi Try Again Proovi uuesti Stop Katkesta Open Ava - %n minutes remaining - %n minut jäänud - %n minutit jäänud - %n seconds remaining - %n sekund jäänud - %n sekundit jäänud Error opening output file: %1 %1 of %2 (%3/sec) - %4 Download directory (%1) couldn't be created. DownloadManager %n Download(s) %n Download %n Downloads There are %1 downloads in progress Do you want to quit anyway? %n minutes remaining %n seconds remaining bytes baiti kB kiB MB MiB GB FileAccessReply No Error Error opening: %1: No such file or directory Unable to read %1 Contents of %1 %1 KB HistoryDialog Open &Ava Copy &Kopeeri Delete K&ustuta History Ajalugu &Remove &Eemalda Remove &All Eemalda &kõik HistoryMenu Show All History &Näita tervet ajalugu Clear History &Unusta ajalugu Clear History... Do you want to clear the history? HistoryModel Title Pealkiri Address Aadress HistoryTreeModel Earlier Today Varem täna %n item(s) %n item %n items JavaScriptAroraObject Welcome to Arora! Arora Start Search! Search results provided by About Arora LanguageManager Choose language <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> No translation files are installed at %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Palun sisestage kasutajanimi ja salasõna "%1" jaoks aadressilt %2</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Ühendu puhverserveriga "%1" kasutades:</qt> SSL Errors: %1 %2 Do you want to ignore these errors? SSL vead: %1 %2 Kas Te soovite neid vigu ignoreerida? Do you want to accept all these certificates? Kas Te soovite kõik need sertifikaadid aksepteerida? - SSL Errors <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> Issuer: %1 Not valid before: %1 Valid until: %1 Alternate Names: NetworkMonitor Name Nimi NetworkMonitorDialog &Remove &Eemalda OpenSearchDialog Open File Ava fail OpenSearch Error %1 is not a valid OpenSearch 1.1 description or is already on your list. You must have at least one search engine in here. OpenSearch Manager &Restore Defaults &Delete &Add &Close OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Provides contextual suggestions</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Name Nimi Keywords OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 PasswordDialog Authentication Required Nõutud audentimine DUMMY ICON INTRO TEXT DUMMY Username: Kasutajanimi: Password: Salasõna: PlainTextEditSearch Not Found Ei leitud ProxyDialog Proxy Authentication Audentimine puhverserveriga Connect to proxy Ühendu puhverserveriga Username: Kasutajanimi: Password: Salasõna: QObject The file is not an XBEL version 1.0 file. See fail ei ole XBEL versioon 1.0 vormingus. Unknown title Tundmatu pealkiri The file is not an OpenSearch 1.1 file. RequestModel Address Aadress SearchBanner < < > > Done Valmis Highlight All SearchLineEdit Search Otsi Settings Settings Eelistused General Üldine Home: Koduleht: Set to current page Muuda hetkel avatud leheks Remove history items: Eemalda ajaloo elemendid: After one day Pärast ühte päeva After one week Pärast ühte nädalat After two weeks Pärast kahte nädalat After one month Pärast ühte kuud After one year Pärast ühte aastat Manually Käsitsi Open links from applications: Ava viitasid teistest rakendustest: In a tab in the current window Aktiivse akna uues sakis In a new window Uues aknas Appearance Välimus Fixed-width font: Fikseeritud laiusega kirjatüüp: Privacy Privaatsus Web Content Veebilehtede sisu Enable Plugins Luba pistikprogrammid Enable Javascript Luba Javascript Cookies Küpsised Accept Cookies: Luba küpsiseid: Always Alati Never Mitte kunagi Only from sites you navigate to Ainult veebilehtedelt, mida külastan Exceptions... Erandid... Keep until: Hoia küpsiseid kuni: They expire Nad aeguvad I exit the application Rakendus suletakse At most 90 days Ülimalt 90 päeva Cookies... Küpsised... Proxy Puhverserver Enable proxy Kasuta puhverserverit Type: Tüüp: Socks5 Socks5 Http HTTP Host: Hostinimi: Port: Port: User Name: Kasutajanimi: Password: Salasõna: Advanced Muud Style Sheet: Stiilileht: Downloads Allalaadimised Ask for a destination each time Küsi sihtkataloogi iga allalaadimise puhul Use this destination: Kasuta seda kataloogi: Standard font: Vaikimisi kirjatüüp: Times 16 Times 16 Select... Vali... Courier 13 Courier 13 On application exit Rakenduse sulgemisel Enable Images Näita pilte Tabs Sakid Select tabs and windows as they are created Vali sakid ja aknad kui nad luuakse Confirm when closing multiple tabs Küsi kinnitust mitme saki sulgemisel On startup: Programmi käivitamisel: Show my home page Näita kodulehte Show a blank page Näita tühja lehte Restore windows and tabs from last time Taasta aknad ja sakid eelmisest korrast Preferences Home Page: View Images Keep Cookies Until: Show only one close button instead of one for each tab Use proxy server Host name: Preferred languages for viewing webpages in: Block Popup Windows Opening links Links that want to open in a new window: In a new selected tab in the current window In a new tab in the current window In the current tab Http (Secure) Http (Transparent) Use ClickToFlash on flash plugins Filter Tracking Cookies Confirm when closing multiple tabs or windows Quit the application when last tab is closed Enable network cache Maximum Size: MB Use the default search engine as fallback when the URL given by the user is invalid Choose Directory... A cookie session ends: When I exit the application 1 day 2 days 3 days 7 days 30 days AutoFill AutoFill web forms: User names and passwords Edit... Browse... SettingsDialog Restart required The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. Choose Directory Choose CSS File SourceViewer Loading... Laadimine... &Edit &Redigeeri &Find &Otsi &View &Vaade Source of Page %1 TabBar New &Tab Uus &sakk Duplicate Tab &Duplikeeri sakk &Close Tab S&ulge sakk Close &Other Tabs Sulge &teised sakid Reload Tab Lae sakk uuesti Reload All Tabs Lea kõik sakid uuesti Show Tab Bar Näita sakkide riba Hide Tab Bar Peida sakkide riba TabWidget New &Tab Uus sa&kk &Close Tab Sul&ge sakk Show Next Tab Näita &järgmist sakki Show Previous Tab Näita &eelmist sakki Recently Closed Tabs &Viimati suletud sakid (Untitled) (nimetu) Do you really want to close this page? Kas Te tõesti soovite selle lehekülje sulgeda? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Te olete seda lehekülge muutnud. Lehekülje sulgemisel muutused kaotatakse.Kas Te tõesti soovite selle lehekülje sulgeda? Ctrl-] Ctrl-[ Untitled Saved Tabs Loading... Laadimine... Loading %1% (%2 %3)... Finished loading Failed to load Bookmark All Tabs ToolbarSearch No Recent Searches Hiljutisi otsinguid pole Recent Searches Hiljuti tehtud otsingud Clear Recent Searches Unusta hiljuti tehtud otsingud Suggestions Add '%1' WebPage Error loading page: %1 Viga lehekülje laadimisel: %1 When connecting to: %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. If the address is correct, try checking the network connection. Resending POST request In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? WebView Open in New &Window Ava uues &aknas Open in New &Tab Ava uues &sakis Save Lin&k Salvesta &viit &Bookmark This Link Lisa viit &järjehoidjaks &Copy Link Location &Kopeeri viidatav aadress Open Image in New &Window Ava pilt uues &aknas Open Image in New &Tab Ava pilt uues &sakis &Save Image Salvesta &pilt &Copy Image &Kopeeri pilt C&opy Image Location K&opeeri pildi aadress Loading... Laadimine... Search with... Add to the toolbar search Method not supported %1 method is not supported. Search engine Choose the desired search engine Engine name Type in a name for the engine Block Image WebViewSearch Not Found Ei leitud arora-0.11.0/src/locale/fi_FI.ts000066400000000000000000002154371145000221100162450ustar00rootroot00000000000000 AboutDialog About Tietoja Authors Tekijät License Lisenssi Lightweight WebKit-based web browser Kevyt WebKit-pohjainen verkkoselain <a href="http://arora-browser.org">http://arora-browser.org</a> Close Sulje About %1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> WebKit version: %1 AcceptLanguage Languages Kielet Languages: in order of preference: Kielet mielekkyysjärjestyksessä: Move &Up Siirrä &ylös Move &Down Siirrä &alas &Remove &Poista Add... Lisää... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 AdBlockDialog Add Custom Rule Learn more about writing rules... Update Subscription Browse Subscriptions... Remove Subscription AdBlock Configuration Enable AdBlock Action AdBlockManager Custom Rules AdBlockModel Rule Sääntö AdBlockSchemeAccessHandler Subscribe? Subscribe to this AdBlock subscription? %1 AddBookmarkDialog Add Bookmark Lisää kirjanmerkki Type a name for the bookmark, and choose where to keep it. Kirjoita nimi kirjanmerkille ja valitse minne se lisätään. Url Url Title Otsikko Add Folder Lisää kansio AutoFillDialog Form Passwords Remove Poista Remove All AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. Never for this site Not now AutoFillModel WebSite User Name BookmarksDialog Open Avaa Open in New Tab Avaa uudessa välilehdessä Edit Name Muokkaa nimeä Edit Address Muokkaa osoitetta Delete Poista New Folder Uusi kansio Bookmarks Kirjanmerkit &Remove &Poista Add Folder Lisää kansio BookmarksManager Bookmarks Bar Kirjanmerkkipalkki Bookmarks Menu Kirjanmerkkivalikko Error when loading bookmarks on line %1, column %2: %3 Virhe kirjanmerkin latauksessa rivillä %1, sarakkeella %2 %3 Toolbar Bookmarks Työkalurivin kirjanmerkit Menu Valikko Open File Avaa tiedosto Imported %1 Tuotu %1 Save File Tallenna tiedosto %1 Bookmarks.xbel Export error Vie virhe error saving bookmarks virhe kirjanmerkkien tallennuksessa Remove Bookmark Poista kirjanmerkki Insert Bookmark Lisää kirjanmerkki Name Change Nimen muutos Address Change Osoitteen muutos Error when loading html bookmarks: %1 Virhe ladattaessa html kirjanmerkkejä: %1 Name Change Undo bookmark title change Nimen muutos Address Change Undo bookmark url change Osoitteen muutos XBEL bookmarks HTML Netscape bookmarks htmlToXBel tool required htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. Loading Bookmark Error when loading HTML bookmarks: %1 BookmarksMenu Open in Tabs Avaa välilehtiin BookmarksModel Title Otsikko Address Osoite BookmarksToolBar Bookmark Kirjanmerkkipalkki Open Avaa Open in New &Tab Avaa uudessa &välilehdessä Remove Poista Add Bookmark... Lisää kirjanmerkki... Add Folder... Lisää kansio... Bookmarks Kirjanmerkit BrowserApplication (Change: %1 %2) (Muuta: %1 %2) There are %1 windows and %2 tabs open Do you want to quit anyway? %1 ikkunaa ja %2 välilehteä ovat avoinna Haluatko lopettaa siitä huolimatta? Restore failed Palautus epäonnistui The saved session will not be restored because Arora crashed while trying to restore this session. Tallennettua istuntoa ei palautettu koska Arora kaatui yrittäessään palauttaa tätä istuntoa. Arora crashed while trying to restore this session. Should I try again? BrowserMainWindow &File &Tiedosto &New Window &Uusi ikkuna &Open File... &Avaa tiedosto... Open &Location... Avaa &sijainti... &Save As... &Tallenna nimellä... &Import Bookmarks... &Tuo kirjanmerkkejä... &Export Bookmarks... &Vie kirjanmerkkejä... P&rint Preview... T&ulostuksen esikatselu... &Print... &Tulosta... Private &Browsing... Yksityinen &selailu... Close Window Sulje ikkuna &Quit &Lopeta &Edit &Muokkaa &Undo &Kumoa &Redo &Tee uudelleen Cu&t Leikka&a &Copy &Kopioi &Paste &Liitä &Find &Etsi Find Nex&t Etsi seuraav&a Find P&revious Etsi e&dellinen Prefere&nces... Asetu&kset... Ctrl+, &View &Näytä Ctrl+| Ctrl+/ Show Menu Bar Näytä valikkopalkki &Reload Page &Päivitä sivu &Stop &Pysäytä Zoom &In &Suurenna Zoom &Normal &Palauta Zoom &Out &Pienennä Zoom &Text Only Suurenna vain &tekstiä Page S&ource Sivun l&ähdekoodi Ctrl+Alt+U &Full Screen &Koko näyttö Hi&story Sivuhi&storia Back Edellinen Forward Seuraava Home Aloitussivu Restore Last Session Palauta edellinen istunto &Bookmarks &Kirjanmerkit Show All Bookmarks... Näytä kaikki kirjanmerkit... Add Bookmark... Lisää kirjanmerkki... Add Folder... LIsää kansio... &Window &Ikkuna &Tools &Työkalut Web &Search Verkko&haku Ctrl+K Web Search &Clear Private Data &Poista yksityisyystietoja Ctrl+Shift+Delete Clear Private Data Show &Network Monitor Näytä &verkkomonitori Enable Web &Inspector Käytä Web &Inspectoria &Help &Ohje Switch application language Vaihda ohjelman kieli About &Qt Tietoja &Qt:sta About &%1 About Browser Tietoja &%1:sta Navigation Navigointipalkki Show Status Bar Näytä tilarivi Hide Status Bar Piilota tilarivi Show Toolbar Näytä työkalupalkki Hide Toolbar Piilota työkalupalkki Show Bookmarks Bar Näytä kirjanmerkkipalkki Hide Bookmarks Bar Piilota kirjanmerkkipalkki %1 - Arora Page title and Browser name Open Web Resource Avaa web-tiedostoja Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Web-tiedostot (*.html *.htm *.svg *.png *.gif *.svgz);;Kaikki tiedostot (*.*) Print Document Tulosta dokumentti Are you sure you want to turn on private browsing? Oletko varma että haluat sulkea yksityisen selailun? <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Kun yksityinen selailu on päällä, jotkut toiminnot liittyen yksityisyyteesi ovat pois päältä:<ul><li> Verkkosivuja ei lisätä sivuhistoriaan.</li><li>Tiedostot poistetaan automaattisesti Lataukset ikkunasta</li><li>Uusia evästeitä ei lisätä, eikä nykyisiin evästeisiin pääse käsiksi.</li><li>Sivujen kuvakkeita ei tallenneta, istuntoja ei tallenneta.</li><li>Hakuja ei lisätä ponnahdusikkuna-valikkoon hakulaatikossa.</li></ul>Kunnes suljet ikkunan, vois yhä napsauttaa Edellinen ja Seuraava painikkeita palataksesi verkkosivulle minkä olet avannut. Are you sure you want to close the window? There are %1 tabs open Oletko varma että haluat sulkea ikkunan? Siinä on %1 välilehteä avoinna Web Inspector The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Web Inspector toimii oikein vain sivuilla jotka on päivitetty sen käyttöön ottamisen jälkeen. Haluatko päivittää kaikki sivut? Stop loading the current page Lopeta nykyisen sivun lataaminen Reload the current page Päivitä nykyinen sivu Downloads Lataukset Ctrl+Y Download Manager Default Text Encoding Select &All Alt+Ctrl+B Options... Configure Search Engines... &Ad Block... When private browsing is turned on, some actions concerning your privacy will be disabled: Webpages are not added to the history. Items are automatically removed from the Downloads window. New cookies are not stored, current cookies can't be accessed. Site icons won't be stored. Session won't be saved. Searches are not added to the pop-up menu in the search box. No new network cache is written to disk. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Private Browsing ClearButton Clear Tyhjennä ClearPrivateData Clear Private Data Poista yksityisyystietoja Clear the following items: Poista seuraavat tiedot: &Browsing History &Sivuhistoria &Download History &Lataukset &Search History &Haut &Cookies &Evästeet C&ached Web Pages &Välimuisti Website &Icons Verkkosivujen &kuvakkeet Clear &Private Data Poista &yksityisyystiedot &Cancel &Peruuta ClickToFlash Load Load All Add %1 to Whitelist Remove from Whitelist Settings Load Flash ClickToFlashSettings Whitelist sites CookieExceptionsModel Website Verkkosivu Rule Sääntö Allow Salli Block Estä Allow For Session Salli istunnon ajaksi CookieModel Website Verkkosivu Name Nimi Path Polku Secure Turvallinen Expires Vanhenee Contents Sisältö true tosi false epätosi Session cookie CookiesDialog Cookies Evästeet &Remove &Poista Remove &All Cookies Poista &kaikki evästeet Add &Rule CookiesExceptionsDialog Cookie Exceptions Evästeiden poikkeukset New Exception Uusi poikkeus Domain: Block Estä Allow For Session Salli istunnon ajaksi Allow Salli Exceptions Poikkeukset &Remove &Poista Remove &All Poista &kaikki DownloadDialog Downloads Lataukset Clean up Tyhjennä 0 Items 0 tiedostoa DownloadItem Form Lomake Ico Kuvake Filename Tiedostonimi Try Again Yritä uudestaan Stop Pysäytä Open Avaa Save File Tallenna tiedosto Download canceled: %1 Lataus keskeytetty: %1 Error opening output file: %1 Virhe avattaessa tiedostoa: %1 Error saving: %1 Virhe tallennettaessa: %1 Network Error: %1 Verkon virhe: %1 seconds sekunnit - %n minutes remaining - %n minuutti jäljellä - %n minuuttia jäljellä - %n seconds remaining - %n sekunti jäljellä - %n sekuntia jäljellä %1 of %2 (%3/sec) %4 %1/%2 (%3/sek) %4 ? %1 of %2 - Stopped %1/%2 - Pysäytetty bytes tavua kB kt MB Mt %1 of %2 (%3/sec) - %4 %1/%2 (%3/sek) %4 Download directory (%1) couldn't be created. DownloadManager There are %1 downloads in progress Do you want to quit anyway? Käynnissä on %1 latausta Haluatko lopettaa siitä huolimatta? %n Download(s) %n Lataus %n Latausta %n minutes remaining %n minuutti jäljellä %n minuuttia jäljellä %n seconds remaining %n sekunti jäljellä %n sekuntia jäljellä bytes tavua kB kt MB Mt GB FileAccessReply No Error Error opening: %1: No such file or directory Unable to read %1 Contents of %1 %1 KB HistoryDialog Open Avaa Copy Kopio Delete Poista History Historia &Remove &Poista Remove &All Poista &kaikki HistoryMenu Show All History Näytä koko historia Clear History... Tyhjennä historia... Clear History Poista historia Do you want to clear the history? Haluatko poistaa historian? HistoryModel Title Otsikko Address Osoite HistoryTreeModel Earlier Today Aiemmin tänään %n item(s) %n kohde %n kohdetta JavaScriptAroraObject Welcome to Arora! Arora Start Search! Search results provided by About Arora LanguageManager No translation files are installed. Yhtään käännöstä ei ole asennettu. Choose language Valitse kieli <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Voit käyttää eri kieltä<br>kuin käyttöjärjestelmän oletus.</p><p>Ole hyvä ja valitse kieli mitä käytetään</p> No translation files are installed at %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Anna käyttäjätunnus ja salasana palvelimelle %2, sivuston viesti "%1"</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Yhdistä välityspalvelimeen "%1" käyttäen:</qt> - SSL Errors - SSL Virheet <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>SSL virheet:<br/><br/><tt>%1</tt><ul><li>%2</li></ul> Haluatko sivuuttaa nämä virheet?</qt> <qt>Certifactes:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Varmenteet:<br/>%1<br/>Hyväksytkö kaikki nämä varmenteet?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> Issuer: %1 Not valid before: %1 Valid until: %1 Alternate Names: NetworkMonitor Name Nimi Value Arvo NetworkMonitorDialog Network Monitor Verkkomonitori Network Requests Verkon pyynnöt Request Headers Pyynnön otsakkeet Response Headers Vastauksen otsakkeet &Remove &Poista Remove &All Requests Poista &kaikki pyynnöt OpenSearchDialog Open File Avaa tiedosto OpenSearch Error %1 is not a valid OpenSearch 1.1 description or is already on your list. You must have at least one search engine in here. OpenSearch Manager &Restore Defaults &Delete &Add &Close OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Provides contextual suggestions</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Name Nimi Keywords OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 PasswordDialog Authentication Required Tunnistautuminen vaaditaan DUMMY ICON INTRO TEXT DUMMY Username: Käyttäjätunnus: Password: Salasana: PlainTextEditSearch Not Found Ei löytynyt ProxyDialog Proxy Authentication Välityspalvelimen varmennus Connect to proxy Yhdistä välityspalvelimeen Username: Käyttäjätunnus: Password: Salasana: QObject The file is not an XBEL version 1.0 file. Tiedosto ei ole XBEL versio 1.0 tiedosto. Unknown title Tuntematon otsikko The file is not an OpenSearch 1.1 file. RequestModel Redirect: %1 Uudelleenohjaus: %1 Method Menetelmä Address Osoite Response Vastaus Length Pituus Content Type Sisältötyyppi Info Tietoja SearchBanner Form Lomake Done Valmis Highlight All SearchLineEdit Search Haku Settings Preferences Asetukset General Yleiset On startup: Käynnistettäessä: Show my home page Näytä kotisivuni Show a blank page Näytä tyhjä sivu Restore windows and tabs from last time Palauta ikkunat ja välilehdet viime kerralta Home Page: Kotisivu: Set to current page Käytä avointa sivua Remove history items: Poista historia: After one day Päivän jälkeen After one week Viikon jälkeen After two weeks Kahden viikon jälkeen After one month Kuukauden jälkeen After one year Vuoden jälkeen Manually Käsin On application exit Lopetettaessa Downloads Lataukset Ask for a destination each time Kysy kansiota joka kerta Use this destination: Käytä kansiota: Appearance Ulkoasu Standard font: Oletuskirjasinlaji: Select... Valitse... Fixed-width font: Tasalevyinen kirjasin: Preferred languages for viewing webpages in: Kieli, jolla sivut näytetään: Privacy Yksityisyys Web Content Sisältö Block Popup Windows Estä ponnahdusikkunat Enable Plugins Käytä liitännäisiä Enable Javascript Käytä Javascriptiä View Images Näytä kuvat Cookies Evästeet Accept Cookies: Hyväksy evästeet: Always Aina Never Ei ikinä Only from sites you navigate to Ainoastaan sivuilta joille menet Exceptions... Poikkeukset... Keep Cookies Until: Säilytä evästeet: They expire kunnes ne vanhenevat I exit the application kunnes selain suljetaan At most 90 days Korkeintaan 90 päivää Cookies... Evästeet... Tabs Välilehdet Select tabs and windows as they are created Valitse välilehdet ja ikkunat silloin kun ne luodaan Confirm when closing multiple tabs Varoita, kun yritän sulkea useita välilehtiä samanaikaisesti Show only one close button instead of one for each tab Näytä ainoastaan yksi sulkupainike sen sijaan, että jokaisella välilehdella olisi oma sulkupainike Opening links Avautuvat linkit Links that want to open in a new window: Avaa linkit jotka haluavat avautua uuteen ikkunaan: In a new window Uuteen ikkunaan In a new selected tab in the current window Uuteen valittuun välilehteen nykyisessä ikkunassa In a new tab in the current window Uuteen välilehteen nykyisessä ikkunassa In the current tab Nykyiseen välilehteen Open links from applications: Avaa linkit: Proxy Välityspalvelin Use proxy server Käytä välityspalvelinta Type: Tyyppi: Socks5 Http (Secure) Http (turvallinen) Http (Transparent) Http (läpinäkyvä) Host name: Verkko-osoite: Port: Portti: User Name: Käyttäjätunnus: Password: Salasana: Advanced Kehittyneet Style Sheet: Tyylitiedosto: Use ClickToFlash on flash plugins Filter Tracking Cookies Confirm when closing multiple tabs or windows Quit the application when last tab is closed Enable network cache Maximum Size: MB Use the default search engine as fallback when the URL given by the user is invalid Choose Directory... A cookie session ends: When I exit the application 1 day 2 days 3 days 7 days 30 days AutoFill AutoFill web forms: User names and passwords Edit... Browse... SettingsDialog Restart required The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. Choose Directory Choose CSS File SourceViewer Loading... Ladataan... &Edit &Muokkaa &Find &Etsi &View &Katso &Wrap lines &Rivitys Source of Page Sivun lähdekoodi Source of Page %1 TabBar Show Tab Bar Näytä välilehtipalkki Hide Tab Bar Piilota välilehtipalkki Duplicate Tab Kahdenna välilehti &Close Tab &Sulje välilehti Close &Other Tabs Sulje &muut välilehdet Reload Tab Päiviä välilehti Reload All Tabs Päivitä kaikki välilehdet TabWidget Untitled Nimetön Saved Tabs Tallennetut välilehdet Do you really want to close this page? Oletko varma että haluat sulkea tämän sivun? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Olet muokannut tätä sivua ja jos se suljetaan menetät muokkaukset. Haluatko varmasti sulkea tämän sivun? Loading... Ladataan... Loading %1% (%2 %3)... Ladataan %1 % (%2 %3)... Finished loading Ladattu Failed to load Lataus epäonnistui Show Next Tab Näytä seuraava välilehti Ctrl-] Show Previous Tab Näytä edellinen välilehti Ctrl-[ Recently Closed Tabs Äskettäin suljetut välilehdet New &Tab Uusi &välilehti &Close Tab &Sulje välilehti Bookmark All Tabs Lisää kaikki välilehdet kirjanmerkkeihin ToolbarSearch No Recent Searches Ei äskeisiä hakuja Recent Searches Äskeiset haut Clear Recent Searches Tyhjennä äskeiset haut Suggestions Ehdotukset Add '%1' WebPage Error loading page: %1 Virhe ladattaessa sivua: %1 When connecting to: %1. Yhdistettäessä: %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org Tarkista osoite virheiden varalta, esim. "<b>ww</b>.arora-browser.org" oikean muodon sijaan "<b>www</b>.arora-browser.org" If the address is correct, try checking the network connection. Jos osoite on oikea, tarkista yhteytesi. If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Jos tietokoneesi tai verkkosi on suojattu palomuurilla tai välityspalvelimella, tarkista että selaimella on pääsy verkkoon. Resending POST request In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? WebView Open in New &Window Avaa uudessa &ikkunassa Open in New &Tab Avaa uudessa &välilehdessä Save Lin&k Tallenna osoit&e &Bookmark This Link &Lisää tämä osoite kirjanmerkkeihin &Copy Link Location &Kopioi osoite Open Image in New &Window Avaa kuva uudessa &ikkunassa Open Image in New &Tab Avaa kuva uudessa &välilehdessä &Save Image &Tallenna kuva &Copy Image &Kopioi kuva C&opy Image Location K&opioi kuvan osoite Loading... Ladataan... Search with... Add to the toolbar search Method not supported %1 method is not supported. Search engine Choose the desired search engine Engine name Type in a name for the engine Block Image WebViewSearch Not Found Ei löytynyt arora-0.11.0/src/locale/fr_CA.ts000066400000000000000000002177421145000221100162440ustar00rootroot00000000000000 AboutDialog About À propos Authors License Lightweight WebKit-based web browser <a href="http://arora-browser.org">http://arora-browser.org</a> Close About %1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> WebKit version: %1 AcceptLanguage Languages Languages: in order of preference: Move &Up Move &Down &Remove Add... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 AdBlockDialog Add Custom Rule Learn more about writing rules... Update Subscription Browse Subscriptions... Remove Subscription AdBlock Configuration Enable AdBlock Action AdBlockManager Custom Rules AdBlockModel Rule AdBlockSchemeAccessHandler Subscribe? Subscribe to this AdBlock subscription? %1 AddBookmarkDialog Add Bookmark Ajouter un marque-page Type a name for the bookmark, and choose where to keep it. Entrer un nom pour le marque-page et choisissez où le conserver. Url Title Titre Add Folder Ajouter un dossier AutoFillDialog Form Passwords Remove Remove All AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. Never for this site Not now AutoFillModel WebSite User Name BookmarksDialog Open Ouvrir Delete Supprimer New Folder Nouveau dossier Bookmarks Marque-pages &Remove &Retirer Add Folder Ajouter un dossier Open in New Tab Ouvrir dans un nouvel onglet Edit Name Edit Address BookmarksManager Error when loading bookmarks on line %1, column %2: %3 Erreur pendant le chargement des marque-pages à la ligne %1, colonne %2: %3 Toolbar Bookmarks Barre d'outils Marque-pages Menu Menu Open File Ouvrir un fichier Imported %1 %1 a été importé Save File Enregistrer le fichier %1 Bookmarks.xbel Export error Erreur d'exportation error saving bookmarks Erreur de sauvegarde des marque-pages Remove Bookmark Retirer le marque-page Insert Bookmark Insérer un marque-page Name Change Changement de nom Address Change Changement d'adresse Bookmarks Bar Bookmarks Menu Name Change Undo bookmark title change Changement de nom Address Change Undo bookmark url change Changement d'adresse XBEL bookmarks HTML Netscape bookmarks htmlToXBel tool required htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. Loading Bookmark Error when loading HTML bookmarks: %1 BookmarksMenu Open in Tabs BookmarksModel Title Titre Address Adresse BookmarksToolBar Bookmark Marque-page Open Ouvrir Open in New &Tab Ouvrir dans un nouvel &onglet Remove Add Bookmark... Ajouter un marque-page... Add Folder... Bookmarks Marque-pages BrowserApplication There are %1 windows and %2 tabs open Do you want to quit anyway? Il y a %1 fenêtres et %2 onglets ouverts. Voulez-vous tout de même quitter? Restore failed Arora crashed while trying to restore this session. Should I try again? BrowserMainWindow &File &Fichier &New Window &Nouvelle fenêtre &Open File... &Ouvrir un fichier... Open &Location... Ouvrir une &adresse... &Save As... Enregistrer &sous... &Import Bookmarks... &Importer des marque-pages... &Export Bookmarks... &Exporter les marque-pages... P&rint Preview... Ape&rçu avant impression... &Print... Im&pression Private &Browsing... Navigation en mode privé &Quit &Quitter &Edit &Édition &Undo &Annuler &Redo &Refaire Cu&t &Couper &Copy Co&pier &Paste C&oller &Find &Rechercher &Find Next Rechercher le &suivant &Find Previous Rechercher le p&récédent &Preferences &Préférences Ctrl+, &View &Affichage Ctrl+| Ctrl+/ &Stop A&rrêter Reload Page &Recharger la page &Make Text Bigger Agrandir le texte &Make Text Smaller Réduire le texte &Make Content Bigger Agrandir la page &Make Content Smaller Réduire la page &Make Text Normal Réinitialiser la taile du texte &Make Content Normal Réinitialiser la taile de la page Page S&ource Code s&ource de la page Ctrl+Alt+U &Full Screen &Plein écran Hi&story &Historique Back Page précédente Forward Page suivante Home Page d'accueil Restore Last Session Restaurer la dernière session &Bookmarks &Marque-pages Manage Bookmarks... Gérer les marque-pages Add Bookmark... Ajouter un marque-page... &Window &Fenête &Tools &Outils Web &Search &Recherche Web Ctrl+K Web Search Enable Web &Inspector Activer l'&inspecteur Web &Help &Aide About &Qt À propos de &Qt About &Arora À propos d'&Arora Navigation Show Status Bar Afficher la barre d'état Hide Status Bar Masquer la barre d'état Show Toolbar Afficher la barre d'outils Hide Toolbar Masquer la barre d'outils Show Bookmarks bar Afficher la barre de marque-pages Hide Bookmarks bar Masquer la barre de marque-pages %1 - Arora Page title and Browser name Open Web Resource Ouvrir un fichier Web Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Fichier Web (*.html *.htm *.svg *.png *.gif *.svgz);;Tous les fichiers (*.*) Print Document Imprimer le document Are you sure you want to turn on private browsing? Êtes-vous sûr de vouloir activer la navigation en mode privé? <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttonsto return to the webpages you have opened. <b>%1</b><br><br>Lorsque la navigation en mode privé est activée, certaines actions concernant votre vie privée seront désactivées:<ul><li> Les pages Web ne sont pas ajoutées à l'historique.</li><li> Les téléchargements sont automatiquement retiré de la fenêtre des téléchargements.</li><li> Les nouveaux fichiers témoins ne sont pas conservés et les fichiers témoins déjà existant ne sont pas accessibles.</li><li> Les icônes de sites Web et la session ne sont pas enregistrés.</li><li> Les recherches ne sont pas ajoutées dans la liste des recherches récentes.</li></ul>Jusqu'à la fermeture de l'écran, vous pouvez encore utiliser les boutons Page précédente et Page suivante. Are you sure you want to close the window? There are %1 tabs open Êtes-vous sûr de vouloir fermer cette fenêtre? Il y a %1 onglets ouverts. Page Source of %1 Code source de %1 Web Inspector Inspecteur Web The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? L'inspecteur Web ne fonctionne que pour les pages qui ont été chargées après son activation. Voulez-vous recharcher toutes les pages? Stop loading the current page Arrêter le chargement de la page en cours Reload the current page Recharger la page en cours Downloads Téléchargements &Clear Private Data &Effacer l'information privée Ctrl+Shift+Delete Clear Private Data Find P&revious &Reload Page Show Bookmarks Bar Hide Bookmarks Bar Find Nex&t Show Menu Bar Switch application language Close Window Zoom &In Zoom &Normal Zoom &Out Zoom &Text Only Show All Bookmarks... Add Folder... About &%1 About Browser Ctrl+Y Download Manager Default Text Encoding Select &All Alt+Ctrl+B Options... Configure Search Engines... &Ad Block... When private browsing is turned on, some actions concerning your privacy will be disabled: Webpages are not added to the history. Items are automatically removed from the Downloads window. New cookies are not stored, current cookies can't be accessed. Site icons won't be stored. Session won't be saved. Searches are not added to the pop-up menu in the search box. No new network cache is written to disk. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Private Browsing ClearButton Clear Effacer ClearPrivateData Clear Private Data Effacer les informations privéess Clear the following items: Vider les items suivants: &Browsing History Historique de navigation &Download History Historique de téléchargement &Search History Historique de recherche &Cookies Fichiers témoins C&ache Mémoire cache Website &Icons Icônes de sites Web Clear &Private Data Effacer les informations privéess &Cancel &Annuler C&ached Web Pages ClickToFlash Load Load All Add %1 to Whitelist Remove from Whitelist Settings Paramètres Load Flash ClickToFlashSettings Whitelist sites CookieExceptionsModel Website Site Web Status Statut Allow Permettre Block Bloquer Allow For Session Permettre pour la session Rule CookieModel Website Site Web Name Nom Path Chemin d'accès Secure Sécure Expires Expire Contents Contenu true false Session cookie CookiesDialog Cookies Fichiers témoins &Remove &Retirer Remove &All Cookies Retirer tous les fichiers témoins Add &Rule CookiesExceptionsDialog Cookie Exceptions Exceptions pour les fichiers témoins New Exception Nouvelle exception Domain: Domaine: Block Bloquer Allow For Session Permettre pour la session Allow Permettre Exceptions Exceptions &Remove Retirer Remove &All Tout retirer DownloadDialog Downloads Téléchargements Clean up Vider la liste 0 Items 0 items DownloadItem Form Formulaire Ico Filename Nom de fichier Try Again Essayer à nouveau Stop Interrompre Open Ouvrir Save File Enregistrer le fichier Download canceled: %1 Téléchargement annulé: %1 Error opening save file: %1 Erreur à l'ouverture du fichier destination: %1 Error saving: %1 Erreur à l'enregistrement: %1 Network Error: %1 Erreur réseau: %1 seconds secondes minutes minutes - %4 %5 remaining - %4 %5 restant %1 of %2 (%3/sec) %4 %1 de %2 (%3/sec) %4 ? %1 of %2 - Stopped %1 de %2 - Interrompu bytes octets kB kO MB MO Error opening output file: %1 %1 of %2 (%3/sec) - %4 Download directory (%1) couldn't be created. DownloadManager 1 Download 1 téléchargement %1 Downloads %1 téléchargements %n Download(s) There are %1 downloads in progress Do you want to quit anyway? %n minutes remaining %n seconds remaining bytes octets kB kO MB MO GB FileAccessReply No Error Error opening: %1: No such file or directory Unable to read %1 Contents of %1 %1 KB HistoryDialog Open Ouvrir Copy Copier Delete Supprimer History Historique &Remove &Retirer Remove &All Tout retirer HistoryMenu Show All History Montrer tout l'historique Clear History Effacer l'historique Clear History... Do you want to clear the history? HistoryModel Title Titre Address Adresse HistoryTreeModel Earlier Today Plutôt aujourd'hui %1 items %1 items %n item(s) JavaScriptAroraObject Welcome to Arora! Arora Start Search! Search results provided by About Arora LanguageManager Choose language <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> No translation files are installed at %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Entrer le nombre d'utilisateur et le mot de passe pour "%1" sur %2</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Se brancher au serveur mandataire "%1" en utilisant:</qt> SSL Errors: %1 %2 Do you want to ignore these errors? Erreurs SSL: %1 %2 Voulez-vous ignorer ses erreurs? Do you want to accept all these certificates? Voulez-vous accepter tous ces certificats? - SSL Errors <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> Issuer: %1 Not valid before: %1 Valid until: %1 Alternate Names: NetworkMonitor Name Nom OpenSearchDialog Open File Ouvrir un fichier OpenSearch Error %1 is not a valid OpenSearch 1.1 description or is already on your list. You must have at least one search engine in here. OpenSearch Manager &Restore Defaults &Delete &Add &Close OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Provides contextual suggestions</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Name Nom Keywords OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 PasswordDialog Authentication Required Authentification requise DUMMY ICON INTRO TEXT DUMMY Username: Nom d'utilisateur: Password: Mot de passe: PlainTextEditSearch Not Found Non trouvé ProxyDialog Proxy Authentication Authentification au serveur mandataire Connect to proxy Se brancher au serveur mandataire Username: Nom d'utilisateur: Password: Mot de passe: QObject The file is not an XBEL version 1.0 file. Ce fichier n'est pas un fichier XBEL version 1.0. Unknown title Titre inconnu The file is not an OpenSearch 1.1 file. RequestModel Address Adresse SearchBanner Form Fromulaire Done Fermer Highlight All SearchLineEdit Search Rechercher Settings Settings Paramètres General Général Home: Page d'accueil: Set to current page Utiliser la page en cours Remove history items: Retirer les éléments de l'historique: After one day Après une journée After one week Après une semaine After two weeks Après 2 semaines After one month Après un mois After one year Après un an Manually Manuellement Open links from applications: Ouvrir les liens provenant d'applications: In a tab in the current window Dans un onglet dans la fenêtre en cours In a new window Dans une nouvelle fenêtre Appearance Apparence Standard font: Police par défaut: Select... Sélectionner... Fixed-width font: Police à espacement constant: Privacy Vie privée Web Content Contenu Web Enable Plugins Activer les plugiciels Enable Javascript Activer le Javascript Cookies Fichier témoins Accept Cookies: Accepter les fichiers témoins: Always Toujours Never Jamais Only from sites you navigate to Seulement des sites que vous visitez Exceptions... Exceptions... Keep until: Expiration: They expire Lorsqu'ils expirent I exit the application Lorsque je quitte l'application At most 90 days Au plus tard dans 90 jours Cookies... Fichiers témoins... Proxy Serveur mandataire Enable proxy Activer le serveur mandataire Type: Type: Socks5 Host: Hôte: Port: Port: User Name: Nom d'utilisateur: Password: Mot de passe: Advanced Avancé Style Sheet: Feuille de style: Downloads Téléchargements Ask for a destination each time Demander le dossier de destination à chaque fois Use this destination: Utiliser ce dossier On startup: Show my home page Show a blank page Restore windows and tabs from last time On application exit Tabs Select tabs and windows as they are created Preferences Home Page: View Images Keep Cookies Until: Show only one close button instead of one for each tab Use proxy server Host name: Preferred languages for viewing webpages in: Block Popup Windows Opening links Links that want to open in a new window: In a new selected tab in the current window In a new tab in the current window In the current tab Http (Secure) Http (Transparent) Use ClickToFlash on flash plugins Filter Tracking Cookies Confirm when closing multiple tabs or windows Quit the application when last tab is closed Enable network cache Maximum Size: MB Use the default search engine as fallback when the URL given by the user is invalid Choose Directory... A cookie session ends: When I exit the application 1 day 2 days 3 days 7 days 30 days AutoFill AutoFill web forms: User names and passwords Edit... Browse... SettingsDialog Restart required The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. Choose Directory Choose CSS File SourceViewer Loading... &Edit &Édition &Find &Rechercher &View &Affichage Source of Page %1 TabBar New &Tab Nouvel onglet Duplicate Tab Dupliquer l'onglet &Close Tab Fermer l'onglet Close &Other Tabs Fermer les autres onglets Reload Tab Recharger l'onglet Reload All Tabs Recharger tous les onglets Show Tab Bar Hide Tab Bar TabWidget New &Tab Nouvel onglet &Close Tab Fermer l'onglet Show Next Tab Afficher l'onglet suivant Show Previous Tab Afficher l'onglet précédent Recently Closed Tabs Onglet récement fermés (Untitled) (Sans titre) Do you really want to close this page? Voulez-vous vraiment fermer cette page? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Vous avez modifié cette page et en fermant l'onglet, vous allez perdre les modifications. Voulez-vous vraiment fermer cette page? Ctrl-] Ctrl-[ Untitled Saved Tabs Loading... Loading %1% (%2 %3)... Finished loading Failed to load Bookmark All Tabs ToolbarSearch No Recent Searches Aucune recherche récente Recent Searches Recherches récentes Clear Recent Searches Effacer les recherches récentes Suggestions Add '%1' WebPage Error loading page: %1 Erreur au chargement de la page: %1 When connecting to: %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. If the address is correct, try checking the network connection. Resending POST request In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? WebView Open in New &Window Ouvrir dans une &nouvelle fenêtre Open in New &Tab Ouvrir dans un nouvel &onglet Save Lin&k Enregistrer le &lien &Bookmark This Link Marquer le lien &Copy Link Location Copier le lien Open Image in New &Window Ouvrir l'image dans une nouvelle fenêtre Open Image in New &Tab Ouvrir l'image dans un nouvel onglet &Save Image Enregistrer l'image &Copy Image Copier l'image C&opy Image Location Copier l'adresse de l'image Loading... Search with... Add to the toolbar search Method not supported %1 method is not supported. Search engine Choose the desired search engine Engine name Type in a name for the engine Block Image WebViewSearch Not Found Non trouvé arora-0.11.0/src/locale/fr_FR.ts000066400000000000000000002214031145000221100162550ustar00rootroot00000000000000 AboutDialog Authors Auteurs License Licence Lightweight WebKit-based web browser Navigateur web léger basé sur WebKit <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> Close Fermer <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> About %1 À propos de %1 WebKit version: %1 WebKit version %1 AcceptLanguage Languages Langues Languages: in order of preference: Langues dans l'ordre de préférence : Move &Up Mo&nter Move &Down Des&cendre &Remove Sup&primer Add... Ajouter... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 Bloqué par la règle AdBlock: %1 AdBlockDialog Add Custom Rule Ajouter une règle personnalisée Learn more about writing rules... En savoir plus sur l'écriture de règles... Update Subscription Mettre à jour l'abonnement Browse Subscriptions... Parcourir les abonnements... Remove Subscription Supprimer un abonnement AdBlock Configuration Configuration d'AdBlock Enable AdBlock Activer AdBlock Action Action AdBlockManager Custom Rules Règles personnalisées AdBlockModel Rule Règle AdBlockSchemeAccessHandler Subscribe? S'abonner ? Subscribe to this AdBlock subscription? %1 Souscrire à cet abonnement AdBlock ? %1 AddBookmarkDialog Add Bookmark Ajouter un marque-page Type a name for the bookmark, and choose where to keep it. Entrez un nom pour le marque-page et choisissez où le conserver. Url URL Title Titre Add Folder Ajouter un dossier AutoFillDialog Form Passwords Mots de passe Remove Supprimer Remove All Supprimer tout AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. <b>Voulez-vous sauvegarder ce mot de passe ?</b><br> Pour voir les mots de passe que vous avez sauvegardé et en supprimer, ouvrez le panneau Complétion automatique dans les préférences. Never for this site Jamais pour ce site Not now Pas maintenant AutoFillModel WebSite Site web User Name Nom d'utilisateur BookmarksDialog Open Ouvrir Delete Supprimer New Folder Nouveau dossier Bookmarks Marque-pages &Remove Supp&rimer Add Folder Ajouter un dossier Open in New Tab Ouvrir dans un nouvel onglet Edit Name Renommer Edit Address Modifier l'URL BookmarksManager Error when loading bookmarks on line %1, column %2: %3 Erreur pendant le chargement des marque-pages à la ligne %1, colonne %2: %3 Toolbar Bookmarks Barre des marque-pages Menu Menu Open File Ouvrir un fichier Imported %1 %1 a été importé Save File Enregistrer le fichier %1 Bookmarks.xbel %1 Bookmarks.xbel Export error Erreur lors de l'exportation error saving bookmarks Erreur lors de la sauvegarde des marque-pages Remove Bookmark Supprimer le marque-page Insert Bookmark Insérer un marque-page Bookmarks Bar Barre des marque-pages Bookmarks Menu Menu des marque-pages Name Change Undo bookmark title change Changement de nom Address Change Undo bookmark url change Changement d'adresse XBEL bookmarks Marque-pages XBEL HTML Netscape bookmarks Marque-pages HTML Netscape htmlToXBel tool required L'outil htmlToXBel est requis htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. L'outil htmlToXBel, fourni avec Arora et nécessaire à l'importation de marque-pages HTML, n'est pas installé ou non disponible dans les chemins de recherche. Loading Bookmark Charger des marque-pages Error when loading HTML bookmarks: %1 Erreur lors du chargement des marque-pages HTML:%1 BookmarksMenu Open in Tabs Ouvrir dans des onglets BookmarksModel Title Titre Address Adresse BookmarksToolBar Open Ouvrir Open in New &Tab Ouvrir dans un nouvel &onglet Remove Retirer Add Bookmark... Ajouter un marque-page... Add Folder... Ajouter un dossier... Bookmarks Marque-pages BrowserApplication There are %1 windows and %2 tabs open Do you want to quit anyway? Il y a %1 fenêtres et %2 onglets ouverts. Voulez-vous tout de même quitter? Restore failed Échec de la restauration The saved session will not be restored because Arora crashed while trying to restore this session. La session enregistrée ne sera pas restaurée car Arora s'est anormalement arrêté lors de la précedente tentative de restauration. Arora crashed while trying to restore this session. Should I try again? Arora s'est planté lors de la restauration de la session. Voulez-vous réessayer ? BrowserMainWindow &File &Fichier &New Window &Nouvelle fenêtre &Open File... &Ouvrir un fichier... Open &Location... Ouvrir une &adresse... &Save As... Enregistrer &sous... &Import Bookmarks... &Importer des marque-pages... &Export Bookmarks... &Exporter les marque-pages... P&rint Preview... Ape&rçu avant impression... &Print... Im&pression... Private &Browsing... Navi&gation privée... &Quit &Quitter &Edit &Édition &Undo &Annuler &Redo &Refaire Cu&t &Couper &Copy Co&pier &Paste C&oller &Find &Rechercher Ctrl+, Ctrl+, &View &Affichage Ctrl+| Ctrl+| Ctrl+/ Ctrl+/ &Stop A&rrêter Page S&ource Code s&ource de la page Ctrl+Alt+U Ctrl+Alt+U &Full Screen &Plein écran Hi&story &Historique Back Page précédente Forward Page suivante Home Page d'accueil Restore Last Session Restaurer la dernière session &Bookmarks &Marque-pages Add Bookmark... Ajouter un marque-page... &Window &Fenêtre &Tools &Outils Web &Search &Recherche Web Ctrl+K Web Search Ctrl+K Enable Web &Inspector Activer l'&inspecteur Web &Help &Aide About &Qt À propos de &Qt Navigation Navigation Show Status Bar Afficher la barre d'état Hide Status Bar Masquer la barre d'état Show Toolbar Afficher la barre d'outils Hide Toolbar Masquer la barre d'outils %1 - Arora Page title and Browser name %1 - Arora Open Web Resource Ouvrir un fichier Web Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Fichier Web (*.html *.htm *.svg *.png *.gif *.svgz);;Tous les fichiers (*.*) Print Document Imprimer le document Are you sure you want to turn on private browsing? Êtes-vous sûr de vouloir activer la navigation privée? Are you sure you want to close the window? There are %1 tabs open Êtes-vous sûr de vouloir fermer cette fenêtre ? Il y a %1 onglets ouverts Web Inspector Inspecteur Web The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? L'inspecteur Web ne fonctionne que pour les pages qui ont été chargées après son activation. Voulez-vous recharcher toutes les pages ? Stop loading the current page Arrêter le chargement de la page en cours Reload the current page Recharger la page en cours Downloads Téléchargements &Clear Private Data &Effacer les informations privées Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Suppr Find P&revious P&récédent &Reload Page &Actualiser la Page Show Bookmarks Bar Afficher la Barre des Marque-pages Hide Bookmarks Bar Cacher la Barre des Marque-pages Find Nex&t &Poursuivre la recherche Prefere&nces... Préféren&ces... Show Menu Bar Afficher la barre de menus Switch application language Changer la langue de l'application Close Window Fermer la fenêtre Zoom &In Zoom ava&nt Zoom &Normal Taille r&éelle Zoom &Out &Zoom arrière Zoom &Text Only Zoomer uniquement le &texte Show All Bookmarks... Afficher tous les marque-pages... Add Folder... Ajouter un dossier... About &%1 About Browser À propos d'&%1 Ctrl+Y Download Manager Ctrl+Y Default Défault Text Encoding Encodage des caractères Select &All &Tout sélectionner Alt+Ctrl+B Alt+Ctrl+B <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li><li> No new network cache is written to disk.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Lorsque la navigation privée est activé, certaines actions qui concernent votre vie privée seront désactivés:<ul><li> Les sites consultés ne seront pas ajoutés à l'historique.</li><li> Les téléchargements seront automatiquement supprimés de la fenêtre des téléchargements.</li><li> Les nouveaux cookies ne seront pas stockés, les cookies actuels ne peuvent pas être accédés.</li><li> Les icônes des sites web ne seront pas stockés, la session ne sera pas sauvegardé.</li><li> Les recherches effectuées ne seront pas ajoutés aux recherches récentes.</li><li>Le cache sera désactivé.</li></ul>Vous pourrez toujours utiliser les boutons Précédent et Suivant pour naviguer dans les pages que vous avez ouvert, jusqu'à ce que vous fermiez la fenêtre. Options... Options... Configure Search Engines... Configurer les moteurs de recherche... &Ad Block... &AdBlock... When private browsing is turned on, some actions concerning your privacy will be disabled: Lorsque la navigation privée est activée, certaines actions concernant votre vie privée seront désactivées: Webpages are not added to the history. Les pages visitées ne sont pas ajoutées à l'historique. Items are automatically removed from the Downloads window. Les téléchargements sont automatiquement supprimés du gestionnaire de téléchargement. New cookies are not stored, current cookies can't be accessed. Aucun nouveau cookie n'est stocké, les cookies actuels ne sont pas accessibles. Site icons won't be stored. Les icônes des sites web ne sont pas stockées. Session won't be saved. La session n'est pas sauvegardée. Searches are not added to the pop-up menu in the search box. Les recherches effectuées ne sont pas ajoutées dans la liste déroulante des recherches. No new network cache is written to disk. Le cache réseau est désactivé. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Vous pourrez toujours cliquer sur Précédent et Suivant pour naviguer dans les pages web ouvertes, jusqu'à ce que vous fermiez la fenêtre. Private Browsing Navigation privée ClearButton Clear Effacer ClearPrivateData Clear Private Data Effacer les informations privéess Clear the following items: Vider les objets suivants: &Browsing History Historique de &Navigation &Download History Historique de &Téléchargement &Search History Historique de &Recherche &Cookies &Cookies Website &Icons &Icônes de sites web Clear &Private Data Effacer les informations &Privées &Cancel &Annuler C&ached Web Pages C&ache Web ClickToFlash Load Charger Load All Tout charger Add %1 to Whitelist Ajouter %1 à la liste blanche Remove from Whitelist Supprimer de la liste blanche Settings Paramètres Load Flash Charger Flash ClickToFlashSettings Whitelist sites Sites en liste blanche CookieExceptionsModel Website Site Web Allow Permettre Block Bloquer Allow For Session Permettre pour la session Rule Règle CookieModel Website Site Web Name Nom Path Chemin d'accès Secure Sécurisé Expires Expire Contents Contenu true vrai false faux Session cookie Cookie de session CookiesDialog Cookies Cookies &Remove &Effacer Remove &All Cookies Effacer &Tous les Cookies Add &Rule Ajouter une &règle CookiesExceptionsDialog Cookie Exceptions Exceptions pour les cookies New Exception Nouvelle exception Domain: Domaine: Block Bloquer Allow For Session Permettre pour la session Allow Permettre Exceptions Exceptions &Remove &Supp&rimer Remove &All &Tout supprimer DownloadDialog Downloads Téléchargements Clean up Vider la liste 0 Items 0 téléchargements DownloadItem Ico Ico Filename Nom de fichier Try Again Essayer à nouveau Stop Interrompre Open Ouvrir Save File Enregistrer le fichier Download canceled: %1 Téléchargement annulé: %1 Error saving: %1 Erreur à l'enregistrement: %1 Network Error: %1 Erreur réseau: %1 ? ? %1 of %2 - Stopped %1 de %2 - Interrompu Error opening output file: %1 Erreur à l'ouverture du fichier:   %1 %1 of %2 (%3/sec) - %4 %1 de %2 (%3/sec) - %4 Download directory (%1) couldn't be created. Le dossier de téléchargement (%1) n'a pas pu être créé. DownloadManager %n Download(s) %n téléchargement %n téléchargements There are %1 downloads in progress Do you want to quit anyway? Il y a %1 téléchargements en cours Voulez-vous tout de même quitter? %n minutes remaining %n minute restante %n minutes restantes %n seconds remaining %n seconde restante %n secondes restantes bytes octets kB ko MB Mo GB Go FileAccessReply No Error Pas d'erreurs Error opening: %1: No such file or directory Erreur lors de l'ouverture de %1: le fichier ou répertoire n'existe pas Unable to read %1 Impossible de lire %1 Contents of %1 Contenu de %1 %1 KB %1 ko HistoryDialog Open Ouvrir Copy Copier Delete Supprimer History Historique &Remove Supp&rimer Remove &All &Tout supprimer HistoryMenu Show All History Montrer tout l'historique Clear History Effacer l'historique Clear History... Effacer l'historique... Do you want to clear the history? Voulez vous effacer l'historique? HistoryModel Title Titre Address Adresse HistoryTreeModel Earlier Today Plus tôt aujourd'hui %n item(s) %n objet %n objets JavaScriptAroraObject Welcome to Arora! Bienvenue sur Arora! Arora Start Démarrage de Arora Search! Recherche! Search results provided by Résultats de recherche fournis par About Arora A propos d'Arora LanguageManager Choose language Choisissez la langue <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Vous pouvez utiliser une langue différente de<br>celle du système d'exploitation par défaut.</p><p>Veuillez choisir la langue à utiliser.</p> No translation files are installed. Aucun fichier de traduction n'est installé. No translation files are installed at %1. Aucun fichier de traduction n'est installé à %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Entrez le nom d'utilisateur et le mot de passe pour "%1" sur %2</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Se connecter au serveur mandataire "%1" en utilisant:</qt> - SSL Errors - Erreurs SSL <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>Erreurs SSL:<br/><br/>pour: <tt>%1</tt><ul><li>%2</li></ul> Voulez-vous ignorer ces erreurs?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Certificats: <br/>%1<br/>Voulez-vous accepter ces certificats?</qt> Issuer: %1 Émetteur: %1 Not valid before: %1 Invalide avant: %1 Valid until: %1 Valide jusqu'à: %1 Alternate Names: Noms alternatifs: OpenSearchDialog Open File Ouvrir un fichier OpenSearch OpenSearch Error Erreur %1 is not a valid OpenSearch 1.1 description or is already on your list. %1 n'est pas un descripteur OpenSearch 1.1 valide ou est déjà présent dans votre liste. You must have at least one search engine in here. Vous devez avoir au moins un moteur de recherche ici. OpenSearch Manager Gestionnaire OpenSearch &Restore Defaults &Réglages par défaut &Delete Supp&rimer &Add &Ajouter &Close &Fermer OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Description :</strong> %1 <strong>Provides contextual suggestions</strong> <strong>Afficher des suggestions contextuels</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Liste de mots clés séparés par des virgules qui pourront être tapés dans la barre d'adresse, suivi des termes à rechercher avec ce moteur Name Nom Keywords Mots clés OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 Voulez-vous ajouter le moteur suivant à votre liste de moteur de recherche ?<br /><br />Nom : %1<br />Recherche sur : %2 PasswordDialog Authentication Required Authentification requise DUMMY ICON INTRO TEXT DUMMY Username: Nom d'utilisateur: Password: Mot de passe: PlainTextEditSearch Not Found Aucun résultat ProxyDialog Proxy Authentication Authentification du serveur mandataire Connect to proxy Connexion au serveur mandataire Username: Nom d'utilisateur: Password: Mot de passe: QObject The file is not an XBEL version 1.0 file. Ce fichier n'est pas un fichier XBEL version 1.0. Unknown title Titre inconnu The file is not an OpenSearch 1.1 file. Ce fichier n'est pas un fichier OpenSearch 1.1. SearchBanner Done Fermer Highlight All Surligner tous SearchLineEdit Search Rechercher Settings General Général Set to current page Utiliser la page en cours Remove history items: Retirer les éléments de l'historique: After one day Après une journée After one week Après une semaine After two weeks Après deux semaines After one month Après un mois After one year Après un an Manually Manuellement Open links from applications: Ouvrir les liens provenant d'applications: In a new window Dans une nouvelle fenêtre Appearance Apparence Standard font: Police par défaut: Select... Sélectionner... Fixed-width font: Police à espacement constant: Privacy Vie privée Web Content Contenu Web Enable Plugins Activer les Plugins Enable Javascript Activer le Javascript Cookies Cookies Accept Cookies: Accepter les cookies: Always Toujours Never Jamais Only from sites you navigate to Seulement des sites que vous visitez Exceptions... Exceptions... They expire Lorsqu'ils expirent I exit the application Lorsque je quitte l'application At most 90 days Au plus tard dans 90 jours Cookies... Cookies... Proxy Proxy Type: Type: Socks5 Socks5 Port: Port: User Name: Nom d'utilisateur: Password: Mot de passe: Advanced Avancé Style Sheet: Feuille de style: Downloads Téléchargements Ask for a destination each time Demander le dossier de destination à chaque fois Use this destination: Utiliser ce dossier: On startup: Au démarrage: Show my home page Afficher ma page d'accueil Show a blank page Afficher une page blanche Restore windows and tabs from last time Restaurer les fenêtres et les onglets de la session précédente On application exit A la sortie de l'application Tabs Onglets Select tabs and windows as they are created Sélectionner les onglets et les fenêtres comme ils ont été créés Preferences Préférences Home Page: Page d'accueil: View Images Afficher les images Keep Cookies Until: Garder les cookies jusqu'à : Show only one close button instead of one for each tab Afficher uniquement un bouton de fermeture à la place d'un sur chaque onglet Use proxy server Utiliser le serveur proxy Host name: Nom de l'hôte: Preferred languages for viewing webpages in: Langues préférées pour visualiser les pages web: Block Popup Windows Bloquer les fenêtres popup Opening links Ouvrir les liens Links that want to open in a new window: Liens voulant s'ouvrir dans une nouvelle fenêtre: In a new selected tab in the current window Dans un nouvel onglet au premier plan dans la fenêtre courante In a new tab in the current window Dans un nouvel onglet en arrière-plan dans la fenêtre courante In the current tab Dans l'onglet courant Http (Secure) Http (Sécurisé) Http (Transparent) Http (Transparent) Use ClickToFlash on flash plugins Utiliser ClickToFlash pour les plugins flash Filter Tracking Cookies Filtrer les cookies traceurs Confirm when closing multiple tabs or windows Demander confirmation lors de la fermeture de plusieurs onglets ou fenêtres Quit the application when last tab is closed Quitter l'application quand le dernier onglet est fermé Enable network cache Activer le cache réseau Maximum Size: Taille maximum : MB Mo Use the default search engine as fallback when the URL given by the user is invalid Utiliser le moteur de recherche par défaut en secours quand l'URL donnée par l'utilisateur est invalide Choose Directory... Choisir le répertoire... A cookie session ends: Un cookie de session se termine: When I exit the application Quand je ferme l'application 1 day Après 1 jour 2 days Après 2 jours 3 days Après 3 jours 7 days Après 7 jours 30 days Après 30 jours AutoFill Complétion automatique AutoFill web forms: Formulaires complétés automatiquement: User names and passwords Noms d'utilisateur et mots de passe Edit... Édition... Browse... Parcourir... SettingsDialog Restart required Redémarrage requis The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. La configuration du cache réseau a changée. Pour que ces changements soient pris en compte, le navigateur doit être redémarrer. Choose Directory Choisir le répertoire Choose CSS File Choisir le fichier CSS SourceViewer Loading... Chargement... &Edit &Édition &Find &Rechercher &View &Affichage &Wrap lines Retours à la ligne &statiques Source of Page %1 Source de la page %1 TabBar Duplicate Tab Dupliquer l'onglet &Close Tab &Fermer l'onglet Close &Other Tabs Fermer les &autres onglets Reload Tab Recharger l'onglet Reload All Tabs Recharger tous les onglets Show Tab Bar Afficher la barre d'onglets Hide Tab Bar Cacher la barre d'onglets TabWidget New &Tab Nouvel ongle&t &Close Tab &Fermer l'onglet Show Next Tab Afficher l'onglet suivant Show Previous Tab Afficher l'onglet précédent Recently Closed Tabs Onglets récemment fermés Do you really want to close this page? Voulez-vous vraiment fermer cette page? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Vous avez modifié cette page et en fermant l'onglet, vous allez perdre les modifications. Voulez-vous vraiment fermer cette page? Ctrl-] Ctrl-] Ctrl-[ Ctrl-[ Untitled Sans titre Saved Tabs Onglets enregistrés Loading... Chargement... Loading %1% (%2 %3)... Chargement à %1% (%2 %3)... Finished loading Terminé Failed to load Impossible de charger la page Bookmark All Tabs Ajouter tous les onglets aux marque-pages ToolbarSearch No Recent Searches Aucune recherche récente Recent Searches Recherches récentes Suggestions Suggestions Add '%1' Ajouter '%1' Configure Search Engines... Configurer les moteurs de recherche... Clear Recent Searches Effacer les recherches récentes WebPage Error loading page: %1 Erreur au chargement de la page: %1 When connecting to: %1. Durant la connection à: %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org Vérifiez que vous n'avez pas commis d'erreurs dans l'adresse tel que <b>ww</b>.arora-browser.org à la place de <b>www</b>.arora-browser.org If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Si votre ordinateur ou votre réseau est protégé par un pare-feu ou un proxy, vérifiez que votre navigateur à le droit d'accéder au réseau. If the address is correct, try checking the network connection. Si l'adresse est correcte, vérifiez votre connexion au réseau. Resending POST request Renvoi d'une requête POST In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? Afin d'afficher le site, la requête ainsi que toutes les données doivent être réenvoyés, ce qui peut conduire à un comportement innatendu du site, par exemple la même action peut être exécuté une nouvelle fois. Continuer quand même ? WebView Open in New &Window Ouvrir dans une &nouvelle fenêtre Open in New &Tab Ouvrir dans un nouvel &onglet Save Lin&k Enregistrer le &lien &Bookmark This Link &Marque-page sur ce lien &Copy Link Location &Copier l'adresse du lien Open Image in New &Window Ouvrir l'image dans une nouvelle &fenêtre Open Image in New &Tab Ouvrir l'image dans un nouvel &onglet &Save Image Enregi&strer l'image &Copy Image &Copier l'image C&opy Image Location C&opier l'adresse de l'image Loading... Chargement... Search with... Chercher avec... Add to the toolbar search Ajouter à la barre de recherche Method not supported Méthode non supportée %1 method is not supported. La méthode %1 n'est pas supporté. Search engine Moteur de recherche Choose the desired search engine Choisir le moteur de recherche voulu Engine name Nom du moteur Type in a name for the engine Insérer un nom pour le moteur Block Image Bloquer l'image WebViewSearch Not Found Non trouvé arora-0.11.0/src/locale/gl.ts000066400000000000000000002262711145000221100156710ustar00rootroot00000000000000 AboutDialog Lightweight WebKit-based web browser Navegador lixeiro baseado en WebKit <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> Authors Autores License Licenza Close Pechar About %1 Acerca de %1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">(new line) <html><head><meta name="qrichtext" content="1" /><style type="text/css">(new line) p, li { white-space: pre-wrap; }(new line) </style></head><body style="font-size:9pt;">(new line) <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> WebKit version: %1 WebKit versión: %1 AcceptLanguage Languages Idiomas Languages: in order of preference: Idiomas: en orde de preferencia: Move &Up Mover cara &arriba Move &Down Mover cara a&baixo &Remove &Eliminar Add... Engadir... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 Bloqueado pola regra AdBlock: %1 AdBlockDialog Add Custom Rule Engadir regra personalizada Learn more about writing rules... Aprender máis de como escribir regras... Update Subscription Actualizar a subscripción Browse Subscriptions... Examinar as subscripcións... Remove Subscription Eliminar a subscripción AdBlock Configuration Configuración de AdBlock Enable AdBlock Activar AdBlock Action Acción AdBlockManager Custom Rules Regras personalizadas AdBlockModel Rule Regra AdBlockSchemeAccessHandler Subscribe? Subscribir? Subscribe to this AdBlock subscription? %1 Aceptar esta subscripción AdBlock? %1 AddBookmarkDialog Add Bookmark Engadir marcador Type a name for the bookmark, and choose where to keep it. Introduza un nome para o marcador e elixa onde gardalo. Url Url Title Título Add Folder Engadir cartafol AutoFillDialog Form Passwords Formulario de contrasinais Remove Eliminar Remove All Eliminar todo AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. <b>Desexa gardar este contrasinal?</b><br> Para revisar e eliminar os contrasinais gardados, abra o panel Autocompletar de Preferencias. Never for this site Nunca para este sitio Not now Agora non AutoFillModel WebSite Páxina web User Name Nome de usuario BookmarksDialog Bookmarks Marcadores &Remove &Eliminar Add Folder Engadir cartafol Open Abrir Open in New Tab Abrir nunha lingüeta nova Delete Borrar New Folder Novo cartafol Edit Name Editar nome Edit Address Editar enderezo BookmarksManager Error when loading bookmarks on line %1, column %2: %3 Atopouse un erro cargando os marcadores na liña %1, columna %2: %3 Toolbar Bookmarks Barra de marcadores Menu Menú Open File Abrir ficheiro XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) Imported %1 Importado %1 Save File Gardar ficheiro %1 Bookmarks.xbel %1 Bookmarks.xbel Export error Atopouse un erro durante a exportación error saving bookmarks atopouse un erro gardando os marcadores Remove Bookmark Eliminar marcador Insert Bookmark Inserir marcador Bookmarks Bar Barra de marcadores Bookmarks Menu Menú de marcadores Error when loading html bookmarks: %1 Atopouse un erro mentras se cargaban os marcadores html: %1 XBEL XBEL Name Change Undo bookmark title change Cambiar o nome Address Change Undo bookmark url change Cambiar o enderezo XBEL bookmarks Marcadores XBEL HTML Netscape bookmarks Marcadores HTML de Netscape htmlToXBel tool required Precisase a ferramenta htmlToXBel htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. A ferramenta htmlToXBel , que se inclue con Arora e é precisa para importar os marcadores HTML, non está instalada ou non está dispoñible no camiño de buscas. Loading Bookmark Cargando marcador Error when loading HTML bookmarks: %1 Atopouse un erro mentras se cargaban os marcadores HTML: %1 BookmarksMenu Open in Tabs Abrir en lingüetas BookmarksModel Title Título Address Enderezo BookmarksToolBar Bookmark Marcador Open Abrir Open in New &Tab Abrir nunha lingüe&ta nova Remove Eliminar Add Bookmark... Engadir marcador... Add Folder... Engadir cartafol... Bookmarks Marcadores BrowserApplication (Change: %1 %2) (Cambio: %1 %2) There are %1 windows and %2 tabs open Do you want to quit anyway? Hai %1 xanela e %2 lingüetas abertas Desexa saír de todos os xeitos? Restore failed Fallou a recuperación The saved session will not be restored because Arora crashed while trying to restore this session. Non se puido recuperar a sesión gardada xaque Arora fallou a última vez que se recuperou . Arora crashed while trying to restore this session. Should I try again? Arora pechouse inesperadamente mentres tentaba recuperar esta sesión. Tentalo de novo? BrowserMainWindow &File &Ficheiro &New Window &Nova xanela &Open File... &Abrir ficheiro... Open &Location... Abrir &ubicación... &Save As... &Gardar como... &Import Bookmarks... &Importar marcadores... &Export Bookmarks... &Exportar marcadores... P&rint Preview... Vista p&revia de impresión... &Print... I&mprimir... Private &Browsing... &Navegación privada... &Quit &Saír &Edit &Editar &Undo &Desfacer &Redo &Refacer Cu&t Cor&tar &Copy &Copiar &Paste &pegar &Find &Buscar Find Nex&t Buscar &seguinte Find P&revious Buscar &anterior Prefere&nces... &Preferencias... Ctrl+, Ctrl+, &View &Ver Show Menu Bar Amosar barra de menús Ctrl+| Ctrl+| Shift+Ctrl+B Maiús+Ctrl+B Ctrl+/ Ctrl+/ &Stop &Deter &Reload Page &Recargar páxina Page S&ource Código f&onte Ctrl+Alt+U Ctrl+Alt+U &Full Screen Pantalla &completa Hi&story &Historial Back Atras Forward Adiante Home Inicio Restore Last Session Recuperar última sesión &Bookmarks &Marcadores Add Bookmark... Engadir marcador... &Window &Xanela &Tools &Ferramentas Web &Search &Busca na web Ctrl+K Web Search Ctrl+K &Clear Private Data &Limpar datos privados Ctrl+Shift+Delete Clear Private Data Ctrl+Maiús+Supr Enable Web &Inspector Activar o &inspector da web &Help A&xuda About &Qt Acerca de &Qt Navigation Navegación Show Status Bar Amosar a barra de estado Hide Status Bar Agochar a barra de estado Show Toolbar Amosar a barra de ferramentas Hide Toolbar Agochar a barra de ferramentas Show Bookmarks Bar Amosar a barra de marcadores Hide Bookmarks Bar Agochar a barra de marcadores %1 - Arora Page title and Browser name %1 - Arora Open Web Resource Abrir os recursos da web Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Recursos da web (*.html *.htm *.svg *.png *.gif *.svgz);;Todos os ficheiros (*.*) Print Document Imprimir documentación Are you sure you want to turn on private browsing? Está seguro de querer activar a navegación privada? Are you sure you want to close the window? There are %1 tabs open Está seguro de que quere pechar a xanela? Hai %1 lingüetas abertas Web Inspector Inspector da web The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? O inspectorda web só funcionará correctamente coas páxinas que se carguen despois de activalo. Desexa recargar todas as páxinas? Stop loading the current page Deter a carga da páxina actual Reload the current page Recargar a páxina actual Downloads Descargas Show &Network Monitor Amosar mo&nitor de rede Switch application language Cambiar o idioma do aplicativo Close Window Pechar a xanela Zoom &In Zoom &aumentar Zoom &Normal Zoom &normal Zoom &Out Zoom &reducir Zoom &Text Only Zoom &só texto About &%1 About Browser Acerca de &%1 Ctrl+Y Download Manager Ctrl+Y Show All Bookmarks... Amosar todos os marcadores... Add Folder... Engadir cartafol... <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Cando se activa a navegación privada, algunhas accións relativas a súa intimidade han de ser desactivadas:<ul><li> As páxinas web non serán engadidas ao historial.</li><li> Hanse eliminar automaticamente os elementos no xestor de descargas.</li><li> Non se almacenarán as novas cookies e as actuais non estarán accesibles.</li><li> As iconas dos sitios non han ser gardadas e tampouco as sesións.</li><li> As buscas non serán engadidas no menú emerxente da caixa de buscas.</li></ul>Poderá facer clic nos botóns Adiante e Atrás para volver as páxinas visitadas, pero só mentres non peche a ventá. Default Predeterminado Text Encoding Codificación do texto <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li><li> Network cache is disabled.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Cando se activa a navegación privada, algunhas accións relativas a súa intimidade han de ser desactivadas:<ul><li> As páxinas web non serán engadidas ao historial.</li><li> Hanse eliminar automaticamente os elementos no xestor de descargas.</li><li> Non se almacenarán as novas cookies e as actuais non estarán accesibles.</li><li> As iconas dos sitios non han ser gardadas e tampouco as sesións.</li><li>Desactivase a caché de rede.</li></ul>Poderá facer clic nos botóns Adiante e Atrás para volver as páxinas visitadas, pero só mentres non peche a ventá. Select &All Seleccionar &todo Alt+Ctrl+B Alt+Ctrl+B <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li><li> No new network cache is written to disk.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Cando se activa a navegación privada, algunhas accións relativas a súa intimidade han de ser desactivadas:<ul><li> As páxinas web non serán engadidas ao historial.</li><li> Hanse eliminar automaticamente os elementos no xestor de descargas.</li><li> Non se almacenarán as novas cookies e as actuais non estarán accesibles.</li><li> As iconas dos sitios non han ser gardadas e tampouco as sesións.</li><li> A nova caché de rede non se vai grabar no disco.</li></ul>Poderá facer clic nos botóns Adiante e Atrás para volver as páxinas visitadas, pero só mentres non peche a ventá. Options... Opcións... Configure Search Engines... Configurar os motores de busca... &Ad Block... &Bloquear publicidade... When private browsing is turned on, some actions concerning your privacy will be disabled: Cuando se activa a navegación privada, desactivaránse algunhas accións relacionadas coa súa intimidade: Webpages are not added to the history. As páxinas web no serán engadidas ao historial. Items are automatically removed from the Downloads window. Eliminaránse automaticamente os elementos da xanela de descargas. New cookies are not stored, current cookies can't be accessed. Non se gardarán as novas cookies, no se poderá acceder as cookies actuais. Site icons won't be stored. Non se gardarán as iconas da páxina. Session won't be saved. Non se gardará a sesión. Searches are not added to the pop-up menu in the search box. As buscas non serán engadidas ao menú emerxente no cadro de buscas. No new network cache is written to disk. No se escribirá no disco a nova caché da rede. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Até que se peche a xanela, vostede poderá facer clic nos botóns Atrás e Adiante para volver ás páxinas web que teña aberto. Private Browsing Navegación privada ClearButton Clear Limpar ClearPrivateData Clear Private Data Limpar datos privados Clear the following items: Limpar os seguintes elementos: &Browsing History Historial de &navegación &Download History Historial de &descargas &Search History Historial de &buscas &Cookies &Cookies C&ached Web Pages C&Aché de páxinas visitadas Website &Icons &Iconas das páxinas web Clear &Private Data &Limpar datos privados &Cancel &Cancelar ClickToFlash Load Cargar Load All Cargar todo Add %1 to Whitelist Engadir %1 á lista branca Remove from Whitelist Quitar da lista branca Settings Axustes Load Flash Cargar «Flash» ClickToFlashSettings Whitelist sites Lista branca de sitios CookieExceptionsModel Website Sitio web Rule Regra Allow Permitir Block Bloquear Allow For Session Permitir só para esta sesión CookieModel Website Sitio web Name Nome Path Ruta Secure Seguro Expires Caduca Contents Contido true verdadeiro false falso Session cookie Cookie da sesión CookiesDialog Cookies Cookies &Remove &Eliminar Remove &All Cookies Eliminar &todas as cookies Add &Rule Engadir &regra CookiesExceptionsDialog Cookie Exceptions Cookies exentas New Exception Nova excepción Domain: Dominio: Block Bloquear Allow For Session Permitir só para esta sesión Allow Permitir Exceptions Excepcións &Remove &Eliminar Remove &All Eliminar &todas DownloadDialog Downloads Descargas Clean up Baleirar 0 Items 0 Elementos DownloadItem Form Formulario Ico Icona Filename Nome de ficheiro Try Again Tentar de novo Stop Deter Open Abrir Save File Gardar ficheiro Download canceled: %1 Descarga cancelada: %1 Error opening output file: %1 Atopouse un erro ao abrir o ficheiro de sída: %1 Error saving: %1 Atopouse un erro gardando: %1 Network Error: %1 Atopouse un erro na rede: %1 ? ? %1 of %2 - Stopped %1 de %2 - Detida %1 of %2 (%3/sec) - %4 %1 de %2 (%3/segs.) - %4 Download directory (%1) couldn't be created. O directorio de descarga (%1)non se pode crear. DownloadManager %n Download(s) %n Descarga(s) There are %1 downloads in progress Do you want to quit anyway? Hai %1 descargas en proceso Saír de todos os xeitos? %n minutes remaining Faltan %n minutos %n seconds remaining Faltan %n segundos bytes bytes kB kB MB MB GB GB FileAccessReply No Error Sen erro Error opening: %1: No such file or directory Atopouse un erro ao abrir: %1: Non existe o ficheiro ou directorio Unable to read %1 Non se pode ler %1 Contents of %1 Contido de %1 %1 KB %1 KB HistoryDialog History Historial &Remove &Eliminar Remove &All Eliminar &todo Open Abrir Copy Copiar Delete Borar HistoryMenu Show All History Amosar todo o historial Clear History... Limpar historial... Clear History Limpar historial Do you want to clear the history? Desexa limpar todo o historial? HistoryModel Title Título Address Enderezo HistoryTreeModel Earlier Today No día de hoxe %n item(s) %n elemento(s) JavaScriptAroraObject Welcome to Arora! Benvido a Arora! Arora Start Iniciar Arora Search! Busca! Search results provided by Resultados da busca fornecidos por About Arora Acerca de Arora LanguageManager Choose language Elixir idioma <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Pode executarse cun idioma distinto<br>ao predeterminado do sistema operativo.</p><p>Por favor, elixa o idioma que desexe empregar</p> No translation files are installed. Os ficheiros de tradución non están instalados. No translation files are installed at %1. Non hai ficheiros de tradución instalados en %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Introduza un nome de usuario e un contrasinal para "%1" at %2</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Conectar ao proxy "%1" usando:</qt> <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>Erros SSL:<br/><br/>para: <tt>%1</tt><ul><li>%2</li></ul> Ignorar estes erros?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Certificados:<br/>%1<br/>Aceptar todos estes certificados?</qt> - SSL Errors - Erros SSL Issuer: %1 Emisor: %1 Not valid before: %1 Non é válido antes de: %1 Valid until: %1 Válido até o: %1 Alternate Names: Nomes alternativos: NetworkMonitor Name Nome Value Valor NetworkMonitorDialog Network Monitor Monitor de rede Network Requests Solicitudes de rede Request Headers Cabeceiras das solicitudes Response Headers Cabeceiras de resposta &Remove &Eliminar Remove &All Requests Eliminar &tódalas solicitudes OpenSearchDialog Open File Abrir ficheiro OpenSearch OpenSearch Error Erro %1 is not a valid OpenSearch 1.1 description or is already on your list. %1 non é unha descrición correcta para OpenSearch 1.1 ou xa está na súa lista. You must have at least one search engine in here. Debe ter aquí polo menos un motor de busca. OpenSearch Manager Xestor OpenSearch &Restore Defaults &Restaurar predeterminados &Delete &Borrar &Add &Engadir &Close &Pechar OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Descrición:</strong> %1 <strong>Provides contextual suggestions</strong> Fornece suxestións contextuais Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Lista separada por comas das palabras clave que se poden introducir na barra seguidas dos termos de busca para buscar con este motor Name Nome Keywords Palabras clave OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 Quere engadir o seguinte motor á súa lista de motores de busca?<br /><br />Nome: %1<br />Buscas en: %2 PasswordDialog Authentication Required Precisa autenticarse DUMMY ICON ICONA SIMULADA INTRO TEXT DUMMY INTRODUZA TEXTO SIMULADO Username: Nome de usuario: Password: Contrasinal: PlainTextEditSearch Not Found Non atopado ProxyDialog Proxy Authentication Autenticación no proxi Connect to proxy Conectar ao proxy Username: Nome de usuario: Password: Contrasinal: QObject The file is not an XBEL version 1.0 file. OP ficheiro non é un ficheiro XBEL versión 1.0. Unknown title Título descoñecido The file is not an OpenSearch 1.1 file. Este ficheiro non é un ficheiro OpenSearch 1.1. RequestModel Redirect: %1 Redirixe a: %1 Method Método Address Enderezo Response Resposta Length Lonxitude Content Type Tipo de contido Info Información SearchBanner Form Formulario Done Feito Highlight All Destacar todo SearchLineEdit Search Buscar Settings Preferences Preferencias General Xeral On startup: No inicio: Show my home page Amosar a miña páxina de inicio Show a blank page Amosar a páxina en branco Restore windows and tabs from last time Recuperar as xanelas e lingüetas da última sexión Home Page: Páxina de inicio: Set to current page Páxina actual como predeterminada Remove history items: Eliminar os elementos do historial: After one day Despois de un día After one week Despois de unha semana After two weeks Despois de dúas semanas After one month Despois de un mes After one year Despois de un ano Manually Manualmente On application exit Ao sair do aplicativo Open links from applications: Abrir ligazóns de aplicativos: In a new window Nunha nova xanela Downloads Descargas Ask for a destination each time Preguntar en cada caso Use this destination: Usar este destino: Appearance Aparencia Standard font: Tipo de letra estándar: Times 16 Times 16 Select... Seleccionar... Fixed-width font: Tipo de letra de anchura fixa: Privacy Privacidade Web Content Contido da web Enable Plugins Activar extensión Enable Javascript Activar Javascript View Images Ver imaxes Cookies Cookies Accept Cookies: Aceitar cookies: Always Sempre Never Nunca Only from sites you navigate to Só dende os sitios que se visiten Exceptions... Excepcións... Keep Cookies Until: Manter até que: They expire Caduquen I exit the application Se saia do aplicativo At most 90 days Un máximo de 90 días Cookies... Cookies... Tabs Lingüetas Select tabs and windows as they are created Seleccionar lingüetas e xanelas ao ser creadas Proxy Proxy Use proxy server Usar servidor proxy Type: Tipo: Socks5 Socks5 Host name: Nome da máquina: Port: Porto: User Name: Nome de usuario: Password: Contrasinal: Advanced Avanzado Style Sheet: Estilo de folla: Show only one close button instead of one for each tab Amosar só un botón de peche no canto de un para cada lingüeta Block Popup Windows Bloquear xanelas emerxentes Opening links Abrindo ligazóns Links that want to open in a new window: Ligazóns que desexa abrir nunha nova xanela: In a new selected tab in the current window Na lingüeta seleccionada na xanela actual In a new tab in the current window Nunha nova lingüeta na xanela actual In the current tab Na lingüeta actual Http (Secure) Http (Seguro) Http (Transparent) Http (Transparente) Preferred languages for viewing webpages in: Idiomas preferidos para ver páxinas web: Use ClickToFlash on flash plugins Use ClickToFlash nas estensións flash Filter Tracking Cookies Filtrar as cookies de seguimento Confirm when closing multiple tabs or windows Pedir confirmación cando se pechen multiples lingüetas ou xanelas Quit the application when last tab is closed Sair do aplicativo cando se peche a última lingüeta Enable network cache Activar a caché de rede Maximum Size: Tamaño máximo: MB MB Use the default search engine as fallback when the URL given by the user is invalid Use o motor de buscas predeterminado como último recurso cando a URL dada polo usuario non é correcta Choose Directory... Escoller directorio... A cookie session ends: Unha cookie de sesión caduca: When I exit the application Cando saia do aplicativo 1 day 1 día 2 days 2 días 3 days 3 días 7 days 7 días 30 days 30 días AutoFill Autocompletado AutoFill web forms: Autocompletado de formularios web: User names and passwords Nomes de usuario e contrasinais Edit... Editar... Browse... Examinar... SettingsDialog Restart required É preciso reiniciar The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. A configuración da caché de rede cambiou. A fin de que poida ser tida en conta, o navegador ten de ser reiniciado. Choose Directory Escoller directorio Choose CSS File Escoller ficheiro CSS SourceViewer Loading... Cargando... &Edit &Editar &Find &Buscar &View &Ver &Wrap lines A&xustar as liñas Source of Page Código fonte da páxina Source of Page %1 Código fonte da páxina %1 TabBar Show Tab Bar Amosar barra de lingüetas Hide Tab Bar Agochar barra de lingüetas Duplicate Tab Duplicar a lingüeta &Close Tab &Pechar a lingüeta Close &Other Tabs Pechar as &outras lingüetas Reload Tab Recargar lingüeta Reload All Tabs Recargar todas as lingüetas TabWidget New &Tab Nova lingüe&ta &Close Tab &Pechar a lingüeta Show Next Tab Amosar a seguinte lingüeta Show Previous Tab Amosar a lingüeta anterior Recently Closed Tabs Lingüetas abertas recentemente Untitled Sin título Do you really want to close this page? Desexa realmente pechar esta páxina? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Esta páxina foi modificada e si a pecha perderá os cambios. Está seguro de que quere pechar esta páxina? Ctrl-] Ctrl-] Ctrl-[ Ctrl-[ Saved Tabs Lingüetas gardadas Loading... Cargando... Loading %1% (%2 %3)... Cargando %1% (%2 %3)... Finished loading rematou a descarga Failed to load Atopouse un fallo duranre a descarga Bookmark All Tabs Todas as lingüetas a marcadores ToolbarSearch No Recent Searches Non hai buscas recentes Recent Searches Buscas recentes Clear Recent Searches Limpar buscas recentes Suggestions Suxestions Add '%1' Engadir «%1» Configure Search Engines... Configurar motores de busca... WebPage Error loading page: %1 Atopouse un erro ao cargar a páxina: %1 When connecting to: %1. Cando se conecta a: %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org Comprobe que non hai erros no enderezo como<b>ww</b>.arora-browser.org no canto de <b>www</b>.arora-browser.org If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Se a súa computadora ou rede están protexidas por unha devasa ou un proxy, asegúrese de que ao navegador se lle permite o acceso á rede. If the address is correct, try checking the network connection. Se o enderezo é correcto, comprobe a conexión de rede. Resending POST request Reenviar unha solicitude POST In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? Para amosar o sitio web, a solicitude, xunto con todos os datos deben ser enviados, unha vez máis, o que pode levar a algun comportamento inesperado do sitio por exemplo, a mesma acción pode ser realizada unha vez máis. Quere continuar igualmente? WebView Open in New &Window Abrir nunha &xanela nova Open in New &Tab Abrir nunha lingüe&ta nova Save Lin&k Gardar &ligazón &Bookmark This Link Engadir esta páxina a &marcadores &Copy Link Location &Copiar o enderezo da ligazón Open Image in New &Window Abrir a imaxe nunha &xanela nova Open Image in New &Tab Abrir a imaxe nunha lingüe&ta nova &Save Image &Gardar a imaxe &Copy Image &Copiar a imaxe C&opy Image Location C&opiar a ubicación da imaxe Loading... Cargando... Search with... Buscar con... Add to the toolbar search Engadir á barra de ferramentas de busca Method not supported Método non compatible %1 method is not supported. O método %1 non é compatible. Search engine Motor de buscas Choose the desired search engine Elixir o motor de busca desexado Engine name Nome do motor Type in a name for the engine Escriba un nome para o motor Block Image Bloquear imaxe WebViewSearch Not Found Non atopado arora-0.11.0/src/locale/he_IL.ts000066400000000000000000002364141145000221100162470ustar00rootroot00000000000000 AboutDialog About אודות Authors כותבים License רישיון Lightweight WebKit-based web browser דפדפן רשת קליל מבוסס WebKit <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body dir="RTL" style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">כל הזכויות שמורות © 2007-2008 Benjamin C. Meyer &lt;‏<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> Close סגור About %1 אודות %1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">כל הזכויות שמורות © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> WebKit version: %1 גרסת WebKit: %1 AcceptLanguage Languages שפות Languages: in order of preference: שפות: בסדר המועדף: Move &Up &מעלה Move &Down מ&טה &Remove &הסר Add... הוסף... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 נחסם על ידי חוק: %1 AdBlockDialog Add Custom Rule הוסף חוק מותאם אישית Learn more about writing rules... מידע נודף אודות כתיבת חוקים... Update Subscription עדכן רישום Browse Subscriptions... עדיין ברישומים... Remove Subscription הסר רישום AdBlock Configuration תצורת AdBlock Enable AdBlock אפשר AdBlock Action פעולה AdBlockManager Custom Rules חוקים מותאמים אישית AdBlockModel Rule חוק AdBlockSchemeAccessHandler Subscribe? רישום? Subscribe to this AdBlock subscription? %1 האים להירשם לחוק AdBlock? %1 AddBookmarkDialog Add Bookmark הוסף סימנית Type a name for the bookmark, and choose where to keep it. כתוב שם עבור הסימנית ובחר היכן לשמור אותה. Url כתובת Title כותרת Add Folder הוסף תיקייה AutoFillDialog Form Passwords ססמאות של טפסים Remove הסר Remove All הסר הכל AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. <b>האם ברצונך לשמור את הססמה הזאת?<b><br> לעיון בססמאות השמורות, ובכדי למחוק אותן, אנא פתח את חלון ההגדרות בלשונית המילוי האוטומטי. Never for this site לעולם לא עבור אתר זה Not now לא כעת AutoFillModel WebSite אתר User Name שם משתמש BookmarksDialog Open פתח Open in New Tab פתח בכרטיסייה חדשה Delete מחק New Folder תיקייה חדשה Bookmarks סימניות &Remove ה&סר Add Folder הוסף תיקייה Edit Name ערוך שם Edit Address ערוך כתובת BookmarksManager Error when loading bookmarks on line %1, column %2: %3 ארעה שגיאה בעת טעינה של סימניות בשורה %1, עמודה %2: %3 Toolbar Bookmarks סרגל כלים של סימניות Menu תפריט Open File פתח קובץ XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) Imported %1 הייבוא של %1 הסתיים Save File שמור קובץ %1 Bookmarks.xbel %1 Bookmarks.xbel Export error שגיאת ייצוא error saving bookmarks ארעה שגיאה בעת יצוא הסימניות Remove Bookmark הסר סימנייה Insert Bookmark ייבוא של סימניות Name Change שנה שם Address Change שנה כתובת Bookmarks Bar סרגל סימניות Bookmarks Menu תפריט סימניות Name Change Undo bookmark title change שנה שם Address Change Undo bookmark url change שנה כתובת XBEL bookmarks סימניות XBEL HTML Netscape bookmarks סימניות HTML של נטסקייפ htmlToXBel tool required נדרש הכלי htmlToXBell htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. הכלי htmlToXBel המופץ עם הדפדפן Arora נדרש בכדי לייבא סימניות HTML, ונראה כי הוא לא מותקן או לא זמין בנתיב החיפוש PATH. Loading Bookmark טוען סימנייה Error when loading HTML bookmarks: %1 שגיאה בעת טעינת סימניות: %1 BookmarksMenu Open in Tabs פתח בלשוניות BookmarksModel Title כותרת Address כתובת BookmarksToolBar Bookmark סימניות Open פתח Open in New &Tab פתח ב&כרטיסייה חדשה Remove הסר Add Bookmark... הוסף סימנייה... Add Folder... הוסף תיקייה... Bookmarks סימניות BrowserApplication (Change: %1 %2) (שינוי %1 %2) There are %1 windows and %2 tabs open Do you want to quit anyway? ישנם %1 חלונות ו־%2 כרטיסיות פתוחות. האם לצאת בכל זאת? Restore failed השחזרור נכשל The saved session will not be restored because Arora crashed while trying to restore this session. אין אפשרות לשחזר את ההפעלה השמורה כיוון ש־Arora קרס בזמן השיחזור של ההפעלה. Arora crashed while trying to restore this session. Should I try again? היישום קרס בעת ניסיון השחזור של ההפעלה. האם לנסות שוב? BrowserMainWindow &File &קובץ &New Window &חלון חדש &Open File... &פתח קובץ... Open &Location... &פתח מיקום... &Save As... שמור &בשם... &Import Bookmarks... יי&בא סימניות... &Export Bookmarks... יי&צא סימניות... P&rint Preview... ת&צוגת הדפסה... &Print... &הדפס... Private &Browsing... &גלישה מאובטחת... &Quit &יציאה &Edit ע&ריכה &Undo &בטל &Redo &שחזר Cu&t &גזור &Copy &העתק &Paste &הדבק &Find &חפש Find Nex&t חפש ה&בא Find P&revious חפש &קודם Prefere&nces... &הגדרות... Ctrl+, Ctrl+, ‎ &View &תצוגה Show Menu Bar הצג תפריט Ctrl+| Ctrl+| Shift+Ctrl+B Shift+Ctrl+B Ctrl+/ Ctrl+/ &Stop &עצור &Reload Page &רענן עמוד Make Text &Bigger &הגדל גופן Make Text &Normal גופן &רגיל Make Text &Smaller ה&קטן גופן Page S&ource &הצג מקור המסמך Ctrl+Alt+U Ctrl+Alt+U &Full Screen &מסך מלא Hi&story &היסטוריה Back חזור Forward הבא Home עמוד הבית Restore Last Session שחזר הפעלה קודמת &Bookmarks &סימניות Manage Bookmarks... ניהול סימניות... Add Bookmark... הוסף סימנייה... &Window &חלון &Tools &כלים Web &Search חיפוש &ברשת Ctrl+K Web Search Ctrl+K &Clear Private Data &מחק מידע אישי Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete Enable Web &Inspector &אפשר סורק רשת &Help &עזרה About &Qt &אודות Qt About &Arora א&ודות Arora Navigation ניווט Show Status Bar הצג שורת מצב Hide Status Bar הסתר שורת מצב Show Toolbar הצג סרגל כלים Hide Toolbar הסתר סרגל כלים Show Bookmarks Bar הצג סרגל סימניות Hide Bookmarks Bar הסתר סרגל סימניות Arora Arora %1 - Arora Page title and Browser name ‏Arora‏ - %1 Open Web Resource פתח משאב רשת Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) משאב רשת (*.html *.htm *.svg *.png *.gif *.svgz);; כל הקבצים (*.*) Print Document הדפס מסמך Are you sure you want to turn on private browsing? האם באמת ברצונך להפעיל גלישה מאובטחת? <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <span dir="rtl"><b>%1</b><br><br>כאשר מופעלת גלישה מאובטחת כמה פעולות הקשורות לפרטיות שלך לא יופעלו:<ul dir="rtl"><li> דפים לא נוספים להסטוריית הגלישה.</li><li> פריטים נמחקים באופן אוטומטי מרשימת ההורדות.</li><li> עוגיות חדשות לא נשמרות ואין אפשרות לגשת לעוגיות ישנות.</li><li> סמלים של אתרים לא נשמרים וההפעלה לא תישמר.</li><li> חיפושים לא מתווספים לתפריט המוקפץ של היסטוריית החיפוש.</li></ul>עד שתסגור את החלון, באפשרותך ללחוץ על כפתורי הניווט "קדימה" ו־"אחורה" לחזרה לעמודים שביקרת בהם. </span> Are you sure you want to close the window? There are %1 tabs open האם אתה באמת ברצונך לסגור את החלון? ישנן %1 כרטיסיות פתוחות Page Source of %1 קוד המקור של %1 Web Inspector סורק רשת The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? סורק הרשת יעבוד נכון רק עבור דפים שנטענו אחרי ההפעלה שלו. האם ברצונך לרענן את כל הדפים? Stop loading the current page עצור את טעינת הדף הנוכחי Reload the current page טען מחדש את הדף הנוכחי Downloads הורדות Alt+Ctrl+L Download Manager Alt+Ctrl+L Switch application language שנה את שפת היישום Close Window סגור חלון Zoom &In הת&קרב Zoom &Normal מרחק ר&גיל Zoom &Out התר&חק Zoom &Text Only הגדל &טקסט בלבד Show All Bookmarks... הצג את כל הסימניות... Add Folder... הוסף תיקייה... About &%1 About Browser אודות &%1 Ctrl+Y Download Manager Ctrl+Y Default ברירת מחדל Text Encoding קידוד הטקסט Select &All בחר &הכל Alt+Ctrl+B Alt+Ctrl+B When private browsing is turned on, some actions concerning your privacy will be disabled: כאשר גלישה פרטית מופעלת, כמה פעילויות הקשורות בפרטיות שלך יהיו מנוטרלות: Webpages are not added to the history. דפים לא נשמרים בהיסטוריה. Items are automatically removed from the Downloads window. פריטים מוסרים באופן אוטומטי מחלון ההורדות. New cookies are not stored, current cookies can't be accessed. עוגיות חדשות לא נשמרות, אין אפשרות לגשת אל עוגיות נוכחיות. Site icons won't be stored. סמלים של אתרים לא נשמרים. Session won't be saved. ההפעלה לא תישמר. Searches are not added to the pop-up menu in the search box. חיפושים לא נשמרים בתפריט של החיפוש. No new network cache is written to disk. מטמון רשת לא נשמר בדיסק. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. עד שתסגור את החלון, עדיין תוכל ללחוץ על הכפתור קדימה ואחורה בכדי לבקר בדפים בהם ביקרת בעבר. Private Browsing גלישה מאובטחת Options... אפשרויות... Configure Search Engines... הגדרת מנועי חיפוש... &Ad Block... &חסימת פרסומות - AdBlock ClearButton Clear מחק ClearPrivateData Clear Private Data מחק מידע פרטי Clear the following items: מחק את הפרטים הבאים: &Browsing History &היסטורית גלישה &Download History הסטורית הו&רדה &Search History הסיטוריית &חיפוש &Cookies &עוגיות C&ached Web Pages דפי אינטרנט ב&מטמון Website &Icons סמלים של &אתרים Clear &Private Data אפס מידע &אישי &Cancel &ביטול ClickToFlash Load טען Load All טען הכל Add %1 to Whitelist הוסף %1 לרשימה הלבנה Remove from Whitelist הסר מהרשימה הלבנה Settings הגדרות Load Flash טען פלאש ClickToFlashSettings Whitelist sites אתרים ברשימה לבנה CookieExceptionsModel Website אתר אינטרנט Rule חוק Allow אפשר Block חסום Allow For Session אפשר להפעלה נוכחית CookieModel Website כתובת Name שם Path נתיב Secure מאובטח Expires תאריך תפוגה Contents תוכן true true false false Session cookie עוגיית ההפעלה CookiesDialog Cookies עוגיות &Remove &מחק Remove &All Cookies מחק את &כל העוגיות Add &Rule הוסף &חוק CookiesExceptionsDialog Cookie Exceptions עוגיות יוצאות מן הכלל New Exception יוצא מן הכלל חדש Domain: מתחם: Block בלוק Allow For Session אפשר להפעלה הנוכחית Allow אפשר Exceptions יוצרים מן הכלל &Remove ה&סר Remove &All &הסר הכל DownloadDialog Downloads הורדות Clean up נקה 0 Items 0 פריטים &OK &אישור DownloadItem Form ממקום Ico Ico Filename שם קובץ Try Again נסה שוב Stop עצור Open פתח Save File שמור קובץ Download canceled: %1 ההורדה הופסקה: %1 Error opening output file: %1 ארעה שגיאה בעת פתיחת קובץ הפלט: %1 Error saving: %1 ארעה שגיאה בעת השמירה: %1 Network Error: %1 ארעה שגיאות רשת: %1 seconds שניות - %n minutes remaining נשארו עוד %n שניות - %n seconds remaining נשארו עוד %n דקות %1 of %2 (%3/sec) %4 %1 מתוך %2 (%3 קס"ש) %2 ? ? %1 of %2 - Stopped %1 מתוך %2 - נעצר bytes בתים kB ק"ב MB מ"ב %1 of %2 (%3/sec) - %4 %1 מתוך %2 (%3/שנייה) - %4 Download directory (%1) couldn't be created. אין אפשרות ליצור את תיקיית ההורדה (%1). DownloadManager %n Download(s) הורדה אחת %n הורדות There are %1 downloads in progress Do you want to quit anyway? ישנן %1 הודרות פעילות. האם לצאת בכל זאת? %n minutes remaining חסרה דקה חסרות %n דקות %n seconds remaining חסרה שנייה חסרות %n שניות bytes בתים kB ק"ב MB מ"ב GB ג"ב FileAccessReply No Error אין שגיאה Error opening: %1: No such file or directory ארעה שגיאה בעת הפתיחה: %1 : אין קובץ או ספרייה Unable to read %1 אין אפשרות לקרוא את %1 Contents of %1 התוכן של %1 %1 KB %1 ק"ב HistoryDialog Open פתח Copy העתק Delete מחק History היסטוריה &Remove ה&סר Remove &All &הסר הכל HistoryMenu Show All History הצג את כל ההסטוריה Clear History... מחק את ההיסטוריה... Clear History מחק את ההיסטוריה Do you want to clear the history? האם ברצונך למחוק את ההיסטוריה? HistoryModel Title כותרת Address כתובת HistoryTreeModel Earlier Today מוקדם היום %n item(s) פריט אחד %n פריטים JavaScriptAroraObject Welcome to Arora! Please put RLE in the beginning of the translation and RLM+PDF at the end. The PushDirectionFlag is needed because of the Right(to)LftEmbeding at the beginning, and the Right(to)Leftmark is needed, to put the ! and the right of the arora name. Don't ask why next time, ok? :) ‫ברוך בואך אל Arora!‏‬ Arora Start דף ההפעלה של Arora Search! חפש! Search results provided by תוצאות החיפוש מסופקות על ידי About Arora אודות Arora LanguageManager Choose language בחר שפה <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>ניתן להפעיל את היישום עם ממשק בשפה שונה <br>מזאת של מערכת ההפעלה.</p><p>אנא בחר את השפה לשימוש</p> No translation files are installed at %1. לא מותקנים קבצי תרגום בתיקיות %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>הכנס את שם המשתמש והססמה עבור "%1" באתר %2</qt> <qt>Connect to proxy "%1" using:</qt> <qt>מתחבר לשרת מתווך "%1" באמצעות:<qt> SSL Errors: %1 %2 Do you want to ignore these errors? שגיאות SSL:<div dir="ltr">%1 %2 </div> האם ברצונך להתעלם מהשגיאות הללו? Do you want to accept all these certificates? האם ברצונך לקבל את האישורים הללו? - SSL Errors - שגיאות SSL <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>שגיאות SSL:<br/><br/> עבור: <tt>%1</tt><ul><li>%2</li></ul> האם ברצונך להתעלם מהשגיאות הללו?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>תעודות:<br/>%1<br/>האם ברצונך לקבל את כל התעודות הללו?</qt> Issuer: %1 מנפיק: %1 Not valid before: %1 לא תקין לפני: %1 Valid until: %1 תקין עד: %1 Alternate Names: שמות נוספים: NetworkMonitor Name שם OpenSearchDialog Open File פתח קובץ OpenSearch OpenSearch Error שגיאה %1 is not a valid OpenSearch 1.1 description or is already on your list. %1 הוא לא תיאור תקין של OpenSearch 1.1 או הוא כבר ברשימה שלך. You must have at least one search engine in here. חייב להכיל לפחות מנוע חיפוש אחד. OpenSearch Manager מנהל OpenSearch &Restore Defaults &שחזר ברירות מחדל &Delete &מחק &Add &הוסף &Close &סגור OpenSearchEngineModel <strong>Description:</strong> %1 <strong>תיאור:</strong> %1 <strong>Provides contextual suggestions</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine רשימה מופרדת פסיקים של מילות המפתח שייתכן נכנסו במיקום שלאחריה מונחי החיפוש של מנוע זה Name שם Keywords מילות מפתח OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 האם ברצונך להוסיף את המנוע הבא לרשימה של מנוע החיפוש? <br /><br />שם: %1<br />מחפש בתוך: %2 PasswordDialog Authentication Required נדרש אימות DUMMY ICON DUMMY ICON INTRO TEXT DUMMY INTRO TEXT DUMMY Username: שם משתמש: Password: ססמה: PlainTextEditSearch Not Found לא נמצא ProxyDialog Proxy Authentication אימות שאת מתווך ICON ICON Connect to proxy התחבר לשרת מתווך Username: שם משתמש: Password: ססמה: QObject The file is not an XBEL version 1.0 file. הקובץ הוא לא קובץ XBEL מגרסה 1.0. Unknown title כותרת לא ידועה The file is not an OpenSearch 1.1 file. הקובץ הוא לא קובץ של OpenSearch 1.1. RequestModel Address כתובת SearchBanner Form מאת TextLabel TextLabel < < > > Done סיים Highlight All סמן הכל SearchLineEdit Search חפש Settings Preferences הגדרות General כללי On startup: בהפעלה: Show my home page הצג את דף הבית שלי Show a blank page הצג דף ריק Restore windows and tabs from last time שחזר חלונות וכרטיסיות מהפעם הקודמת Home Page: דף הבית: Set to current page קבע לעמוד הנוכחי Remove history items: הסר פריטי היסטוריה: After one day אחרי יום אחד After one week אחרי שבוע אחד After two weeks אחרי שבועיים After one month אחרי חודש After one year אחרי שנה Manually ידנית On application exit בעת היציאה מהיישום Open links from applications: פתח קישורים מהיישומים: In a tab in the current window בכרטיסייה בחלון הנוכחי In a new window בחלון הנוכחי Downloads הורדות Ask for a destination each time שאל היכן לשמור בכל פעם Use this destination: השתמש במקום הבא: Appearance מראה Standard font: גופן ברירת־מחדל: Times 16 Times 16 Select... בחר... Fixed-width font: גופן רוחב קבוע: Courier 13 Courier 13 Privacy פרטיות Web Content תוכן Enable Plugins אפשר תוספים Enable Javascript אפשר JavaScript View Images הצג תמונות Cookies עוגיות Accept Cookies: אפשר עוגיות: Always תמיד Never אך פעם Only from sites you navigate to רק מאתרים שאתה גולש בהם Exceptions... יוצאים מן הכלל... Keep Cookies Until: שמור עוגיות עד: They expire שהן פגות I exit the application אני יוצא מהיישום At most 90 days עד 90 יום Cookies... עוגיות... Tabs כרטיסיות Select tabs and windows as they are created בחר כרטיסיות כשהן נוצרות Confirm when closing multiple tabs וודא יציאה כאשר מספר כרטיסיות פתוחות Proxy שרת מתווך Use proxy server השתמש בשרת מתווך Type: סוג: Socks5 Socks5 Http Http Host name: שם משתמש: Port: יציאה: User Name: שם משתמש: Password: ססמה: Advanced מתקדם Style Sheet: גיליון סגנון: Show only one close button instead of one for each tab הצג רק כפתור סגירה אחד, במקום בכל כרטיסייה Preferred languages for viewing webpages in: שפות מועדפות לתצוגת דפים: Block Popup Windows חסום חלונות קופצים Opening links פתיחת קישורים Links that want to open in a new window: קישורים שרוצים להיפתח בחלון חדש: In a new selected tab in the current window בכרטיסייה חדשה בעלת פוקוס In a new tab in the current window בכרטיסייה חדשה בחלון הנוכחי In the current tab בכרטיסייה הנוכחית Http (Secure) Http (מאובטח) Http (Transparent) Http (שקוף) Use ClickToFlash on flash plugins השתמש בתוסף ClickToFlash עבור תוספי פלאש Filter Tracking Cookies מסנן עוגיות מעקב Confirm when closing multiple tabs or windows אשר בעת סגירה כאשר יש מספר כרטיסיות או חלונות Quit the application when last tab is closed סגור את היישום כאשר הלשונית האחרונה נסגרת Enable network cache אפשר מטמון רשת Maximum Size: גודל מירבי: MB מ"ב Use the default search engine as fallback when the URL given by the user is invalid השתמש במנוע החיפוש כאשר הכתובת המתקבלת על ידי המשתמש אינה תקינה Choose Directory... בחר ספרייה... A cookie session ends: עוגייה ההפעלה מסתיימת: When I exit the application כאשר אני יוצא מהיישום 1 day יום אחד 2 days שני ימים 3 days שלושה ימים 7 days שבעה ימים 30 days 30 יום AutoFill מילוי אוטומטי AutoFill web forms: מילוי אוטומטי של טפסים: User names and passwords שמות משתמשים וססמאות Edit... עריכה... Browse... עיון... SettingsDialog Restart required נדרשת הפעלה מחדש The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. הגדרות מטמון הרשת שונו. בכדי שיכנסו לתוקף יש להפעיל מחדש את הדפדפן. Choose Directory בחר ספרייה Choose CSS File Please put at the start of the translation RLE and at the end PDF, k? 10x bye ‫בחר קובץ CSS‬ SourceViewer Loading... טוען... &Edit ע&ריכה &Find &חפש &View &תצוגה Source of Page %1 קוד מקור של דף %1 TabBar Show Tab Bar הצג כותרת כרטיסיות Hide Tab Bar הסתר כותרת כרטיסיות New &Tab כרטיסייה &חדשה Duplicate Tab שכפל כרטיסייה &Close Tab &סגור כרטיסייה Close &Other Tabs סגור כרטיסייות &אחרות Reload Tab טען כרטיסייה מחדש Reload All Tabs רענן את כל הכרטיסיות TabWidget New &Tab &כרטיסייה חדשה &Close Tab &סגור כרטיסייה Show Next Tab הצג את הכרטיסייה הבאה Show Previous Tab הצג את הכרטסייה הקודמת Recently Closed Tabs כרטיסיות שנסגרו לאחרונה Untitled ללא שם Do you really want to close this page? האם באמת ברצונך לסגור את העמוד הזה? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? אתה שינית את העמוד הזה וכאשר תסגור אותו אתה עללו לאבד מידע. האם לסגור את העמוד בכל זאת? Ctrl-] Ctrl-] Ctrl-[ Ctrl-[ Saved Tabs כרטיסיות שנשמרו Loading... טוען... Loading %1% (%2 %3)... טוען %1% (%2 %3)... Finished loading הטעינה הסתיימה Failed to load הטעינה נכשלה Bookmark All Tabs שמור את כל הכרטיסיות בסימניות ToolbarSearch No Recent Searches אין חיפושים אחרונים Recent Searches חיפושים אחרונים Clear Recent Searches נקה את החיפושים האחרונים Suggestions המלצות Add '%1' הוסף "%1" Configure Search Engines... הגדרת מנועי חיפוש... WebPage Error loading page: %1 ארעה שגיאה באת הטעינה של העמוד: %1 When connecting to: %1. בעת החיבור אל %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org בדוק האם הכתובת מכילה שגיאות בנוסחח <b>ww</b>.arora-browse.org במקום <b>www</b>.arora-browser.org If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. אם המחשב שלך או הרשת שלך מוגנת על ידי חומת או או שרת proxy, אנא וודא שהדפדפן מורה לגשת לרשת. If the address is correct, try checking the network connection. אם הכתובת היא נכונה, אנא בדוק את חיבור הרשת. Resending POST request שולחת מחדש בקשת POST In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? בכדי להציג את האתר, הבקשה וכל המידע שאיתה חייב להישלח מחדש, דבר אשר יכול לגרום להתנהגויות לא צפויות באתר. למשל ייתכן והפעולה שניסית לעשות תתבצע שוב. האם ברצונך להמשיך בכל זאת? WebView Open in New &Window פתח ב&חלון חדש Open in New &Tab פתח ב&כרטיסייה חדשה Save Lin&k שמור &קישור &Bookmark This Link שים קישור ב&סימניות &Copy Link Location העתק &מיקום הקישור Open Image in New &Window פתח &תמונה בחלון חדש Open Image in New &Tab פתח תמונה ב&כרטיסייה חדשה &Save Image &שמור תמונה &Copy Image &העתק תמונה C&opy Image Location ה&עתק מיקום התמונה Loading... טוען... Search with... חפש בעזרת... Add to the toolbar search הוסף תסרגל החיפוש Method not supported לא סופקה שיטה %1 method is not supported. השיטה %1 לא נתמכת. Search engine מנוע חיפוש Choose the desired search engine בחר את מנוע החיפוש Engine name שם המנוע Type in a name for the engine אנא הקלד את שם המנוע Block Image חסום תמונה WebViewSearch Not Found לא נמצא arora-0.11.0/src/locale/hu_HU.ts000066400000000000000000002200521145000221100162660ustar00rootroot00000000000000 AboutDialog About %1 Névjegy: %1 Authors Szerzők License Licenc Lightweight WebKit-based web browser WebKit-alapú böngésző <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Minden jog fenntartva © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> Close Bezárás WebKit version: %1 AcceptLanguage Languages Nyelvek Languages: in order of preference: Nyelvek: prferencia szerint rendezve: Move &Up &Fel Move &Down &Le &Remove &Eltávolítás Add... Hozzáadás... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 AdBlockDialog Add Custom Rule Learn more about writing rules... Update Subscription Browse Subscriptions... Remove Subscription AdBlock Configuration Enable AdBlock Action AdBlockManager Custom Rules AdBlockModel Rule Szabály AdBlockSchemeAccessHandler Subscribe? Subscribe to this AdBlock subscription? %1 AddBookmarkDialog Add Bookmark Hozzáadás a könyvjelzőkhöz Type a name for the bookmark, and choose where to keep it. Adja meg a könyvjelző nevét és jelölje ki a helyét. Url Hivatkozás Title Cím Add Folder Új könyvjelzőmappa AutoFillDialog Form Passwords Remove Eltávolítás Remove All AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. Never for this site Not now AutoFillModel WebSite User Name BookmarksDialog Open Megnyitás Open in New Tab Megnyitás új lapon Edit Name Név szerkesztése Edit Address Cím szerkesztése Delete Törlés New Folder Új könyvjelzőmappa Bookmarks Könyvjelzők &Remove &Eltávolítás Add Folder Új könyvjelzőmappa BookmarksManager Bookmarks Bar Könyvjelző eszköztár Bookmarks Menu Könyvjelző menü Error when loading bookmarks on line %1, column %2: %3 Hiba a könyvjelzők betöltése közben a(z) %1. sor %2. oszlopban: %3 Toolbar Bookmarks Könyvjelző eszköztár Menu Menü Open File Fájl megnyitása XBEL XBEL Error when loading html bookmarks: %1 Hiba a html könyvjelzők betöltése közben: %1 Imported %1 %1 importálva Save File Fájl mentése %1 Bookmarks.xbel %1 Konyvjelzok.xbel XBEL (*.xbel *.xml) lupdate ../src/src.pro Export error Hiba az exportálás közben error saving bookmarks Hiba a könyvjelzők mentése közben Remove Bookmark Könyvjelző eltávolítása Insert Bookmark Könyvjelző hozzáadása Name Change Undo bookmark title change Név megváltoztatása Address Change Undo bookmark url change Hivatkozás megváltoztatása XBEL bookmarks XBEL könyvjelzők HTML Netscape bookmarks HTML Netscape könyvjelzők htmlToXBel tool required htmlToXBel eszköz szükséges htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. A HTML könyvjelzők importálására szolgáló, az Arora részeként szállított htmlToXBel eszköz nincs telepítve, vagy nem érhető el a keresési útvonalon. Loading Bookmark Könyvjelző betöltése Error when loading HTML bookmarks: %1 Hiba a HTML könyvjelzők betöltése közben: %1 BookmarksMenu Open in Tabs Megnyitás lapokon BookmarksModel Title Cím Address Hivatkozás BookmarksToolBar Bookmark Könyvjelző Open Megnyitás Open in New &Tab Megnyitás új la&pon Remove Eltávolítás Add Bookmark... Könyvjelző hozzáadása... Add Folder... Könyvjelzőmappa hozzáadása... Bookmarks Könyvjelzők BrowserApplication (Change: %1 %2) (Verzió: %1 %2) There are %1 windows and %2 tabs open Do you want to quit anyway? Jelenleg %1 böngészőablakban %2 lap van megnyitva Biztosan ki akar lépni? Restore failed A visszaállítás sikertelen The saved session will not be restored because Arora crashed while trying to restore this session. Az elmentett munkamenet nem kerül visszaállításra, mert az Arora összeomlott a művelet közben. Arora crashed while trying to restore this session. Should I try again? BrowserMainWindow &File &Fájl &New Window Új &ablak &Open File... &Fájl megnyitása... Open &Location... &Cím megnyitása... &Save As... Mentés más&ként... &Import Bookmarks... Könyvjelzők &importálása... &Export Bookmarks... Könyvjelzők &exportálása... P&rint Preview... Ny&omtatás előnézete... &Print... &Nyomtatás... Private &Browsing... &Privát böngészés... Close Window Ablak bezárása &Quit &Kilépés &Edit &Szerkesztés &Undo &Visszavonás &Redo Új&ra végrehajtás Cu&t Ki&vágás &Copy &Másolás &Paste &Beillesztés &Find &Keresés Find Nex&t K&övetkező keresése Find P&revious E&lőző keresése Prefere&nces... &Beállítások... Ctrl+, Ctrl+, &View &Nézet Ctrl+| Ctrl+| Shift+Ctrl+B Shift+Ctrl+B Ctrl+/ Ctrl+/ Show Menu Bar Menüsor megjelenítése &Reload Page Oldal &újratöltése &Stop Á&llj Zoom &In &Nagyítás Zoom &Normal N&ormál méret Zoom &Out &Kicsinyítés Zoom &Text Only Csak a &szöveg nagyítása Page S&ource Oldal &forrása Ctrl+Alt+U Ctrl+Alt+U &Full Screen &Teljes képernyő Hi&story Elő&zmények Back Vissza Forward Előre Home Kezdőlap Restore Last Session Utolsó munkamenet visszaállítása &Bookmarks &Könyvjelzők Show All Bookmarks... Könyvjelzők kezelése... Add Bookmark... Hozzáadás a könyvjelzőkhöz... Add Folder... Könyvjelzőmappa hozzáadása... &Window &Ablak &Tools &Eszközök Web &Search &Webes keresés Ctrl+K Web Search Ctrl+K &Clear Private Data &Személyes adatok törlése Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete Show &Network Monitor &Hálózatfigyelő megjelenítése Enable Web &Inspector Webfelügyelő &engedélyezése &Help &Súgó Switch application language Más alkalmazásnyelv About &Qt Névjegy: &Qt About &%1 About Browser &Névjegy: %1 Navigation Navigáció Show Status Bar Állapotsor megjelenítése Hide Status Bar Állapotsor elrejtése Show Toolbar Eszköztár megjelenítése Hide Toolbar Eszköztár elrejtése Show Bookmarks Bar Könyvjelző eszköztár megjelenítése Hide Bookmarks Bar Könyvjelző eszköztár elrejtése %1 - Arora Page title and Browser name %1 - Arora Open Web Resource Webes tartalom megnyitása Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Webes tartalom (*.html *.htm *.svg *.png *.gif *.svgz);;Minden fájl (*.*) Print Document Dokumentum nyomtatása Are you sure you want to turn on private browsing? Biztosan be akarja kapcsolni a privát böngészést? <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Ha a privát böngészés be van kapcsolva, akkor néhány személyes adatokat érintő művelet tiltásra kerül:<ul><li> A meglátogatott oldalak nem kerülnek hozzáadásra az előzményekhez.</li><li> Az új elemek automatikusan eltávolításra kerülnek a letöltések listájáról.</li><li> Az új sütik nem kerülnek eltárolásra, a korábban tárolt sütik pedig nem érhetőek el.</li><li> Az oldalak ikonjai és a munkamenetek nem kerülnek mentésre.</li><li> A keresések nem kerülnek hozzáadásra a keresőmező listájához.</li></ul>A böngészőablak bezárásáig a Vissza és Előre gombokkal navigálhatunk a megnyitott oldalak között. Are you sure you want to close the window? There are %1 tabs open Biztosan be akarja zárni az ablakot? Jelenleg %1 lap van megnyitva Web Inspector Webfelügyelő The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? A webfelügyelő csak azokkal az oldalakkal fog rendeltetésszerűen működni, amelyek az aktiválása előtt kerültek megnyitásra. Újra akar tölteni minden oldalt? Stop loading the current page Oldal letöltésének megszakítása Reload the current page Oldal újratöltése Downloads Letöltések Ctrl+Y Download Manager Ctrl+Y Default Alapértelmezett Text Encoding Szövegkódolás Select &All Alt+Ctrl+B Options... Configure Search Engines... Keresőmotorok beállítása... &Ad Block... When private browsing is turned on, some actions concerning your privacy will be disabled: Webpages are not added to the history. Items are automatically removed from the Downloads window. New cookies are not stored, current cookies can't be accessed. Site icons won't be stored. Session won't be saved. Searches are not added to the pop-up menu in the search box. No new network cache is written to disk. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Private Browsing ClearButton Clear Törlés ClearPrivateData Clear Private Data Személyes adatok törlése Clear the following items: A következő elemek törlése: &Browsing History Böngészési &előzmények &Download History &Letöltési előzmények &Search History &Keresési előzmények &Cookies &Sütik C&ached Web Pages Kapcs&olat nélküli webhelyadatok Website &Icons Oldalak &ikonjai Clear &Private Data &Személyes adatok törlése &Cancel &Mégsem ClickToFlash Load Betöltés Load All Összes betöltése Add %1 to Whitelist %1 hozzáadása az engedélyezési listához Remove from Whitelist Eltávolítás az engedélyezési listáról Settings Beállítások Load Flash Flash betöltése ClickToFlashSettings Whitelist sites Engedélyezett oldalak CookieExceptionsModel Website Oldal Rule Szabály Allow Engedélyezés Block Tiltás Allow For Session Engedélyezés a munkamenetre CookieModel Website Oldal Name Név Path Útvonal Secure Biztonságos Expires Lejárat Contents Tartalmak true igen false nem Session cookie Ideiglenes süti CookiesDialog Cookies Sütik &Remove &Eltávolítás Remove &All Cookies &Összes süti eltávolítása Add &Rule &Szabály hozzáadása CookiesExceptionsDialog Cookie Exceptions Süti kivételek New Exception Új kivétel Domain: Domain: Block Tiltás Allow For Session Engedélyezés a munkamenetre Allow Engedélyezés Exceptions Kivételek &Remove &Eltávolítás Remove &All &Összes eltávolítása DownloadDialog Downloads Letöltések Clean up Lista törlése 0 Items 0 elem DownloadItem Form Letöltés Ico Ico Filename Fájlnév Try Again Újra Stop Állj Open Megnyitás Save File Fájl mentése Download canceled: %1 Letöltés megszakítva: %1 Error opening output file: %1 Hiba a kimeneti fájl megnyitásánál: %1 Error saving: %1 Hiba a mentésnél: %1 Network Error: %1 Hálózati hiba: %1 %1 of %2 (%3/sec) - %4 %1 / %2 (%3/mp) - %4 ? ? %1 of %2 - Stopped %1 / %2 - Megállítva Download directory (%1) couldn't be created. DownloadManager There are %1 downloads in progress Do you want to quit anyway? Jelenleg %1 letöltés van folyamatban. Biztosan ki akar lépni? %n Download(s) %n letöltés %n minutes remaining %n perc van hátra %n seconds remaining %n másodperc van hátra bytes bájt kB kB MB MB GB GB FileAccessReply No Error Error opening: %1: No such file or directory Unable to read %1 Contents of %1 %1 KB HistoryDialog Open Megnyitás Copy Másolás Delete Törlése History Előzmények &Remove &Eltávolítás Remove &All &Összes eltávolítása HistoryMenu Show All History Összes előzmény megjelenítése Clear History... Előzmények törlése... Clear History Előzmények törlése Do you want to clear the history? Törölni akarja az előzményeket? HistoryModel Title Cím Address Hivatkozás HistoryTreeModel Earlier Today Korábban a mai napon %n item(s) %n elem JavaScriptAroraObject Welcome to Arora! Arora Start Search! Search results provided by About Arora LanguageManager No translation files are installed. Nincs telepített fordítási fájl. Choose language Nyelv kiválasztása <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <b>Az operációs rendszer alapértelmezett nyelvén kívül választható további nyelv is.</p><p>Válassza ki a használni kívánt nyelvet!</p> No translation files are installed at %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Adja meg "%1" felhasználónevét és jelszavát itt: %2</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Csatlakozás a(z) "%1" proxyhoz:</qt> - SSL Errors - SSL hibák <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>SSL hibák:<br/><br/> <tt>%1</tt><ul><li>%2</li></ul> Figyelmen kívül akarja hagyni ezeket a hibákat?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Tanúsítványok:<br/>%1<br/>El akarja fogadni ezeket a tanúsítványokat?</qt> Issuer: %1 Kibocsátó: %1 Not valid before: %1 Nem érvényes ezelőtt: %1 Valid until: %1 Érvényes eddig: %1 Alternate Names: Alternatív nevek: NetworkMonitor Name Név Value Érték NetworkMonitorDialog Network Monitor Hálózatfigyelő Network Requests Hálózati kérések Request Headers Kérés fejlécek Response Headers Válasz fejlécek &Remove &Eltávolítás Remove &All Requests &Összes kérés eltávolítása OpenSearchDialog Open File Fájl megnyitása OpenSearch Keresőmotorok Error Hiba %1 is not a valid OpenSearch 1.1 description or is already on your list. %1 nem érvényes OpenSearch 1.1 leírás, vagy már szerepel a listán. You must have at least one search engine in here. Legalább egy keresőmotor szükséges. OpenSearch Manager Keresőmotorok kezelése &Add &Hozzáadás &Delete &Törlés &Restore Defaults &Alapértelmezések visszaállítása &Close &Bezárás OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Leírás:</strong> %1 <strong>Provides contextual suggestions</strong> <strong>Javaslatokat szolgáltat</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Name Név Keywords OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 Hozzá akarja adni ezt a keresőmotort a listához?<br /><br />Név: %1<br />Keresés itt: %2 PasswordDialog Authentication Required Azonosítás szükséges DUMMY ICON DUMMY ICON INTRO TEXT DUMMY INTRO TEXT DUMMY Username: Felhasználónév: Password: Jelszó: PlainTextEditSearch Not Found Nincs találat ProxyDialog Proxy Authentication Proxy azonosítás Connect to proxy Kapcsolódás a proxyhoz Username: Felhasználónév: Password: Jelszó: QObject The file is not an OpenSearch 1.1 file. A fájl nem egy OpenSearch 1.1 fájl. The file is not an XBEL version 1.0 file. A fájl nem egy XBEL 1.0 fájl. Unknown title Ismeretlen cím RequestModel Redirect: %1 Átirányítás: %1 Method Típus Address Cím Response Válasz Length Hossz Content Type Tartalom típusa Info Információ Unknown Ismeretlen SearchBanner Form Keresés Done Bezárás Highlight All SearchLineEdit Search Keresés Settings Preferences Beállítások General Általános On startup: Induláskor: Show my home page Kezdőlap megjelenítése Show a blank page Üres oldal megjelenítése Restore windows and tabs from last time Legutóbbi ablakok és lapok visszaállítása Home Page: Kezdőlap: Set to current page Beállítás az aktuális oldalra Remove history items: Előzmények eltávolítása: After one day Egy nap után After one week Egy hét után After two weeks Két hét után After one month Egy hónap után After one year Egy év után Manually Manuálisan On application exit Kilépéskor Downloads Letöltések Ask for a destination each time Rákérdezés a letöltés helyére minden alkalommal Use this destination: Letöltések helyének megadása: Appearance Megjelenés Standard font: Általános betűtípus: Select... Kiválasztás... Fixed-width font: Rögzített szélességű betűtípus: Preferred languages for viewing webpages in: Oldalak megtekintésekor előnyben részesített nyelvek: Privacy Adatvédelem Web Content Webes tartalom Block Popup Windows Felugró ablakok blokkolása Enable Plugins Bővítmények engedélyezése Use ClickToFlash on flash plugins Flash tartalmak megjelenítése kattintásra Enable Javascript Javascript engedélyezése View Images Képek megjelenítése Cookies Sütik Accept Cookies: Sütik elfogadása: Always Mindig Never Soha Only from sites you navigate to Csak a meglátogatott oldalakon Exceptions... Kivételek... Keep Cookies Until: Sütik megtartása: They expire Lejáratig I exit the application Kilépésig At most 90 days Legfeljebb 90 napig Cookies... Sütik... Filter Tracking Cookies Nyomkövető sütik szűrése Tabs Lapok Select tabs and windows as they are created Lapok és ablakok kiválasztása megnyitáskor Confirm when closing multiple tabs or windows Megerősítés kérése több lap vagy ablak bezárásakor Show only one close button instead of one for each tab Csak egy bezárás gomb megjelenítése Quit the application when last tab is closed Kilépés az alkalmazásból az utolsó lap bezárásakor Opening links Hivatkozások megnyitása Links that want to open in a new window: Az új ablakban megnyitandó hivatkozások: In a new window Új ablakban In a new selected tab in the current window Az aktuális ablakban, új aktív lapon In a new tab in the current window Az aktuális ablakban, új lapon In the current tab Az aktuális lapon Open links from applications: Külső hivatkozások megnyitása: Proxy Proxy Use proxy server Proxy kiszolgáló használata Type: Típus: Socks5 Socks5 Http (Secure) Http (biztonságos) Http (Transparent) Http (nem biztonságos) Host name: Kiszolgáló: Port: Port: User Name: Felhasználónév: Password: Jelszó: Advanced Haladó Style Sheet: Stíluslap: Enable network cache Hálózati gyorstár engedélyezése Maximum Size: Maximális méret: MB MB Use the default search engine as fallback when the URL given by the user is invalid Choose Directory... A cookie session ends: When I exit the application 1 day 2 days 3 days 7 days 30 days AutoFill AutoFill web forms: User names and passwords Edit... Browse... SettingsDialog Restart required Újraindítás szükséges The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. A hálózati gyorstárazás beállításai megváltoztak. A módosítások használatához a böngésző újraindítása szükséges. Choose Directory Choose CSS File SourceViewer Loading... Betöltés... &Edit &Szerkesztés &Find &Keresés &View &Nézet &Wrap lines &Sorok tördelése Source of Page Oldal forrása Source of Page %1 %1 oldal forrása TabBar Show Tab Bar Lapok megjelenítése Hide Tab Bar Lapok elrejtése Duplicate Tab Lap megkettőzése &Close Tab &Lap bezárása Close &Other Tabs &Többi lap bezárása Reload Tab Lap újratöltése Reload All Tabs Összes lap újratöltése TabWidget Untitled Névtelen Saved Tabs Mentett lapok Do you really want to close this page? Biztosan be akarja zárni ezt az oldalt? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Az oldalon elvégzett módosítások bezáráskor elveszhetnek. Biztosan be akarja zárni ezt az oldalt? Loading... Töltés... Loading %1% (%2 %3)... Töltés %1% (%2 %3)... Finished loading A letöltés befejeződött Failed to load A letöltés sikertelen Show Next Tab Következő lap megjelenítése Ctrl-] Ctrl-] Show Previous Tab Előző lap megjelenítése Ctrl-[ Ctrl-[ Recently Closed Tabs Nemrég bezárt lapok New &Tab Új &lap &Close Tab Lap &bezárása Bookmark All Tabs Összes lap felvétele a könyvjelzők közé ToolbarSearch Suggestions Javaslatok Add '%1' '%1' hozzáadása Configure Search Engines... Keresőmotorok beállítása... Clear Recent Searches Keresési előzmények törlése No Recent Searches Nincsenek keresési előzmények Recent Searches Keresési előzmények WebPage Error loading page: %1 Hiba a következő oldal betöltésekor: %1 When connecting to: %1. Kapcsolódás: %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org Nem vétett hibát a hivatkozás beírásakor? (pl. "<b>ww</b>.arora-browser.org" a "<b>www</b>.arora-browser.org" helyett) If the address is correct, try checking the network connection. Amennyiben a hivatkozás helyes, próbálja ellenőrizni a hálózati kapcsolatot. If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Ha a számítógép vagy a hálózat tűzfal, illetve proxy mögött van, a hálózat eléréséhez megfelelő hozzáférési jogosultság szükséges. Resending POST request POST kérés újraküldése In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? Az oldal megjelenítéséhez az űrlapot minden adattal együtt újra el kell küldeni. A kétszer végrehajtott megegyező művelet az oldalon nem várt komplikációkkal járhat. Biztosan folytatni szeretné? WebView Open in New &Window Megnyitás új &ablakban Open in New &Tab Megnyitás új &lapon Save Lin&k Hivatkozás &mentése &Bookmark This Link Hivatkozás &felvétele a könyvjelzők közé &Copy Link Location Hivatkozá&s másolása Open Image in New &Window &Kép megnyitása új ablakban Open Image in New &Tab Ké&p megnyitása új lapon &Save Image &Kép mentése &Copy Image Kép m&ásolása C&opy Image Location Kép &hivatkozásának másolása Search with... Keresés mással... Loading... Töltés... Add to the toolbar search Hozzáadás az eszköztár keresőmezőjéhez Method not supported Az eljárás nem támogatott %1 method is not supported. %1 eljárás nem támogatott. Search engine Keresőmotor Choose the desired search engine Válassza ki a kívánt keresőmotort Engine name Motor neve Type in a name for the engine Adjon meg egy nevet a motornak Block Image WebViewSearch Not Found Nincs találat arora-0.11.0/src/locale/it_IT.ts000066400000000000000000002433461145000221100163010ustar00rootroot00000000000000 AboutDialog About Informazioni Lightweight WebKit-based web browser Browser web leggero basato su WebKit <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> Authors Autori License Licenza Close Chiudi <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style="font-size:9pt;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> About %1 Informazioni su %1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> WebKit version: %1 Versione di WebKit: %1 AcceptLanguage Languages Lingue Languages: in order of preference: Lingue: in ordine di preferenza: Move &Up &Sposta in alto Move &Down Sposta in &basso &Remove &Rimuovi Add... Aggiungi... AddBookmarkDialog Add Bookmark Aggiungi un segnalibro Type a name for the bookmark, and choose where to keep it. Scrivi il nome del segnalibro, e scegli dove metterlo. Url Title Titolo Add Folder Aggiungi cartella BookmarksDialog Open Apri Delete Elimina New Folder Nuova cartella Bookmarks Segnalibri &Remove &Rimuovi Add Folder Aggiungi cartella Open in New Tab Apri in una nuova scheda Edit Name Modifica nome Edit Address Modifica indirizzo BookmarksManager Error when loading bookmarks on line %1, column %2: %3 Errore durante l'apertura dei segnalibri alla riga %1, colonna %2: %3 Toolbar Bookmarks Barra dei segnalibri Menu Menu Open File Apri file XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) Imported %1 Importati %1 Save File Salva il file %1 Bookmarks.xbel %1 Bookmarks.xbel Export error Errore in fase di esportazione error saving bookmarks errore durante il salvataggio dei segnalibri Remove Bookmark Rimuovi segnalibro Insert Bookmark Inserisci segnalibro Name Change Cambia il nome Address Change Cambia l'indirizzo Bookmarks Bar Barra dei segnalibri Bookmarks Menu Menu Segnalibri XBEL (*.xbel *.xml *.html) XBEL (*.xbel *.xml *.html) Error when loading html bookmarks: %1 Errore durante il caricamento di segnalibri html: %1 Name Change Undo bookmark title change Cambio nome Address Change Undo bookmark url change Cambio indirizzo XBEL bookmarks Segnalibri XBEL HTML Netscape bookmarks Segnalibri HTML Netscape htmlToXBel tool required Strumento htmlToXBel richiesto htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. Lo strumento htmlToXBel, fornito con Arora e necessario a importare segnalibri HTML, non è installato o non è disponibile nei percorsi di ricerca. Loading Bookmark Caricamento segnalibro Error when loading HTML bookmarks: %1 Errore durante il caricamento dei segnalibri HTML: %1 BookmarksMenu Open in Tabs Apri in schede BookmarksModel Title Titolo Address Indirizzo BookmarksToolBar Bookmark Segnalibro Open Apri Open in New &Tab Apri in una nuova &scheda Remove Rimuovi Add Bookmark... Aggiungi segnalibro... Add Folder... Aggiungi cartella... Bookmarks Segnalibri BrowserApplication There are %1 windows and %2 tabs open Do you want to quit anyway? Ci sono %1 finestre e %2 schede aperte Sei sicuro di voler uscire? Restore failed Ripristino non riuscito The saved session will not being restored because last time it was restored Arora crashed. La sessione salvata non sarà ripristinata perché l'ultima volta che è stata ripristinata Arora è andato in crash. (Change: %1 %2) (Cambia: %1 %2) The saved session will not be restored because Arora crashed while trying to restore this session. La sessione salvata non sarà ripristinata perché Arora si è chiuso in modo inatteso nel tentativo di ripristinarla. BrowserMainWindow &File &File &New Window &Nuova finestra &Open File... &Apri file... Open &Location... &Apri indirizzo... &Save As... &Salva come... &Import Bookmarks... &Importa i segnalibri... &Export Bookmarks... &Esporta i segnalibri... P&rint Preview... An&teprima di stampa... &Print... Stam&pa... Private &Browsing... &Navigazione anonima... &Quit &Esci &Edit &Modifica &Undo &Annulla &Redo &Ripeti Cu&t &Taglia &Copy &Copia &Paste &Incolla &Find Tro&va &Find Next Tro&va successivo &Find Previous Tro&va precedente &Preferences &Preferenze Ctrl+, Ctrl+, &View &Visualizza Shift+Ctrl+B Shift+Ctrl+B Ctrl+| Ctrl+| Ctrl+/ Ctrl+/ &Stop &Ferma Reload Page Ricarica la pagina &Make Text Bigger &Ingrandisci il testo &Make Text Normal &Dimensione normale &Make Text Smaller &Rimpicciolisci il testo Page S&ource &Sorgente della pagina Ctrl+Alt+U Ctrl+Alt+U &Full Screen &Schermo intero Hi&story &Cronologia Back Indietro Forward Avanti Home Pagina iniziale Restore Last Session Ripristina la sessione precedente &Bookmarks &Segnalibri Manage Bookmarks... Gestione dei segnalibri... Add Bookmark... Aggiungi segnalibro... &Window &Finestra &Tools &Strumenti Web &Search &Ricerca nel web Ctrl+K Web Search Ctrl+K Enable Web &Inspector Abilita l'anal&izzatore web &Help &Aiuto About &Qt Informazioni su &Qt About &Arora Informazioni su &Arora Navigation Navigazione Show Status Bar Mostra la barra di stato Hide Status Bar Nascondi la barra di stato Show Toolbar Mostra la barra degli strumenti Hide Toolbar Nascondi la barra degli strumenti Show Bookmarks bar Mostra la Barra Dei Segnalibri Hide Bookmarks bar Nascondi la Barra Dei Segnalibri Arora Arora %1 - Arora Page title and Browser name %1 - Arora Open Web Resource Apri risorsa web Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Risorse web (*.html *.htm *.svg *.png *.gif *.svgz);;Tutti i file (*.*) Print Document Stampa documento Are you sure you want to turn on private browsing? Sei sicuro di voler passare alla navigazione anonima? Are you sure you want to close the window? There are %1 tabs open Sei sicuro di voler chiudere la finestra? Ci sono %1 schede aperte Page Source of %1 Sorgente di %1 Web Inspector Analizzatore web The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? L'analizzatore web funziona correttamente solo con le pagine che sono caricate dopo averlo abilitato. Vuoi ricaricare tutte le pagine? Stop loading the current page Ferma il caricamento della pagina attuale Reload the current page Ricarica la pagina attuale Downloads Scaricamenti Alt+Ctrl+L Download Manager Alt+Ctrl+L &Clear Private Data &Cancella i dati privati Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Canc <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Quando la navigazione anonima è attivata, alcune azioni sono disabilitate nel rispetto della tua privacy:<ul><li> Le pagine non sono aggiunte alla cronologia.</li><li> Gli elementi sono rimossi automaticamente dalla finestra degli scaricamenti.</li><li> Non vengono salvati i nuovi cookie e non è possibile accedere a quelli attuali.</li><li> Le chiavi di ricerca non sono aggiunte al menu che appare sulla riquadro di ricerca.</li></ul>Fino a che la finestra è aperta, puoi comunque usare i pulsanti Avanti e Indietro per tornare alle pagine che hai già visitato. Show Bookmarks Bar Mostra la barra dei segnalibri Hide Bookmarks Bar Nascondi la barra dei segnalibri Find Nex&t &Trova successivo Find P&revious Trova p&recedente Prefere&nces... Prefere&nze... Show Menu Bar Mostra barra dei menu &Reload Page &Ricarica pagina Make Text &Bigger &Ingrandisci testo Make Text &Normal Ripristi&na dimensione testo Make Text &Smaller Riduci te&sto Show &Network Monitor Mostra mo&nitor di rete Switch application language Cambia lingua applicazione Close Window Chiudi finestra Zoom &In Au&menta zoom Zoom &Normal Dimensioni &normali Zoom &Out Riduci z&oom Zoom &Text Only Ingrandisci solo il &testo Show All Bookmarks... Mostra tutti i segnalibri... Add Folder... Aggiungi cartella... About &%1 About Browser Informazioni su &%1 <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Quando la navigazione anonima è attiva, alcune azioni riguardanti la riservatezza saranno disabilitate:<ul><li> Le pagine web non sono aggiunte alla cronologia.</li><li> Gli elementi sono rimossi automaticamente dalla finestra Scaricamenti.</li><li> I nuovi cookie non sono conservati, non è possibile accedere ai cookie correnti.</li><li> Le icone dei siti non saranno memorizzate, le sessioni non saranno salvate.</li><li> Le ricerche non sono aggiunte al menu a comparsa nel riquadro di ricerca.</li></ul>Fino alla chiusura della finestra, è ancora possibile fare clic sui pulsanti Indietro e Avanti per tornare alle pagine web aperte in precedenza. Ctrl+Y Download Manager Default Predefinita Text Encoding Codifica del testo <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li><li> Network cache is disabled.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Quando la navigazione anonima è attivata, alcune azioni relative alla riservatezza saranno disabilitate:<ul><li> Le pagine web non saranno aggiunte alla cronologia.</li><li> Gli elementi presenti nella finestra Scaricamenti saranno rimossi automaticamente.</li><li> I nuovi cookie non sono conservati, i cookie correnti non sono accessibili.</li><li> Le icone dei siti non saranno conservate, le sessioni non saranno salvate.</li><li> Le ricerche non sono aggiunte al menu a comparsa nel riquadro di ricerca.</li><li> La cache di rete è disabilitata.</li></ul>Fino alla chiusura della finestra, potrai fare clic sui pulsanti Indietro e Avanti per tornare alle pagine precedentemente aperte. Select &All Selezion&a tutto Alt+Ctrl+B Alt+Ctrl+B <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li><li> No new network cache is written to disk.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Quando la navigazione anonima è abilitata, alcune azioni relative alla riservatezza saranno disabilitate:<ul><li> Le pagine web non sono aggiunte alla cronologia.</li><li> Gli elementi sono automaticamente rimossi dalla finestra Scaricamenti.</li><li> I nuovi cookie non sono salvati, i cookie attuali non sono accessibili.</li><li> Le icone dei siti non saranno salvate, come le sessioni.</li><li> Le ricerche non sono aggiunte al menu a comparsa nel riquadro di ricerca.</li><li> Nessuna cache di rete sarà scritta su disco.</li></ul>Fino alla chiusura della finestra, sarà possibile fare clic sui pulsanti Indietro e Avanti per tornare alle pagine web aperte. ClearButton Clear Cancella ClearPrivateData Clear Private Data Cancella i dati privati Clear the following items: Cancella questi elementi: &Browsing History Cronologia della &navigazione &Download History Cronolo&gia degli scaricamenti &Search History Cronologia delle &ricerche &Cookies &Cookie C&ache C&ache Website &Icons &Icone dei siti Clear &Private Data Cancella i dati &privati &Cancel &Annulla C&ached Web Pages Pagine web in c&ache ClickToFlash Load Carica Load All Carica tutto Add %1 to Whitelist Aggiungi %1 ai siti autorizzati Remove from Whitelist Rimuovi dai siti autorizzati Settings Impostazioni Load Flash Carica Flash ClickToFlashSettings Whitelist sites Siti autorizzati CookieExceptionsModel Website Sito web Status Stato Allow Consenti Block Rifiuta Allow For Session Consenti nella sessione Rule Regola CookieModel Website Sito web Name Nome Path Percorso Secure Sicuro Expires Scade Contents Contenuti true vero false falso Session cookie Cookie di sessione CookiesDialog Cookies Cookie &Remove &Rimuovi Remove &All Cookies Rimuovi &tutti i cookie Add &Rule Aggiungi &regola CookiesExceptionsDialog Cookie Exceptions Eccezioni New Exception Nuova eccezione Domain: Dominio: Block Rifiuta Allow For Session Consenti nella sessione Allow Consenti Exceptions Eccezioni &Remove &Rimuovi Remove &All Rimuovi &tutti DownloadDialog Downloads Scaricamenti Clean up Pulisci 0 Items 0 elementi &OK &OK DownloadItem Save File Salva il file Download canceled: %1 Scaricamento annullato: %1 Error opening save file: %1 Errore durante l'apertura del file: %1 Error saving: %1 Errore durante il salvataggio: %1 Network Error: %1 Errore di rete: %1 seconds secondi minutes minuti - %4 %5 remaining - %4 %5 rimanenti %1 of %2 (%3/sec) %4 %1 di %2 (%3/sec) %4 ? ? %1 of %2 - Stopped %1 di %2 - Fermato bytes byte kB kB MB MB Form Modulo Ico Ico Filename Nome del file Try Again Riprova Stop Ferma Open Apri - %n minutes remaining - %n minuto rimanente - %n minuti rimanenti - %n seconds remaining - %n secondo rimanente - %n secondi rimanenti Error opening output file: %1 Errore nel file di output: %1 %1 of %2 (%3/sec) - %4 %1 di %2 (%3/sec) - %4 Download directory (%1) couldn't be created. La cartella degli scaricamenti (%1) non può essere creata. DownloadManager 1 Download 1 Scaricamento %1 Downloads %2 Scaricamenti %n Download(s) %n scaricamento %n scaricamenti There are %1 downloads in progress Do you want to quit anyway? Ci sono %1 scaricamenti in corso Vuoi uscire comunque? %n minutes remaining Un minuto rimanente %n minuti rimanenti %n seconds remaining Un secondo rimanente %n secondi rimanenti bytes byte kB kB MB MB GB GB FileAccessReply No Error Nessun errore Error opening: %1: No such file or directory Errore di apertura: %1: Nessun file o cartella Unable to read %1 Impossibile leggere %1 Contents of %1 Contenuto di %1 %1 KB %1 KB HistoryDialog Open Apri Copy Copia Delete Elimina History Cronologia &Remove &Rimuovi Remove &All Rimuovi &tutti HistoryMenu Show All History Mostra tutta la cronologia Clear History Cancella la cronologia Clear History... Cancella la cronologia... Do you want to clear the history? Sei sicuro di voler cancellare la cronologia? HistoryModel Title Titolo Address Indirizzo HistoryTreeModel Earlier Today Prima di oggi %1 items %1 elementi %n item(s) %n elemento %n elementi JavaScriptAroraObject Welcome to Arora! Benvenuti in Arora! Arora Start Avvio di Arora Search! Cerca! Search results provided by Risultati di ricerca forniti da About Arora Informazioni su Arora LanguageManager Default Predefinita Choose language Scegli la lingua <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Puoi utilizzare una lingua differente da<br>quella predefinita del sistema operativo.</p><p>Scegli la lingua da utilizzare</p> No translation files are installed. Nessun file di traduzione installato. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Inserisci nome utente e password per "%1" su %2</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Connettiti al proxy "%1" usando:</qt> SSL Errors: %1 %2 Do you want to ignore these errors? Errori SSL: %1 %2 Vuoi ignorare questi errori? Do you want to accept all these certificates? Vuoi accettare tutti questi certificati? - SSL Errors - Errori SSL <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>Errori SSL:<br/><br/>per: <tt>%1</tt><ul><li>%2</li></ul> Vuoi ignorare questi errori?</qt> <qt>Certifactes:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Certificati:<br/>%1<br/>Vuoi accettare tutti questi certificati?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Certificati:<br/>%1<br/>Vuoi accettare tutti questi certificati?</qt> Issuer: %1 Emittente: %1 Not valid before: %1 Non valido prima di: %1 Valid until: %1 Valido fino a: %1 Alternate Names: Nomi alternativi: NetworkMonitor Name Nome Value Valore NetworkMonitorDialog Network Monitor Monitor di rete Network Requests Richieste di rete Request Headers Intestazioni di richiesta Response Headers Intestazioni di risposta &Remove &Rimuovi Remove &All Requests Rimuovi &tutte le richieste OpenSearchDialog Open File Apri file OpenSearch Error Errore %1 is not a valid OpenSearch 1.1 description or is already on your list. %1 non è una descrizione OpenSearch 1.1 valida o è già nell'elenco. You must have at least one search engine in here. Devi avere almeno un motore di ricerca. OpenSearch Manager Gestore OpenSearch &Restore Defaults &Ripristina valori predefiniti &Delete &Elimina &Add &Aggiungi &Close &Chiudi OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Descrizione:</strong> %1 <strong>Provides contextual suggestions</strong> <strong>Fornisce suggerimenti di contesto</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Elenco di parole chiave, separate da virgole, seguito da termini di ricerca che può essere inserito nella barra degli indirizzi per cercare con questo motore Name Nome Keywords Parole chiave OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 Vuoi aggiungere il seguente motore all'elenco dei motori di ricerca?<br /><br />Nome: %1<br />Ricerca in: %2 PasswordDialog Authentication Required Autenticazione richiesta DUMMY ICON ICONA FANTASMA INTRO TEXT DUMMY TESTO INTRODUTTIVO FANTASMA Username: Nome utente: Password: Password: PlainTextEditSearch Not Found Non trovato ProxyDialog Proxy Authentication Autenticazione al proxy ICON ICONA Connect to proxy Connettiti al proxy Username: Nome utente: Password: Password: QObject The file is not an XBEL version 1.0 file. Questo file non è un XBEL versione 1.0. Unknown title Titolo sconosciuto The file is not an OpenSearch 1.1 file. Non è un file OpenSearch 1.1. RequestModel Redirect: %1 Redirezione: %1 Method Metodo Address Indirizzo Response Risposta Length Lunghezza Content Type Tipo contenuto Info Info SearchBanner Form Modulo TextLabel TextLabel < < > > Done Finito Highlight All Seleziona tutto SearchLineEdit Search Cerca Settings Settings Impostazioni General Generale Home: Pagina iniziale: Set to current page Usa la pagina corrente Remove history items: Rimuovi gli elementi dalla cronologia: After one day Dopo un giorno After one week Dopo una settimana After two weeks Dopo due settimane After one month Dopo un mese After one year Dopo un anno Manually Manualmente Open links from applications: Apri i collegamenti dalle applicazioni: In a tab in the current window In una scheda nella finestra corrente In a new window In una nuova finestra Appearance Aspetto Fixed-width font: Carattere a larghezza fissa: Privacy Riservatezza Web Content Contenuto web Enable Plugins Abilita i plugin Enable Javascript Abilita Javascript Cookies Cookie Accept Cookies: Accetta cookie: Always Sempre Never Mai Only from sites you navigate to Solo dai siti che stai navigando Exceptions... Eccezioni... Keep until: Mantienili fino a che: They expire Scadono I exit the application Esci dall'applicazione At most 90 days Al massimo 90 giorni Cookies... Cookie... Proxy Proxy Enable proxy Abilita il proxy Type: Tipo: Socks5 Socks5 Http Http Host: Host: Port: Porta: User Name: Nome utente: Password: Password: Advanced Avanzate Style Sheet: Foglio di stile: Downloads Scaricamenti Ask for a destination each time Chiedi la cartella di destinazione ogni volta Use this destination: Usa questa cartella di destinazione: Standard font: Carattere standard: Times 16 Times 16 Select... Seleziona... Courier 13 Courier 13 On startup: All'avvio: Show my home page Mostra la pagina iniziale Show a blank page Mostra una pagina vuota Restore windows and tabs from last time Ripristina le finestre e le schede dell'ultima sessione On application exit All'uscita Enable Images Abilita immagini Tabs Schede Select tabs and windows as they are created Seleziona schede e finestre a seconda di come sono state create Confirm when closing multiple tabs Chiedi conferma durante la chiusura di schede multiple Preferences Preferenze Home Page: Pagina iniziale: View Images Visualizza immagini Keep Cookies Until: Mantieni i cookie fino a che: Use proxy server Utilizza server proxy Host name: Nome server: Show only one close button instead of one for each tab Mostra solo un pulsante di chiusura al posto di uno per ogni scheda Preferred languages for viewing webpages in: Lingue preferite per visualizzare le pagine web: Block Popup Windows Blocca finestre a comparsa Opening links Apertura collegamenti Links that want to open in a new window: Collegamenti da aprire in una nuova finestra: In a new selected tab in the current window In una nuova scheda selezionata nella finestra corrente In a new tab in the current window In una nuova scheda della finestra corrente In the current tab Nella scheda corrente Http (Secure) Http (Sicuro) Http (Transparent) Http (Trasparente) Use ClickToFlash on flash plugins Utilizza ClickToFlash sui plugin flash Filter Tracking Cookies Filtra i cookie traccianti Confirm when closing multiple tabs or windows Conferma in caso di chiusura di più schede o finestre Quit the application when last tab is closed Esci dall'applicazione alla chiusura dell'ultima scheda Enable network cache Abilita cache di rete Maximum Size: Dimensione massima: MB Use the default search engine as fallback when the URL given by the user is invalid Utilizza il motore di ricerca predefinito come ripiego quando l'URL specificato dall'utente non è valido Choose Directory... Scegli cartella... SettingsDialog Restart required Riavvio necessario The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. La configurazione della cache di rete è cambiata. Affiché le modifiche abbiano effetto, è necessario riavviare il browser. Choose Directory Scegli cartella SourceViewer Loading... Caricamento in corso ... &Edit &Modifica &Find Tro&va &View &Visualizza &Wrap lines Test&o a capo Source of Page Sorgente della pagina Source of Page %1 Sorgente della pagina %1 TabBar New &Tab &Nuova scheda Duplicate Tab Duplica scheda &Close Tab &Chiudi scheda Close &Other Tabs Chiudi &altre schede Reload Tab Ricarica scheda Reload All Tabs Ricarica tutte le schede Show Tab Bar Mostra la barra delle schede Hide Tab Bar Nascondi la barra delle schede TabWidget New &Tab &Nuova scheda &Close Tab &Chiudi la scheda Show Next Tab Mostra la scheda successiva Show Previous Tab Mostra la scheda precedente Recently Closed Tabs Schede chiuse di recente (Untitled) (Senza titolo) Do you really want to close this page? Sei sicuro di voler chiudere questa pagina? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Hai modificato questa pagina e chiudendola perderai le modifiche. Sei sicuro di volerlo fare? Untitled Senza titolo Ctrl-] Ctrl-[ Saved Tabs Schede salvate Loading... Caricamento in corso... Loading %1% (%2 %3)... Caricamento di %1% (%2 %3)... Finished loading Caricamento completato Failed to load Caricamento non riuscito Bookmark All Tabs Segnalibri di tutte le schede ToolbarSearch Google Google No Recent Searches Nessuna ricerca recente Recent Searches Ricerche recenti Clear Recent Searches Cancella ricerche recenti Suggestions Suggerimenti Add '%1' Aggiungi '%1' Configure Search Engines... Configura motori di ricerca... WebPage Error loading page: %1 Errore durante l'apertura della pagina: %1 When connecting to: %1. Durante la connessione a: %1. Check the address for errors such as <b>ww</b>.trolltech.com instead of <b>www</b>.trolltech.com. Controlla che l'indirizzo non contenga errori tipo <b>ww</b>.trolltech.com al posto di <b>www</b>.trolltech.com. If the address is correct, try to check the network connection. Se l'indirizzo è corretto, controlla il corretto funzionamento della connessione di rete. If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Se il computer o la rete sono protette da un firewall o da un proxy, controlla che il browser abbia i permessi per accedere alla rete. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org Controlla la presenza nell'indirizzo di errori del tipo <b>ww</b>.arora-browser.org invece che <b>www</b>.arora-browser.org If the address is correct, try checking the network connection. Se l'indirizzo è corretto, prova a verificare la connessione di rete. Resending POST request Nuovo invio della richiesta POST In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? Per visualizzare il sito, la richiesta con tutti i dati deve essere inviata nuovamente, ciò potrebbe causare un comportamento imprevisto del sito, ad es. la stessa azione potrebbe essere eseguita due volte. Vuoi continuare comunque? WebView Open in New &Window Apri in una nuova &finestra Open in New &Tab Apri in una nuova &scheda Save Lin&k Salva il colle&gamento &Bookmark This Link Salva il collegamento nei segnali&bri &Copy Link Location &Copia l'indirizzo del collegamento Open Image in New &Window Apri l'immagine un una nuova &finestra Open Image in New &Tab Apri l'immagine in una nuova &scheda &Save Image &Salva l'immagine &Copy Image &Copia l'immagine C&opy Image Location C&opia l'indirizzo dell'immagine Loading... Caricamento in corso ... Search with... Cerca con... Add to the toolbar search Aggiungi alla barra delle ricerche Method not supported Metodo non supportato %1 method is not supported. Il metodo %1 non è supportato. Search engine Motore di ricerca Choose the desired search engine Scegli il motore di ricerca desiderato Engine name Nome del motore Type in a name for the engine Digita un nome per il motore WebViewSearch Not Found Non trovato arora-0.11.0/src/locale/ja_JP.ts000066400000000000000000002545641145000221100162600ustar00rootroot00000000000000 AboutDialog About About Authors 著作者 License ライセンス Lightweight WebKit-based web browser WebKit ベースの軽いブラウザ <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> Close 閉じる <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> About %1 %1 について <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> WebKit version: %1 WebKit バージョン: %1 AcceptLanguage Languages 言語 Languages: in order of preference: 言語の優先順位: Move &Up 上へ(&U) Move &Down 下へ(&D) &Remove 削除(&R) Add... 追加... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 AdBlock ルール:%1 によってブロックされました AdBlockDialog Add Custom Rule カスタム ルールの追加 Learn more about writing rules... ルールの書き方について... Update Subscription サブスクリプションの更新 Browse Subscriptions... サブスクリプションを参照... Remove Subscription サブスクリプションを削除 AdBlock Configuration AdBlock 設定 Enable AdBlock AdBlock を有効にする Action アクション AdBlockManager Custom Rules カスタム ルール AdBlockModel Rule ルール AdBlockSchemeAccessHandler Subscribe? 登録しますか? Subscribe to this AdBlock subscription? %1 この AdBlock サブスクリプションを登録しますか? %1 AddBookmarkDialog Add Bookmark ブックマークの追加 Type a name for the bookmark, and choose where to keep it. ブックマーク名を入力して、保存先を選択してください. Url URL Title 名前 Add Folder フォルダの追加 AutoFillDialog Form Passwords フォーム パスワード Remove 削除 Remove All 全て削除 AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. <b>パスワードを保存しますか?</b><br> 保存したり削除したパスワードを見直すには、オプションの自動入力タブを開いてください。 Never for this site このサイトでは記憶しない Not now 今は記憶しない AutoFillModel WebSite Webサイト User Name ユーザ名 BookmarksDialog Open 開く Open in New Tab 新しいタブで開く Delete 削除 New Folder 新しいフォルダ Bookmarks ブックマーク &Remove 削除(&R) Add Folder フォルダの追加 Edit Name 名前を編集 Edit Address URLを編集 BookmarksManager Open File ブックマークのインポート XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) Imported %1 %1 をインポートしました Save File ブックマークのエクスポート %1 Bookmarks.xbel %1 Bookmarks.xbel Error when loading bookmarks on line %1, column %2: %3 %1 行目 %2 文字目のブックマークを読み込み中にエラー: %3 Toolbar Bookmarks Toolbar Bookmarks Menu メニュー Export error エクスポート エラー error saving bookmarks ブックマークの保存中にエラー Remove Bookmark Remove Bookmark Insert Bookmark ブックマークの追加 Name Change 名前変更 Address Change アドレス変更 Bookmarks Bar ブックマーク バー Bookmarks Menu ブックマーク メニュー XBEL (*.xbel *.xml *.html) XBEL (*.xbel *.xml *.html) Error when loading html bookmarks: %1 HTML形式ブックマークの読み込み中にエラー: %1 XBEL XBEL Name Change Undo bookmark title change 名前変更 Address Change Undo bookmark url change アドレス変更 XBEL bookmarks XBEL ブックマーク HTML Netscape bookmarks HTML Netscape ブックマーク htmlToXBel tool required htmlToXBel ツールが必要です htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. HTML ブックマークをインポートするのに必要な Arora に搭載されている htmlToXBel ツールがインストールされていないかパスが通っていません。 Loading Bookmark ブックマークを読み込んでいます Error when loading HTML bookmarks: %1 HTML ブックマーク読込時にエラー: %1 BookmarksMenu Open in Tabs タブで開く BookmarksModel Title 名前 Address アドレス BookmarksToolBar Bookmark ブックマーク Open 開く Open in New &Tab 新しいタブで開く(&T) Remove 削除 Add Bookmark... ブックマークに追加... Add Folder... フォルダの追加... Bookmarks ブックマーク BrowserApplication There are %1 windows and %2 tabs open Do you want to quit anyway? %1 個のウィンドウと %2 個のタブが開いています. 本当に終了しますか? Restore failed 復元に失敗 (Change: %1 %2) (Change: %1 %2) The saved session will not be restored because Arora crashed while trying to restore this session. このセッションを復元を試みて Arora がクラッシュした為、保存されたセッションは復元されない可能性があります。 Arora crashed while trying to restore this session. Should I try again? Arora は、セッションの復元を試みている時にクラッシュしました。再度復元を試みますか? BrowserMainWindow &File ファイル(&F) &New Window 新しいウィンドウ(&N) &Open File... 開く(&O)... Open &Location... URLを開く(&L)... &Save As... 名前をつけて保存(&A)... &Import Bookmarks... ブックマークをインポート(&I)... &Export Bookmarks... ブックマークをエクスポート(&E)... P&rint Preview... 印刷プレビュー(&R)... &Print... 印刷(&P)... Private &Browsing... プライベート ブラウジング(&B)... &Quit 終了(&Q) &Edit 編集(&E) &Undo 元に戻す(&U) &Redo やり直す(&R) Cu&t 切り取り(&T) &Copy コピー(&C) &Paste 貼り付け(&P) &Find 検索(&F) Find Nex&t 次を検索(&T) Find P&revious 前を検索(&R) Prefere&nces... 設定(&N)... Ctrl+, Ctrl+, &View 表示(&V) Show Menu Bar メニュー バーを表示 Ctrl+| Ctrl+| Shift+Ctrl+B Shift+Ctrl+B Ctrl+/ Ctrl+/ &Stop 停止(&S) &Reload Page 再読込(&R) Make Text &Bigger 文字を大きくする(&B) Make Text &Normal 文字を通常サイズにする(&N) Make Text &Smaller 文字を小さくする(&S) Page S&ource ソースを表示(&O) Ctrl+Alt+U Ctrl+Alt+U &Full Screen 全画面表示(&F) Hi&story 履歴(&S) Back 戻る Forward 進む Home ホーム Restore Last Session 最後のセッションを復元 &Bookmarks ブックマーク(&B) Manage Bookmarks... ブックマークの管理... Add Bookmark... ブックマークに追加... &Window ウィンドウ(&W) &Tools ツール(&T) Web &Search Web 検索(&S) Ctrl+K Web Search Ctrl+K &Clear Private Data プライバシー情報の削除(&C) Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete Enable Web &Inspector Web インスペクタを有効化(&I) &Help ヘルプ(&H) Switch application language 言語の切り替え About &Qt Qt について(&Q) About &Arora Arora について(&A) Navigation ナビゲーション Show Status Bar ステータス バーを表示 Hide Status Bar ステータス バーを隠す Show Toolbar ツールバーを表示 Hide Toolbar ツールバーを隠す Show Bookmarks Bar ブックマーク バーを表示 Hide Bookmarks Bar ブックマーク バーを隠す Arora Arora %1 - Arora Page title and Browser name %1 - Arora Open Web Resource Web リソースを開く Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Web リソース (*.html *.htm *.svg *.png *.gif *.svgz);;全てのファイル (*.*) Print Document ドキュメントの印刷 Are you sure you want to turn on private browsing? プライベート ブラウジングを開始しますか? Are you sure you want to close the window? There are %1 tabs open %1 個のタブを開いていますが、ウィンドウを閉じますか? Web Inspector Web インスペクタ The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Web インスペクタは、ページを読み込む前から有効になっていなければ正しく動作しません. 全てのページを再読込しますか? Stop loading the current page 現在のページの読込を中止します Reload the current page 現在のページを再読込 Downloads ダウンロード Alt+Ctrl+L Download Manager Alt+Ctrl+L <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>プライベート モードに移行した場合、あなたのプライバシーを守る為、いくつかの機能は制限されます:<ul><li> 表示したページは履歴に追加されません。</li><li> ダウンロード履歴は残りません。</li><li> 新しく受け取った Cookie は保存されません。既に保存済みの Cookie を参照する事もできません。</li><li> Web サイトのアイコンやセッションは保存されません。</li><li> 検索ボックスの検索履歴に追加されません。</li></ul>ウィンドウを閉じるまで閲覧した Web ページに戻る/進むボタンで戻る事ができます。 Show &Network Monitor ネットワーク モニタを表示(&N) Close Window ウィンドウを閉じる Zoom &In 拡大(&I) Zoom &Normal 通常サイズに戻す(&N) Zoom &Out 縮小(&O) Zoom &Text Only 文字サイズだけ変更(&T) Show All Bookmarks... ブックマークの管理... Add Folder... フォルダの追加... About &%1 About Browser &%1 について <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>プライベート モードに移行した場合、あなたのプライバシーを守る為、いくつかの機能は制限されます:<ul><li> 表示したページは履歴に追加されません。</li><li> ダウンロード履歴は残りません。</li><li> 新しく受け取った Cookie は保存されません。既に保存済みの Cookie を参照する事もできません。</li><li> Web サイトのアイコンやセッションは保存されません。</li><li> 検索ボックスの検索履歴に追加されません。</li></ul>ウィンドウを閉じるまでに閲覧した Web ページには戻る/進むボタンで移動する事ができます。 Ctrl+Y Download Manager Ctrl+Y Default デフォルト Text Encoding 文字コード <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li><li> Network cache is disabled.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>プライベート モードに移行した場合、あなたのプライバシーを守る為、いくつかの機能は制限されます:<ul><li> 表示したページは履歴に追加されません。</li><li> ダウンロード履歴は残りません。</li><li> 新しく受け取った Cookie は保存されません。既に保存済みの Cookie を参照する事もできません。</li><li> Web サイトのアイコンやセッションは保存されません。</li><li> 検索ボックスの検索履歴に追加されません。</li><li>ネットワークキャッシュは無効です。</li></ul>ウィンドウを閉じるまで閲覧した Web ページに戻る/進むボタンで戻る事ができます。 Select &All すべてを選択(&A) Alt+Ctrl+B Alt+Ctrl+B <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li><li> No new network cache is written to disk.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>プライベート モードに移行した場合、あなたのプライバシーを守る為、いくつかの機能は制限されます:<ul><li> 表示したページは履歴に追加されません。</li><li> ダウンロード履歴は残りません。</li><li> 新しく受け取った Cookie は保存されません。既に保存済みの Cookie を参照する事もできません。</li><li> Web サイトのアイコンやセッションは保存されません。</li><li> 検索ボックスの検索履歴に追加されません。</li><li>新しいネットワークキャッシュをディスクに保存しません。</li></ul>ウィンドウを閉じるまで閲覧した Web ページに戻る/進むボタンで戻る事ができます。 Options... オプション... Configure Search Engines... 検索エンジンのカスタマイズ... &Ad Block... 広告ブロック(AdBlock)(&A)... When private browsing is turned on, some actions concerning your privacy will be disabled: プライベート ブラウジングを有効にすると、あなたのプライバシーを守る為、いくつかの動作が制限されます: Webpages are not added to the history. 参照したWebページが履歴に追加されなくなります。 Items are automatically removed from the Downloads window. ダウンロードが終了したものは、自動的にダウンロード ウィンドウから削除されます。 New cookies are not stored, current cookies can't be accessed. 新しく受け取った Cookie は保存されなくなり、既に保存されている Cookie へアクセスする事もできません。 Site icons won't be stored. Web サイトのアイコン(favicon)は、保存されません。 Session won't be saved. セッションは保存されません。 Searches are not added to the pop-up menu in the search box. 検索語は、検索ボックスのポップアップ メニューに追加されません。 No new network cache is written to disk. 新たにネットワーク キャッシュをディスクに保存しません。 Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. ウィンドウを閉じるまでの間に閲覧したWebページに、戻る/進むボタンで戻る事ができます。 Private Browsing プライベート ブラウジング ClearButton Clear クリア ClearPrivateData Clear Private Data プライバシー情報の削除 Clear the following items: 以下の項目を削除します: &Browsing History 表示したページの履歴(&B) &Download History ダウンロード履歴(&D) &Search History 検索履歴(&S) &Cookies Cookie(&C) C&ached Web Pages キャッシュされた Web ページ(&A) Website &Icons Web サイトのアイコン(&I) Clear &Private Data 削除実行(&P) &Cancel キャンセル(&C) ClickToFlash Load Flash をロード Load All このページの全ての Flash をロード Add %1 to Whitelist このサイト(%1)をホワイトリストに追加 Remove from Whitelist ホワイトリストから除外 Settings 設定 Load Flash Flash のロード ClickToFlashSettings Whitelist sites ホワイトリスト一覧 CookieExceptionsModel Website Web サイト Rule ルール Allow 許可 Block 不許可 Allow For Session セッション内のみ許可 CookieModel Website Web サイト Name 名前 Path パス Secure 安全 Expires 期限 Contents 内容 true はい false いいえ Session cookie セッション Cookie CookiesDialog Cookies Cookies &Remove 削除(&R) Remove &All Cookies 全ての Cookie を削除(&A) Add &Rule ルールを追加(&R) CookiesExceptionsDialog Domain: ドメイン: Block ブロック Allow For Session セッション内のみ許可 Allow 許可 &Remove 削除(&R) Remove &All 全て削除(&A) Cookie Exceptions Cookie 例外条件 New Exception 新しい例外条件 Exceptions 例外条件 DownloadDialog Downloads ダウンロード Clean up 履歴の消去 0 Items 0 件 &OK &OK DownloadItem Form Form Open 開く Ico Ico Filename Filename Try Again リトライ Stop 停止 Save File ブックマークのエクスポート Download canceled: %1 %1 のダウンロードは中止しました Error opening output file: %1 保存ファイルの作成中にエラー:%1 Error saving: %1 保存中にエラー:%1 Network Error: %1 ネットワーク エラー:%1 seconds - %n minutes remaining - 残り %n 分 - %n seconds remaining - 残り %n 秒 %1 of %2 (%3/sec) %4 %1 / %2 (%3/sec) %4 ? ? %1 of %2 - Stopped %1 / %2 - 停止しました bytes bytes kB kB MB MB %1 of %2 (%3/sec) - %4 %1 / %2 (%3/秒) - %4 Download directory (%1) couldn't be created. ダウンロード先ディレクトリ (%1) を作成できませんでした。 DownloadManager %n Download(s) %n 件のダウンロード アイテム There are %1 downloads in progress Do you want to quit anyway? %1 件の項目がダウンロード中です 本当に終了しますか? %n minutes remaining 残り %n 分 %n seconds remaining 残り %n 秒 bytes bytes kB kB MB MB GB GB FileAccessReply No Error エラーはありません Error opening: %1: No such file or directory ディレクトリ( %1 )読込中にエラー:ディレクトリがありません Unable to read %1 ディレクトリ( %1 )の内容を読み込めません Contents of %1 %1 の中身 %1 KB %1 KB HistoryDialog Open 開く Copy コピー Delete 削除 History 履歴 &Remove 削除(&R) Remove &All 全て削除(&A) HistoryMenu Show All History 全ての履歴を表示 Clear History... 履歴をクリア... Clear History 履歴をクリア Do you want to clear the history? 履歴をクリアしますか? HistoryModel Title タイトル Address アドレス HistoryTreeModel Earlier Today 本日 %n item(s) %n 件 JavaScriptAroraObject Welcome to Arora! Arora にようこそ! Arora Start Arora スタート Search! 検索! Search results provided by 検索結果の提供 About Arora Arora について LanguageManager Default デフォルト Choose language 言語の選択 <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>OSのデフォルト設定とは異なる言語で動作させる事ができます.</p><p>使用したい言語を選択して下さい</p> No translation files are installed. 翻訳ファイルがインストールされていません。 No translation files are installed at %1. %1 に翻訳ファイルがありません。 NetworkAccessManager SSL Errors: %1 %2 Do you want to ignore these errors? SSL エラー: %1 %2 エラーを無視しますか? Do you want to accept all these certificates? 全ての証明書を受け入れますか? <qt>Enter username and password for "%1" at %2</qt> <qt>%1(%2)にアクセスするにはユーザ名とパスワードが必要です</qt> <qt>Connect to proxy "%1" using:</qt> <qt>プロキシ サーバ "%1" に接続:</qt> - SSL Errors - SSL エラー <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>SSL エラー:<br/><br/>URL: <tt>%1</tt><ul><li>%2</li></ul> エラーを無視しますか?</qt> <qt>Certifactes:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>証明書:<br/>%1<br/>全ての証明書を受け入れますか?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>証明書:<br/>%1<br/>全ての証明書を受け入れますか?</qt> Issuer: %1 発行者: %1 Not valid before: %1 発行日: %1 Valid until: %1 有効期限: %1 Alternate Names: 代理名: NetworkMonitor Name 名前 Value NetworkMonitorDialog Network Monitor ネットワーク モニタ Network Requests ネットワーク リクエスト Request Headers リクエスト ヘッダ Response Headers レスポンス ヘッダ &Remove 削除(&R) Remove &All Requests 全てのリクエストを削除(&A) OpenSearchDialog Open File ファイルを開く OpenSearch OpenSearch Error エラー %1 is not a valid OpenSearch 1.1 description or is already on your list. %1 は有効なOpenSearch 1.1定義ではないか、既にリストに登録済みです。 You must have at least one search engine in here. 1つ以上の検索エンジンを登録して下さい。 OpenSearch Manager OpenSearch マネージャ &Restore Defaults デフォルトに戻す(&R) &Delete 削除(&D) &Add 追加(&A) &Close 閉じる(&C) OpenSearchEngineModel <strong>Description:</strong> %1 <strong>説明:</strong> %1 <strong>Provides contextual suggestions</strong> <strong>文脈に沿った候補を提供する</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine カンマで区切られたキーワードのリストは、検索時にロケーション バー内の検索語に続けて渡されます Name 名前 Keywords キーワード OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 以下の検索エンジンを追加しますか?<br /><br />検索エンジン名: %1<br />URL: %2 PasswordDialog Authentication Required 認証要求 DUMMY ICON DUMMY ICON INTRO TEXT DUMMY INTRO TEXT DUMMY Username: ユーザ名: Password: パスワード: PlainTextEditSearch Not Found 見つかりません ProxyDialog Proxy Authentication プロキシ認証 ICON ICON Connect to proxy プロキシに接続 Username: ユーザ名: Password: パスワード: QObject The file is not an XBEL version 1.0 file. XBEL バージョン 1.0 ファイルではありません. Unknown title 不明なタイトル The file is not an OpenSearch 1.1 file. これは OpenSearch 1.1 ファイルではありません。 RequestModel Redirect: %1 リダイレクト: %1 Method メソッド Address アドレス Response レスポンス Length 長さ Content Type Content Type Info 情報 SearchBanner Form Form TextLabel TextLabel < < > > Done 閉じる Highlight All 全て強調表示 SearchLineEdit Search 検索 Settings Preferences 設定 General 全般 On startup: 起動時: Show my home page ホームページを開く Show a blank page 空白ページを開く Restore windows and tabs from last time 最後に開いていたウィンドウとタブを復元する Home Page: ホームページ: Set to current page 現在のページを使用 Remove history items: 履歴を削除するタイミング: After one day 1日後 After one week 1週間後 After two weeks 2週間後 After one month 1ヶ月後 After one year 1年後 Manually 手動 On application exit アプリケーション終了時 Open links from applications: リンクを開く時の動作: In a tab in the current window 表示しているタブで開く In a new window 新しいウィンドウで開く Downloads ダウンロード Ask for a destination each time 毎回保存先を指定する Use this destination: デフォルトの保存先: Appearance 外観 Standard font: 標準のフォント: Times 16 Times 16 Select... 選択... Fixed-width font: 固定幅フォント: Courier 13 Courier 13 Privacy プライバシー Web Content コンテンツ Enable Plugins プラグインを有効にする Enable Javascript Javascript を有効にする View Images 画像を表示 Cookies Cookie Exceptions... 例外... Keep Cookies Until: Cookie の保持期間: I exit the application arora が終了するまで At most 90 days 最長90日間 Cookies... Cookie を表示... Tabs タブ Select tabs and windows as they are created タブやウィンドウを作成した時に移動する Confirm when closing multiple tabs 複数のタブを閉じる時に確認する Proxy プロキシ Use proxy server プロキシを使用する Type: 種類: Socks5 Socks5 Http Http Host name: ホスト名: Port: ポート: User Name: ユーザ名: Password: パスワード: Advanced 拡張 Style Sheet: スタイルシート: Accept Cookies: Cookie が送られてきたら: Always 受け取る Never 受け取らない Only from sites you navigate to サードパーティの Cookie は無視 They expire Cookie の有効期限が切れるまで Show only one close button instead of one for each tab タブ毎の閉じるボタンをつけない Preferred languages for viewing webpages in: Web ページを表示する際に使用する言語の設定: Block Popup Windows ポップアップウィンドウをブロックする Opening links リンクを開く Links that want to open in a new window: リンクを新しいウィンドウで開こうとした時の動作: In a new selected tab in the current window 現在のウィンドウの新しいタブで開いて、そのタブに移動する In a new tab in the current window 現在のウィンドウの新しいタブで開く In the current tab 現在のタブで開く Http (Secure) Http (安全な) Http (Transparent) Http (透過) Use ClickToFlash on flash plugins Flash プラグインとして ClickToFlash を使う Filter Tracking Cookies 追跡用 Cookie をフィルタする Confirm when closing multiple tabs or windows 複数のタブやウィンドウを閉じる時に確認する Quit the application when last tab is closed 最後のタブを閉じる時にアプリケーションを終了する Enable network cache ネットワーク キャッシュを有功にする Maximum Size: 最大サイズ: MB MB Use the default search engine as fallback when the URL given by the user is invalid 不正なURLが入力された場合、デフォルトの検索エンジンを使用する Choose Directory... ディレクトリを選択... A cookie session ends: Cookie セッションの有効期間: When I exit the application アプリケーションが終了するまで 1 day 1 日間 2 days 2 日間 3 days 3 日間 7 days 7 日間 30 days 30 日間 AutoFill 自動入力 AutoFill web forms: フォームの自動入力: User names and passwords ユーザ名とパスワード Edit... 編集... Browse... 参照... SettingsDialog Restart required 再起動が必要 The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. ネットワーク キャッシュの構成を変更しました。設定を有効にするにはブラウザの再起動が必要です。 Choose Directory ディレクトリを選択 Choose CSS File CSS ファイルを選択 SourceViewer Loading... 読み込んでいます... &Edit 編集(&E) &Find 検索(&F) Source of Page ソース表示 &View 表示(&V) &Wrap lines 行を折り返す(&W) Source of Page %1 ページ(%1)のソース TabBar Show Tab Bar タブ バーを表示 Hide Tab Bar タブ バーを隠す New &Tab 新しいタブ(&T) Duplicate Tab タブを複製 &Close Tab タブを閉じる(&C) Close &Other Tabs 他のタブを閉じる(&O) Reload Tab タブを再読込 Reload All Tabs 全てのタブを再読込 TabWidget New &Tab 新しいタブ(&T) &Close Tab タブを閉じる(&C) Show Next Tab 次のタブ Show Previous Tab 前のタブ Recently Closed Tabs 最近閉じたタブ Untitled (無題) Do you really want to close this page? 本当にこのページを閉じますか? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? このページは変更されていますが、ページを閉じると変更は失われてしまいます. 本当にこのページを閉じますか? Ctrl-] Ctrl-] Ctrl-[ Ctrl-[ Saved Tabs タブを保存 Loading... 読み込み中... Loading %1% (%2 %3)... 読み込み中 %1% (%2 %3)... Finished loading 読み込み完了 Failed to load 読み込み失敗 Bookmark All Tabs 全てのタブをブックマーク ToolbarSearch No Recent Searches 検索履歴がありません Recent Searches 検索履歴 Clear Recent Searches 検索履歴の消去 Suggestions 候補 Add '%1' '%1' を追加 Configure Search Engines... 検索エンジンのカスタマイズ... WebPage Error loading page: %1 %1 の読み込みでエラー When connecting to: %1. %1 への接続中にエラーが発生しました。 Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org <b>www</b>.arora-browser.org ではなく <b>ww</b>.arora-browser.org のような、URL誤りがないか確認してください If the address is correct, try to check the network connection. URLが正しい場合は、ネットワークの接続状況を確認してみてください。 If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. あなたのコンピュータやネットワークがファイアウォールやプロキシによって保護されている場合、Arora ブラウザにネットワークへのアクセスを許可してください。 If the address is correct, try checking the network connection. URLが正しい場合は、ネットワークの接続状況を確認してみてください。 Resending POST request POST リクエストを再送します In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? サイトを表示する為に、全てのデータを再送する必要がありますが、予期しない動作を引き起こす(例えば、注文やコメント投稿等の操作が再度行われる)可能性があります。それでも続行しますか? WebView Open in New &Window 新しいウィンドウで開く(&W) Open in New &Tab 新しいタブで開く(&T) Save Lin&k 名前を付けてリンク先を保存(&K) &Bookmark This Link このリンクをブックマーク(&B) &Copy Link Location リンクのURLをコピー(&C) Open Image in New &Window 新しいウィンドウで画像を開く(&W) Open Image in New &Tab 新しいタブで画像を開く(&T) &Save Image 画像を保存(&S) &Copy Image 画像をコピー(&C) C&opy Image Location 画像のURLをコピー(&O) Loading... 読み込み中... Search with... 検索エンジンを指定して検索... Add to the toolbar search ツールバーの検索エンジンに追加する Method not supported サポートされていないメソッド %1 method is not supported. メソッド( %1 )はサポートされていません。 Search engine 検索エンジン Choose the desired search engine 使用したい検索エンジンを選んでください Engine name 検索エンジン名の入力 Type in a name for the engine 検索エンジンの名前を入力してください Block Image 画像の読み込みをブロック WebViewSearch Not Found 見つかりません arora-0.11.0/src/locale/locale.pri000066400000000000000000000020651145000221100166630ustar00rootroot00000000000000 INCLUDEPATH += $$PWD DEPENDPATH += $$PWD TRANSLATIONS += \ ast.ts \ ca.ts \ cs_CZ.ts \ da_DK.ts \ de_DE.ts \ el_GR.ts \ es.ts \ es_CR.ts \ et_EE.ts \ fi_FI.ts \ fr_CA.ts \ fr_FR.ts \ gl.ts \ he_IL.ts \ hu_HU.ts \ it_IT.ts \ ja_JP.ts \ ms.ts \ nb_NO.ts \ nl.ts \ pl_PL.ts \ pt_PT.ts \ pt_BR.ts \ ru_RU.ts \ sk_SK.ts \ sr_RS.ts \ sr_RS@latin.ts \ tr_TR.ts \ uk.ts \ zh_CN.ts \ zh_TW.ts isEmpty(QMAKE_LRELEASE) { win32|os2:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\lrelease.exe else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease unix { !exists($$QMAKE_LRELEASE) { QMAKE_LRELEASE = lrelease-qt4 } } else { !exists($$QMAKE_LRELEASE) { QMAKE_LRELEASE = lrelease } } } updateqm.input = TRANSLATIONS updateqm.output = .qm/locale/${QMAKE_FILE_BASE}.qm updateqm.commands = $$QMAKE_LRELEASE -silent ${QMAKE_FILE_IN} -qm .qm/locale/${QMAKE_FILE_BASE}.qm updateqm.CONFIG += no_link target_predeps QMAKE_EXTRA_COMPILERS += updateqm arora-0.11.0/src/locale/maintainers000066400000000000000000000007341145000221100171460ustar00rootroot00000000000000The list of the maintainers for each translation. Patches should be reviewed by them before being merged in. cs_CZ - David Kolibáč es - Miguel Anxo Bouzada fr_FR - Vincent Rischmann gl - Miguel Anxo Bouzada it_IT - Vincenzo Reale nl_NL - Kristof Bal pl_PL - Jakub Wieczorek he_IL - Diego Iastrubni arora-0.11.0/src/locale/ms.ts000066400000000000000000002316351145000221100157060ustar00rootroot00000000000000 AboutDialog About Perihal Authors Penulis License Lesen Lightweight WebKit-based web browser Pelayan web ringan berasaskan WebKit <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style="font-size:9pt;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> Close Tutup About %1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> WebKit version: %1 AcceptLanguage Languages Bahasa Languages: in order of preference: Bahasa di dalam turutan minat: Move &Up Naik A&tas Move &Down Turun Ba&wah &Remove &Keluarkan Add... Tambah... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 AdBlockDialog Add Custom Rule Learn more about writing rules... Update Subscription Browse Subscriptions... Remove Subscription AdBlock Configuration Enable AdBlock Action AdBlockManager Custom Rules AdBlockModel Rule Peraturan AdBlockSchemeAccessHandler Subscribe? Subscribe to this AdBlock subscription? %1 AddBookmarkDialog Add Bookmark Tambah Tandabuku Type a name for the bookmark, and choose where to keep it. Taipkan nama tandabuku dan pilih di mana harus disimpan. Url Url Title Tajuk Add Folder Tambah Folder AutoFillDialog Form Passwords Remove Buang Remove All AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. Never for this site Not now AutoFillModel WebSite User Name BookmarksDialog Open Buka Open in New Tab Buka di Tab Baru Delete Padam New Folder Folder Baru Bookmarks Tandabuku &Remove &Buang Add Folder Tambah Folder Edit Name Sunting Nama Edit Address Sunting Alamat BookmarksManager Error when loading bookmarks on line %1, column %2: %3 Ralat semasa menyimpan tanda buku pada baris %1, lajur %2: %3 Toolbar Bookmarks Bar Alat Tandabuku Menu Menu Open File Buka Fail XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) Imported %1 %1 diimport Save File Simpan Fail %1 Bookmarks.xbel %1 Bookmarks.xbel Export error Ralat eksport error saving bookmarks ralat menyimpan tandabuku Remove Bookmark Buang Tandabuku Insert Bookmark Masukkan tandabuku Name Change Perubahan Nama Address Change Alamat Berubah Bookmarks Bar Bar Tandabuku Bookmarks Menu Menu Tandabuku XBEL (*.xbel *.xml *.html) XBEL (*.xbel *.xml *.html) Error when loading html bookmarks: %1 Ralat semasa memuatkan tandabuku html: %1 Name Change Undo bookmark title change Perubahan Nama Address Change Undo bookmark url change Alamat Berubah XBEL bookmarks HTML Netscape bookmarks htmlToXBel tool required htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. Loading Bookmark Error when loading HTML bookmarks: %1 BookmarksMenu Open in Tabs Buka di Tab BookmarksModel Title Tajuk Address Alamat BookmarksToolBar Bookmark Tandabuku Open Buka Open in New &Tab Buka di &Tab Baru Remove Buang Add Bookmark... Tambah Tandabuku... Add Folder... Tambah Folder... Bookmarks Tandabuku BrowserApplication (Change: %1 %2) (Ubah: %1 %2) There are %1 windows and %2 tabs open Do you want to quit anyway? Terdapat %1 tetingkap dan %2 tab masih terbuka Teruskan untuk keluar? Restore failed Gagal mengembalikan The saved session will not be restored because Arora crashed while trying to restore this session. Arora gagal berfungsi semasa cuba mengembalikan sessi yang disimpan. Sessi berkenaan tidak akan dikembalikan. Arora crashed while trying to restore this session. Should I try again? BrowserMainWindow &File &Fail &New Window Tetin&gkap Baru &Open File... Buka &Fail... Open &Location... Buka &Lokasi... &Save As... &Simpan Sebagai... &Import Bookmarks... &Import Tandabuku... &Export Bookmarks... &Eksport Tandabuku... P&rint Preview... P&rapapar Pencetak... &Print... &Pencetak... Private &Browsing... Melungsur secara pri&vasi... &Quit &Keluar &Edit &Edit &Undo &Batal &Redo &Semula Cu&t P&otong &Copy Sa&lin &Paste Tam&pal &Find &Cari Find Nex&t Ca&ri Seterusnya Find P&revious C&ari Sebelumnya Prefere&nces... Opsye&n... Ctrl+, Ctrl+, &View &Lihat Show Menu Bar Papar Bar Menu Ctrl+| Ctrl+| Shift+Ctrl+B Shift+Ctrl+B Ctrl+/ Ctrl+/ &Stop &Henti &Reload Page &Muatsemula Laman Make Text &Bigger &Besarkan Text Make Text &Normal &Normalkan Text Make Text &Smaller &Kecilkan Text Page S&ource S&umber Laman Ctrl+Alt+U Ctrl+Alt+U &Full Screen S&krin Penuh Hi&story &Sejarah Back Undur Forward Maju Home Laman Utama Restore Last Session Kembalikan Sessi Akhir &Bookmarks Tanda&buku Manage Bookmarks... Urus Tandabuku... Add Bookmark... Tambah Tandabuku... &Window Tetin&gkap &Tools &Alatan Web &Search &Carian Web Ctrl+K Web Search Ctrl+K &Clear Private Data &Hapus Data Peribadi Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete Enable Web &Inspector Benarkan Peny&iasat Web &Help Bant&uan Switch application language Tukar bahasa aplikasi About &Qt Perihal &Qt About &Arora Perihal &Arora Navigation Navigasi Show Status Bar Papar Bar Status Hide Status Bar Sembunyi Bar Status Show Toolbar Papar Bar Alat Hide Toolbar Sembunyi Bar Alat Show Bookmarks Bar Papar Bar Tandabuku Hide Bookmarks Bar Sembunyi Bar Tandabuku Arora Arora %1 - Arora Page title and Browser name %1 - Arora Open Web Resource Buka Sumber Web Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Sumber Web (*.html *.htm *.svg *.png *.gif *.svgz);;Semua fail (*.*) Print Document Cetak Dokumen Are you sure you want to turn on private browsing? Anda pasti ingin membuka lungsuran secara privasi? <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Apabila lungsuran secara privasi sedang dibuka, Aksi yang melibatkan privasi anda dilumpuhkan:<ul><li> Laman yang dilawati tidak ditambah ke sejarah.</li><li> Senarai muaturun dibersihkan.</li><li> Cookies baru tidak disimpan, cookies semasa tidak boleh dicapai.</li><li> Ikon laman web dan sessi tidak disimpan.</li><li> Carian tidak disimpan di menu popup kotak carian.</li></ul>Selagi tetingkap tidak ditutup, anda masih boleh klik pada butang Undur dan Maju untuk kembalik ke laman yang pernah dibuka. Are you sure you want to close the window?  There are %1 tabs open Anda pasti ingin menutup tetingkap ini? Masih ada %1 tab terbuka Web Inspector Penyiasat Web The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Penyiasat Web cuma akan berfungsi dengan baik di laman yang dibuka selepas ia dibenarkan berfungsi. Anda mahu memuatsemula kesemua laman? Stop loading the current page Henti memuat laman semasa Reload the current page Muatsemula laman semasa Downloads Muaturun Alt+Ctrl+L Download Manager Alt+Ctrl+L Show &Network Monitor Papar Penyelia Rangkaia&n Are you sure you want to close the window? There are %1 tabs open Anda pasti ingin menutup tetingkap ini? Masih ada %1 tab yang terbuka Close Window Tutup Tetingkap Zoom &In Zoom Ke Da&lam Zoom &Normal Zoom &Normal Zoom &Out Zoom &Keluar Zoom &Text Only Zoom &Teks Sahaja Show All Bookmarks... Papar Kesemua Tandabuku... Add Folder... Tambah Folder... About &%1 About Browser Perihal Pelayar Perihal &%1 <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Apabila lungsuran privasi dipasang, sebahagian tindakan melibatkan privasi akan di lumpuhkan:<ul><li> Laman web tidak disimpan di dalam sejarah.</li><li> Senarai muaturun akan dikeluarkan dari tetingkap Muaturun.</li><li> Cookies baru tidak akan disimpan dan cookies semasa tidak dapat digunakan.</li><li> Ikon laman web tidak disimpan, sessi tidak disimpan.</li><li> Carian tidak ditambah pada menu popup di kekotak carian.</li></ul>Sebelum anda menutup tetingkap, anda masih boleh menggunakan butang Undur dan Maju untuk kembali ke laman web yang pernah di buka. Ctrl+Y Download Manager Pengurus Muaturun Ctrl+Y Default Lalai Text Encoding Select &All Alt+Ctrl+B Options... Configure Search Engines... &Ad Block... When private browsing is turned on, some actions concerning your privacy will be disabled: Webpages are not added to the history. Items are automatically removed from the Downloads window. New cookies are not stored, current cookies can't be accessed. Site icons won't be stored. Session won't be saved. Searches are not added to the pop-up menu in the search box. No new network cache is written to disk. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Private Browsing ClearButton Clear Hapus ClearPrivateData Clear Private Data Hapus Data Peribadi Clear the following items: Hapuskan perkara berikut: &Browsing History Sejarah &Lungsuran &Download History Sejarah &Muaturun &Search History Sejarah &Carian &Cookies Coo&kie C&ached Web Pages C&ache Laman Web Website &Icons &Ikon Laman web Clear &Private Data &Hapus Data Peribadi &Cancel &Batal ClickToFlash Load Load All Add %1 to Whitelist Remove from Whitelist Settings Load Flash ClickToFlashSettings Whitelist sites CookieExceptionsModel Website Laman web Rule Peraturan Allow Benar Block Larang Allow For Session Benarkan Untuk Sessi CookieModel Website Laman web Name Nama Path Path Secure Selamat Expires Luput Contents Kandungan true true false false Session cookie CookiesDialog Cookies Cookie &Remove &Buang Remove &All Cookies Buang Semu&a Cookie Add &Rule CookiesExceptionsDialog Cookie Exceptions Pengecualian Cookie New Exception Cookie Baru Domain: Domain: Block Larang Allow For Session Benarkan Untuk Sessi Allow Benar Exceptions Pengecualian &Remove &Buang Remove &All Buang Semu&a DownloadDialog Downloads Muaturun Clean up Bersihkan 0 Items 0 perkara &OK &OK DownloadItem Form Form Ico Ico Filename Nama fail Try Again Cuba Semula Stop Henti Open Buka Save File Simpan Fail Download canceled: %1 Muaturun dibatalkan: %1 Error opening output file: %1 Ralat membuka fail keluaran: %1 Error saving: %1 Ralat menyimpan: %1 Network Error: %1 Ralat Rangkaian: %1 seconds saat - %n minutes remaining lagi %n minit - %n seconds remaining lagi %n saat %1 of %2 (%3/sec) %4 %1 dari %2 (%3/saat) %4 ? ? %1 of %2 - Stopped %1 of %2 - Berhenti bytes byte kB kB MB MB %1 of %2 (%3/sec) - %4 %1 dari %2 (%3/saat) - %4 Download directory (%1) couldn't be created. DownloadManager %n Download(s) %n Muaturun There are %1 downloads in progress Do you want to quit anyway? Masih ada %1 proses muaturun berjalan Anda masih ingin keluar? %n minutes remaining lagi %n minit %n seconds remaining lagi %n saat bytes byte kB kB MB MB GB FileAccessReply No Error Error opening: %1: No such file or directory Unable to read %1 Contents of %1 %1 KB HistoryDialog Open Buka Copy Salin Delete Padam History Sejarah &Remove &Buang Remove &All Buang Semu&a HistoryMenu Show All History Tunjuk Semua Sejarah Clear History... Hapus Sejarah... Clear History Hapus Sejarah Do you want to clear the history? Anda mahu hapus sejarah? HistoryModel Title Tajuk Address Alamat HistoryTreeModel Earlier Today Awal Hari Ini %n item(s) %n perkara JavaScriptAroraObject Welcome to Arora! Arora Start Search! Search results provided by About Arora LanguageManager System locale (%1) %2 Sistem Lokal (%1) %2 Choose language Pilih bahasa <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Anda boleh menggunakan bahasa selain dari<br>tetapan sistem operasi.</p><p>Sila pilih bahasa yang harus digunakan</p> Default Lalai No translation files are installed. Fail terjemahan tidak dipasang. No translation files are installed at %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Masukkan nama pengguna dan katalaluan untuk "%1" di %2</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Berhubung dengan proxy "%1" menggunakan:</qt> SSL Errors: %1 %2 Do you want to ignore these errors? Ralat SSL: %1 %2 Anda mahu abaikan ralat ini? Do you want to accept all these certificates? Anda mahu menerima kesemua sijil? - SSL Errors - Ralat SSL <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>Ralat SSL:<br/><br/>untuk: <tt>%1</tt><ul><li>%2</li></ul> Anda ingin abaikan ralat ini?</qt> <qt>Certifactes:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Sijil:<br/>%1<br/>Anda mahu menerima kesemua sijil ini?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> Issuer: %1 Not valid before: %1 Valid until: %1 Alternate Names: NetworkMonitor Name Nama Value Nilai NetworkMonitorDialog Network Monitor Penyelia Rangkaian Network Requests Permintaan Rangkaian Request Headers Pengepala Permintaan Response Headers Pengepala Balasan &Remove &Buang Remove &All Requests Buang Semu&a Permintaan OpenSearchDialog Open File Buka Fail OpenSearch Error %1 is not a valid OpenSearch 1.1 description or is already on your list. You must have at least one search engine in here. OpenSearch Manager &Restore Defaults &Delete &Add &Close OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Provides contextual suggestions</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Name Nama Keywords OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 PasswordDialog Authentication Required Pengesahan Diperlukan DUMMY ICON DUMMY ICON INTRO TEXT DUMMY INTRO TEXT DUMMY Username: Nama pengguna: Password: Katalaluan: PlainTextEditSearch Not Found Tiada di laman ini ProxyDialog Proxy Authentication Pengesahan Proxy ICON ICON Connect to proxy Berhubung dengan proxy Username: Nama pengguna: Password: Katalaluan: QObject The file is not an XBEL version 1.0 file. Ini bukan fail XBEL versi 1.0. Unknown title Tajuk tidak diketahui The file is not an OpenSearch 1.1 file. RequestModel Redirect: %1 Lencongan %1 Method Kaedah Address Alamat Response Balasan Length Panjang Content Type Jenis Kandungan Info Maklumat SearchBanner Form Form TextLabel TextLabel < < > > Done Sudah Highlight All SearchLineEdit Search Cari Settings Preferences Opsyen General Umum On startup: Bila dibuka: Show my home page Tunjuk laman utama saya Show a blank page Tunjuk laman kosong Restore windows and tabs from last time Kembalikan tetingkap dan tab dari masa lampau Home Page: Laman Utama: Set to current page Tetapkan kepada laman semasa Remove history items: Buang sejarah: After one day Selepas sehari After one week Selepas seminggu After two weeks Selepas dua minggu After one month Selepas sebulan After one year Selepas setahun Manually Secara manual On application exit Bila aplikasi keluar Open links from applications: Buka pautan dari aplikasi: In a tab in the current window Di tab pada tetingkap semasa In a new window Di tetingkap baru Downloads Muaturun Ask for a destination each time Sentiasa menanya destinasi Use this destination: Gunakan destinasi ini: Appearance Penampilan Standard font: Font Standard: Times 16 Times 16 Select... Pilih... Fixed-width font: Font lebar-tetap: Courier 13 Courier 13 Privacy Privasi Web Content Kandungan Web Enable Plugins Benarkan Plugin Enable Javascript Benarkan Javascript View Images Tunjuk Imej Cookies Cookie Accept Cookies: Terima Cookie: Always Sentiasa Never Tidak Only from sites you navigate to Cuma dari laman yang anda pergi Exceptions... Pengecualian... Keep Cookies Until: Simpan cookie sehingga: They expire ia lupus I exit the application saya keluar dari aplikasi At most 90 days sehingga 90 hari Cookies... Cookie... Tabs Tab Select tabs and windows as they are created Pilih tab dan tetingkap sebaik ia dicipta Confirm when closing multiple tabs Pastikan bila menutup berbilang tab Proxy Proxy Use proxy server Guna server proxy Type: Type: Socks5 Socks5 Http Http Host name: Host name: Port: Port: User Name: Nama pengguna: Password: Katalaluan: Advanced Lanjut Style Sheet: Style Sheet: Show only one close button instead of one for each tab Papar cuma satu butang tutup bagi keseluruhan tab Preferred languages for viewing webpages in: Bahasa digemari untuk melihat laman web: Block Popup Windows Halang Tetingkap Popup Opening links Membuka capaian Links that want to open in a new window: Capaian yang hendak dibuka di tetingkap baru: In a new selected tab in the current window Di dalam tab terpilih baru di tetingkap semasa In a new tab in the current window Di dalam tab baru di tetingkap semasa In the current tab Di dalam tab semasa Http (Secure) Http (Selamat) Http (Transparent) Http (Telus) Use ClickToFlash on flash plugins Filter Tracking Cookies Confirm when closing multiple tabs or windows Quit the application when last tab is closed Enable network cache Maximum Size: MB Use the default search engine as fallback when the URL given by the user is invalid Choose Directory... A cookie session ends: When I exit the application 1 day 2 days 3 days 7 days 30 days AutoFill AutoFill web forms: User names and passwords Edit... Browse... SettingsDialog Restart required The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. Choose Directory Choose CSS File SourceViewer Loading... Memuat... &Edit &Edit &Find &Cari Source of Page Sumber Laman &View &Lihat &Wrap lines &Wrap barisan Source of Page %1 TabBar Show Tab Bar Tunjuk Bar Tab Hide Tab Bar Sembunyi Bar Tab New &Tab &Tab Baru Duplicate Tab Salin Tab &Close Tab T&utup Tab Close &Other Tabs Tutup &Lain-lain Tab Reload Tab Muatsemula Tab Reload All Tabs Muatsemula Semua Tab TabWidget New &Tab &Tab Baru &Close Tab T&utup Tab Show Next Tab Tunjuk Tab Seterusnya Show Previous Tab Tunjuk Tab Sebelumnya Recently Closed Tabs Tab yang baru ditutup Untitled Tiada tajuk Do you really want to close this page? Anda benar-benar mahu menutup laman ini? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Anda sudah mengubah laman ini dan jika menutupnya akan menyebabkan kehilangan perubahan ini. Anda benar-benar mahu teruskan dengan menutup laman ini? Ctrl-] Ctrl-] Ctrl-[ Ctrl-[ Saved Tabs Simpan Tab Loading... Memuat... Loading %1% (%2 %3)... Memuat %1% (%2 %3)... Finished loading Selesai dimuatkan Failed to load Gagal dimuatkan Bookmark All Tabs Tandabukukan Ke Semua Tab ToolbarSearch No Recent Searches Tiada Carian Sebelum Ini Recent Searches Carian Sebelum Ini Clear Recent Searches Hapus Carian Sebelum Ini Suggestions Cadangan Add '%1' WebPage Error loading page: %1 Ralat memuat laman: %1 When connecting to: %1. Semasa berhubung ke: %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org Periksa alamat untuk kesilapan seperti <b>ww</br>.arora-browser.org yang sepatutnya <b>www</b>.arora-browser.org If the address is correct, try to check the network connection. Jika alamatnya betul, cuba periksa sambungan rangkaian. If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Jika komputer atau rangkaian dilindungi oleh firewall atau proxy, pastikan pelungsur dibenarkan mencapai rangkaian. If the address is correct, try checking the network connection. Jika alamat betul, cuba periksa sambungan rangkaian. Resending POST request In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? WebView Open in New &Window Buka di Tetin&gkap Baru Open in New &Tab Buka di &Tab Baru Save Lin&k Simpan P&autan &Bookmark This Link Tanda&buku Pautan Ini &Copy Link Location &Salin Lokasi Pautan Open Image in New &Window Buka I&mej di Tetingkap Baru Open Image in New &Tab Buka &Imej di Tab Baru &Save Image S&impan Imej &Copy Image Sa&lin Imej C&opy Image Location S&alin Lokasi Imej Loading... Memuat... Search with... Add to the toolbar search Method not supported %1 method is not supported. Search engine Choose the desired search engine Engine name Type in a name for the engine Block Image WebViewSearch Not Found Tidak Jumpa arora-0.11.0/src/locale/nb_NO.ts000066400000000000000000002473751145000221100162720ustar00rootroot00000000000000 AboutDialog About Om Authors Forfattere License Lisens Lightweight WebKit-based web browser Lettvekts WebKit-basert nettleser <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Opphavsrett © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> Close Lukk <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> Update the dates in the copyright notice? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Opphavsrett © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> About %1 Om %1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Opphavsrett © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> WebKit version: %1 WebKit versjon: %1 AcceptLanguage Languages Språk Languages: in order of preference: Språk: ordnet etter preferanse: Move &Up Flytt &opp Move &Down Flytt &ned &Remove &Fjern Add... Legg til... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 Blokkert av AdBlockRule:%1 AdBlockDialog Add Custom Rule Legg til regel Learn more about writing rules... Lær mer om å skrive regler... Update Subscription Oppdater abonement Browse Subscriptions... Bla igjennom abonementer... Remove Subscription Fjern abonement AdBlock Configuration AdBlock konfigurasjon Enable AdBlock Skru på AdBlock Action Handling AdBlockManager Custom Rules Regel AdBlockModel Rule Regel AdBlockSchemeAccessHandler Subscribe? Abonemer? Subscribe to this AdBlock subscription? %1 Abonemer på dette AdBlock abonementet? %1 AddBookmarkDialog Add Bookmark Legg til bokmerke Type a name for the bookmark, and choose where to keep it. Gi bokmerket et navn og velg hvor du vil lagre det. Url Addresse Title Tittel Add Folder Legg til mappe AutoFillDialog Form Passwords Passord Remove Fjern Remove All Fjern alle AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. <b>Vil du lagre dette passordet?</b><br> Du kan se hvilke passord du har lagret og eventuelt slette dem under Egenskaper. Never for this site Aldri for denne siden Not now Ikke nå AutoFillModel WebSite Nettside User Name Brukernavn BookmarksDialog Open Åpne Delete Slett New Folder Ny mappe Bookmarks Bokmerker &Remove &Fjern Add Folder Legg til mappe Open in New Tab Åpne i ny fane Edit Name Endre navn Edit Address Endre adresse BookmarksManager Error when loading bookmarks on line %1, column %2: %3 Feil ved lasting av bokmerker på linje %1, rad %2: %3 Toolbar Bookmarks Bokmerker Menu Meny Open File Åpne fil XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) Imported %1 Importerte %1 Save File Lagre fil %1 Bookmarks.xbel %1 Bookmarks.xbel Export error Feil ved eksportering error saving bookmarks feil ved lagring av bokmerker Remove Bookmark Fjern bokmerke Insert Bookmark Legg til bokmerke Bookmarks Bar Bokmerkelinjen Bookmarks Menu Bokmerkemeny XBEL (*.xbel *.xml *.html) XBEL (*.xbel *.xml *.html) Error when loading html bookmarks: %1 Feil ved lasting av html bokmerker: %1 Name Change Undo bookmark title change Navneendring Address Change Undo bookmark url change Addresseendring XBEL bookmarks XBEL bokmerker HTML Netscape bookmarks HTML Netscape bokmerker htmlToXBel tool required trenger htmlToXBel verktøy htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. htmlToXBel verktøyet som følger med Arora og som trengs for å importere HTML bokmerker, er ikke installert eller er ikke i søkebanene. Loading Bookmark Laster bokmerker Error when loading HTML bookmarks: %1 Feil ved lasting av HTML bokmerker: %1 BookmarksMenu Open in Tabs Åpne i faner BookmarksModel Title Tittel Address Adresse BookmarksToolBar Bookmark Bokmerker Open Åpne Open in New &Tab Åpne i ny &fane Remove Fjern Add Bookmark... Legg til bokmerke... Add Folder... Legg til mappe... Bookmarks Bokmerker BrowserApplication There are %1 windows and %2 tabs open Do you want to quit anyway? Det er %1 vinduer og %2 faner åpne Er du sikker på at du vil avslutte Arora? Restore failed Gjennopretningen misslyktes The saved session will not being restored because last time it was restored Arora crashed. Den lagrede økten blir ikke gjennoprettet siden forrige gang den ble gjnoprettet krasjet Arora. (Change: %1 %2) (Endring: %1 %2) The saved session will not be restored because Arora crashed while trying to restore this session. Den lagrede økten blir ikke gjennoprettet siden det førte til at Arora krasjet. Arora crashed while trying to restore this session. Should I try again? Arora kræsjet forrige gang vi prøvde å gjennoprette denne siden. Skal vi prøve igjenn? BrowserMainWindow &File &Fil &New Window &Nytt vindu &Open File... &Åpne fil... Open &Location... Åpne a&dresse... &Save As... La&gre som... &Import Bookmarks... &Importer bokmerker... &Export Bookmarks... &Eksporter bokmerker... P&rint Preview... &Forhåndsvisning... &Print... &Skriv ut... Private &Browsing... &Privat surfing... &Quit &Avslutt &Edit &Rediger &Undo &Angre &Redo &Gjennta Cu&t &Klipp &Copy K&opier &Paste &Lim &Find &Finn Ctrl+, Ctrl+, &View &Vis Shift+Ctrl+B Shift+Ctrl+B Ctrl+| Ctrl+| Ctrl+/ Ctrl+/ &Stop &Stop Page S&ource &Kildekode Ctrl+Alt+U Ctrl+Alt+U &Full Screen &Fullskjerm Hi&story &Historie Back Tilbake Forward Fram Home Hjem Restore Last Session Gjennoprett siste økt &Bookmarks &Bokmerker Manage Bookmarks... Håndter bokmerker... Add Bookmark... Legg til bokmerke... &Window V&indu &Tools V&erktøy Web &Search &Nettsøk Ctrl+K Web Search Ctrl+K Enable Web &Inspector &Aktiver nettinspektøren &Help H&jelp About &Qt Om &Qt About &Arora Om &Arora Navigation Navigering Show Status Bar Vis statuslinjen Hide Status Bar Skjul statuslinjen Show Toolbar Vis verktøylinjen Hide Toolbar Skjul verktøylinjen Arora Arora %1 - Arora Page title and Browser name %1 - Arora Open Web Resource Åpne nettresurs Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Nettresurser (*.html *.htm *.svg *.png *.gif *.svgz);;Alle filer (*.*) Print Document Skriv ut dokument Are you sure you want to turn on private browsing? Er du sikker på at du vil skru på privat surfing? Are you sure you want to close the window? There are %1 tabs open Er du sikker på at du vil lukke vinduet? Du har %1 faner åpne Page Source of %1 Kildekoden til %1 Web Inspector Nettinspektør The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Nettinspektøren virker kun som den skal for sider som blir lastet etter at den ble aktivert. Vil du laste alle sider på nytt? Stop loading the current page Avbryt lasting av denne siden Reload the current page Oppdater denne siden Downloads Nedlastinger Alt+Ctrl+L Download Manager Alt+Ctrl+L &Clear Private Data &Slett privat informasjon Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete Show Bookmarks Bar Vis bokmerkelinjen Hide Bookmarks Bar Skjul bokmerkelinjen <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Noen handlinger relatert til dine personlige opplysninger vil bli deaktiverte når privat surfing er skrudd på:<ul><li> Nettsider blir ikke lagt til i historien.</li><li> Elementer blir automatisk fjernet fra Nedlastninger vinduet.</li><li> Nye informasjonskapsler blir ikke lagret og gamle kan ikke åpnes.</li><li> Ikoner og økter blir ikke lagret.</li><li> Søk blir ikke lagt til i sprett-opp menyen i søkeboksen.</li></ul>Du kan fremdeles klikke Tilbake og Fram intill du lukker vinduet. Find &Next Finn &Neste Find P&revious Finn &forrige Prefe&rences &Instillinger &Reload Page &Last siden på nytt Make Text &Bigger Gjør teksten &større Make Text &Normal Gjør teksten &normal Make Text &Smaller Gjør teksten &mindre Find Nex&t Finn &neste Prefere&nces... &Instillinger... Show Menu Bar Vis menylinjen Switch application language Endre språk Show &Network Monitor &Vis nettverksovervåkeren Close Window Lukk vinduet Zoom &In Skaler &in Zoom &Normal &Normal skalering Zoom &Out Skaler &ut Zoom &Text Only Skaler kun &tekst Show All Bookmarks... Vis alle bokmerker... Add Folder... Legg til mappe... About &%1 About Browser Om &%1 <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Noen handlinger relatert til dine personlige opplysninger vil bli deaktiverte når privat surfing er skrudd på:<ul><li> Nettsider blir ikke lagt til i historien.</li><li> Elementer blir automatisk fjernet fra Nedlastinger vinduet.</li><li> Nye informasjonskapsler blir ikke lagret og gamle kan ikke åpnes.</li><li> Ikoner og økter blir ikke lagret.</li><li> Søk blir ikke lagt til i sprett-opp menyen i søkeboksen.</li></ul>Du kan fremdeles klikke Tilbake og Fram intill du lukker vinduet. Ctrl+Y Download Manager Ctrl+Y Default Forvalg Text Encoding Tekstkoding Select &All Velg &alt Alt+Ctrl+B Alt+Ctrl+B <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li><li> No new network cache is written to disk.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Noen handlinger relatert til dine personlige opplysninger vil bli deaktiverte når privat surfing er skrudd på:<ul><li> Nettsider blir ikke lagt til i historien.</li><li> Elementer blir automatisk fjernet fra Nedlastninger vinduet.</li><li> Nye informasjonskapsler blir ikke lagret og gamle kan ikke åpnes.</li><li> Ikoner og økter blir ikke lagret.</li><li> Søk blir ikke lagt til i sprett-opp menyen i søkeboksen.</li></ul>Du kan fremdeles klikke Tilbake og Fram intill du lukker vinduet. Options... Alternativer... Configure Search Engines... Konfigurer søkemotorer... &Ad Block... &AdBlock... When private browsing is turned on, some actions concerning your privacy will be disabled: Så lenge privat surfing er skrudd på, vil noen handlinger være skrudd av: Webpages are not added to the history. Nettsider blir ikke lagt til i historien. Items are automatically removed from the Downloads window. Nedlastninger blir automatisk fjernet fra Nedlastninger vinduet. New cookies are not stored, current cookies can't be accessed. Nye informasjonskapsler blir ikke lagret og eksisterende informasjonskapsler kan ikke brukes. Site icons won't be stored. Nettsideikoner blir ikke lagret. Session won't be saved. Sessjoner blir ikke lagret. Searches are not added to the pop-up menu in the search box. Søk blir ikke lagt til i søkemenyen. No new network cache is written to disk. Nettverkshurtiglageret blir ikke skrevet til platelageret. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Så lenge du ikke lukker vinduet kan du fremdeles klikke Fram og Tilbake for å se sider du har åpnet. Private Browsing Privat surfing ClearButton Clear Fjern ClearPrivateData Clear Private Data Slett privat informasjon Clear the following items: Slett følgende elementer: &Browsing History &Surfehistorie &Download History &Nedlastingshistorie &Search History S&økehistorie &Cookies &Informasjonskapsler C&ache &Hurtiglager Website &Icons N&ettside ikoner Clear &Private Data Slett &privat informasjon &Cancel &Avbryt C&ached Web Pages &Mellomlagrede nettsider ClickToFlash Load Last Load All Last alle Add %1 to Whitelist Legg til %1 i godkjentlisten Remove from Whitelist Fjern fra godkjentlisten Settings Innstilinger Load Flash Last Flash ClickToFlashSettings Whitelist sites Godkjente sider CookieExceptionsModel Website Nettside Status Status Allow Tillat Block Blokker Allow For Session Tillat for denne økten Rule Regel CookieModel Website Nettside Name Navn Path Sti Secure Sikker Expires Utløper Contents Innhold true ja false nei Session cookie Sesjonsinformasjonskapsel CookiesDialog Cookies Informasjonskapsler &Remove &Slett Remove &All Cookies Slett &alle informasjonskapslene Add &Rule Legg til &regel CookiesExceptionsDialog Cookie Exceptions Unntak for informasjonskapsler New Exception Nytt unntak Domain: Domene: Block Blokker Allow For Session Tillat for økt Allow Tillat Exceptions Unntak &Remove &Fjern Remove &All Fjern &alle DownloadDialog Downloads Nedlastinger Clean up Rydd opp 0 Items Ingen elementer &OK &OK DownloadItem Save File Lagre fil Download canceled: %1 Nedlasting avbrutt: %1 Error opening save file: %1 Feil ved åpning av lagret fil: %1 Error saving: %1 Feil ved lagring: %1 Network Error: %1 Nettverksfeil: %1 seconds sekunder %1 of %2 (%3/sec) %4 %1 av %2 (%3/sek) %4 ? ? %1 of %2 - Stopped %1 av %2 - Stoppet bytes bytes kB kB MB MB Form Skjema Ico Ikon Filename Filnavn Try Again Prøv igjenn Stop Stopp Open Åpne - %n minutes remaining - %n minutt gjennstår - %n minutter gjennstår - %n seconds remaining - %n sekund gjennstår - %n sekunder gjennstår Error opening output file: %1 Feil ved skriving til fil: %1 %1 of %2 (%3/sec) - %4 %1 av %2 (%3/sek) - %4 Download directory (%1) couldn't be created. Nedlastningsbanen (%1) kunne ikke opprettes. DownloadManager %n Download(s) %n nedlasting %n nedlastinger There are %1 downloads in progress Do you want to quit anyway? Det er %1 aktive nedlastinger Er du sikker på at du vil avslutte? %n minutes remaining %n minutt gjennstår %n minutter gjennstår %n seconds remaining %n sekund gjennstår %n sekunder gjennstår bytes bytes kB kB MB MB GB GB FileAccessReply No Error Ingen feil Error opening: %1: No such file or directory Feil ved åpning av: %1: Filen eller banen finnes ikke Unable to read %1 Kan ikke lese %1 Contents of %1 Innhold i %1 %1 KB %1 KB HistoryDialog Open Åpne Copy Kopier Delete Slett History Historie &Remove &Fjern Remove &All Fjern &alle HistoryMenu Show All History Vis hele historien Clear History Slett historien Clear History... Slett historien... Do you want to clear the history? Vil du slette historien? HistoryModel Title Tittel Address Adresse HistoryTreeModel Earlier Today I dag %n item(s) %n element %n elementer JavaScriptAroraObject Welcome to Arora! Velkommen til Arora! Arora Start Arora start Search! Søk! Search results provided by Søkeresultater levert av About Arora Om Arora LanguageManager Default Standardspråk Choose language Velg språk <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Du kan bruke at annet språk enn<br>operativsystemets standardspråk.</p><p>Velg språk</p> No translation files are installed. Ingen oversettelses filer er installert. No translation files are installed at %1. Ingen oversettelsesfiler er installert i %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Oppgi brukernavn og passord for "%1" på %2</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Koble til mellomtjener "%1" ved å bruke:</qt> SSL Errors: %1 %2 Do you want to ignore these errors? SSL Feil: %1 %2 Vil du ignorere disse feilene? Do you want to accept all these certificates? Vil du akseptere alle disse sertifikatene? - SSL Errors - SSL Feil <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>SSL Feil:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Vil du ignorere disse feilene?<qt> <qt>Certifactes:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Sertifikater:<br/>%1<br/>Vil du akseptere alle disse sertifikatene?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Sertifikater:<br/>%1<br/>Vil du akseptere alle disse sertifikatene?</qt> Issuer: %1 Utsteder: %1 Not valid before: %1 Ikke gyldig før: %1 Valid until: %1 Gyldig inntil: %1 Alternate Names: Alternative navn: NetworkMonitor Name Navn Value Verdi NetworkMonitorDialog Network Monitor Nettverksovervåker Network Requests Nettverksforespørselser Request Headers Forespørselshode Response Headers Svarhode &Remove &Fjern Remove &All Requests Fjern &alle forespørselser OpenSearchDialog Open File Åpne fil OpenSearch OpenSearch Error Feil %1 is not a valid OpenSearch 1.1 description or is already on your list. %1 er ikke en gyldig OpenSearch 1.1 beskrivelse, eller så finnes den allerede i listen. You must have at least one search engine in here. Det må være minst en søkemotor her. OpenSearch Manager OpenSearch-behandler &Restore Defaults &Gjennoprett forvalg &Delete &Slett &Add &Legg til &Close &Lukk OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Beskrivelse:</strong> %1 <strong>Provides contextual suggestions</strong> <strong>Gir forslag</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Name Navn Keywords Nøkkelord OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 Vil du legge til den følgende motoren i listen over søkemotorer?<br /><br />Navn: %1<br />Søker på: %2 PasswordDialog Authentication Required DUMMY ICON INTRO TEXT DUMMY Username: Brukernavn: Password: Passord: PlainTextEditSearch Not Found Ikke funnet ProxyDialog Proxy Authentication Connect to proxy Koble til mellomtjener Username: Brukernavn: Password: Passord: QObject The file is not an XBEL version 1.0 file. Filen er ikke en XBEL versjon 1.0 fil. Unknown title Ukjent tittel The file is not an OpenSearch 1.1 file. Filen er ikke en OpenSearch 1.1 fil. RequestModel Redirect: %1 Videresend: %1 Method Metode Address Adresse Response Svar Length Lengde Content Type Innholdstype Info Info SearchBanner Done Ferdig Form Is there a way for things like these be ommitted from translation since they are never shown in the UI? A comment would probably do, so translators don't have to figure it out :-) Skjema Highlight All Merk alt SearchLineEdit Search Søk Settings Settings Innstilinger General Generelt Home: Hjem: Set to current page Sett til nåværende side Remove history items: Slett elementer fra historien: After one day Etter en dag After one week Etter en uke After two weeks Etter to uker After one month Etter en måned After one year Etter ett år Manually Manuelt Open links from applications: Åpne lenker fra andre programmer: In a tab in the current window I en fane i det nåværende vinduet In a new window I et nytt vindu Appearance Utforming Fixed-width font: Fastbreddeskrift: Privacy Personvern Web Content Nettinnhold Enable Plugins Aktiver programtillegg Enable Javascript Aktiver Javascript Cookies Informasjonskapsler Accept Cookies: Aksepter informasjonskapsler: Always Alltid Never Aldri Only from sites you navigate to Kun fra sider du surfer til Exceptions... Unntak... Keep until: Behold inntil: They expire De utløper I exit the application Jeg lukker programmet At most 90 days Høyst 90 dager Cookies... Informasjonskapsler... Proxy Mellomtjener Enable proxy Aktiver mellomtjener Type: Type: Socks5 Socks5 Http Http Host: Host: Port: Port: User Name: Brukernavn: Password: Passord: Advanced Avansert Style Sheet: Stilsett: Downloads Nedlastinger Ask for a destination each time Spørr om målkatalog hver gang Use this destination: Bruk denne katalogen: Standard font: Standard skrift: Times 16 Times 16 Select... Velg... Courier 13 Courier 13 On application exit Når programmet avsluttes Enable Images Aktiver bilder Tabs Faner Select tabs and windows as they are created Aktiver faner og vinduer når de opprettes Confirm when closing multiple tabs Be om bekreftelse for å lukke flere faner On startup: Ved oppstart: Show my home page Vis min hjemmeside Show a blank page Vis en blank side Restore windows and tabs from last time Gjennoprett vinduer og faner fra forrige gang Preferences Egenskaper Home Page: Hjemmeside: View Images Vis bilder Keep Cookies Until: Behold informasjonskapsler inntil: Show only one close button instead of one for each tab Vis kunn en lukkeknapp istedet for en per fane Use proxy server Bruk mellomtjener Host name: Vertsnavn: Preferred languages for viewing webpages in: Foretrukkne språk for visning av nettsider: Block Popup Windows Blokker sprettoppvinduer Opening links Åpning av lenker Links that want to open in a new window: Lenker som vil åpnes i et nytt vindu: In a new selected tab in the current window I en ny, aktiv fane i det aktive vinduet In a new tab in the current window I en ny fane i det aktive vinduet In the current tab I den aktive fanen Http (Secure) Http (Sikker) Http (Transparent) I don't know the Norwegian equivalent of this word in this context. Use ClickToFlash on flash plugins Bruk ClickToFlash på flash-programtillegg Filter Tracking Cookies Filtrer ut sporingsinformasjonskapsler Confirm when closing multiple tabs or windows Be om bekreftelse for å lukke flere faner eller viduer Quit the application when last tab is closed Lukk programmet når siste fane blir lukket Enable network cache Aktiver nettverkshurtiglager Maximum Size: Maksimal størrelse: MB MB Use the default search engine as fallback when the URL given by the user is invalid Bruk standardsøkemotoren hvis URLen gitt av brukeren er ugyldig Choose Directory... Velg katalog... A cookie session ends: En informasjonskapselsesjon slutter: When I exit the application Når jeg skruv av programmet 1 day 1 dag 2 days 2 dager 3 days 3 dager 7 days 7 dager 30 days 30 dager AutoFill AutoFill AutoFill web forms: AutoFill skjemaer: User names and passwords Brukernavn og passord Edit... Rediger... Browse... Bla igjennom... SettingsDialog Restart required Omstart påkrevd The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. Nettverkshurtiglagerkonfigurasjonen har blitt endret. Nettleseren må startes på nytt for å kunne bruke endringene. Choose Directory Velg katalog Choose CSS File Velg CSS fil SourceViewer Loading... Laster... &Edit &Rediger &Find &Finn &View &Vis &Wrap lines &Bryt linjer Source of Page Sidens kildekode Source of Page %1 Kildekoden til %1 TabBar New &Tab Ny &fane Duplicate Tab Kopier fane &Close Tab &Lukk fane Close &Other Tabs Lukk &andre faner Reload Tab Last fane på nytt Reload All Tabs Last alle faner på nytt Show Tab Bar Vis fanelinjen Hide Tab Bar Skjul fanelinjen TabWidget New &Tab N&y fane &Close Tab &Lukk fane Show Next Tab Vis neste fane Show Previous Tab Vis forrige fane Recently Closed Tabs Nylig lukkede faner (Untitled) (Uten tittel) Do you really want to close this page? Vil du virkelig lukke denne siden? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Du har gjort endringer til denne siden og når du lukker den vil du bli tapt. Vil du virkelig lukke denne siden? Untitled Uten tittel Ctrl-] Ctrl-] Ctrl-[ Ctrl-[ Saved Tabs Lagrede faner Loading... Laster... Loading %1% (%2 %3)... Laster %1% (%2 %3)... Finished loading Lastet ferdig Failed to load Lasting misslyktes Bookmark All Tabs Arkiver alle faner som bokmerker ToolbarSearch Google Google No Recent Searches Ingen nylige søk Recent Searches Nylige søk Clear Recent Searches Slett nylige søk Suggestions Forslag Add '%1' Legg til '%1' Configure Search Engines... Konfigurer søkemotorer... WebPage Error loading page: %1 Feil ved lasting av side: %1 When connecting to: %1. Ved tilkobling til: %1. Check the address for errors such as <b>ww</b>.trolltech.com instead of <b>www</b>.trolltech.com. Sjekk adresselinjen for feil som <b>ww</b>.trolltech.com isteden for <b>www</b>.trolltech.com. If the address is correct, try to check the network connection. Hvis adressen er riktig, undersøk nettilkolingen. If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Hvis datamaskinen eller nettverket ditt er beskyttet av en brannmur eller mellomtjener, sjekk at nettleseren har adgang til nettverket. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org Sjekk adresselinjen for feil som <b>ww</b>.arora-browser.org isteden for <b>www</b>.arora-browser.org If the address is correct, try checking the network connection. Hvis adressen er riktig undersøk nettilkoblingen. Resending POST request Sender POST forespørsel på nytt In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? Forespørselen, sammen med all dataen, må sendes på nytt for å kunne vise siden. Dette kan føre til uforutsette konsekvenser. F.eks., kan den samme handlingen bli utført flere ganger. Vil du fortsette? WebView Open in New &Window Åpne i nytt &vindu Open in New &Tab Åpne i ny &fane Save Lin&k &Lagre lenke &Bookmark This Link Lag &bokmerke av denne lenken &Copy Link Location &Kopier denne lenken Open Image in New &Window Åpne bilde i nytt &vindu Open Image in New &Tab Åpne bilde i ny &fane &Save Image &Lagre bilde &Copy Image &Kopier bilde C&opy Image Location &Kopier bildeets sti Loading... Laster... Search with... Søk med... Add to the toolbar search Legg til i søkeverktøylinja Method not supported Metoden er ikke støttet %1 method is not supported. %1 metoden er ikke støttet. Search engine Søkemotor Choose the desired search engine Velg den ønskede søkemotoren Engine name Søkemotorens navn Type in a name for the engine Gi søkemotoren et navn Block Image Blokker bilde WebViewSearch Not Found Ikke funnet arora-0.11.0/src/locale/nl.ts000066400000000000000000002027361145000221100157000ustar00rootroot00000000000000 AboutDialog Authors Auteurs License Licentie Lightweight WebKit-based web browser Lichte browser gebaseerd op WebKit <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> Close Sluiten About %1 Over %1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> WebKit version: %1 WebKit-versie: %1 AcceptLanguage Languages Talen Languages: in order of preference: Talen in volgorde van voorkeur: Move &Up Om&hoog Move &Down Om&laag &Remove Ve&rwijderen Add... Toevoegen... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 Geblokkeerd door regel: %1 AdBlockDialog Add Custom Rule Eigen regel toevoegen Learn more about writing rules... Meer leren over regels schrijven... Update Subscription Abonnement bijwerken Browse Subscriptions... Abonnementen bekijken... Remove Subscription Abonnement verwijderen AdBlock Configuration Advertentieblokkering instellen Enable AdBlock Advertentieblokkering inschakelen Action Actie AdBlockManager Custom Rules Eigen regels AdBlockModel Rule Regel AdBlockSchemeAccessHandler Subscribe? Abonneren? Subscribe to this AdBlock subscription? %1 Aan dit abonnement voor advertentieblokkering abonneren? %1 AddBookmarkDialog Add Bookmark Bladwijzer toevoegen Type a name for the bookmark, and choose where to keep it. Voer de naam voor de bladwijzer in, en kies waar op te slaan. Url Url Title Titel Add Folder Map toevoegen AutoFillDialog Form Passwords Formulierwachtwoorden Remove Verwijderen Remove All Alle verwijderen AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. <b>Wilt u dit wachtwoord opslaan?</b><br> Om opgeslagen wachtwoorden na te kijken of te verwijderen, open het deel Automatisch Invullen in de voorkeuren. Never for this site Nooit voor deze site Not now Niet nu AutoFillModel WebSite Website User Name Gebruikersnaam BookmarksDialog Open Openen Open in New Tab Openen in nieuwe tab Delete Verwijderen New Folder Nieuwe map Bookmarks Bladwijzers &Remove Ver&wijderen Add Folder Map toevoegen Edit Name Naam bewerken Edit Address Adres bewerken BookmarksManager Error when loading bookmarks on line %1, column %2: %3 Fout bij laden van bladwijzers op lijn %1, kolom %2: %3 Toolbar Bookmarks Werkbalkbladwijzers Menu Menu Open File Bestand openen Imported %1 %1 geïmporteerd Save File Bestand opslaan %1 Bookmarks.xbel %1 Bookmarks.xbel Export error Fout bij het exporteren error saving bookmarks fout bij het opslaan van de bladwijzers Remove Bookmark Bladwijzer verwijderen Insert Bookmark Bladwijzer invoegen Bookmarks Bar Bladwijzersbalk Bookmarks Menu Bladwijzersmenu Name Change Undo bookmark title change Naam wijzigen Address Change Undo bookmark url change Adres wijzigen XBEL bookmarks XBEL-bladwijzers HTML Netscape bookmarks HTML Netscape-bladwijzers htmlToXBel tool required htmlToXBel is nodig htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. htmlToXBel, wat wordt geleverd met Arora, is nodig om HTML-bladwijzers te importeren. Het is echter niet geïnstalleerd. Loading Bookmark Bladwijzer laden Error when loading HTML bookmarks: %1 Fout bij het laden van HTML-bladwijzers: %1 BookmarksMenu Open in Tabs In tabs openen BookmarksModel Title Titel Address Adres BookmarksToolBar Open Openen Open in New &Tab In nieuwe &tab openen Remove Verwijderen Add Bookmark... Bladwijzer toevoegen... Add Folder... Map toevoegen... BrowserApplication There are %1 windows and %2 tabs open Do you want to quit anyway? Er zijn %1 vensters en %2 tabs geopend Wilt u toch afsluiten? Restore failed Herstellen mislukt Arora crashed while trying to restore this session. Should I try again? Arora crashte bij het herstellen van deze sessie. Opnieuw proberen? BrowserMainWindow &File &Bestand &New Window &Nieuw venster &Open File... Bestand &openen... Open &Location... &Locatie openen... &Save As... O&pslaan als... &Import Bookmarks... Bladwijzers &importeren... &Export Bookmarks... Bladwijzers &exporteren... P&rint Preview... Afdruk&voorbeeld... &Print... &Afdrukken... Private &Browsing... Anoniem sur&fen... &Quit &Afsluiten &Edit &Bewerken &Undo Onge&daan maken &Redo Op&nieuw doen Cu&t Kn&ippen &Copy &Kopieren &Paste Plakk&en &Find &Zoeken Ctrl+, Ctrl+, &View Bee&ld Ctrl+| Ctrl+| Ctrl+/ Ctrl+/ &Stop &Stoppen Page S&ource Paginab&ron Ctrl+Alt+U Ctrl+Alt+U &Full Screen Volledig s&cherm Hi&story &Geschiedenis Back Terug Forward Vooruit Home Startpagina Restore Last Session Vorige sessie herstellen &Bookmarks Bladwi&jzers Add Bookmark... Bladwijzer toevoegen... &Window &Venster &Tools H&ulpmiddelen Web &Search Web&zoeken Ctrl+K Web Search Ctrl+K &Clear Private Data Privégegevens &wissen Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete Enable Web &Inspector Web &Inspector inschakelen &Help &Help About &Qt Over &Qt Navigation Navigatie Show Status Bar Statusbalk tonen Hide Status Bar Statusbalk verbergen Show Toolbar Werkbalk tonen Hide Toolbar Werkbalk verbergen %1 - Arora Page title and Browser name %1 - Arora Open Web Resource Webresources openen Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Webresources (*.html *.htm *.svg *.png *.gif *.svgz);;Alle bestanden(*.*) Print Document Document afdrukken Are you sure you want to turn on private browsing? Bent u zeker dat u anoniem surfen wilt inschakelen? Are you sure you want to close the window? There are %1 tabs open Bent u zeker dat u het venster wil sluiten? Er zijn %1 tabs geopend Web Inspector Web Inspector The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? De Web Inspector zal alleen correct werken voor pagina's die werden geladen na het inschakelen. Wilt u alle pagina's herladen? Stop loading the current page Stop het laden van deze pagina Reload the current page Deze pagina herladen Downloads Downloads Find P&revious Vo&rige zoeken &Reload Page Pagina he&rladen Show Bookmarks Bar Bladwijzerbalk tonen Hide Bookmarks Bar Bladwijzerbalk verbergen Find Nex&t Volgend&e zoeken Show Menu Bar Menubalk tonen Switch application language Programmataal wijzigen Close Window Venster sluiten Zoom &In &Inzoomen Zoom &Normal &Normaal zoomen Zoom &Out Uitz&oomen Zoom &Text Only Alleen &tekst vergroten About &%1 About Browser Over &%1 Ctrl+Y Download Manager Ctrl+Y Show All Bookmarks... Alle bladwijzers tonen... Add Folder... Map toevoegen... Default Standaard Text Encoding Tekstcodering Select &All &Alle selecteren Alt+Ctrl+B Alt+Ctrl+B Options... Opties... Configure Search Engines... Zoekmachines instellen... &Ad Block... &Advertentieblokkering... When private browsing is turned on, some actions concerning your privacy will be disabled: Wanneer anoniem surfen aan staat zullen sommige acties omtrent uw privacy worden uitgeschakeld: Webpages are not added to the history. Webpagina's worden niet aan de geschiedenis toegevoegd. Items are automatically removed from the Downloads window. Items worden automatisch verwijderd uit het Downloads-scherm. New cookies are not stored, current cookies can't be accessed. Nieuwe cookies worden niet opgeslagen, huidige cookies kunnen niet worden bereikt. Site icons won't be stored. Sitepictogrammen worden niet opgeslagen. Session won't be saved. De sessie wordt niet opgeslagen. Searches are not added to the pop-up menu in the search box. Zoekopdrachten worden niet toegevoegd aan het pop-upmenu in de zoekbalk. No new network cache is written to disk. Er wordt geen nieuwe cache naar de schijf geschreven. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Totdat u het venster sluit, kunt u nog altijd de Terug- en Vooruitknoppen gebruiken om terug te keren naar webpagina's die u geopend heeft. Private Browsing Anoniem surfen ClearButton Clear Wissen ClearPrivateData Clear Private Data Privégegevens wissen Clear the following items: Volgende items wissen: &Browsing History &Surfgeschiedenis &Download History &Downloadgeschiedenis &Search History &Zoekgeschiedenis &Cookies &Cookies Website &Icons Website&pictogrammen Clear &Private Data Privé&gegevens wissen &Cancel &Annuleren C&ached Web Pages Gec&achte pagina's ClickToFlash Load Laden Load All Alles laden Add %1 to Whitelist %1 aan whitelist toevoegen Remove from Whitelist Van whitelist verwijderen Settings Instellingen Load Flash Flash laden ClickToFlashSettings Whitelist sites Whitelist-sites CookieExceptionsModel Website Website Allow Toestaan Block Blokkeren Allow For Session Voor deze sessie toestaan Rule Regel CookieModel Website Website Name Naam Path Pad Secure Veilig Expires Vervalt Contents Inhoud true waar false fout Session cookie Sessie-cookie CookiesDialog Cookies Cookies &Remove Ver&wijderen Remove &All Cookies &Alle cookies verwijderen Add &Rule &Regel toevoegen CookiesExceptionsDialog Cookie Exceptions Cookie-uitzonderingen New Exception Nieuwe uitzondering Domain: Domein: Block Blokkeren Allow For Session Toestaan voor sessie Allow Toestaan Exceptions Uitzonderingen &Remove Ver&wijderen Remove &All &Alle verwijderen DownloadDialog Downloads Downloads Clean up Opschonen 0 Items 0 items DownloadItem Ico Ico Filename Bestandsnaam Try Again Opnieuw proberen Stop Stoppen Open Openen Save File Bestand opslaan Download canceled: %1 Download geannuleerd: %1 Error saving: %1 Fout bij opslaan: %1 Network Error: %1 Netwerkfout: %1 ? ? %1 of %2 - Stopped %1 van %2 - Gestopt Error opening output file: %1 Fout bij het openen van het outputbestand: %1 %1 of %2 (%3/sec) - %4 %1 van %2 (%3/sec) - %4 Download directory (%1) couldn't be created. Downloadmap (%1) kon niet worden gemaakt. DownloadManager %n Download(s) 1 download %n downloads There are %1 downloads in progress Do you want to quit anyway? Er zijn %1 downloads bezig Wilt u toch afsluiten? %n minutes remaining %n minuut resterend %n minuten resterend %n seconds remaining %n seconde resterend %n seconden resterend bytes bytes kB kB MB MB GB GB FileAccessReply No Error Geen fout Error opening: %1: No such file or directory Fout bij het openen: %1: is geen bestand of map Unable to read %1 Kon %1 niet lezen Contents of %1 Inhoud van %1 %1 KB %1 KB HistoryDialog Open Openen Copy Kopieren Delete Verwijderen History Geschiedenis &Remove Ver&wijderen Remove &All &Alles verwijderen HistoryMenu Show All History Volledige geschiedenis tonen Clear History Geschiedenis wissen Clear History... Geschiedenis wissen... Do you want to clear the history? Wilt u de hele geschiedenis wissen? HistoryModel Title Titel Address Adres HistoryTreeModel Earlier Today Eerder vandaag %n item(s) 1 item %n items JavaScriptAroraObject Welcome to Arora! Welkom bij Arora! Arora Start Arora Start Search! Zoeken! Search results provided by Zoekresultaten van About Arora Over Arora LanguageManager Choose language Taal kiezen <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>U kan een andere taal gebruiken dan<br>de standaardtaal van het besturingssysteem.</p><p>Kies de te gebruiken taal.</p> No translation files are installed at %1. Er zijn geen vertaalbestanden geïnstalleerd op %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Voer gebruikersnaam en wachtwoord voor "%1" op %2 in</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Verbinden met proxy "%1" met:</qt> - SSL Errors - SSL-fouten <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>SSL-fouten:<br/><br/>voor: <tt>%1</tt><ul><li>%2</li></ul> Wilt u deze fouten negeren?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Certificaten:<br/>%1<br/>Wilt u al deze certificaten accepteren?</qt> Issuer: %1 UItgever: %1 Not valid before: %1 Niet geldig voor: %1 Valid until: %1 Geldig tot: %1 Alternate Names: Alternatieve namen: OpenSearchDialog Open File Bestand openen OpenSearch OpenSearch Error Fout %1 is not a valid OpenSearch 1.1 description or is already on your list. %1 is geen geldige OpenSearch 1.1-beschrijving of staat al in uw lijst. You must have at least one search engine in here. U moet hiet tenminste één zoekmachine hebben. OpenSearch Manager OpenSearch-manager &Restore Defaults Standaa&rdwaarden herstellen &Delete Verwij&deren &Add &Toevoegen &Close &Sluiten OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Beschrijving:</strong> %1 <strong>Provides contextual suggestions</strong> <strong>Biedt contekstsuggesties</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Kommagescheiden lijst sleutelwoorden die in de zoekbalk mogen worden ingevoerd, gevolgd door zoektermen voor deze zoekmachine Name Naam Keywords Sleutelwoorden OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 Wilt u de volgende zoekmachine aan uw lijst van zoekmachines toevoegen?<br /><br />Naam: %1<br />Zoekt op: %2 PasswordDialog Authentication Required Authentificatie vereist DUMMY ICON DUMMY ICON INTRO TEXT DUMMY INTRO TEXT DUMMY Username: Gebruikersnaam: Password: Wachtwoord: PlainTextEditSearch Not Found Niet gevonden ProxyDialog Proxy Authentication Proxy-authentificatie Connect to proxy Met proxy verbinden Username: Gebruikersnaam: Password: Wachtwoord: QObject The file is not an XBEL version 1.0 file. Het bestand is geen XBEL 1.0-bestand. Unknown title Onbekende titel The file is not an OpenSearch 1.1 file. Het bestand is geen OpenSearch 1.1-bestand. SearchBanner Done Klaar Highlight All SearchLineEdit Search Zoeken Settings General Algemeen Set to current page Huidige pagina gebruiken Remove history items: Geschiedenisitems verwijderen: After one day Na één dag After one week Na één week After two weeks Na twee weken After one month Na één maand After one year Na één jaar Manually Handmatig On application exit Bij het afsluiten van het programma Open links from applications: Links uit programma's openen: In a new window In een nieuw venster Downloads Downloads Ask for a destination each time Elke keer om een bestemming vragen Use this destination: Deze bestemming gebruiken: Appearance Uiterlijk Standard font: Standaard lettertype: Select... Selecteren... Fixed-width font: Lettertype met vaste breedte: Privacy Privacy Web Content Webinhoud Enable Plugins Plugins inschakelen Enable Javascript Javascript inschakelen Cookies Cookies Accept Cookies: Cookies accepteren: Always Altijd Never Nooit Only from sites you navigate to Alleen van sites waar u heen surft Exceptions... Uitzonderingen... They expire Ze vervallen I exit the application Ik het programma afsluit At most 90 days Maximaal 90 dagen Cookies... Cookies... Tabs Tabs Select tabs and windows as they are created Tabs en vensters selecteren als ze gemaakt worden Proxy Proxy Type: Type: Socks5 Socks5 Port: Poort: User Name: Gebruikersnaam: Password: Wachtwoord: Advanced Geavanceerd Style Sheet: Stijlblad: On startup: Bij het opstarten: Show my home page Toon mijn startpagina Show a blank page Toon een lege pagina Restore windows and tabs from last time Herstel vensters en tabs van de vorige keer Preferences Voorkeuren Home Page: Startpagina: View Images Afbeeldingen weergeven Keep Cookies Until: Cookies houden tot: Use proxy server Proxyserver gebruiken Host name: Hostnaam: Show only one close button instead of one for each tab Alleen één sluitknop tonen in plaats van één voor elke tab Block Popup Windows Popupvensters blokkeren Opening links Links openen Links that want to open in a new window: Links die in een nieuw venster geopend willen worden: In a new selected tab in the current window In een nieuwe geselecteerde tab in het huidige venster In a new tab in the current window In een nieuwe tab in het huidige venster In the current tab In de huidige tab Http (Secure) Http (veilig) Http (Transparent) Http (transparant) Preferred languages for viewing webpages in: Voorkeurstaal om webpagina's in te zien: Use ClickToFlash on flash plugins ClickToFlash gebruiken bij flashplugins Filter Tracking Cookies Opspoor-cookies filteren Confirm when closing multiple tabs or windows Bevestiging vragen bij het sluiten van meerdere tabs Quit the application when last tab is closed Het programma afsluiten indien de laatste tab wordt gesloten Enable network cache Netwerkcache inschakelen Maximum Size: Maximumgrootte: MB MB Use the default search engine as fallback when the URL given by the user is invalid Op de standaard zoekmachine terugvallen bij een foute URL Choose Directory... Map kiezen... A cookie session ends: Een cookiesessie eindigt: When I exit the application Wanneer ik het programma afsluit 1 day Na 1 dag 2 days Na 2 dagen 3 days Na 3 dagen 7 days Na 7 dagen 30 days Na 30 dagen AutoFill Automatisch invullen AutoFill web forms: Webformulieren automatisch invullen: User names and passwords Gebruikersnamen en wachtwoorden Edit... Bewerken... Browse... Bladeren... SettingsDialog Restart required Herstart vereist The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. De configuratie van de netwerkcache is gewijzigd. Om dit effectief toe te passen moet de browser opnieuw worden opgestart. Choose Directory Map kiezen Choose CSS File Een CSS-bestand kiezen SourceViewer Loading... Laden... &Edit &Bewerken &Find &Zoeken Source of Page %1 Paginabron van %1 TabBar Show Tab Bar Tabbalk tonen Hide Tab Bar Tabbalk verbergen Duplicate Tab Tab klonen &Close Tab Tab &sluiten Close &Other Tabs &Andere tabs sluiten Reload Tab Tab herladen Reload All Tabs Alle tabs herladen TabWidget New &Tab Nieuwe &tab &Close Tab Tab &sluiten Show Next Tab Volgende tab tonen Show Previous Tab Vorige tab tonen Recently Closed Tabs Kortgeleden gesloten tabs Do you really want to close this page? Bent u zeker dat u deze pagina wilt sluiten? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? U hebt deze pagina gewijzigd en als u deze sluit zult u de wijzigingen kwijtraken. Bent u zeker dat u deze pagina wilt sluiten? Ctrl-] Ctrl-] Ctrl-[ Ctrl-[ Untitled Naamloos Loading... Laden... Loading %1% (%2 %3)... Laden %1% (%2 %3)... Finished loading Laden voltooid Failed to load Laden mislukt Saved Tabs Opgeslagen tabs Bookmark All Tabs Van alle tabs bladwijzers maken ToolbarSearch No Recent Searches Geen recente zoekopdrachten Recent Searches Recente zoekopdrachten Clear Recent Searches Recente zoekopdrachten wissen Suggestions Suggesties Add '%1' '%1' toevoegen WebPage Error loading page: %1 Fout bij het laden van de pagina: %1 When connecting to: %1. Bij het verbinden met: %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org Het adres controleren op fouten als <b>ww</b>.arora-browser.org in plaats van <b>www</b>.arora-browser.org If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Indien uw computer of netwerk beschermd wordt door een firewall of proxy, zorg er dan voor dat de browser toegang krijgt tot het netwerk. If the address is correct, try checking the network connection. Indien het adres juist is, de netwerkverbinding proberen te testen. Resending POST request POST opnieuw versturen In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? WebView Open in New &Window In nieuw &venster openen Open in New &Tab In nieuwe &tab openen Save Lin&k L&ink opslaan &Bookmark This Link &Bladwijzer maken van deze link &Copy Link Location Linklocatie &kopieren Open Image in New &Window Afbeelding openen in nieuw &venster Open Image in New &Tab Afbeelding openen in nieuwe &tab &Save Image Afbeelding &opslaan &Copy Image Afbeelding &kopieren C&opy Image Location Afbeeldingslocatie& kopieren Loading... Laden... Search with... Zoeken met... Add to the toolbar search Aan zoekbalk toevoegen Method not supported Methode niet ondersteund %1 method is not supported. De methode %1 wordt niet ondersteund. Search engine Zoekmachine Choose the desired search engine Kies de zoekmachine Engine name Naam Type in a name for the engine Kies een naam voor de zoekmachine Block Image WebViewSearch Not Found Niet gevonden arora-0.11.0/src/locale/pl_PL.ts000066400000000000000000002060501145000221100162660ustar00rootroot00000000000000 AboutDialog Authors Autorzy License Licencja Lightweight WebKit-based web browser Lekka przeglądarka internetowa bazująca na silniku WebKit <a href="http://arora-browser.org">http://arora-browser.org</a> Close Zamknij <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> About %1 O programie %1 WebKit version: %1 Wersja WebKita: %1 AcceptLanguage Languages Języki Languages: in order of preference: Języki: w kolejności preferencji: Move &Up Przesuń w &górę Move &Down Przesuń w &dół &Remove &Usuń Add... Dodaj... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 Zablokowany przez regułę AdBlock: %1 AdBlockDialog Add Custom Rule Dodaj własną regułę Learn more about writing rules... Dowiedz się więcej o tworzeniu reguł... Update Subscription Zaktualizuj subskrypcję Browse Subscriptions... Przeglądaj subskrypcje... Remove Subscription Usuń subskrypcję AdBlock Configuration Konfiguracja AdBlock Enable AdBlock Włącz AdBlock Action Akcja AdBlockManager Custom Rules Własne reguły AdBlockModel Rule Reguła AdBlockSchemeAccessHandler Subscribe? Subskrybować? Subscribe to this AdBlock subscription? %1 Dodać tę subskrypcję AdBlocka? %1 AddBookmarkDialog Add Bookmark Dodaj zakładkę Type a name for the bookmark, and choose where to keep it. Podaj nazwę dla zakładki i wybierz gdzie chcesz ją umieścić. Url URL Title Tytuł Add Folder Dodaj katalog AutoFillDialog Form Passwords Hasła w formularzach Remove Usuń Remove All Usuń wszystkie AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. <b>Chciałbyś zapisać to hasło?</b><br /> By przeglądać hasła, które zapisałeś i usunąć je, otwórz panel AutoFill w preferencjach. Never for this site Nigdy dla tej strony Not now Nie teraz AutoFillModel WebSite Strona User Name Nazwa użytkownika BookmarksDialog Open Otwórz Open in New Tab Otwórz w nowej karcie Delete Usuń New Folder Nowy katalog Bookmarks Zakładki &Remove &Usuń Add Folder Dodaj katalog Edit Name Edytuj nazwę Edit Address Edytuj adres BookmarksManager Error when loading bookmarks on line %1, column %2: %3 Błąd podczas ładowania zakładek w linii %1, kolumna %2: %3 Toolbar Bookmarks Pasek zakładek Menu Menu Open File Otwórz plik Imported %1 Zaimportowano %1 Save File Zapisz plik %1 Bookmarks.xbel %1 Bookmarks.xbel Export error Błąd przy eksportowaniu error saving bookmarks Błąd przy zapisie zakładek Remove Bookmark Usuń zakładkę Insert Bookmark Wstaw zakładkę Bookmarks Bar Pasek zakładek Bookmarks Menu Menu zakładek Name Change Undo bookmark title change Zmiana nazwy Address Change Undo bookmark url change Zmiana adresu XBEL bookmarks Zakładki XBEL HTML Netscape bookmarks Zakładki Netscape HTML htmlToXBel tool required Narzędzie htmlToXBel htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. Narzędzie htmlToXBel, które jest dostarczane z Arorą i wymagane do zaimportowania zakładek HTML, nie jest zainstalowane bądź nie jest dostępne w systemowych ścieżkach przeszukiwania. Loading Bookmark Ładowanie zakładek Error when loading HTML bookmarks: %1 Błąd w trakcie ładowania zakładek: %1 BookmarksMenu Open in Tabs Otwórz w kartach BookmarksModel Title Tytuł Address Adres BookmarksToolBar Open Otwórz Open in New &Tab Otwórz w nowej &karcie Remove Usuń Add Bookmark... Dodaj zakładkę... Add Folder... Dodaj katalog... Bookmarks Zakładki BrowserApplication There are %1 windows and %2 tabs open Do you want to quit anyway? Obecnie otwartych jest %1 okien i %2 kart Czy mimo to chcesz zakończyć? Restore failed Przywracanie nie powiodło się The saved session will not be restored because Arora crashed while trying to restore this session. Zapisana sesja nie mogła zostać przywrócona ponieważ Arora wysypała się. Arora crashed while trying to restore this session. Should I try again? Arora wywalila się w trakcie odzyskiwania sesji. Spróbować jeszcze raz? BrowserMainWindow &File &Plik &New Window &Nowe okno &Open File... &Otwórz plik... Open &Location... Otwórz &lokację... &Save As... Zapi&sz jako... &Import Bookmarks... &Importuj zakładki... &Export Bookmarks... &Eksportuj zakładki... P&rint Preview... Podgląd wyd&ruku... &Print... &Drukuj... Private &Browsing... &Prywatne przeglądanie... &Quit &Zakończ &Edit &Edytuj &Undo &Cofnij &Redo &Ponów Cu&t Wy&tnij &Copy &Kopiuj &Paste &Wklej &Find &Znajdź Ctrl+, Ctrl+, &View &Widok Ctrl+| Ctrl+| Ctrl+/ Ctrl+/ &Stop &Zatrzymaj Page S&ource Źródł&o strony Ctrl+Alt+U Ctrl+Alt+U &Full Screen &Tryb pełnoekranowy Hi&story Hi&storia Back Wstecz Forward Do przodu Home Strona domowa Restore Last Session Odtwórz ostatnią sesję &Bookmarks &Zakładki Add Bookmark... Dodaj zakładkę... &Window &Okno &Tools &Narzędzia Web &Search Wy&szukiwanie Ctrl+K Web Search Ctrl+K &Clear Private Data Wy&czyść prywatne dane Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete Enable Web &Inspector Włącz &inspektora stron &Help &Pomoc About &Qt Informacje o &Qt Navigation Nawigacja Show Status Bar Pokaż pasek stanu Hide Status Bar Schowaj pasek stanu Show Toolbar Pokaż pasek narzędziowy Hide Toolbar Schowaj pasek narzędziowy %1 - Arora Page title and Browser name %1 - Arora Open Web Resource Otwórz zasób internetowy Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Pliki internetowe (*.html *.htm *.svg *.png *.gif *.svgz);;Wszystkie pliki (*.*) Print Document Drukuj dokument Are you sure you want to turn on private browsing? Czy jesteś pewny że chcesz włączyć prywatne przeglądanie sieci? Are you sure you want to close the window? There are %1 tabs open Czy jesteś pewien, że chcesz zamknąć okno? %1 kart jest otwartych Web Inspector Inspektor stron The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Inspektor stron działa poprawnie tylko dla stron, które zostały wczytane po jego aktywowaniu. Czy chcesz odświeżyć wszystkie strony? Stop loading the current page Zatrzymaj ładowanie strony Reload the current page Odśwież stronę Downloads Pobieranie Find P&revious Znajdź &poprzedni &Reload Page Odśwież st&ronę Show Bookmarks Bar Pokaż pasek zakładek Hide Bookmarks Bar Schowaj pasek zakładek Find Nex&t Znajdź &następny Show Menu Bar Pokaż pasek menu Switch application language Zmień język aplikacji Close Window Zamknij okno Zoom &In Pow&iększ Zoom &Normal Rozmiar pierwot&ny Zoom &Out P&omniejsz Zoom &Text Only Zwiększaj tylko &tekst About &%1 About Browser Informacje o &%1 Ctrl+Y Download Manager Ctrl+Y Show All Bookmarks... Pokaż wszystkie zakładki... Add Folder... Dodaj katalog... Default Domyślny Text Encoding Kodowanie znaków Alt+Ctrl+B Alt+Ctrl+B Select &All Zaznacz &wszystko Options... Opcje... Configure Search Engines... Konfiguruj wyszukiwarki... When private browsing is turned on, some actions concerning your privacy will be disabled: Kiedy prywatne przeglądanie jest włączone, niektóre akcje wpływające na Twoją prywatność są wyłączone: Webpages are not added to the history. Historia nie jest uzupełniana o odwiedzane strony. Items are automatically removed from the Downloads window. Pobrane pliki są automatycznie usuwane z okna Pobierania. New cookies are not stored, current cookies can't be accessed. Nowe ciasteczka nie są przechowywane, aktualnie istniejące nie mogą być modyfikowane. Site icons won't be stored. Ikony stron nie będą zapisywane. Session won't be saved. Sesja nie jest zachowywana. Searches are not added to the pop-up menu in the search box. Wyszukiwania nie są dodawane do historii wyszukiwań. No new network cache is written to disk. Sieciowa pamięć podręczna jest tylko do odczytu. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Dopóki nie zamkniesz okna, możesz zawsze uzyć przycisków Wstecz i Do przodu, by wrócić do stron, które przeglądałeś. Private Browsing Prywatne przeglądanie &Ad Block... &AdBlock... ClearButton Clear Wyczyść ClearPrivateData Clear Private Data Wyczyść prywatne dane Clear the following items: Wyczyść następujące elementy: &Browsing History &Historia przeglądania &Download History Historia po&bierania &Search History Historia &wyszukiwania &Cookies &Ciasteczka Website &Icons &Ikony stron Clear &Private Data Wyczyść &prywatne dane &Cancel &Anuluj C&ached Web Pages Z&apisane w cache strony ClickToFlash Load Wczytaj Load All Wczytaj wszystkie Add %1 to Whitelist Dodaj %1 do białej listy Remove from Whitelist Usuń z białej listy Settings Ustawienia Load Flash Wczytaj Flash ClickToFlashSettings Whitelist sites Strony na białej liście CookieExceptionsModel Website Strona Allow Zezwól Block Blokuj Allow For Session Zezwól na czas sesji Rule Zasada CookieModel Website Strona Name Nazwa Path Ścieżka Secure Bezpieczne Expires Wygasa Contents Zawartość true prawda false fałsz Session cookie Ciasteczko sesji CookiesDialog Cookies Ciasteczka &Remove &Usuń Remove &All Cookies Usuń &wszystkie ciasteczka Add &Rule Dodaj &regułę CookiesExceptionsDialog Cookie Exceptions Wyjątki ciasteczek New Exception Nowy wyjątek Domain: Domena: Block Blokuj Allow For Session Zezwól na czas sesji Allow Zezwól Exceptions Wyjątki &Remove &Usuń Remove &All Usuń &wszystkie DownloadDialog Downloads Pobieranie Clean up Wyczyść 0 Items 0 elementów DownloadItem Ico Ikona Filename Nazwa pliku Try Again Spróbuj ponownie Stop Zatrzymaj Open Otwórz Save File Zapisz plik Download canceled: %1 Pobieranie anulowane: %1 Error saving: %1 Błąd przy zapisie: %1 Network Error: %1 Błąd sieci: %1 ? ? %1 of %2 - Stopped %1 z %2 - Zatrzymano Error opening output file: %1 Błąd w trakcie otwierania pliku docelowego: %1 %1 of %2 (%3/sec) - %4 %1 z %2 (%3/sek) - %4 Download directory (%1) couldn't be created. Katalog docelowy (%1) nie mógł zostać stworzony. DownloadManager %n Download(s) %n pobierany plik %n pobierane pliki %n pobieranych plików There are %1 downloads in progress Do you want to quit anyway? Trwa pobieranie %1 plików. Czy mimo to chcesz zakończyć? %n minutes remaining %n minuta pozostała %n minuty pozostały %n minut pozostało %n seconds remaining %n sekunda pozostała %n sekundy pozostały %n sekund pozostało bytes bajtów kB kB MB MB GB GB FileAccessReply No Error Brak błędu Error opening: %1: No such file or directory Błąd w trakcie otwierania %1: Plik lub katalog nie istnieje Unable to read %1 Nie można czytać z %1 Contents of %1 Zawartość %1 %1 KB %1 KB HistoryDialog Open Otwórz Copy Kopiuj Delete Skasuj History Historia &Remove &Usuń Remove &All Usuń &wszystkie HistoryMenu Show All History Pokaż całą historię Clear History Wyczyść historię Clear History... Wyczyść historię... Do you want to clear the history? Chcesz wyczyścić historię? HistoryModel Title Tytuł Address Adres HistoryTreeModel Earlier Today Dzisiaj %n item(s) %n element %n elementy %n elementów JavaScriptAroraObject Welcome to Arora! Witaj w Arorze! Arora Start Arora Start Search! Szukaj! Search results provided by Wyniki wyszukiwania pochodzą z About Arora O programie Arora LanguageManager Choose language Wybierz język <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Możesz używać innego języka niż<br />domyślny systemowy.</p><p>Wybierz język, z którego chciałbyś korzystać.</p> No translation files are installed. Nie znaleziono żadnych plików językowych. No translation files are installed at %1. Żadne pliki językowe nie są zainstalowane w %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Wpisz nazwę użytkownika i hasło dla "%1" na %2</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Połącz się z proxy "%1" używając:</qt> - SSL Errors - Błędy SSL <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>Błędy SSL:<br/><br/>dla: <tt>%1</tt><ul><li>%2</li></ul> Czy chcesz zignorować te błędy?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Certyfikaty:<br/>%1<br/>Czy chcesz zaakceptować wszystkie certyfikaty?</qt> Issuer: %1 Wydawca: %1 Not valid before: %1 Nieważny przed: %1 Valid until: %1 Ważny do: %1 Alternate Names: Alternatywne nazwy: OpenSearchDialog Open File Otwórz plik OpenSearch OpenSearch Error Błąd %1 is not a valid OpenSearch 1.1 description or is already on your list. %1 nie jest prawidłowym plikiem OpenSearch 1.1 lub jest już na Twojej liście. You must have at least one search engine in here. Musisz mieć co najmniej jedną wyszukiwarkę. OpenSearch Manager Menedżer wyszukiwarek OpenSearch &Restore Defaults &Przywróć domyślne &Delete &Usuń &Add &Dodaj &Close &Zamknij OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Opis:</strong> %1 <strong>Provides contextual suggestions</strong> <strong>Oferuje sugestie kontekstowe</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Oddzielona przecinkami lista słów kluczowych, które mogą zostać wpisane do paska wyszukiwania, wraz z wyrażeniem, które zostanie wyszukane w tej wyszukiwarce Name Nazwa Keywords Słowa kluczowe OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 Czy chcesz dodać następującą wyszukiwarkę do swojej listy?<br /><br />Nazwa: %1<br />Wyszukuje na: %2 PasswordDialog Authentication Required Wymagane uwierzytelnienie DUMMY ICON ATRAPA IKONY INTRO TEXT DUMMY ATRAPA TEKSTU WSTĘPNEGO Username: Nazwa użytkownika: Password: Hasło: PlainTextEditSearch Not Found Nie znaleziono ProxyDialog Proxy Authentication Uwierzytelnienie proxy Connect to proxy Połącz z proxy Username: Nazwa użytkownika: Password: Hasło: QObject The file is not an XBEL version 1.0 file. Wskazany plik nie jest plikiem XBEL w wersji 1.0. Unknown title Nieznany tytuł The file is not an OpenSearch 1.1 file. Plik nie jest prawidłowym plikiem OpenSearch 1.1. SearchBanner Done Zakończono Highlight All Podświetl wszystkie SearchLineEdit Search Szukaj Settings General Ogólne Set to current page Ustaw jako obecną stronę Remove history items: Usuń elementy historii: After one day Po jednym dniu After one week Po tygodniu After two weeks Po dwóch tygodniach After one month Po miesiącu After one year Po roku Manually Ręcznie Open links from applications: Otwórz linki z aplikacji: In a new window W nowym oknie Downloads Pobieranie Ask for a destination each time Za każdym razem pytaj o miejsce do zapisu Use this destination: Użyj następującego miejsca docelowego: Appearance Wygląd Standard font: Standardowa czcionka: Select... Wybierz... Fixed-width font: Czcionka o stałej szerokości: Privacy Prywatność Web Content Zawartość sieci Enable Plugins Włącz wtyczki Enable Javascript Włącz obsługę Javascript Cookies Ciasteczka Accept Cookies: Akceptuj ciasteczka: Always Zawsze Never Nigdy Only from sites you navigate to Tylko ze stron, które odwiedzasz Exceptions... Wyjątki... They expire aż wygasną I exit the application do zamknięcia programu At most 90 days najwyżej 90 dni Cookies... Ciasteczka... Proxy Proxy Type: Typ: Socks5 Socks5 Port: Port: User Name: Nazwa użytkownika: Password: Hasło: Advanced Zaawansowane Style Sheet: Arkusz stylów: On startup: Podczas uruchamiania: Show my home page Otwórz moją stronę domową Show a blank page Otwórz pustą stronę Restore windows and tabs from last time Przywróć okna i karty z poprzedniej sesji On application exit Przy zamykaniu aplikacji Tabs Karty Select tabs and windows as they are created Wybierz karty i okna tak jak zostały utworzone Preferences Ustawienia Home Page: Strona domowa: View Images Wyświetlaj obrazki Keep Cookies Until: Przechowuj ciastka: Use proxy server Użyj serwera proxy Host name: Host name: Show only one close button instead of one for each tab Wyświetlaj tylko jeden przycisk zamknięcia karty zamiast jednego dla każdej karty Block Popup Windows Blokuj wyskakujące okna Opening links Otwieraj łącza Links that want to open in a new window: Łącza, które chcą utworzyć nowe okno: In a new selected tab in the current window W nowej aktywnej karcie w bieżącym oknie In a new tab in the current window W nowej karcie w bieżącym oknie In the current tab W bieżącej karcie Http (Secure) Http (bezpieczny) Http (Transparent) Http (przejrzysty) Preferred languages for viewing webpages in: Preferowane języki do przeglądania stron: Use ClickToFlash on flash plugins not sure if ClickToFlash needs to be translated at all... Użyj ClickToFlash dla pluginów flash Filter Tracking Cookies Odrzucaj śledzące ciastka Confirm when closing multiple tabs or windows Potwierdź zamknięcie wielu kart lub okien naraz Quit the application when last tab is closed Zamknij aplikację, gdy ostatnia karta zostanie zamknięta Enable network cache Włącz sieciową pamięć podręczną Maximum Size: Maksymalny rozmiar: MB MB Use the default search engine as fallback when the URL given by the user is invalid Szukaj w domyślnej wyszukiwarce kiedy tekst niebedący URL-em jest wprowadzony przez użytkownika Choose Directory... Wybierz katalog... A cookie session ends: Sesja ciasteczka kończy się: When I exit the application Podczas zamykania aplikacji 1 day 1 dzień 2 days 2 dni 3 days 3 dni 7 days 7 dni 30 days 30 dni AutoFill Autouzupełnianie formularzy AutoFill web forms: Uzupełniaj formularze: User names and passwords Nazwy użytkownika i hasła Edit... Edytuj... Browse... Przeglądaj... SettingsDialog Restart required Ponowne uruchomienie wymagane The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. Konfiguracja pamięci podręcznej została zmieniona. Aby została wzięta pod uwagę, przeglądarka musi być uruchomiona ponownie. Choose Directory Wybierz katalog Choose CSS File Wybierz plik CSS SourceViewer Loading... Ładowanie... &Edit &Edytuj &Find &Znajdź Source of Page %1 Źródło strony %1 TabBar Duplicate Tab Duplikuj kartę &Close Tab &Zamknij kartę Close &Other Tabs Zamknij &inne karty Reload Tab Odśwież kartę Reload All Tabs Odśwież wszystkie karty Show Tab Bar Pokaż pasek kart Hide Tab Bar Schowaj pasek kart TabWidget New &Tab Nowa &karta &Close Tab &Zamknij kartę Show Next Tab Pokaż następną kartę Show Previous Tab Pokaż poprzednią kartę Recently Closed Tabs Ostatnio zamknięte karty Do you really want to close this page? Czy na pewno chcesz zamknąć tę stronę? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Wprowadziłeś modyfikacje na tej stronie i kiedy ją zamkniesz to utracisz wszystkie zmiany. Czy na pewno chcesz zamknąć tę stronę? Untitled Bez tytułu Ctrl-] Ctrl-] Ctrl-[ Ctrl-[ Loading... Ładowanie... Loading %1% (%2 %3)... Ładowanie %1% (%2 %3)... Finished loading Zakończono ładowanie Failed to load Ładowanie nie powiodło się Saved Tabs Zapisane karty Bookmark All Tabs Dodaj wszystkie karty do zakładek ToolbarSearch No Recent Searches Brak ostatnio wyszukiwanych fraz Recent Searches Ostatnio wyszukiwane frazy Clear Recent Searches Wyczyść listę ostatnio wyszukiwanych fraz Suggestions Sugestie Add '%1' Dodaj '%1' WebPage Error loading page: %1 Błąd podczas ładowania strony: %1 If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Jeśli twój komputer lub sieć jest chroniona zaporą sieciową lub proxy, upewnij się, że przeglądarka ma uprawnienia do dostępu do sieci. When connecting to: %1. Podczas łączenia z: %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org Sprawdź adres pod kątem błędów takich jak <b>ww</b>.arora-browser.org zamiast <b>www</b>.arora-browser.org If the address is correct, try checking the network connection. Jeśli adres jest prawidłowy, sprawdź poprawność połączenia internetowego. Resending POST request Ponowne wysyłanie żądania POST In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? Aby wyświetlić tę stronę, żądanie razem ze wszystkimi danymi musi być ponownie wysłane, co może prowadzić do nieoczekiwanego zachowania się strony np. ta sama akcja może być wykonana jeszcze raz. Czy na pewno chcesz kontynuować? WebView Open in New &Window Otwórz w nowym &oknie Open in New &Tab Otwórz w nowej &karcie Save Lin&k &Zapisz element docelowy &Bookmark This Link Dodaj ten odnośnik do &zakładek &Copy Link Location &Kopiuj adres odnośnika Open Image in New &Window Otwórz obrazek w nowym o&knie Open Image in New &Tab Otwórz obrazek w nowej k&arcie &Save Image &Zapisz obrazek &Copy Image &Kopiuj obrazek C&opy Image Location K&opiuj adres obrazka Loading... Ładowanie... Search with... Szukaj z... Add to the toolbar search Dodaj do paska wyszukiwania Method not supported Metoda żądania nie wspierana %1 method is not supported. Metoda %1 jest nie wspierana. Search engine Wyszukiwarka Choose the desired search engine Wybierz żądaną wyszukiwarkę Engine name Nazwa wyszukiwarki Type in a name for the engine Podaj nazwę dla wyszukiwarki Block Image Zablokuj obrazek WebViewSearch Not Found Nie znaleziono arora-0.11.0/src/locale/pt_BR.ts000066400000000000000000002235361145000221100162760ustar00rootroot00000000000000 AboutDialog About %1 Sobre o %1 Authors Autores License Licença Lightweight WebKit-based web browser Navegador web leve baseado no Webkit <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> Close Fechar WebKit version: %1 Versão do Webkit: %1 AcceptLanguage Languages Idiomas Languages: in order of preference: Idiomas: em ordem de preferência: Move &Up Para &cima Move &Down Para &baixo &Remove &Remover Add... Adicionar... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 Bloqueado por AdBlockRule: %1 AdBlockDialog Add Custom Rule Adicionar regra personalizada Learn more about writing rules... Saiba mais sobre escrevendo regras... Update Subscription Atualizar subscrição Browse Subscriptions... Navegar nas subscrições... Remove Subscription Remover subscrição AdBlock Configuration Configuração do AdBlock Enable AdBlock Habilitar AdBlock Action Ação AdBlockManager Custom Rules Personalizar regras AdBlockModel Rule Regra AdBlockSchemeAccessHandler Subscribe? Inscrever-se? Subscribe to this AdBlock subscription? %1 Inscrever-se nesta subscrição AdBlock? %1 AddBookmarkDialog Add Bookmark Adicionar favorito Type a name for the bookmark, and choose where to keep it. Escreva um nome para o favorito, e escolha onde deseja mantê-lo. Url Url Title Título Add Folder Adicionar pasta AutoFillDialog Form Passwords Formulário de senhas Remove Remover Remove All Remover todos AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. <b>Gostaria de salvar esta senha?</b><br> Para rever as senhas que você salvou e removê-las, abra a aba Preenchimento automático em Ferramentas > Opções. Never for this site Nunca para este site Not now Não agora AutoFillModel WebSite Site User Name Usuário BookmarksDialog Open Abrir Open in New Tab Abrir em nova aba Edit Name Editar nome Edit Address Editar endereço Delete Excluir New Folder Nova pasta Bookmarks Favoritos &Remove &Remover Add Folder Adicionar pasta BookmarksManager Bookmarks Bar Barra dos favoritos Bookmarks Menu Menu favoritos Error when loading bookmarks on line %1, column %2: %3 Erro ao carregar os favoritos na linha %1, coluna %2: %3 Toolbar Bookmarks Barra de ferramentas dos favoritos Menu Menu Open File Abrir arquivo XBEL XBEL Error when loading html bookmarks: %1 Erro ao carregar html de favoritos: %1 Imported %1 Importado %1 Save File Salvar arquivo %1 Bookmarks.xbel %1 Bookmarks.xbel XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) Export error Erro ao exportar error saving bookmarks Erro ao salvar favoritos Remove Bookmark Remover favorito Insert Bookmark Inserir favorito Name Change Undo bookmark title change Desfazer alteração no título do favorito Address Change Undo bookmark url change Desfazer alteração na url do favorito XBEL bookmarks Favoritos XBEL HTML Netscape bookmarks Favoritos Netscape HTML htmlToXBel tool required Ferramenta htmlToXBel é requerida htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. A ferramenta htmlToXBel, que é expedida com o Arora e é necessária para importar os favoritos HTML, não está instalada ou disponível nos caminhos de procura. Loading Bookmark Carregando favoritos Error when loading HTML bookmarks: %1 Erro ao carregar os favoritos em HTML: %1 BookmarksMenu Open in Tabs Abrir em abas BookmarksModel Title Título Address Endereço BookmarksToolBar Bookmark Favoritos Open Abrir Open in New &Tab Abrir em nova &aba Remove Remover Add Bookmark... Adicionar ao favorito... Add Folder... Adicionar pasta... Bookmarks Favoritos BrowserApplication (Change: %1 %2) (Alteração: %1 %2) There are %1 windows and %2 tabs open Do you want to quit anyway? Existem %1 janelas e %2 abas abertas. Você quer sair de qualquer maneira? Restore failed Falha ao restaurar The saved session will not be restored because Arora crashed while trying to restore this session. A sessão salva não será restaurada porque Arora fechou ao tentar restaurar esta sessão. Arora crashed while trying to restore this session. Should I try again? Arora fechou durante a tentativa de restaurar essa sessão. Devo tentar novamente? BrowserMainWindow &File &Arquivo &New Window &Nova janela &Open File... Abrir arquiv&o... Open &Location... Abrir &localização... &Save As... &Salvar como... &Import Bookmarks... &Importar favoritos... &Export Bookmarks... &Exportar favoritos... P&rint Preview... Visualiza&r impressão... &Print... Im&primir... Private &Browsing... Navegação pri&vada... Close Window Fechar janela &Quit &Sair &Edit &Editar &Undo &Desfazer &Redo &Refazer Cu&t Cor&tar &Copy &Copiar &Paste C&olar &Find Locali&zar Find Nex&t Pró&ximo Find P&revious Ante&rior Prefere&nces... Preferê&ncias... Ctrl+, Ctrl+, &View E&xibir Ctrl+| Ctrl+| Shift+Ctrl+B Shift+Ctrl+B Ctrl+/ Ctrl+/ Show Menu Bar Mostrar barra de menu &Reload Page &Recarregar página &Stop &Parar Zoom &In A&umentar zoom Zoom &Normal Zoom &normal Zoom &Out Diminuir zoo&m Zoom &Text Only Zoom somente do &texto Page S&ource F&onte da página Ctrl+Alt+U Ctrl+Alt+U &Full Screen &Tela cheia Hi&story Hi&stórico Back Voltar Forward Avançar Home Página inicial Restore Last Session Restaurar última sessão &Bookmarks Fa&voritos Show All Bookmarks... Mostrar todos os favoritos... Add Bookmark... Adicionar ao favorito... Add Folder... Adicionar pasta... &Window &Janela &Tools &Ferramentas Web &Search Pesqui&sar na web Ctrl+K Web Search Ctrl+K &Clear Private Data Limpar &dados privados Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete Show &Network Monitor Mostrar mo&nitor de rede Enable Web &Inspector Habilitar &inspetor web &Help &Ajuda Switch application language Trocar idiomar da aplicação About &Qt Sobre &Qt About &%1 About Browser Sobre o &%1 Navigation Navegação Show Status Bar Mostrar barra de status Hide Status Bar Ocultar barra de status Show Toolbar Mostrar barra de ferramentas Hide Toolbar Ocultar barra de ferramentas Show Bookmarks Bar Mostrar barra de favoritos Hide Bookmarks Bar Ocultar barra de favoritos %1 - Arora Page title and Browser name %1 - Arora Open Web Resource Abrir recursos da web Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Recursos web (*.html *.htm *.svg *.png *.gif *.svgz);; Todos os arquivos (*.*) Print Document Imprimir documento Are you sure you want to turn on private browsing? Tem certeza que deseja ativar a navegação privada? <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Quando a navegação privada está ligada, algumas medidas relativas a sua privacidade serão desativadas:<ul><li> As páginas web não serão adicionadas no histórico.</li><li> Itens serão automaticamente removidos da janela de Downloads.</li><li> Novos cookies não serão armazenados, cookies atuais não podem ser acessados.</li><li> Ícones de sites não serão armazenados, sessões não serão salvas.</li><li> Pesquisas não serão adicionadas para o menu popup na caixa de pesquisa.</li></ul>Até você fechar a janela, você ainda pode clicar nos botões Voltar e Avançar para retornar às páginas que você tinha aberto. Are you sure you want to close the window? There are %1 tabs open Tem certeza que deseja fechar a janela? Existem %1 abas abertas Web Inspector Inspetor web The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? O inspetor web só irá trabalhar corretamente para as páginas que foram carregadas após a habilitação. Você deseja recarregar todas as páginas? Stop loading the current page Interromper o carregamento da página atual Reload the current page Atualizar a página atual Downloads Downloads Ctrl+Y Download Manager Ctrl+Y Default Padrão Text Encoding Texto codificado Select &All Selecionar &tudo Alt+Ctrl+B Alt+Ctrl+B <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li><li> No new network cache is written to disk.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Quando a navegação privada estiver ligada, algumas ações a respeito de sua privacidade serão desativadas: <ul><li> As páginas web não serão adicionadas ao histórico.</li><li> Os itens serão automaticamente removidos da janela de Download.</li><li> Novos cookies não serão armazenados, e cookies atuais não poderão ser acessados.</li><li> Os ícones dos sites não serão armazenados, a sessão não será salva.</li><li> As pesquisas não serão adicionadas para o menu pop-up na caixa de pesquisa.</li><li> Nenhum novo cache de rede será escrito em disco.</li></ul> Até você fechar a janela, você ainda pode clicar nos botões Voltar e Avançar para retornar às páginas que você abriu. Options... Opções... Configure Search Engines... Configurar mecanismos de pesquisa... &Ad Block... &Ad Block... When private browsing is turned on, some actions concerning your privacy will be disabled: Quando a navegação privada estiver ligada, algumas ações a respeito de sua privacidade serão desabilitadas: Webpages are not added to the history. As páginas web não serão adicionadas ao histórico. Items are automatically removed from the Downloads window. Os itens serão automaticamente removidos da janela de Download. New cookies are not stored, current cookies can't be accessed. Novos cookies não serão armazenados, e cookies atuais não poderão ser acessados. Site icons won't be stored. Os ícones dos sites não serão armazenados. Session won't be saved. A sessão não será salva. Searches are not added to the pop-up menu in the search box. As pesquisas não serão adicionadas para o menu pop-up na caixa de pesquisa. No new network cache is written to disk. Nenhum novo cache de rede será escrito em disco. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Até você fechar a janela, você ainda pode clicar nos botões Voltar e Avançar para retornar às páginas que você abriu. Private Browsing Navegação privada ClearButton Clear Limpar ClearPrivateData Clear Private Data Limpar dados privados Clear the following items: Limpar os seguintes itens: &Browsing History &Histórico de navegação &Download History Histórico de &download &Search History Histórico de pe&squisa &Cookies &Cookies C&ached Web Pages C&ache das páginas web Website &Icons Ícones de s&ites Clear &Private Data Limpar dados &privados &Cancel &Cancelar ClickToFlash Load Carregar Load All Carregar todos Add %1 to Whitelist Adicionar %1 à Lista branca Remove from Whitelist Remover da Lista branca Settings Configurações Load Flash Carregar flash ClickToFlashSettings Whitelist sites Sites de Lista branca CookieExceptionsModel Website Site Rule Regra Allow Permitir Block Bloquear Allow For Session Permitir para sessão CookieModel Website Site Name Nome Path Caminho Secure Segurança Expires Expira Contents Sumário true verdadeiro false falso Session cookie Cookie da sessão CookiesDialog Cookies Cookies &Remove &Remover Remove &All Cookies Remover &todos os cookies Add &Rule Adicionar &regra CookiesExceptionsDialog Cookie Exceptions Exceções do cookie New Exception Nova exceção Domain: Domínio: Block Bloquear Allow For Session Permitir para sessão Allow Permitir Exceptions Exceções &Remove &Remover Remove &All Remover &todos DownloadDialog Downloads Downloads Clean up Limpar 0 Items 0 itens DownloadItem Form De Ico Ico Filename Nome do arquivo Try Again Tentar novamente Stop Parar Open Abrir Save File Salvar arquivo Download canceled: %1 Download cancelado: %1 Error opening output file: %1 Erro ao abrir o arquivo de saída: %1 Error saving: %1 Erro ao salvar: %1 Network Error: %1 Erro na rede: %1 %1 of %2 (%3/sec) - %4 %1 de %2 (%3/seg) - %4 ? ? %1 of %2 - Stopped %1 de %2 - Parado Download directory (%1) couldn't be created. O diretório de download (%1) não pôde ser criado. DownloadManager There are %1 downloads in progress Do you want to quit anyway? Existem %1 downloads em progresso. Você deseja sair de qualquer maneira? %n Download(s) %n download %n downloads %n minutes remaining %n minuto restante %n minutos restantes %n seconds remaining %n segundo restante %n segundos restantes bytes bytes kB kB MB MB GB GB FileAccessReply No Error Nenhum erro Error opening: %1: No such file or directory Erro ao abrir: %1: Nenhum arquivo ou diretório encontrado Unable to read %1 Não foi possível ler %1 Contents of %1 Conteúdo de %1 %1 KB %1 KB HistoryDialog Open Abrir Copy Copiar Delete Excluir History Histórico &Remove &Remover Remove &All Remover &todos HistoryMenu Show All History Mostrar todos os históricos Clear History... Limpar histórico... Clear History Limpar histórico Do you want to clear the history? Você deseja limpar o histórico? HistoryModel Title Título Address Endereço HistoryTreeModel Earlier Today Hoje cedo %n item(s) %n item %n itens JavaScriptAroraObject Welcome to Arora! Bem-vindoa ao Arora! Arora Start Iniciar Arora Search! Pesquisar! Search results provided by Pesquisar resultados forneceidos por About Arora Sobre Arora LanguageManager No translation files are installed. Não estão instalados os arquivos de tradução. Choose language Escolha o idioma <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Você pode executar com um idioma diferente do que<br>o padrão do sistema operacional.</p><p>Por favor, escolha o idioma que deve ser utilizado</p> No translation files are installed at %1. Não há arquivos de tradução instalados em %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Digite o nome de usuário e senha para "%1" em %2</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Conectar no proxy "%1" usando:</qt> - SSL Errors - Erros SSL <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>Erros SSL:<br/><br/>para: <tt>%1</tt><ul><li>%2</li></ul> Você deseja ignorar esses erros?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Certificados:<br/>%1<br/>Você deseja aceitar todos esses certificados?</qt> Issuer: %1 Expedido por: %1 Not valid before: %1 Sem validade não antes de: %1 Valid until: %1 Válido até: %1 Alternate Names: Nomes alternativos: NetworkMonitor Name Nome Value Valor NetworkMonitorDialog Network Monitor Monitor de rede Network Requests Pedidos da rede Request Headers Pedido dos cabeçalhos Response Headers Resposta dos cabeçalhos &Remove &Remover Remove &All Requests Remover &todos os pedidos OpenSearchDialog Open File Abrir arquivo OpenSearch OpenSearch Error Erro %1 is not a valid OpenSearch 1.1 description or is already on your list. %1 não é uma válida descrição OpenSearch 1.1 ou já está em sua lista. You must have at least one search engine in here. Você deve ter pelo menos um mecanismo de pesquisa aqui. OpenSearch Manager Gerenciar OpenSearch &Add &Adicionar &Delete &Excluir &Restore Defaults &Restaurar padrão &Close &Fechar OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Descrição:</strong> %1 <strong>Provides contextual suggestions</strong> <strong>Exibir sugestões contextuais</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Lista separada por vírgulas de palavras-chave que podem ser inscritas na barra de endereços seguido de termos de procura para pesquisar com este mecanismo Name Nome Keywords Palavras-chave OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 Você deseja adicionar o seguinte mecanismo para sua lista de mecanismos de pesquisa?<br /><br />Nome: %1<br />Pesquisar sobre: %2 PasswordDialog Authentication Required Requer autenticação DUMMY ICON IMITAÇÃO DE ÍCONE INTRO TEXT DUMMY IMITAÇÃO DE INTRODUÇÃO DO TEXTO Username: Usuário: Password: Senha: PlainTextEditSearch Not Found Não encontrado ProxyDialog Proxy Authentication Autenticação no proxy Connect to proxy Conectar-se no proxy Username: Usuário: Password: Senha: QObject The file is not an OpenSearch 1.1 file. O arquivo não é um arquivo OpenSearch 1.1. The file is not an XBEL version 1.0 file. O arquivo não é um arquivo XBEL versão 1.0. Unknown title Título desconhecido RequestModel Redirect: %1 Redirecionar: %1 Method Método Address Endereço Response Resposta Length Duração Content Type Tipo do conteúdo Info Informação SearchBanner Form De Done Fechar Highlight All Testacar todos SearchLineEdit Search Pesquisar Settings Preferences Preferências General Geral On startup: Ao iniciar: Show my home page Mostrar minha página inicial Show a blank page Mostrar uma página em branco Restore windows and tabs from last time Restaurar janelas e abas de última hora Home Page: Página inicial: Set to current page Usar a página atual Remove history items: Remover itens do histórico: After one day Depois de um dia After one week Depois de uma semana After two weeks Depois de duas semanas After one month Depois de um mês After one year Depois de um ano Manually Manualmente On application exit Na saída da aplicação Downloads Downloads Ask for a destination each time Perguntar para um destino de cada vez Use this destination: Usar esse destino: Appearance Aparência Standard font: Fonte padrão: Select... Selecionar... Fixed-width font: Fonte com largura fixa: Preferred languages for viewing webpages in: Idiomas preferenciais para visualização das páginas web: Privacy Privacidade Web Content Conteúdo web Block Popup Windows Boquear janelas instantâneas Enable Plugins Habilitar plug-ins Use ClickToFlash on flash plugins Utilizar Clique para Instalar nos plug-ins flash Enable Javascript Habilitar javascript View Images Ver imagens Cookies Cookies Accept Cookies: Aceitar cookies: Always Sempre Never Nunca Only from sites you navigate to Somente de sites que você navega Exceptions... Exceções... Keep Cookies Until: Manter cookie até: They expire Ele expirar I exit the application Eu sair da aplicação At most 90 days No máximo 90 dias Cookies... Cookies... Filter Tracking Cookies Filtrar rastreamento de cookies Tabs Abas Select tabs and windows as they are created Selecionar abas e janelas que são criadas Confirm when closing multiple tabs or windows Confirmar quando fechar múltiplas abas e janelas Show only one close button instead of one for each tab Mostrar apenas um botão fechar, em vez de um para cada aba Quit the application when last tab is closed Sair da aplicação quando a última aba for fechada Opening links Abrindo links Links that want to open in a new window: Links que deseja abrir em uma nova janela: In a new window Em uma nova janela In a new selected tab in the current window Em uma nova aba selecionada na janela atual In a new tab in the current window Em uma nova aba na janela atual In the current tab Na aba atual Open links from applications: Abrir links de aplicações: Proxy Proxy Use proxy server Usar servidor proxy Type: Tipo: Socks5 Socks5 Http (Secure) Http (seguro) Http (Transparent) Http (transparente) Host name: Servidor: Port: Porta: User Name: Usuário: Password: Senha: Advanced Avançado Style Sheet: Folha de estilos: Enable network cache Habilitar cache de rede Maximum Size: Tamanho máximo: MB MB Use the default search engine as fallback when the URL given by the user is invalid Utilizar o mecanismo de pesquisa padrão como retorno, quando a URL fornecida pelo usuário é inválida Choose Directory... Escolher diretório... A cookie session ends: Terminar uma sessão de cookie: When I exit the application Quando eu sair do programa 1 day 1 dia 2 days 2 dias 3 days 3 dias 7 days 7 dias 30 days 30 dias AutoFill Preenchimento automático AutoFill web forms: Preenchimento automático de formulários web: User names and passwords Usuários e senhas Edit... Editar... Browse... Procurar... SettingsDialog Restart required Requer reinício The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. A configuração do cache de rede foi modificada. Então, para que possa ser efetivado, o navegador deve ser reiniciado. Choose Directory Escolher diretório Choose CSS File Escolher arquivo CSS SourceViewer Loading... Carregando... &Edit &Editar &Find &Localizar &View &Ver &Wrap lines &Separador Source of Page Fonte da página Source of Page %1 Fonte da página %1 TabBar Show Tab Bar Mostrar barra de abas Hide Tab Bar Ocultar barra de abas Duplicate Tab Duplicar aba &Close Tab &Fechar aba Close &Other Tabs Fechar &todas as abas Reload Tab Recarregar aba Reload All Tabs Recarregar todas as abas TabWidget Untitled Sem título Saved Tabs Abas salvas Do you really want to close this page? Você realmente deseja fechar essa página? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Você modificou esta página e quando fechá-la, você perderá a modificação. Você realmente deseja fechar esta página? Loading... Carregando... Loading %1% (%2 %3)... Carregando %1% (%2 %3)... Finished loading Terminado carregamento Failed to load Falha ao carregar Show Next Tab Mostrar próxima aba Ctrl-] Ctrl-] Show Previous Tab Mostrar aba anterior Ctrl-[ Ctrl-[ Recently Closed Tabs Abas fechadas recentemente New &Tab Nova &aba &Close Tab &Fechar aba Bookmark All Tabs Favorito de todas as abas ToolbarSearch Suggestions Sugestões Add '%1' Adicionar '%1' Configure Search Engines... Configurar mecanismos de pesquisa... Clear Recent Searches Limpar pesquisas recentes No Recent Searches Sem pesquisas recentes Recent Searches Pesquisas recentes WebPage Error loading page: %1 Erro ao carregar página: %1 When connecting to: %1. Ao conectar para: %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org Verifique o endereço se contém erros como <b>ww</b>.arora-browser.org em vez de <b>www</b>.arora-browser.org If the address is correct, try checking the network connection. Se o endereço está correto, tente verificar a conexão de rede. If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Se o seu computador ou rede estão protegidos por um firewall ou proxy, certifique-se que o navegador tem permissão para acessar a rede. Resending POST request Reenviando pedido POST In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? Para exibir o site, o pedido juntamente com todos os dados devem ser enviados mais uma vez, o que pode levar a alguns comportamentos inesperados do site por exemplo, a mesma ação pode ser realizada mais uma vez. Você deseja continuar mesmo assim? WebView Open in New &Window Abrir em nova &janela Open in New &Tab Abrir em nova &aba Save Lin&k Salvar lin&k &Bookmark This Link &Favorito desse link &Copy Link Location &Copiar localização do link Open Image in New &Window Abrir imagem em nova &janela Open Image in New &Tab Abrir imagem em nova a&ba &Save Image &Salvar imagem &Copy Image Copiar &imagem C&opy Image Location C&opiar localização da imagem Search with... Pesquisar com... Loading... Carregando... Add to the toolbar search Adicionar para a barra de ferramentas de pesquisa Method not supported Método não suportado %1 method is not supported. %1 método não é suportado. Search engine Mecanismo de pesquisa Choose the desired search engine Escolha o mecanismo de pesquisa Engine name Nome do mecanismo Type in a name for the engine Escreva um nome para o mecanismo Block Image Bloquear imagem WebViewSearch Not Found Não encontrado arora-0.11.0/src/locale/pt_PT.ts000066400000000000000000002101421145000221100163030ustar00rootroot00000000000000 AboutDialog Lightweight WebKit-based web browser Navegador web leve baseado no WebKit <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> Authors Autores License Licença Close Fechar About %1 Acerca do %1 WebKit version: %1 Versão do WebKit: %1 AcceptLanguage Languages Linguagens Languages: in order of preference: Linguagens: em ordem de preferência: Move &Up Mover Para &Cima Move &Down Mover Para &Baixo &Remove &Remover Add... Adicionar... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 Bloqueado por AdBlockRule: %1 AdBlockDialog AdBlock Configuration Configuração do AdBlock Enable AdBlock Activar o AdBlock Action Acção Add Custom Rule Adicionar Regra Personalizada Learn more about writing rules... Saiba mais acerca de como escrever regras... Update Subscription Actualizar Subscrição Browse Subscriptions... Navegar nas Subscrições... Remove Subscription Remover Subscrição AdBlockManager Custom Rules Regras Personalizadas AdBlockModel Rule Regra AdBlockSchemeAccessHandler Subscribe? Subscrever? Subscribe to this AdBlock subscription? %1 Subscrever a esta subscrição do AdBlock? %1 AddBookmarkDialog Add Bookmark Adicionar Favorito Type a name for the bookmark, and choose where to keep it. Escreva um nome para o favorito, e escolha onde guardá-lo. Url Url Title Título Add Folder Adicionar Pasta AutoFillDialog Form Passwords Palavras-passe de Formulários Remove Remover Remove All Remover Todas AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. <b>Deseja guardar esta palavra-passe?</b><br>(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)(sp)Para rever as palavras-passe que guardou e removê-las, abra o painel de Preenchimento Automático das preferências. Never for this site Nunca para este site Not now Agora não AutoFillModel WebSite WebSite User Name Nome de Utilizador BookmarksDialog Bookmarks Favoritos &Remove &Remover Add Folder Adicionar Pasta Open Abrir Open in New Tab Abrir em Novo Separador Edit Name Editar Nome Edit Address Editar Endereço Delete Apagar New Folder Nova Pasta BookmarksManager Bookmarks Bar Barra de Favoritos Bookmarks Menu Menu de Favoritos Error when loading bookmarks on line %1, column %2: %3 Erro ao carregar favoritos na linha %1, coluna %2: %3 Toolbar Bookmarks Barra de Ferramentas de Favoritos Menu Menu XBEL bookmarks Favoritos XBEL HTML Netscape bookmarks Favoritos HTML Netscape Open File Abrir Ficheiro htmlToXBel tool required Ferramenta htmlToXBel necessária htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. A ferramenta htmlToXBel, a qual é disponibilizada juntamente com o Arora e é necessária para importar favoritos HTML, não está instalada ou não está disponível nos caminhos de busca. Loading Bookmark A Carregar Favorito Error when loading HTML bookmarks: %1 Erro ao carregar favoritos HTML: %1 Imported %1 %1 Importado Save File Guardar Ficheiro %1 Bookmarks.xbel %1 Bookmarks.xbel Export error Erro ao exportar error saving bookmarks erro ao guardar favoritos Remove Bookmark Remover Favorito Insert Bookmark Inserir Favorito Name Change Undo bookmark title change Alteração do Nome Address Change Undo bookmark url change Alteração do Endereço BookmarksMenu Open in Tabs Abrir em Separadores BookmarksModel Title Título Address Endereço BookmarksToolBar Open Abrir Open in New &Tab Abrir num Novo &Separador Remove Remover Add Bookmark... Adicionar Favorito... Add Folder... Adicionar Pasta... BrowserApplication There are %1 windows and %2 tabs open Do you want to quit anyway? Estão %1 janelas e %2 separadores abertos Deseja sair mesmo assim? Restore failed Restauro falhado Arora crashed while trying to restore this session. Should I try again? O Arora crashou enquanto tentava restaurar esta sessão.(sp)(sp)Devo tentar de novo? BrowserMainWindow Hide Toolbar Esconder Barra de Ferramentas Show Toolbar Mostar Barra de Ferramentas Hide Bookmarks Bar Esconder Barra de Favoritos Show Bookmarks Bar Mostrar Barra de Favoritos Hide Status Bar Esconder Barra de Estado Show Status Bar Mostrar Barra de Estado Default Predefinição &File &Ficheiro &New Window &Nova Janela &Open File... &Abrir Ficheiro... Open &Location... Abri &Localização... &Save As... &Guardar Como... &Import Bookmarks... &Importar Favoritos... &Export Bookmarks... &Exportar Favoritos... P&rint Preview... P&ré-visualizar Impressão... &Print... Im&primir... Private &Browsing... &Navegação Privada... Close Window Fechar Janela &Quit &Sair &Edit &Editar &Undo &Desfazer &Redo &Refazer Cu&t Cor&tar &Copy &Copiar &Paste C&olar Select &All Seleccion&ar Todos &Find &Procurar Find Nex&t Procurar Pró&ximo Find P&revious Procurar Ante&rior &View &Ver Ctrl+| Ctrl+| Alt+Ctrl+B Alt+Ctrl+B Ctrl+/ Ctrl+/ Show Menu Bar Mostrar a Barra do Menu &Reload Page &Recarregar a Página &Stop &Parar Zoom &In Zoom Aprox&imar Zoom &Normal Zoom &Normal Zoom &Out Z&oom Afastar Zoom &Text Only Zoom Apenas ao &Texto Page S&ource Códig&o Fonte da Página Ctrl+Alt+U Ctrl+Alt+U &Full Screen Éc&ran Completo Text Encoding Codificação do Texto Hi&story Hi&stórico Back Recuar Forward Avançar Home Página Inicial Restore Last Session Restaurar Última Sessão &Bookmarks &Favoritos Show All Bookmarks... Mostrar Todos os Favoritos... Add Bookmark... Adicionar Favorito... Add Folder... Adicionar Pasta... &Window &Janela &Tools Ferramen&tas Web &Search Pe&squisa na Web Ctrl+K Web Search Ctrl+K &Clear Private Data Limpar &Dados Privados Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete Enable Web &Inspector Activar o Web &Inspector Options... Opções... Ctrl+, Ctrl+, Configure Search Engines... Configurar Motores de Busca... &Ad Block... &Adicionar Bloqueio... &Help A&juda Switch application language Mudar a linguagem da aplicação(sp) About &Qt Acerca do &Qt About &%1 About Browser Acerca do &%1 Navigation Navegação %1 - Arora Page title and Browser name %1 - Arora Open Web Resource Abrir Recurso da Web Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Recursos da Web ((*.html *.htm *.svg *.png *.gif *.svgz);;Todos os ficheiros (*.*) Print Document Imprimir Documento Are you sure you want to turn on private browsing? Tem certeza que deseja activar a navegação privada? When private browsing is turned on, some actions concerning your privacy will be disabled: Quando a navegação privada está activa, algumas acções referentes à sua privacidade serão desactivadas: Webpages are not added to the history. Páginas Web não são adicionadas ao histórico. Items are automatically removed from the Downloads window. Items são removidos automaticamente da janela de Transferências. New cookies are not stored, current cookies can't be accessed. Novos cookies não são guardados, não se pode aceder aos cookies presentes. Site icons won't be stored. Icones do site não podem ser guardados. Session won't be saved. A sessão não será guardada. Searches are not added to the pop-up menu in the search box. Pesquisas não são guardadas no menu pop-up na caixa de pesquisas. No new network cache is written to disk. Nenhuma nova cache de rede é guardada no disco. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Até que feche a janela, você ainda pode clicar nos botões Recuar e Avançar para voltar às páginas web que abriu. Private Browsing Navegação Privada Are you sure you want to close the window? There are %1 tabs open Tem a certeza que deseja fechar a janela?(sp)(sp)Estão %1 separadores abertos Web Inspector Web Inspector The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? O web inspector apenas irá funcionar em páginas que foram carregadas após a sua activação. Deseja recarregar todas as páginas? Stop loading the current page Parar o carregamento da página corrente Reload the current page Recarrega a página corrente Downloads Transferências Ctrl+Y Download Manager Ctrl+Y ClearButton Clear Limpar ClearPrivateData Clear Private Data Limpar Dados Privados Clear the following items: Limpar os seguintes items: &Browsing History Histórico de &Navegação &Download History Histórico de &Transferências &Search History Histórico de &Pesquisas &Cookies &Cookies C&ached Web Pages Páginas Web em C&ache Website &Icons &Icones do Website Clear &Private Data Limpar &Dados Privados &Cancel &Cancelar ClickToFlash Load Flash Carregar Flash Load Carregar Load All Carregar Todos Add %1 to Whitelist Adicionar %1 à Lista Branca Remove from Whitelist Remover da Lista Branca Settings Definições ClickToFlashSettings Whitelist sites Sites da Lista Branca CookieExceptionsModel Website Website Rule Regra Allow Permitir Block Bloquear Allow For Session Permitir Para a Sessão CookieModel Website Website Name Nome Path Caminho Secure Seguro Expires Expira Contents Conteúdo true verdadeiro false falso Session cookie Cookie de sessão CookiesDialog Cookies Cookies &Remove &Remover Remove &All Cookies Remover &Todos os Cookies Add &Rule Adicionar &Regra CookiesExceptionsDialog Cookie Exceptions Excepções de Cookies New Exception Nova Excepção Domain: Domínio: Block Bloqueio Allow For Session Permitir Para Sessão Allow Permitir Exceptions Excepções &Remove &Remover Remove &All Remover &Todos DownloadDialog Downloads Transferências Clean up Limpar 0 Items 0 Items DownloadItem Ico Ico Filename Nome do Ficheiro Try Again Tentar de Novo Stop Parar Open Abrir Save File Guardar Ficheiro Download canceled: %1 Transferência cancelada: %1 Download directory (%1) couldn't be created. Não foi possível criar o directório de transferência (%1). Error opening output file: %1 Erro ao abrir ficheiro de saída: %1 Error saving: %1 Erro ao guardar: %1 Network Error: %1 Erro de rede: %1 %1 of %2 (%3/sec) - %4 %1 de %2 (%3/segundo) - %4 ? ? %1 of %2 - Stopped %1 de %2 - Parado DownloadManager There are %1 downloads in progress Do you want to quit anyway? Estão %1 transferências em progresso Deseja sair mesmo assim? %n Download(s) %n Transferência(s) %n minutes remaining Faltam %n minutos %n seconds remaining Faltam %n segundos bytes bytes kB kB MB MB GB GB FileAccessReply No Error Nenhum Erro Error opening: %1: No such file or directory Erro ao abrir: %1: Não existe tal ficheiro ou directório Unable to read %1 Incapaz de ler %1 Contents of %1 Conteúdo de %1 %1 KB %1 KB HistoryDialog History Histórico &Remove &Remover Remove &All Remover &Todos Open Abrir Copy Copiar Delete Apagar HistoryMenu Show All History Mostrar Todo o Histórico Clear History... Limpar o Histórico... Clear History Limpar o Histórico Do you want to clear the history? Deseja limpar o histórico? HistoryModel Title Título Address Endereço HistoryTreeModel Earlier Today Hoje Cedo %n item(s) %n item(s) JavaScriptAroraObject Welcome to Arora! Bem vindo ao Arora! Arora Start Inicio do Arora Search! Pesquisa! Search results provided by Resultados de pesquisa disponibilizados por About Arora Acerca do Arora LanguageManager No translation files are installed at %1. Nenhum ficheiro de tradução está instalado em %1. Choose language Escolher linguagem <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Você pode usar uma linguagem diferente daquela<br>predefinida pelo sistema operativo.</p><p>Por favor escolha a linguagem que deve ser usada</p> NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Indique o nome de utilizador e palavra-passe para "%1" em %2</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Ligar ao proxy "%1" usando:</qt> Issuer: %1 Emissor: %1 Not valid before: %1 Não válido antes de: %1 Valid until: %1 Válido até: %1 Alternate Names: Nomes Alternativos: - SSL Errors (sp)- Erros do SSL <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>Erros do SSL:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Deseja ignorar estes erros?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Certificados:<br/>%1<br/>Deseja aceitar todos estes certificados?</qt> OpenSearchDialog OpenSearch Manager Gestor do OpenSearch &Add &Adicionar &Delete A&pagar &Restore Defaults &Restaurar Predefinições &Close &Fechar Open File Abrir Ficheiro OpenSearch OpenSearch Error Erro %1 is not a valid OpenSearch 1.1 description or is already on your list. %1 não é uma descrição OpenSearch 1.1 válida ou já está na sua lista. You must have at least one search engine in here. Você precisa de ter aqui pelo menos um motor de busca. OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Descrição:</strong> %1 <strong>Provides contextual suggestions</strong> <strong>Disponibiliza sugestões contextuais</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Lista de palavras chave separadas por vírgulas que pode ser inserida na barra seguida por termos de pesquisa para pesquisar com este motor Name Nome Keywords Palavras Chave OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 Deseja adicionar o seguinte motor à sua lista de motores de busca?<br /><br />Nome: %1<br />Pesquisa em: %2 PasswordDialog Authentication Required Autenticação Necessária DUMMY ICON ÍCONE FICTÍCIO INTRO TEXT DUMMY ENTRADA DE TEXTO FICTÍCIA Username: Nome de utilizador: Password: Palavra-passe: PlainTextEditSearch Not Found Não Encontrado ProxyDialog Proxy Authentication Autenticação do Proxy Connect to proxy Ligar ao proxy Username: Nome de utilizador: Password: Palavra-passe: QObject The file is not an XBEL version 1.0 file. O ficheiro não é um ficheiro XBEL versão 1.0. Unknown title Título desconhecido The file is not an OpenSearch 1.1 file. O ficheiro não é um ficheiro OpenSearch 1.1. SearchBanner Highlight All Realçar Todos Done Feito SearchLineEdit Search Pesquisar Settings Preferences Preferências General Geral On startup: Ao iniciar: Show my home page Mostrar a minha página pessoal Show a blank page Mostrar uma página em branco Restore windows and tabs from last time Restaurar as janelas e separadores da última vez Home Page: Página Pessoal: Set to current page Definir para a página corrente Remove history items: Remover items do histórico: After one day Após um dia After one week Após uma semana After two weeks Após duas semanas After one month Após um mês After one year Após um ano Manually Manualmente On application exit Ao terminar a aplicação Use the default search engine as fallback when the URL given by the user is invalid Utilizar o motor de busca predefinido em caso do URL dado pelo utilizador ser inválido Downloads Transferências Ask for a destination each time Perguntar sempre por um destino Use this destination: Usar este destino: Choose Directory... Escolher Directório... Appearance Aparência Standard font: Tipo de letra standard: Select... Seleccionar... Fixed-width font: Tipo de letra de largura fixa: Preferred languages for viewing webpages in: Linguagens preferidas para visualizar páginas web em: Privacy Privacidade Web Content Conteúdo da Web Block Popup Windows Bloquear Janelas Popup Enable Plugins Activar Plugins Use ClickToFlash on flash plugins Usar o botão 'Carregar Flash' em plugins flash Enable Javascript Activar Javascript View Images Ver Imagens Cookies Cookies Accept Cookies: Aceitar Cookies: Always Sempre Never Nunca Only from sites you navigate to Apenas os originários dos sites que você visita Exceptions... Excepções... Keep Cookies Until: Manter os Cookies Até: They expire Que expirem I exit the application Eu termine a aplicação At most 90 days Durante 90 dias Cookies... Cookies... Filter Tracking Cookies Filtrar Cookies de Rastreio A cookie session ends: Uma sessão de cookie termina: When I exit the application Quando eu terminar a aplicação 1 day Em 1 dia 2 days Em 2 dias 3 days Em 3 dias 7 days Em 7 dias 30 days Em 30 dias Tabs Separadores Select tabs and windows as they are created Seleccionar separadores e janelas assim que são criadas Confirm when closing multiple tabs or windows Confirmar quando se fecha múltiplos separadores ou janelas Show only one close button instead of one for each tab Mostrar apenas um botão de fechar em vez de um para cada separador Quit the application when last tab is closed Terminar a aplicação quando o último separador é fechado Opening links Abertura de ligações Links that want to open in a new window: Ligações que querem abrir numa janela nova: In a new window Numa janela nova In a new selected tab in the current window Num novo separador seleccionado na janela corrente In a new tab in the current window Num novo separador na janela corrente In the current tab No separador corrente Open links from applications: Abrir ligações a partir de aplicações: Proxy Proxy Use proxy server Usar servidor proxy Type: Tipo: Socks5 Socks5 Http (Secure) Http (Seguro) Http (Transparent) Http (Transparente) Host name: Nome de máquina: Port: Porto: User Name: Nome de Utilizador: Password: Palavra-passe: AutoFill Preenchimento Automático AutoFill web forms: Preenchimento Automático de formulários web: User names and passwords Nomes de utilizadores e palavras-passe Edit... Editar... Advanced Avançado Style Sheet: Estilo de Folha: Browse... Navegação... Enable network cache Activar cache de rede Maximum Size: Tamanho Máximo: MB (sp)MB SettingsDialog Restart required É necessário reiniciar The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. A configuração da cache de rede foi alterada. Para que a alteração funcione, o navegador tem que ser reiniciado. Choose Directory Escolher o Directório Choose CSS File Escolher o Ficheiro CSS SourceViewer Loading... A carregar... &Edit &Editar &Find &Procurar Source of Page %1 Código da Página %1 TabBar Show Tab Bar Mostrar a Barra de Separadores Hide Tab Bar Esconder a Barra de Separadores Duplicate Tab Duplicar Separador &Close Tab &Fechar Separador Close &Other Tabs Fechar os &Outros Separadores Reload Tab Recarregar Separador Reload All Tabs Recarregar Todos os Separadores TabWidget Untitled Sem Título Saved Tabs Separadores Guardados Do you really want to close this page? Deseja mesmo fechar esta página? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Você modificou esta página e ao fechá-la você irá perder as modificações. Deseja mesmo fechar esta página? Loading... Carregando... Loading %1% (%2 %3)... Carregando %1% (%2 %3)... Finished loading Carga completa Failed to load Falha ao carregar Show Next Tab Mostrar o Próximo Separador Ctrl-] Ctrl-] Show Previous Tab Mostrar o Separador Anterior Ctrl-[ Ctrl-[ Recently Closed Tabs Separadores Fechados Recentemente New &Tab Novo &Separador &Close Tab &Fechar Separador Bookmark All Tabs Colocar Todos os Separadores nos Favoritos ToolbarSearch Suggestions Sugestões Add '%1' Adicionar '%1' Clear Recent Searches Limpar Pesquisas Recentes No Recent Searches Não Há Pesquisas Recentes Recent Searches Pesquisas Recentes WebPage Resending POST request A enviar de novo o pedido POST In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? De modo a mostrar o site, o pedido junto com todos os dados deve ser enviado mais uma vez, o que pode levar a algum comportamento inesperado, por exemplo, a mesma acção pode ser executada mais uma vez. Deseja continuar mesmo assim? Error loading page: %1 Erro ao carregar página: %1 When connecting to: %1. Ao efectuar ligação a: %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org Verifique o endereço por erros como <b>ww</b>.arora-browser.org em vez de <b>www</b>.arora-browser.org If the address is correct, try checking the network connection. Se o endereço está correcto, tente verificar a ligação à rede. If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Se o seu computador ou rede estão protegidos por uma firewall ou proxy, certifique-se que o navegador tem permissão de aceder à rede. WebView Open in New &Window Abrir numa &Janela Nova Open in New &Tab Abrir num &Separador Novo Save Lin&k Guardar Li&gação &Bookmark This Link Colocar Esta &Ligação nos Favoritos &Copy Link Location &Copiar Localização da Ligação Open Image in New &Window Abrir Imagem numa &Janela Nova Open Image in New &Tab Abrir Imagem num &Separador Novo &Save Image &Guardar Imagem &Copy Image &Copiar Imagem C&opy Image Location C&opiar a Localização da Imagem Block Image Bloquear Imagem Search with... Pesquisar com... Add to the toolbar search Adicionar à barra de ferramentas da pesquisa Method not supported Método não suportado %1 method is not supported. método %1 não é suportado. Search engine Motor de Busca Choose the desired search engine Escolher o motor de busca desejado Engine name Nome do motor Type in a name for the engine Escreva um nome para o motor Loading... A carregar... WebViewSearch Not Found Não Encontrado arora-0.11.0/src/locale/ru_RU.ts000066400000000000000000002615411145000221100163220ustar00rootroot00000000000000 AboutDialog About О программе Authors Авторы License Лицензия Lightweight WebKit-based web browser Легкий браузер на WebKit <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> Close Закрыть About %1 О %1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Права принадлежат © 2007-2009 Бенжамину С. Мейеру &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> WebKit version: %1 Версия WebKit: %1 AcceptLanguage Languages Языки Languages: in order of preference: Языки: в порядке предпочтения: Move &Up &Вверх Move &Down &Вниз &Remove &Удалить Add... Добавить... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 AdBlockDialog Add Custom Rule Learn more about writing rules... Update Subscription Browse Subscriptions... Remove Subscription AdBlock Configuration Enable AdBlock Action AdBlockManager Custom Rules Собственные правила AdBlockModel Rule Правило AdBlockSchemeAccessHandler Subscribe? Подписаться? Subscribe to this AdBlock subscription? %1 Согласиться на подписку AdBlock? %1 AddBookmarkDialog Add Bookmark Добавить закладку Type a name for the bookmark, and choose where to keep it. Введите имя для закладки и выберите, где сохранить её. Url Адрес Title Название Add Folder Добавить папку AutoFillDialog Form Passwords Remove Удалить Remove All Удалить всё AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. <b>Сохранить пароль?</b><br> Чтобы увидеть сохранённые пароли и удалить их, откройте панель Автозаполнение в опциях. Never for this site Никогда для этого сайта Not now Не сейчас AutoFillModel WebSite Веб-сайт User Name Имя пользователя BookmarksDialog Open Открыть Delete Удалить New Folder Новая папка Bookmarks Закладки &Remove &Удалить Add Folder Добавить папку Open in New Tab Открыть в новой вкладке Edit Name Изменить имя Edit Address Изменить адрес BookmarksManager Error when loading bookmarks on line %1, column %2: %3 Ошибка при загрузке закладок на строке %1, столбце %2: %3 Toolbar Bookmarks Закладки панели инструментов Menu Меню Open File Открыть файл XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) Imported %1 Импортировано %1 Save File Сохранить файл %1 Bookmarks.xbel %1 Bookmarks.xbel Export error Ошибка экспорта error saving bookmarks ошибка сохранения закладок Remove Bookmark Удалить закладку Insert Bookmark Вставить закладку Name Change Изменение имени Address Change Изменение адреса Bookmarks Bar Панель закладок Bookmarks Menu Меню закладок XBEL (*.xbel *.xml *.html) XBEL (*.xbel *.xml *.html) Error when loading html bookmarks: %1 Ошибка при загрузке HTML закладки: %1 XBEL XBEL Name Change Undo bookmark title change Отменить изменение имени Address Change Undo bookmark url change Изменение адреса XBEL bookmarks Закладки XBEL HTML Netscape bookmarks htmlToXBel tool required Требуется функция htmlToXBel htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. Функция htmlToXBel, которая включена в Arora и нужна для импорта закладок на HTML, не установлена или не доступна в путях поиска. Loading Bookmark Загрузка закладки Error when loading HTML bookmarks: %1 Ошибка при загрузке HTML закладок: %1 BookmarksMenu Open in Tabs Открыть во вкладках BookmarksModel Title Название Address Адрес BookmarksToolBar Bookmark Закладка Open Открыть Open in New &Tab Открыть в новой &вкладке Remove Удалить Add Bookmark... Добавить закладку... Add Folder... Добавить папку... Bookmarks Закладки BrowserApplication There are %1 windows and %2 tabs open Do you want to quit anyway? Открыто %1 окон и %2 вкладок Всё равно выйти? Restore failed Восстановление не удалось The saved session will not being restored because last time it was restored Arora crashed. Сохраненная сессия не будет восстановлена потому что во время последнего восстановления Arora упал. (Change: %1 %2) (Change: %1 %2) The saved session will not be restored because Arora crashed while trying to restore this session. Сохранённая сессия не будет восстановлена, так как Arora упала при попытке восстановления этой сессии. Arora crashed while trying to restore this session. Should I try again? Произошла ошибка при восстановлении сеанса. Попытаться снова? BrowserMainWindow &File &Файл &New Window &Новое окно &Open File... &Открыть файл... Open &Location... Открыть &адрес... &Save As... &Сохранить как... &Import Bookmarks... &Импортировать закладки... &Export Bookmarks... &Экспортировать закладки... P&rint Preview... &Предпросмотр... &Print... Пе&чать... Private &Browsing... Режим &конфиденциальности... &Quit В&ыйти &Edit &Правка &Undo &Отменить &Redo &Повторить Cu&t &Вырезать &Copy &Копировать &Paste В&ставить &Find &Найти Ctrl+, Ctrl+, &View &Вид Shift+Ctrl+B Shift+Ctrl+B Ctrl+| Ctrl+| Ctrl+/ Ctrl+/ &Stop &Остановить Page S&ource Исходный &код страницы Ctrl+Alt+U Ctrl+Alt+U &Full Screen Во весь &экран Hi&story &Журнал Back Назад Forward Вперёд Home Домашняя страница Restore Last Session Восстановить предыдущий сеанс &Bookmarks &Закладки Manage Bookmarks... Управление закладками... Add Bookmark... Добавить закладку... &Window &Окно &Tools &Инструменты Web &Search &Поиск в Интернете Ctrl+K Web Search Поиск в Интернете Ctrl+K Enable Web &Inspector Включить Web &Inspector &Help &Справка About &Qt О &Qt About &Arora О программе &Arora Navigation Навигация Show Status Bar Показать строку состояния Hide Status Bar Скрыть строку состояния Show Toolbar Показать панель инструментов Hide Toolbar Скрыть панель инструментов Arora Arora %1 - Arora Page title and Browser name Заголовок страницы и имя браузера %1 - Arora Open Web Resource Открыть веб-ресурс Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Веб-ресурсы (*.html *.htm *.svg *.png *.gif *.svgz);;Все файлы (*.*) Print Document Печатать документ Are you sure you want to turn on private browsing? Включить режим конфиденциальности? Are you sure you want to close the window? There are %1 tabs open Закрыть окно? Открыто %1 вкладок Page Source of %1 Исходный код страницы %1 Web Inspector Web Inspector The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Web Inspector будет правильно работать только для страниц, открытых после его включения. Обновить все страницы? Stop loading the current page Остановить загрузку текущей страницы Reload the current page Перезагрузить текущую страницу Downloads Загрузки Alt+Ctrl+L Download Manager Alt+Ctrl+L &Clear Private Data &Очистить личные данные Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete Find &Next Найти &Следующее Find P&revious Найти &Предыдущее Prefe&rences &Настройки &Reload Page Об&новить Make Text &Bigger &Увеличенный Размер Текста Make Text &Normal &Нормальный Размер Текста Make Text &Smaller Маленький Размер Текста Show Bookmarks Bar Показать Панель Закладок Hide Bookmarks Bar Скрыть Панель Закладок <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Когда включен режим приватного браузинга, некоторые действия угрожающие безопасности будут недоступны:<ul><li> Вебстраницы не добавляются в журнал.</li><li> Записи автоматически удаляются из списка закачек.</li><li> Новые cookie не сораняются, старые cockie не доступны.</li><li> Иконки сайтов не сохраняются, сессии не сохраняются.</li><li> Поисковые запросы не добавляются во всплывающее окно при новом запросе.</li></ul>Пока вы не закроете окно вы не сможете воспользоваться кнопками Вперед и Назад для перехода на ранее открытые страницы. Find Nex&t Продолжить поис&к Prefere&nces... Настр&ойки... Show Menu Bar Показать меню Show &Network Monitor Показать &Сетевой монитор Switch application language Изменить язык приложения Close Window Закрыть окно Zoom &In &Увеличить Zoom &Normal Нормальный &размер Zoom &Out У&меньшить Zoom &Text Only Масштабировать только &текст Show All Bookmarks... Показать все закладки... Add Folder... Добавить папку... About &%1 About Browser О &%1 <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Когда включен режим приватного браузинга, некоторые действия угрожающие безопасности будут недоступны:<ul><li> Вебстраницы не добавляются в журнал.</li><li> Записи автоматически удаляются из списка закачек.</li><li> Новые cookie не сораняются, старые cockie не доступны.</li><li> Иконки сайтов не сохраняются, сессии не сохраняются.</li><li> Поисковые запросы не добавляются во всплывающее окно при новом запросе.</li></ul>Пока вы не закроете окно вы не сможете воспользоваться кнопками Вперед и Назад для перехода на ранее открытые страницы. Ctrl+Y Download Manager Ctrl+Y Default По умолчанию Text Encoding Кодировка текста Select &All Выделить &всё Alt+Ctrl+B Alt+Ctrl+B Options... Опции... Configure Search Engines... Настроить поисковые системы... When private browsing is turned on, some actions concerning your privacy will be disabled: Когда активирован конфиденциальный просмотр, некоторые действия, связанные с вашей секретностью, не будут выполняться: Webpages are not added to the history. Веб-страницы не будут добавляться в журнал. Items are automatically removed from the Downloads window. Элементы списка загрузок будут автоматически удалены из него. New cookies are not stored, current cookies can't be accessed. Новые cookies не будут храниться, текущие окажутся недоступными. Site icons won't be stored. Значки сайтов храниться не будут. Session won't be saved. Сеанс не будет сохранён. Searches are not added to the pop-up menu in the search box. Поисковые запросы не добавляются во всплывающее окно при новом запросе. No new network cache is written to disk. Новый сетевой кэш не будет записан на диск. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Пока вы не закрыли окно, вы не сможете воспользоваться кнопками Назад и Вперёд для возврата на открытые веб-страницы. Private Browsing Конфиденциальный просмотр &Ad Block... &Ad Block... ClearButton Clear Очистить ClearPrivateData Clear Private Data Очистить личные данные Clear the following items: Очистить следующее: &Browsing History Журнал &посещений &Download History Журнал &загрузок &Search History Историю &поиска &Cookies &Cookies C&ache &Кэш Website &Icons З&начки веб-сайтов Clear &Private Data Очистить &личные данные &Cancel &Отмена C&ached Web Pages Веб-страницы, сохранённые в &кэше ClickToFlash Load Загрузить Load All Загрузить все Add %1 to Whitelist Добавить %1 в список разрешённых сайтов Remove from Whitelist Удалить из списка разрешённых сайтов Settings Параметры Load Flash Загрузить Flash ClickToFlashSettings Whitelist sites Список разрешённых сайтов CookieExceptionsModel Website Веб-сайт Status Статус Allow Разрешить Block Блокировать Allow For Session Разрешить на время сеанса Rule Правило CookieModel Website Веб-сайт Name Имя Path Путь Secure Безопасность Expires Истекает Contents Содержимое true истина false ложь Session cookie Cookie сеанса CookiesDialog Cookies Cookies &Remove &Удалить Remove &All Cookies Удалить &все cookies Add &Rule Добавить &правило CookiesExceptionsDialog Cookie Exceptions Исключения cookies New Exception Новое исключение Domain: Домен: Block Блокировать Allow For Session Разрешить на время сеанса Allow Разрешить Exceptions Исключения &Remove &Удалить Remove &All Удалить &все DownloadDialog Downloads Загрузки Clean up Очистить 0 Items 0 элементов &OK &OK DownloadItem Save File Сохранить файл Download canceled: %1 Загрузка отменена: %1 Error opening save file: %1 Ошибка при открытии сохранённого файла: %1 Error saving: %1 Ошибка при сохранении: %1 Network Error: %1 Ошибка сети: %1 seconds секунд %1 of %2 (%3/sec) %4 %1 из %2 (%3/сек) %4 ? ? %1 of %2 - Stopped %1 of %2 - Остановлено bytes байт kB кБ MB МБ Form Форма Ico Ico Filename Имя файла Try Again Повторить попытку Stop Остановить Open Открыть - %n minutes remaining - %n минут осталось - %n seconds remaining - %n секунд осталось Error opening output file: %1 Ошибка при открытии сохранённого файла: %1 %1 of %2 (%3/sec) - %4 %1 из %2 (%3/сек) - %4 Download directory (%1) couldn't be created. Директория загрузки (%1) не может быть создана. DownloadManager %n Download(s) %n Закачка %n Закачки %n Закачек There are %1 downloads in progress Do you want to quit anyway? %1 закачек ещё не окончено. Всё равно выйти? %n minutes remaining %n минута осталась %n минуты осталось %n минут осталось %n seconds remaining %n секунда осталась %n секунды осталось %n секунд осталось bytes байт kB кБ MB МБ GB ГБ FileAccessReply No Error Без ошибок Error opening: %1: No such file or directory Ошибка при открытии %1: нет такого файла или папки Unable to read %1 Невозможно прочесть %1 Contents of %1 Содержимое %1 %1 KB %1 КБ HistoryDialog Open Открыть Copy Копировать Delete Удалить History Журнал &Remove &Удалить Remove &All Удалить &все HistoryMenu Show All History Показать весь журнал Clear History Очистить журнал Clear History... Очистить журнал... Do you want to clear the history? Хотите очистить журнал? HistoryModel Title Название Address Адрес HistoryTreeModel Earlier Today Ранее сегодня %n item(s) %n запись %n записи %n записей JavaScriptAroraObject Welcome to Arora! Добро пожаловать в Arora! Arora Start Запуск Arora Search! Искать! Search results provided by Результаты поика предоставлены About Arora О Arora LanguageManager Choose language Выбрать язык <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Вы можеть использовать язык браузера, отличный<br>от языка операционной системы.</p><p>Выберить подходящий язык</p> No translation files are installed. Языковые файлы не установлены. No translation files are installed at %1. Языковые файлы не установлены. в %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Введите имя пользователя и пароль для "%1" на %2</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Подключиться к прокси "%1", используя:</qt> SSL Errors: %1 %2 Do you want to ignore these errors? Ошибки SSL: %1 %2 Желаете ли вы игнорировать эти ошибки? Do you want to accept all these certificates? Вы желаете принять все эти сертификаты? - SSL Errors - Ошибки SSL <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>Ошибки SSL:<br/><br/>для: <tt>%1</tt><ul><li>%2</li></ul> Игнорнировать эти ошибки?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Сертификаты:<br/>%1<br/>Принять эти сертификаты?</qt> Issuer: %1 Выдал: %1 Not valid before: %1 Не действует до: %1 Valid until: %1 Действует до: %1 Alternate Names: Другие имена: NetworkMonitor Name Имя Value Значение NetworkMonitorDialog Network Monitor Сетевой монитор Network Requests Сетевые запросы Request Headers Заголовки запроса Response Headers Заголовки ответа &Remove &Удалить Remove &All Requests Удалите &все запросы OpenSearchDialog Open File Открыть файл OpenSearch OpenSearch Error Ошибка %1 is not a valid OpenSearch 1.1 description or is already on your list. %1 не является допустимым описанием OpenSearch 1.1 или уже есть в списке. You must have at least one search engine in here. Здесь должна быть хотя бы одна поисковая система. OpenSearch Manager Управление OpenSearch &Restore Defaults &Восстановить настройки по умолчанию &Delete &Удалить &Add &Добавить &Close &Закрыть OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Описание:</strong> %1 <strong>Provides contextual suggestions</strong> <strong>Предоставляет контекстные предположения</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Name Имя Keywords Ключевые слова OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 Добавить следующую поисковую систему в список?<br /><br />Название: %1<br />Ищет с помощью: %2 PasswordDialog Authentication Required Требуется аутентификация DUMMY ICON DUMMY ICON INTRO TEXT DUMMY INTRO TEXT DUMMY Username: Имя пользователя: Password: Пароль: PlainTextEditSearch Not Found Не найдено ProxyDialog Proxy Authentication Аутентификация прокси ICON ICON Connect to proxy Подключиться к прокси Username: Имя пользователя: Password: Пароль: QObject The file is not an XBEL version 1.0 file. Файл не является файлом XBEL версии 1.0. Unknown title Неизвестный заголовок The file is not an OpenSearch 1.1 file. Файл не является файлом OpenSearch 1.1. RequestModel Redirect: %1 Перенаправить: %1 Method Метод Address Адрес Response Ответ Length Длина Content Type Формат содержимого Info Информация SearchBanner Form Form TextLabel TextLabel < < > > Done Готово Highlight All Подсветить всё SearchLineEdit Search Поиск Settings Settings Параметры General Общие Home: Домашняя страница: Set to current page Использовать текущую страницу Remove history items: Удалять элементы журнала: After one day Через день After one week Через неделю After two weeks Через две недели After one month Через месяц After one year Через год Manually Вручную Open links from applications: Открывать ссылки из приложений: In a tab in the current window Во вкладке в текущем окне In a new window В новом окне Appearance Внешний вид Standard font: Стандартный шрифт: Times 16 Times 16 Select... Выбрать... Fixed-width font: Моноширинный шрифт: Courier 13 Courier 13 Privacy Конфиденциальность Web Content Веб-содержимое Enable Plugins Включить подключаемые модули Enable Javascript Включить JavaScript Cookies Cookies Accept Cookies: Принимать cookies: Always Всегда Never Никогда Only from sites you navigate to Только с посещённых сайтов Exceptions... Исключения... Keep until: Сохранять до: They expire Истечения срока I exit the application Выхода из приложения At most 90 days Максимум 90 дней Cookies... Cookies... Proxy Прокси Enable proxy Включить прокси Type: Тип: Socks5 Socks5 Http Http Host: Сервер: Port: Порт: User Name: Имя пользователя: Password: Пароль: Advanced Дополнительно Style Sheet: Таблица стилей: Downloads Загрузки Ask for a destination each time Каждый раз спрашивать папку назначения Use this destination: Использовать эту папку назначения: On startup: При запуске: Show my home page Показывать мою домашнюю страницу Show a blank page Показывать чистую страницу Restore windows and tabs from last time Восстанавливать окна и вкладки прошлой сессии On application exit При выходе Enable Images Включить картинки Tabs Вкладки Select tabs and windows as they are created Активировать вкладки и окна при их создании Confirm when closing multiple tabs Подтверждать закрытие нескольких вкладок Preferences Настройки Home Page: Домашняя страница: View Images Посмотреть изображения Keep Cookies Until: Хранить cookies до: Show only one close button instead of one for each tab Не показывать кнопку закрытия на каждой вкладке Use proxy server Использовать прокси-сервер Host name: Имя хоста: Preferred languages for viewing webpages in: Предпочитаемые языки для просмотра веб-страниц: Block Popup Windows Блокировать всплывающие окна Opening links Открытие ссылки Links that want to open in a new window: Ссылки, которые хотят открыть в новом окне: In a new selected tab in the current window В новой выбранной вкладке текущего окна In a new tab in the current window В новой вкладке текущего окна In the current tab В текущей вкладке Http (Secure) Http (Защищённый) Http (Transparent) Http (Прозрачный) Use ClickToFlash on flash plugins Использовать ClickToFlash для flash плагинов Filter Tracking Cookies Фильтровать отслеживающие Cookie Confirm when closing multiple tabs or windows Подтверждать закрытие нескольких вкладок или окон Quit the application when last tab is closed Выйти из программы при закрытии последней вкладки Enable network cache Включить сетевой кэш Maximum Size: Максимальный размер: MB МБ Use the default search engine as fallback when the URL given by the user is invalid Отправлять запрос в поисковую систему по умолчанию, когда набранная пользователем ссылка неверна Choose Directory... Выбрать директорию... A cookie session ends: Сеанс cookie заканчивается: When I exit the application При выходе из приложения 1 day 1 день 2 days 2 дня 3 days 3 дня 7 days 7 дней 30 days 30 дней AutoFill Автозаполнение AutoFill web forms: Автозаполнение веб-форм: User names and passwords Имена пользователей и пароли Edit... Изменить... Browse... Обзор... SettingsDialog Restart required Требуется перезапустить браузер The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. Параметры сетевого кэша были изменены. Чтобы они вступили в силу, нужно перезапустить браузер. Choose Directory Выбрать директорию Choose CSS File Выбрать CSS файл SourceViewer Loading... Загрузка... &Edit &Правка &Find &Найти &View &Вид &Wrap lines Перносить &строки Source of Page Исходный код страницы Source of Page %1 Источник страницы %1 TabBar New &Tab Новая &вкладка Duplicate Tab Копировать вкладку &Close Tab &Закрыть вкладку Close &Other Tabs Закрыть &другие вкладки Reload Tab Обновить вкладку Reload All Tabs Обновить все вкладки Show Tab Bar Показать Панель Вкладок Hide Tab Bar Скрыть Панель Вкладок TabWidget New &Tab Новая &вкладка &Close Tab &Закрыть вкладку Show Next Tab Показать следующую вкладку Show Previous Tab Показать предыдущую вкладку Recently Closed Tabs Недавно закрытые вкладки (Untitled) (Безымянный) Do you really want to close this page? Действительно закрыть эту страницу? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Вы изменили эту страницу, и вы потеряете изменения при её закрытии. Действительно закрыть эту страницу? Ctrl-] Ctrl-] Ctrl-[ Ctrl-[ Untitled Безымянный Saved Tabs Сохранённые вкладки Loading... Загрузка... Loading %1% (%2 %3)... Загрузка %1% (%2 %3)... Finished loading Загрузка окончена Failed to load Ошибка при загрузке Bookmark All Tabs Закладки для всех вкладок ToolbarSearch Google Google No Recent Searches Нет последних слов для поиска Recent Searches Последние слова для поиска Clear Recent Searches Очистить последние слова для поиска Suggestions Предположения Add '%1' Добавить '%1' Configure Search Engines... Настроить поисковые системы... WebPage Error loading page: %1 Ошибка при загрузке страницы: %1 When connecting to: %1. При подключении к: %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org Проверьте адрес на ошибки вроде <b>ww</b>.arora-browser.org вместо <b>www</b>.arora-browser.org If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Если компьютер или сеть защищены сетевым экраном или прокси-сервером, проверьте, разрешён ли браузеру доступ к сети. If the address is correct, try checking the network connection. Если адрес введён правильно, проверьте сетевое соединение. Resending POST request Повторная отправка запроса POST In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? Для того, чтобы отобразить этот сайт, запрос вместе со всеми данными должен быть послан ещё раз, что может привести к неожиданному поведению сайта, например одно действое может быть выполненно дважды. Всё равно продолжить? WebView Open in New &Window Открыть в новом &окне Open in New &Tab Открыть в новой &вкладке Save Lin&k Сохранить &ссылку &Bookmark This Link Добавить ссылку в &закладки &Copy Link Location &Копировать адрес ссылки Open Image in New &Window Открыть изображение в новом &окне Open Image in New &Tab Открыть изображение в новой &вкладке &Save Image &Сохранить изображение &Copy Image &Копировать изображение C&opy Image Location Копировать &адрес изображения Loading... Загрузка... Search with... Искать в... Add to the toolbar search Добавит в поисковую панель Method not supported Метод не поддерживается %1 method is not supported. %1 метод не поддерживается. Search engine Поисковая система Choose the desired search engine Выберите понравившуюся поисковую систему Engine name Имя поисковой системы Type in a name for the engine Введите имя поисковой системы Block Image Блоировать изображение WebViewSearch Not Found Не найдено arora-0.11.0/src/locale/sk_SK.ts000066400000000000000000002217661145000221100163050ustar00rootroot00000000000000 AboutDialog About O prehliadači Authors Autori License Licencia Lightweight WebKit-based web browser Jednoduchý webový prehliadač založený na WebKite <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> Close Zavrieť <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style="font-size:9pt;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> About %1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> WebKit version: %1 AcceptLanguage Languages Languages: in order of preference: Move &Up Move &Down &Remove &Vymazať Add... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 AdBlockDialog Add Custom Rule Learn more about writing rules... Update Subscription Browse Subscriptions... Remove Subscription AdBlock Configuration Enable AdBlock Action AdBlockManager Custom Rules AdBlockModel Rule Pravidlo AdBlockSchemeAccessHandler Subscribe? Subscribe to this AdBlock subscription? %1 AddBookmarkDialog Add Bookmark Pridať záložku Type a name for the bookmark, and choose where to keep it. Napíšte názov záložky a vyberte, kam ju chcete uložiť. Url Title Add Folder Pridať zložku AutoFillDialog Form Passwords Remove Remove All AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. Never for this site Not now AutoFillModel WebSite User Name BookmarksDialog Open Otvoriť Delete Vymazať New Folder Nová zložka Bookmarks Záložky &Remove &Vymazať Add Folder Pridať zložku Open in New Tab Otvoriť v novom paneli Edit Name Edit Address BookmarksManager Error when loading bookmarks on line %1, column %2: %3 Chyba pri načítavaní založiek na riadku %1, stĺpci %2: %3 Toolbar Bookmarks Nástrojová lišta záložiek Menu Menu Open File Otvoriť súbor XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) Imported %1 Importované %1 Save File Uložiť súbor %1 Bookmarks.xbel %1 Bookmarks.xbel Export error Chyba pri exporte error saving bookmarks chyba pri ukladaní záložiek Remove Bookmark Vymazať záložku Insert Bookmark Vložiť záložku Name Change Zmena názvu Address Change Zmena adresy Bookmarks Bar Bookmarks Menu Name Change Undo bookmark title change Zmena názvu Address Change Undo bookmark url change Zmena adresy XBEL bookmarks HTML Netscape bookmarks htmlToXBel tool required htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. Loading Bookmark Error when loading HTML bookmarks: %1 BookmarksMenu Open in Tabs BookmarksModel Title Titulok Address Adresa BookmarksToolBar Bookmark Záložky Open Otvoriť Open in New &Tab O&tvoriť v novom paneli Remove Add Bookmark... Pridať záložku ... Add Folder... Bookmarks Záložky BrowserApplication There are %1 windows and %2 tabs open Do you want to quit anyway? Máte otvorených %1 okien a %2 panelov Chcete ich všetky uzavrieť? Restore failed Obnovenie zlyhalo The saved session will not be restored because Arora crashed while trying to restore this session. Uložená relácia nebude obnovená, pretože Arora spadla pri pokuse o jej obnovenie. (Change: %1 %2) (Zmena: %1 %2) Arora crashed while trying to restore this session. Should I try again? BrowserMainWindow &File &Súbor &New Window &Nové okno &Open File... Otvoriť &soubor... Open &Location... &Otvoriť adresu ... &Save As... &Uložiť ako... &Import Bookmarks... &Importovať záložky ... &Export Bookmarks... &Exportovať záložky ... P&rint Preview... Ná&hľad tlače ... &Print... &Tlač ... Private &Browsing... Súkro&mné prehliadanie ... &Quit U&končiť &Edit Úpr&avy &Undo &Späť &Redo Zn&ovu Cu&t &Vystrihnúť &Copy &Kopírovať &Paste V&ložiť &Find Ná&jsť Ctrl+, Ctrl+, &View &Zobraziť Shift+Ctrl+B Shift+Ctrl+B Ctrl+| Ctrl+| Ctrl+/ Ctrl+/ &Stop Z&astaviť Page S&ource &Zdrojový kód stránky Ctrl+Alt+U Ctrl+Alt+U &Full Screen &Celá obrazovka Hi&story &História Back Späť Forward Vpred Home Domov Restore Last Session Obnoviť poslednú reláciu &Bookmarks Zál&ožky Manage Bookmarks... Spravovať záložky ... Add Bookmark... Pridať záložku ... &Window &Okno &Tools &Nástroje Web &Search &Hľadanie na webe Ctrl+K Web Search Ctrl+K Enable Web &Inspector Povoliť Web &Inspector &Help Nápo&veda About &Qt O &Qt About &Arora O &Arore Navigation Navigácia Show Status Bar Zobraziť stavový riadok Hide Status Bar Skryť stavový riadok Show Toolbar Zobraziť panel nástrojov Hide Toolbar Skryť panel nástrojov Arora Arora %1 - Arora Page title and Browser name %1 - Arora Open Web Resource Otvoriť webovú stránku Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Webové dokumenty (*.html *.htm *.svg *.png *.gif *.svgz);;Všetky súbory (*.*) Print Document Vytlačiť dokument Are you sure you want to turn on private browsing? Naozaj chcete zapnúť súkromné prehliadanie? Are you sure you want to close the window? There are %1 tabs open Naozaj chcete zavrieť okno? Je v nom otvorených %1 panelov Web Inspector Webový inšpektor The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Webový inšpektor bude fungovať iba pre stránky načítané po jeho povoleni. Chcete znovu načítať všetky stránky? Stop loading the current page Zastaví načítanie aktuálnej stránky Reload the current page Znovu načíta aktuálnu stránku Downloads Preberanie Alt+Ctrl+L Download Manager Alt+Ctrl+L &Clear Private Data Zmazaž &súkromné dáta Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Ak je zapnuté súkromné prehliadanie, niektoré akcie narušujúce tvoje súkromie budú zakázané:<ul><li> Stránky nie sú pridávané do histórie.</li><li> Položky sú automaticky vymazané z okna preberania.</li><li> Nové cookies nie sú uložené, aktuálne nebudú prístupné.</li><li> Ikony stránek nie sú ukládané, podobne ako relácie.</li><li> Hľadané výrazy nie sú pridávané do menu v políčku hľadania.</li></ul>Pokiaľ nie je okno zavrené, je možné klikať Späť a Vpred pre vrátenie na skôr otvorené stránky. Show Bookmarks Bar Zobraziť panel záložiek Hide Bookmarks Bar Skryť panel záložiek Find P&revious Nájsť &predošlé &Reload Page O&bnoviť stránku Make Text &Bigger Z&väčšiť text Make Text &Normal &Normálna veľkosť textu Make Text &Smaller Z&menšiť text Find Nex&t Náj&sť dalšie Prefere&nces... Nasta&venia ... Show Menu Bar Ukázať menu Switch application language Vybrať jazyk Close Window Zoom &In Zoom &Normal Zoom &Out Zoom &Text Only Show All Bookmarks... Add Folder... About &%1 About Browser Ctrl+Y Download Manager Default Prednastavený Text Encoding Select &All Alt+Ctrl+B Options... Configure Search Engines... &Ad Block... When private browsing is turned on, some actions concerning your privacy will be disabled: Webpages are not added to the history. Items are automatically removed from the Downloads window. New cookies are not stored, current cookies can't be accessed. Site icons won't be stored. Session won't be saved. Searches are not added to the pop-up menu in the search box. No new network cache is written to disk. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Private Browsing ClearButton Clear Vyčistiť ClearPrivateData Clear Private Data Vymazať súkromné dáta Clear the following items: Vymazať tieto položky: &Browsing History &História prehliadania &Download History História &preberania &Search History História hľa&dania &Cookies &Cookies Website &Icons Ikony stránok Clear &Private Data &Vyčistiť súkromné dáta &Cancel &Zrušiť C&ached Web Pages Stránky v &cache ClickToFlash Load Load All Add %1 to Whitelist Remove from Whitelist Settings Load Flash ClickToFlashSettings Whitelist sites CookieExceptionsModel Website Adresa Allow Povoliť Block Blokovať Allow For Session Povoliť pre reláciu Rule Pravidlo CookieModel Website Adresa Name Názov Path Cesta Secure Zabezpečené Expires Vyprší Contents Obsah true áno false nie Session cookie CookiesDialog Cookies Cookies &Remove &Vymazať Remove &All Cookies Vymazať &všetky Add &Rule CookiesExceptionsDialog Cookie Exceptions Výnimky pre cookies New Exception Nová výnimka Domain: Doména: Block Blokovať Allow For Session Povoliť pre reláciu Allow Povoliť Exceptions Výnimky &Remove &Vymazať Remove &All Vymazať &všetky DownloadDialog Downloads Preberanie Clean up Vyčistiť 0 Items 0 položiek &OK &OK DownloadItem Form Form Ico Ico Filename Názov súboru Try Again Skúsiť znova Stop Zastaviť Open Otvoriť Save File Uložiť súbor Download canceled: %1 Preberanie zrušené: %1 Error saving: %1 Chyba pri ukladaní: %1 Network Error: %1 Chyba siete: %1 seconds sekúnd %1 of %2 (%3/sec) %4 %1 z %2 (%3/s) %4 ? ? %1 of %2 - Stopped %1 z %2 - Zastavené bytes bajtov kB KiB MB MiB - %n minutes remaining - %n minúta ostáva - %n minúty ostávajú - %n minút ostáva - %n seconds remaining - %n sekunda ostáva - %n sekundy ostávajú - %n sekúnd ostáva Error opening output file: %1 Chyba pri otváraní výstupného súboru: %1 %1 of %2 (%3/sec) - %4 Download directory (%1) couldn't be created. DownloadManager %n Download(s) %n preberanie %n preberania %n preberaní There are %1 downloads in progress Do you want to quit anyway? %n minutes remaining %n seconds remaining bytes bajtov kB KiB MB MiB GB FileAccessReply No Error Error opening: %1: No such file or directory Unable to read %1 Contents of %1 %1 KB HistoryDialog Open Otvoriť Copy Kopírovať Delete Vymazať History História &Remove &Vymazať Remove &All Vymazať &všetky HistoryMenu Show All History Zobraziť celú históriu Clear History Vymazať históriu Clear History... Vymazať históriu ... Do you want to clear the history? Chcete vymazať históriu? HistoryModel Title Názov Address Adresa HistoryTreeModel Earlier Today Dnes %n item(s) %n položka %n položky %n položiek JavaScriptAroraObject Welcome to Arora! Arora Start Search! Search results provided by About Arora LanguageManager Default Prednastavený Choose language Vybrať jazyk <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Aroru je možné používať v inom jazyku ako v tom,<br>ktorý je prednastavený v operačnom systéme.</p><p>Vybete si jazyk, ktorý má byť použitý</p> No translation files are installed at %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Zadajte užívateľské meno a heslo pre "%1" na %2</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Pripojiť sa k proxy "%1" použitím:</qt> SSL Errors: %1 %2 Do you want to ignore these errors? Chyby SSL: %1 %2 Chcete ignorovať tieto chyby? Do you want to accept all these certificates? Chcete prijať všetky tieto certifikáty? - SSL Errors <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> Issuer: %1 Not valid before: %1 Valid until: %1 Alternate Names: NetworkMonitor Name Názov NetworkMonitorDialog &Remove &Vymazať OpenSearchDialog Open File Otvoriť súbor OpenSearch Error %1 is not a valid OpenSearch 1.1 description or is already on your list. You must have at least one search engine in here. OpenSearch Manager &Restore Defaults &Delete &Add &Close OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Provides contextual suggestions</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Name Názov Keywords OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 PasswordDialog Authentication Required Vyžadované prihlásenie DUMMY ICON DUMMY ICON INTRO TEXT DUMMY INTRO TEXT DUMMY Username: Užívateľské meno: Password: Heslo: PlainTextEditSearch Not Found Neexistuje ProxyDialog Proxy Authentication Prihlásenie k proxy ICON ICON Connect to proxy Pripojiť k proxy Username: Užívateľské meno: Password: Heslo: QObject The file is not an XBEL version 1.0 file. Súbor nie je XBEL verzie 1.0. Unknown title Neznámý titulok The file is not an OpenSearch 1.1 file. RequestModel Address Adresa SearchBanner Form Form TextLabel TextLabel < < > > Done Hotovo Highlight All SearchLineEdit Search Hľadať Settings General Hlavné Set to current page Nastav na aktuálnu stránku Remove history items: Odstrániť položky histórie: After one day Po jednom dni After one week Po jednom týždni After two weeks Po dvoch týždňoch After one month Po mesiaci After one year Po roku Manually Ručne Open links from applications: Otvoriť odkazy z aplikácií: In a tab in the current window V paneli v aktuálnom okne In a new window V novom okne Appearance Vzhľad Standard font: Štandardné písmo: Times 16 Times 16 Select... Vybrať ... Fixed-width font: Písmo s pevnou šírkou: Courier 13 Courier 13 Privacy Súkromie Web Content Obsah webu Enable Plugins Povoliť plug-iny Enable Javascript Povoliť JavaScript Cookies Cookies Accept Cookies: Prijímať cookies: Always Vždy Never Nikdy Only from sites you navigate to Iba z navštívených stránok Exceptions... Výnimky ... They expire Vyprší I exit the application Ukončenie aplikácie At most 90 days Maximálne 90 dní Cookies... Cookies ... Proxy Proxy Type: Typ: Socks5 Socks5 Http Http Port: Port: User Name: Uživatelské meno: Password: Heslo: Advanced Rozšírené Style Sheet: CSS štýl: Downloads Preberanie Ask for a destination each time Vždy sa pýtať na umiestnenie preberania Use this destination: Použiť toto umiestnenie: On application exit Pri ukončení aplikácie Tabs Panely Select tabs and windows as they are created Prepínať na okná a panely keď sú vytvorené Confirm when closing multiple tabs Vyžadovať potvrdenie pri zatváraní viacerých panelov On startup: Po spustení: Show my home page Zobraziť moju domovskú stránku Show a blank page Zobraziť prázdnu stránku Restore windows and tabs from last time Obnoviť okná a panely z poslednej relácie Preferences Nastavenia Home Page: Domovská stránka: View Images Zobraziť obrázky Keep Cookies Until: Ponechat cookies pokiaľ: Use proxy server Použiť proxy server Host name: Meno hostiteľa: Show only one close button instead of one for each tab Preferred languages for viewing webpages in: Block Popup Windows Opening links Links that want to open in a new window: In a new selected tab in the current window In a new tab in the current window In the current tab Http (Secure) Http (Transparent) Use ClickToFlash on flash plugins Filter Tracking Cookies Confirm when closing multiple tabs or windows Quit the application when last tab is closed Enable network cache Maximum Size: MB Use the default search engine as fallback when the URL given by the user is invalid Choose Directory... A cookie session ends: When I exit the application 1 day 2 days 3 days 7 days 30 days AutoFill AutoFill web forms: User names and passwords Edit... Browse... SettingsDialog Restart required The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. Choose Directory Choose CSS File SourceViewer Loading... Nahrávam ... &Edit Úpr&avy &Find Ná&jsť Source of Page Zdrojový súbor &View &Zobraziť Source of Page %1 TabBar New &Tab &Nový panel Duplicate Tab Duplikovať panel &Close Tab &Zavrieť panel Close &Other Tabs Zavrieť o&statné panely Reload Tab &Obnoviť panel Reload All Tabs O&bnoviť všetky panely Show Tab Bar Zobraziť lištu panelov Hide Tab Bar Skryť lištu panelov TabWidget New &Tab &Nový panel &Close Tab &Zavrieť panel Show Next Tab Ukázať ďalší panel Show Previous Tab Ukázať predchádzajúci panel Recently Closed Tabs Zatvorené panely Do you really want to close this page? Naozaj chcete zatvoriť tento panel? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Stránka bola zmenená a pri zatvorení budu všetky zmeny stratené. Ste si istý, že chcete zavrieť túto stránku? Untitled Nepomenovaný Ctrl-] Ctrl-[ Saved Tabs Loading... Nahrávam ... Loading %1% (%2 %3)... Finished loading Failed to load Bookmark All Tabs ToolbarSearch No Recent Searches Žiadne posledné hľadania Recent Searches Posledné hľadania Clear Recent Searches Vymazať posledné hľadania Suggestions Add '%1' WebPage Error loading page: %1 Chyba pri načítavaní stránky: %1 When connecting to: %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. If the address is correct, try checking the network connection. Resending POST request In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? WebView Open in New &Window Otvoriť v &novom okne Open in New &Tab O&tvoriť v novom paneli Save Lin&k Uložiť o&dkaz &Bookmark This Link &Vytvoriť záložku pre tento odkaz &Copy Link Location &Kopírovať adresu odkazu Open Image in New &Window Otvoriť obrázok v novom okne Open Image in New &Tab Otvoriť obrázok v novom paneli &Save Image Uložiť obrázok &Copy Image Kopírovať o&brázok C&opy Image Location Kopírovať adresu ob&rázka Loading... Nahrávam ... Search with... Add to the toolbar search Method not supported %1 method is not supported. Search engine Choose the desired search engine Engine name Type in a name for the engine Block Image WebViewSearch Not Found Neexistuje arora-0.11.0/src/locale/sr_RS.ts000066400000000000000000002220251145000221100163100ustar00rootroot00000000000000 AboutDialog About %1 О %1 Authors Аутори License Лиценца Lightweight WebKit-based web browser Лагани веб прегледач базиран на Вебкиту <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org/</a> Close Затвори WebKit version: %1 Верзија Вебкита: %1 AcceptLanguage Languages Језици Languages: in order of preference: Језици према редоследу пожељности: Move &Up &Горе Move &Down &Доле &Remove &Уклони Add... Додај... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 Заустављено Адблоковим правилом: %1 AdBlockDialog Add Custom Rule Додај прилагођено правило Learn more about writing rules... Научите више о писању правила... Update Subscription Ажурирај претплате Browse Subscriptions... Прегледај претплате... Remove Subscription Уклони претплату AdBlock Configuration Подешавање Адблока Enable AdBlock Омогући Адблок Action Радња AdBlockManager Custom Rules Прилагођена правила AdBlockModel Rule Правило AdBlockSchemeAccessHandler Subscribe? Претплати се? Subscribe to this AdBlock subscription? %1 Претпалтити се на ову Адблок претплату? %1 AddBookmarkDialog Add Bookmark Додај маркер Type a name for the bookmark, and choose where to keep it. Унесите име маркера и изаберите где га сачувати. Url УРЛ Title Наслов Add Folder Додај фасциклу AutoFillDialog Form Passwords Лозинке за обрасце Remove Уклони Remove All Уклони све AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. <b>Желите ли да сачувате ову лозинку?</b><br> Да би прегледали или уклонили сачуване лозинке користите панел самопопуњавања у подешавањима. Never for this site Никад за овај сајт Not now Не сад AutoFillModel WebSite Веб сајт User Name Корисничко име BookmarksDialog Open Отвори Open in New Tab Отвори у новом језичку Edit Name Уреди име Edit Address Уреди адресу Delete Обриши New Folder Нова фасцикла Bookmarks Маркери &Remove &Уклони Add Folder Додај фасциклу BookmarksManager Bookmarks Bar Трака маркера Bookmarks Menu Мени маркера Error when loading bookmarks on line %1, column %2: %3 Грешка при учитавању маркера у реду %1, колона %2: %3 Toolbar Bookmarks Маркери у траци алатки Menu Мени Open File Отвори фајл Imported %1 Увезено %1 Save File Сачувај фајл %1 Bookmarks.xbel %1 Маркери.xbel Export error Грешка при извозу error saving bookmarks грешка при чувању маркера Remove Bookmark Уклони маркер Insert Bookmark Унеси маркер Name Change Undo bookmark title change Промена имена Address Change Undo bookmark url change Промена адресе XBEL bookmarks ИксБЕЛ маркери HTML Netscape bookmarks ХТМЛ Нетскејп маркери htmlToXBel tool required Неопходна је Хтмл-У-ИксБЕЛ алатка htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. Хтмл-У-ИксБЕЛ алатка, која се деставља са Арором и неопходна је за увоз ХТМЛ маркера, није инсталирана или се не налази у претраженим путањама. Loading Bookmark Учитавам маркер Error when loading HTML bookmarks: %1 Грешка при учитавању ХТМЛ маркера: %1 BookmarksMenu Open in Tabs Отвори у језичцима BookmarksModel Title Наслов Address Адреса BookmarksToolBar Open Отвори Open in New &Tab Отвори у новом &језичку Remove Уклони Add Bookmark... Додај маркер... Add Folder... Додај фасциклу... BrowserApplication There are %1 windows and %2 tabs open Do you want to quit anyway? Отворено је %1 прозор(а) и %2 језичак(а) Свеједно напустити? Restore failed Повраћај није успео Arora crashed while trying to restore this session. Should I try again? Арора се срушила у покушају да поврати сесију. Покушати поново? BrowserMainWindow &File &Фајл &New Window Нови &прозор &Open File... &Отвори фајл... Open &Location... Отвори &локацију... &Save As... &Сачувај као... &Import Bookmarks... &Увези маркере... &Export Bookmarks... &Извези маркере... P&rint Preview... П&реглед штампе... &Print... Ш&тампа... Private &Browsing... &Приватно прегледање... Close Window Затвори прозор &Quit &Напусти &Edit &Уређивање &Undo &Опозови &Redo &Понови Cu&t Исе&ци &Copy &Копирај &Paste &Налепи &Find Нађ&и Find Nex&t Нађи &следеће Find P&revious Нађи &претходно Ctrl+, Ctrl+, &View Прика&з Ctrl+| Ctrl+| Ctrl+/ Ctrl+/ Show Menu Bar Прикажи траку менија &Reload Page Поново &учитај страницу &Stop &Заустави Zoom &In &Увећај Zoom &Normal По&дразумевано увећање Zoom &Out &Умањи Zoom &Text Only Увећај само &текст Page S&ource И&зворни код странице Ctrl+Alt+U Ctrl+Alt+U &Full Screen &Цео екран Hi&story Ист&оријат Back Назад Forward Напред Home Моја страница Restore Last Session Поврати претходну сесију &Bookmarks &Маркери Show All Bookmarks... Прикажи све маркере... Add Bookmark... Додај маркер... Add Folder... Додај фасциклу... &Window &Прозор &Tools &Алатке Web &Search &Веб претрага Ctrl+K Web Search Ctrl+K &Clear Private Data Очисти п&риватне податке Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete Enable Web &Inspector Омогући &веб инспектор &Help По&моћ Switch application language Промени језик програма About &Qt О &Qt-у About &%1 About Browser О &Арори Navigation Навигација Show Status Bar Прикажи траку стања Hide Status Bar Сакриј траку стања Show Toolbar Прикажи траку алатки Hide Toolbar Сакриј траку алатки Show Bookmarks Bar Прикажи траку маркера Hide Bookmarks Bar Сакриј траку маркера %1 - Arora Page title and Browser name %1 - Aрора Open Web Resource Отвори веб ресурс Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Веб ресурси (*.html *.htm *.svg *.png *.gif *.svgz);;Сви фајлови (*.*) Print Document Штампај документ Are you sure you want to turn on private browsing? Да ли сте сигурни да желите да укључите приватно прегледање? Are you sure you want to close the window? There are %1 tabs open Да ли сте сигурни да желите да затворите прозор? Отворен(о) је %1 језичак(а) Web Inspector Веб инспектор The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Веб инспектор ће исправно радити само на страницама учитаним након његовог укључивања. Да ли желите да поново учитате све странице? Stop loading the current page Заустави учитавање тренутне странице Reload the current page Поново учитај тренутну страницу Downloads Пријеми Ctrl+Y Download Manager Ctrl+Y Default Подразумевано Text Encoding Кодирање текста Alt+Ctrl+B Alt+Ctrl+B Select &All Изабери &све Options... Опције... Configure Search Engines... Подеси моторе претраге... &Ad Block... &Адблок... When private browsing is turned on, some actions concerning your privacy will be disabled: Кад је укључено приватно прегледање онемогућене су неке радње које се тичу ваше приватности: Webpages are not added to the history. Веб стране се не додају у историјат. Items are automatically removed from the Downloads window. Ставке се аутоматски уклањају из прозора пријема. New cookies are not stored, current cookies can't be accessed. Нови колачићи се не чувају, постојећим се не може приступити. Site icons won't be stored. Иконе сајтова се не чувају. Session won't be saved. Сесије се не снимају. Searches are not added to the pop-up menu in the search box. Претраге се не додају у искачући мени прозорчића претраге. No new network cache is written to disk. Мрежни кеш се не дописује на диск. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Док не затворите прозор и даље можете кликнути на „Напред“ и „Назад“ да би сте се вратили на претходно отваране странице. Private Browsing Приватно прегледање ClearButton Clear Очисти ClearPrivateData Clear Private Data Очисти приватне податке Clear the following items: Очисти следеће ставке: &Browsing History историјат &претраге &Download History историјат п&реузимања &Search History историјат пр&етраге &Cookies &колачиће C&ached Web Pages кеширане &веб странице Website &Icons &иконе веб сајтова Clear &Private Data Очисти приватне по&датке &Cancel &Одустани ClickToFlash Load Учитај Load All Учитај све Add %1 to Whitelist Додај %1 на белу листу Remove from Whitelist Уклони са беле листе Settings Подешавање Load Flash Учитај флеш ClickToFlashSettings Whitelist sites Сајтови на белој листи CookieExceptionsModel Website Веб сајт Rule Правило Allow Дозволи Block Блокирај Allow For Session Дозволи у току сесије CookieModel Website Веб сајт Name Име Path Путања Secure Сигурно Expires Истиче Contents Садржај true тачно false нетачно Session cookie Колачић сесије CookiesDialog Cookies Колачићи &Remove &Уклони Remove &All Cookies Уклони &све колачиће Add &Rule Додај &правило CookiesExceptionsDialog Cookie Exceptions Изузеци за колачиће New Exception Нови изузетак Domain: Домен: Block Блокирај Allow For Session Дозволи у току сесије Allow Дозволи Exceptions Изузеци &Remove &Уклони Remove &All Уклони &све DownloadDialog Downloads Преузимања Clean up Очисти 0 Items Нема ставки DownloadItem Ico Икона Filename Име фајла Try Again Покушајте поново Stop Заустави Open Отвори Save File Сачувај фајл Download canceled: %1 Преузимање отказано: %1 Error opening output file: %1 Грешка при отварању излазног фајла: %1 Error saving: %1 Грешка при чувању: %1 Network Error: %1 Грешка на мрежи: %1 %1 of %2 (%3/sec) - %4 %1 од %2 (%3/сек) - %4 ? ? %1 of %2 - Stopped %1 од %2 - Заустављено Download directory (%1) couldn't be created. Фасцикла за преузимања (%1) не може бити направљена. DownloadManager There are %1 downloads in progress Do you want to quit anyway? У току су %1 преузимања Свеједно напустити? %n Download(s) %n преузимање %n преузимања %n преузимања %n minutes remaining %n минут је преостао %n минуте су преостале %n минута је преостало %n seconds remaining %n секунда је преостала %n секунде су преостале %n секунди је преостало bytes бајтова kB kB MB MB GB GB FileAccessReply No Error Без грешке Error opening: %1: No such file or directory Грешка при отварању: %1: Не постоји такав фајл или фасцикла Unable to read %1 Немогуће читање %1 Contents of %1 Садржај %1 %1 KB %1 КБ HistoryDialog Open Отвори Copy Копирај Delete Обриши History Историјат &Remove &Уклони Remove &All Уклони &све HistoryMenu Show All History Прикажи цео историјат Clear History... Очисти историјат... Clear History Очисти историјат Do you want to clear the history? Желите ли да очистите историјат? HistoryModel Title Назив Address Адреса HistoryTreeModel Earlier Today Раније у току дана %n item(s) %n ставка %n ставке %n ставки JavaScriptAroraObject Welcome to Arora! Добродошли у Арору ! Arora Start Aрорина почетна Search! Претражи! Search results provided by Резултате претраге омогућује About Arora О Арори LanguageManager Choose language Изаберите језик <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Можете поставити различит језик од оног<br>који оперативни систем подразумева.</p><p>Изаберите језик који ћете користити</p> No translation files are installed at %1. Нема инсталираних фајлова превода у %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Уреди корисничко име и лозинку за "%1" на %2</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Повежи се на прокси "%1" користећи: </qt> - SSL Errors - SSL грешке <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Сертификати:<br/>%1<br/>Да ли желите да прихватите све ове сертификате?</qt> <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>SSL грешке:<br/><br/>за: <tt>%1</tt><ul><li>%2</li></ul> Да ли желите да занемарите ове грешке?</qt> Issuer: %1 Издавач: %1 Not valid before: %1 Није валидо пре: %1 Valid until: %1 Валидно до: %1 Alternate Names: Алтернативни називи: OpenSearchDialog Open File Отвори фајл OpenSearch Отвори претрагу Error Грешка %1 is not a valid OpenSearch 1.1 description or is already on your list. %1 није исправан OpenSearch 1.1 опис или се већ налази на вашој листи. You must have at least one search engine in here. Мора постојати барем један мотор претраге. OpenSearch Manager Овори управник претраге &Restore Defaults &Подразумевано &Delete &Обриши &Add &Додај &Close &Затвори OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Опис:</strong> %1 <strong>Provides contextual suggestions</strong> <strong>Даје предлоге из садржаја</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Списак зарезом раздвојених кључних речи које могу бити унете у траку локације заједно са изразима са претрагу у овом мотору претраге Name Име Keywords Кључне речи OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 Желите ли да додате следећи мотор на вашу листу мотора претраге? <br /><br />Име: %1<br />Претражује на: %2 PasswordDialog Authentication Required Неопходна аутентификација DUMMY ICON DUMMY ICON INTRO TEXT DUMMY INTRO TEXT DUMMY Username: Корисничко име: Password: Лозинка: PlainTextEditSearch Not Found Не постоји ProxyDialog Proxy Authentication Аутентификација проксија Connect to proxy Повежи се на прокси Username: Корисничко име: Password: Лозинка: QObject The file is not an XBEL version 1.0 file. Фајл није типа ИксБЕЛ 1.0. Unknown title Непознат назив The file is not an OpenSearch 1.1 file. Фајл није OpenSearch 1.1 типа. SearchBanner Done Завршено Highlight All Истакни све SearchLineEdit Search Претражи Settings Preferences Поставке General Опште On startup: При покретању: Show my home page прикажи домаћу страницу Show a blank page прикажи празну страницу Restore windows and tabs from last time поврати прозоре и језичке од прошлог пута Home Page: Домаћа страница: Set to current page Постави текућу страницу Remove history items: Уклони ставке историјата: After one day после једног дана After one week после једне седмице After two weeks после две седмице After one month после једног месеца After one year после једне године Manually ручно On application exit при напуштању програма Downloads Преузимања Ask for a destination each time Увек питај за одредиште Use this destination: Користи следеће одредиште: Appearance Изглед Standard font: Стандардни фонт: Select... Изаберите... Fixed-width font: Фиксни фонт: Preferred languages for viewing webpages in: Пожељни језици за прегледање веб страница: Privacy Приватност Web Content Веб садржај Block Popup Windows Блокирај искачуће прозоре Enable Plugins Омогући прикључке Use ClickToFlash on flash plugins Користи "Кликни за флеш" за флеш прикључке Enable Javascript Омогући Јаваскрипт View Images Прикажи слике Cookies Колачићи Accept Cookies: Прихвати колачиће: Always увек Never никад Only from sites you navigate to само са веб сајтова које посећујем Exceptions... Изузеци... Keep Cookies Until: Задржи колачиће док не: They expire истекну I exit the application напустим програм At most 90 days истекне највише 90 дана Cookies... Колачићи... Filter Tracking Cookies Филтрирај колачиће пратиоце Tabs Језичци Select tabs and windows as they are created Одабери језичке и прозоре при њиховом настајању Confirm when closing multiple tabs or windows Потврда при затварању више прозора или језичака Show only one close button instead of one for each tab Прикажи само једно дугме за затварање уместо једног по сваком језичку Quit the application when last tab is closed Напусти програм кад је последњи језичак затворен Opening links Отварам везе Links that want to open in a new window: Везе које желе да се отворе у новом прозору: In a new window у новом прозору In a new selected tab in the current window у изабраном новом језичку тренутног прозора In a new tab in the current window у новом језичку тренутног прозора In the current tab у тренутном језичку Open links from applications: Отварај везе из програма: Proxy Прокси Use proxy server Користи прокси сервер Type: Тип: Socks5 СОКС5 Http (Secure) ХТТП (Безбедно) Http (Transparent) ХТТП (Транспарентно) Host name: Име домаћина: Port: Порт: User Name: Корисничко име: Password: Лозинка: Advanced Напредно Style Sheet: Опис стила: Enable network cache Омогући мрежни кеш Maximum Size: Максимална величина: MB MB Use the default search engine as fallback when the URL given by the user is invalid Користи подразумевани мотор претраге као испомоћ уколико је УРЛ задат од стране корисника неисправан Choose Directory... Изаберите фасциклу... A cookie session ends: Колачић сесије истиче: When I exit the application кад напустим програм 1 day за 1 дан 2 days за 2 дана 3 days за 3 дана 7 days за 7 дана 30 days за 30 дана AutoFill Смопопуњавање AutoFill web forms: Самопопуњавање веб образаца: User names and passwords Корисничка имена и лозинке Edit... Уреди... Browse... Прегледај... SettingsDialog Restart required Захтева се поновно покретање The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. Подешавање мрежног кеша је промењено. Да би било узето у обзир прегледач мора бити поново покренут. Choose Directory Изаберите фасциклу Choose CSS File Изаберите ЦСС фајл SourceViewer Loading... Учитавање... &Edit &Уређивање &Find Нађ&и Source of Page %1 Изворни код странице %1 TabBar Show Tab Bar Прикажи траку језичака Hide Tab Bar Сакриј траку језичака Duplicate Tab Дуплирај језичак &Close Tab &Затвори језичак Close &Other Tabs Затвори &остале језичке Reload Tab Поново учитај језичак Reload All Tabs Поново учитај све језичке TabWidget Untitled Неименовано Saved Tabs Сачувај језичке Do you really want to close this page? Да ли заиста желите да затворите ову страницу? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Изменили сте ову страницу и њеним затварањем ћете изгубити измене. Да ли заиста желите да затворите ову страницу? Loading... Учитавање... Loading %1% (%2 %3)... Учитавам %1% (%2 %3)... Finished loading Учитавање завршено Failed to load Грешка при учитавању Show Next Tab Прикажи наредни језичак Ctrl-] Ctrl-] Show Previous Tab Прикажи претходни језичак Ctrl-[ Ctrl-[ Recently Closed Tabs Недавно затворени језичци New &Tab Нови &језичак &Close Tab &Затвори језичак Bookmark All Tabs Маркирај све језичке ToolbarSearch Suggestions Предлози No Recent Searches Нема скорашњих претрага Recent Searches Скорашње претраге Add '%1' Додај '%1' Clear Recent Searches Уклони скорашње претраге WebPage Error loading page: %1 Грешка при учитавању странице: %1 When connecting to: %1. При повезивању на: %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org Проверите адресу за грешке попут <b>ww/</b>.arora-browser.org/ /уместо <b>www/</b>.arora-browser.org/ If the address is correct, try checking the network connection. Уколико је адреса исправна, покушајте провером мрежне повезаности. If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Уколико су ваш рачунар или мрежа заштићени фајерволом или проксијем постарајте се да прегледач има дозволе за приступ мрежи. Resending POST request Поново шаљем ПОСТ захтев In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? Да би сајт био приказан, захтев заједно са свим подацима мора бити поново послат, што може довести до непредвидљивог понашања самог сајта, нпр. иста радња може бити поново изведена. Да ли свеједно желите да наставите? WebView Open in New &Window Отвори у новом &прозору Open in New &Tab Отвори у новом &језичку Save Lin&k Сачувај &везу &Bookmark This Link &Маркирај ову везу &Copy Link Location &Копирај адресу везе Open Image in New &Window Отвори слику у новом &прозору Open Image in New &Tab Отвори слику у новом &језичку &Save Image &Сачувај слику &Copy Image &Копирај слику C&opy Image Location Kо&пирај адресу слике Loading... Учитавање... Search with... Претражи помоћу... Add to the toolbar search Додај у траку претраге Method not supported Метод није подржан %1 method is not supported. %1 метод није подржан. Search engine Мотор претраге Choose the desired search engine Изаберите жељени мотор претраге Engine name Назив мотора Type in a name for the engine Унесите назив за мотор Block Image Блокирај слику WebViewSearch Not Found Не постоји arora-0.11.0/src/locale/sr_RS@latin.ts000066400000000000000000002034631145000221100174450ustar00rootroot00000000000000 AboutDialog About %1 O %1 Authors Autori License Licenca Lightweight WebKit-based web browser Lagani web pregledač baziran na Webkit-u <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org/</a> Close Zatvori WebKit version: %1 Verzija Webkit-a: %1 AcceptLanguage Languages Jezici Languages: in order of preference: Jezici prema redosledu poželjnosti: Move &Up &Gore Move &Down &Dole &Remove &Ukloni Add... Dodaj... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 Blokirano AdBlockovim pravilom: %1 AdBlockDialog Add Custom Rule Dodaj prilagođeno pravilo Learn more about writing rules... Naučite više o pisanju pravila... Update Subscription Ažuriraj pretplatu Browse Subscriptions... Pregledaj pretplate... Remove Subscription Ukloni pretplatu AdBlock Configuration Podešavanje AdBlocka Enable AdBlock Omogući AdBlock Action Radnja AdBlockManager Custom Rules Prilagođena pravila AdBlockModel Rule Pravilo AdBlockSchemeAccessHandler Subscribe? Pertplati se? Subscribe to this AdBlock subscription? %1 Pretplati se na ovu AdBlockovu pretplatu? %1 AddBookmarkDialog Add Bookmark Dodaj marker Type a name for the bookmark, and choose where to keep it. Unesite ime markera i izaberite gde ga sačuvati. Url URL Title Naslov Add Folder Dodaj fasciklu AutoFillDialog Form Passwords Lozinke obrazaca Remove Ukloni Remove All Ukloni sve AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. <b>Želite li da sačuvate ovu lozinku</b><br> Da bi ste pregledali ili uklonili sačuvane lozinke koristite panel samopopunjavanja u podešavanjima. Never for this site Nikad za ovaj sajt Not now Ne sad AutoFillModel WebSite Web sajt User Name Korisničko ime BookmarksDialog Open Otvori Open in New Tab Otvori u novom jezičku Edit Name Uredi ime Edit Address Uredi adresu Delete Obriši New Folder Nova fascikla Bookmarks Markeri &Remove &Ukloni Add Folder Dodaj fasciklu BookmarksManager Bookmarks Bar Traka markera Bookmarks Menu Meni markera Error when loading bookmarks on line %1, column %2: %3 Greška pri učitavanju markera u redu %1, kolona %2: %3 Toolbar Bookmarks Markeri u traci alatki Menu Meni Open File Otvori fajl Imported %1 Uvezeno %1 Save File Sačuvaj fajl %1 Bookmarks.xbel %1 Markeri.xbel Export error Greška pri izvozu error saving bookmarks greška pri čuvanju markera Remove Bookmark Ukloni marker Insert Bookmark Unesi marker Name Change Undo bookmark title change Promena imena Address Change Undo bookmark url change Promena adrese XBEL bookmarks XBEL markeri HTML Netscape bookmarks HTML Netscape markeri htmlToXBel tool required Neophodna je Html-U-XBEL alatka htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. Html-U-XBEL alatka, koja se destavlja sa Arorom i neophodna je za uvoz HTML markera, nije instalirana ili se ne nalazi u pretraženim putanjama. Loading Bookmark Učitavam marker Error when loading HTML bookmarks: %1 Greška pri učitavanju HTML markera: %1 BookmarksMenu Open in Tabs Otvori u jezičcima BookmarksModel Title Naslov Address Adresa BookmarksToolBar Open Otvori Open in New &Tab Otvori u novom &jezičku Remove Ukloni Add Bookmark... Dodaj marker... Add Folder... Dodaj fasciklu... BrowserApplication There are %1 windows and %2 tabs open Do you want to quit anyway? Otvoreno je %1 prozor(a) i %2 jezičak(a) Svejedno napustiti? Restore failed Povraćaj nije uspeo Arora crashed while trying to restore this session. Should I try again? Arora se srušila u pokušaju da povrati prethodnu sesiju. Pokušati ponovo? BrowserMainWindow &File &Fajl &New Window Novi &prozor &Open File... &Otvori fajl... Open &Location... Otvori &lokaciju... &Save As... &Sačuvaj kao... &Import Bookmarks... &Uvezi markere... &Export Bookmarks... &Izvezi markere... P&rint Preview... P&regled štampe... &Print... Š&tampa... Private &Browsing... &Privatno pregledanje... Close Window Zatvori prozor &Quit &Napusti &Edit &Uređivanje &Undo &Opozovi &Redo &Ponovi Cu&t Ise&ci &Copy &Kopiraj &Paste &Nalepi &Find Nađ&i Find Nex&t Nađi &sledeće Find P&revious Nađi &prethodno Ctrl+, Ctrl+, &View Prika&z Ctrl+| Ctrl+| Ctrl+/ Ctrl+/ Show Menu Bar Prikaži traku menija &Reload Page Ponovo &učitaj stranicu &Stop &Zaustavi Zoom &In &Uvećaj Zoom &Normal Po&drazumevano uvećanje Zoom &Out &Umanji Zoom &Text Only Uvećaj samo &tekst Page S&ource I&zvorni kod stranice Ctrl+Alt+U Ctrl+Alt+U &Full Screen &Ceo ekran Hi&story Ist&orijat Back Nazad Forward Napred Home Moja stranica Restore Last Session Povrati prethodnu sesiju &Bookmarks &Markeri Show All Bookmarks... Prikaži sve markere... Add Bookmark... Dodaj marker... Add Folder... Dodaj fasciklu... &Window &Prozor &Tools &Alatke Web &Search &Web pretraga Ctrl+K Web Search Ctrl+K &Clear Private Data Očisti p&rivatne podatke Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete Enable Web &Inspector Omogući &Web inspektor &Help Po&moć Switch application language Promeni jezik programa About &Qt O &Qt-u About &%1 About Browser O &Arori Navigation Navigacija Show Status Bar Prikaži traku stanja Hide Status Bar Sakrij traku stanja Show Toolbar Prikaži traku alatki Hide Toolbar Sakrij traku alatki Show Bookmarks Bar Prikaži traku markera Hide Bookmarks Bar Sakrij traku markera %1 - Arora Page title and Browser name %1 - Arora Open Web Resource Otvori web resurs Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Web resursi (*.html *.htm *.svg *.png *.gif *.svgz);;Svi fajlovi (*.*) Print Document Štampaj dokument Are you sure you want to turn on private browsing? Da li ste sigurni da želite da uključite privatno pregledanje? Are you sure you want to close the window? There are %1 tabs open Da li ste sigurni da želite da zatvorite prozor? Otvoren(o) je %1 jezičak(a) Web Inspector Web inspektor The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Web inspektor će ispravno raditi samo na stranicama učitanim nakon njegovog uključivanja. Da li želite da ponovo učitate sve stranice? Stop loading the current page Zaustavi učitavanje trenutne stranice Reload the current page Ponovo učitaj trenutnu stranicu Downloads Prijemi Ctrl+Y Download Manager Ctrl+Y Default Podrazumevano Text Encoding Kodiranje teksta Alt+Ctrl+B Alt+Ctrl+B Select &All Izaberi &sve Options... Opcije... Configure Search Engines... Podesi motore pretrage... &Ad Block... &AdBlock... When private browsing is turned on, some actions concerning your privacy will be disabled: Kada je uključeno privatno pregledanje onemogućene su neke radnje koje se tiču vaše privatnosti: Webpages are not added to the history. Web stranice se ne dodaju u istorijat. Items are automatically removed from the Downloads window. Stavke se automatski uklanjaju iz prozora prijema. New cookies are not stored, current cookies can't be accessed. Novi kolačići se ne čuvaju, postojećim se ne može pristupiti. Site icons won't be stored. Ikone sajtova se ne čuvaju. Session won't be saved. Sesije se snimaju. Searches are not added to the pop-up menu in the search box. Pretrage se ne dodaju u iskačući meni prozorčića pretrage. No new network cache is written to disk. Mrežni keš se ne dopisuje na disk. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Dok ne zatvorite prozor i dalje možete kliknuti na „Napred“ i „Nazad“ da bi ste se vratili na prethodno otvarane stranice. Private Browsing Privatno pregledanje ClearButton Clear Očisti ClearPrivateData Clear Private Data Očisti privatne podatke Clear the following items: Očisti sledeće stavke: &Browsing History istorijat &pretrage &Download History istorijat p&reuzimanja &Search History istorijat pr&etrage &Cookies &kolačiće C&ached Web Pages Keširane &web stranice Website &Icons &ikone web sajtova Clear &Private Data Očisti privatne po&datke &Cancel &Odustani ClickToFlash Load Učitaj Load All Učitaj sve Add %1 to Whitelist Dodaj %1 na belu listu Remove from Whitelist Ukloni sa bele liste Settings Podešavanje Load Flash Učitaj fleš ClickToFlashSettings Whitelist sites Sajtovi na beloj listi CookieExceptionsModel Website Web sajt Rule Pravilo Allow Dozvoli Block Blokiraj Allow For Session Dozvoli u toku sesije CookieModel Website Web sajt Name Ime Path Putanja Secure Sigurno Expires Ističe Contents Sadržaj true tačno false netačno Session cookie Kolačić sesije CookiesDialog Cookies Kolačići &Remove &Ukloni Remove &All Cookies Ukloni &sve kolačiće Add &Rule Dodaj &pravilo CookiesExceptionsDialog Cookie Exceptions Izuzeci za kolačiće New Exception Novi izuzetak Domain: Domen: Block Blokiraj Allow For Session Dozvoli u toku sesije Allow Dozvoli Exceptions Izuzeci &Remove &Ukloni Remove &All Ukloni &sve DownloadDialog Downloads Preuzimanja Clean up Očisti 0 Items Nema stavki DownloadItem Ico Ikona Filename Ime fajla Try Again Pokušajte ponovo Stop Zaustavi Open Otvori Save File Sačuvaj fajl Download canceled: %1 Preuzimanje otkazano: %1 Error opening output file: %1 Greška pri otvaranju izlaznog fajla: %1 Error saving: %1 Greška pri čuvanju: %1 Network Error: %1 Greška na mreži: %1 %1 of %2 (%3/sec) - %4 %1 od %2 (%3/sek) - %4 ? ? %1 of %2 - Stopped %1 od %2 - Zaustavljeno Download directory (%1) couldn't be created. Fascikla za preuzimanja (%1) ne može biti napravljena. DownloadManager There are %1 downloads in progress Do you want to quit anyway? U toku su %1 preuzimanja Svejedno napustiti? %n Download(s) %n preuzimanje %n preuzimanja %n preuzimanja %n minutes remaining %n minut je preostao %n minute su preostale %n minuta je preostalo %n seconds remaining %n sekunda je preostala %n sekunde su preostale %n sekundi je preostalo bytes bajtova kB kB MB MB GB GB FileAccessReply No Error Bez greške Error opening: %1: No such file or directory Greška pri otvaranju: %1: Ne postoji takav fajl ili fascikla Unable to read %1 Nemoguće čitanje %1 Contents of %1 Sadržaj %1 %1 KB %1 KB HistoryDialog Open Otvori Copy Kopiraj Delete Obriši History Istorijat &Remove &Ukloni Remove &All Ukloni &sve HistoryMenu Show All History Prikaži ceo istorijat Clear History... Očisti istorijat... Clear History Očisti istorijat Do you want to clear the history? Želite li da očistite istorijat? HistoryModel Title Naziv Address Adresa HistoryTreeModel Earlier Today Ranije u toku dana %n item(s) %n stavka %n stavke %n stavki JavaScriptAroraObject Welcome to Arora! Dobrodošli u Aroru ! Arora Start Arorina početna Search! Pretraži! Search results provided by Rezultate pretrage omogućuje About Arora O Arori LanguageManager Choose language Izaberite jezik <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Možete postaviti različit jezik od onog<br>koji operativni sistem podrazumeva.</p><p>Izaberite jezik koji ćete koristiti</p> No translation files are installed at %1. Nema instaliranih fajlova prevoda u %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Uredi korisničko ime i lozinku za "%1" na %2</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Poveži se na proksi "%1" koristeći: </qt> - SSL Errors - SSL greške <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Sertifikati:<br/>%1<br/>Da li želite da prihvatite sve ove sertifikate?</qt> <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>SSL greške:<br/><br/>za: <tt>%1</tt><ul><li>%2</li></ul> Da li želite da zanemarite ove greške?</qt> Issuer: %1 Izdavač: %1 Not valid before: %1 Nije valido pre: %1 Valid until: %1 Validno do: %1 Alternate Names: Alternativni nazivi: OpenSearchDialog Open File Otvori fajl OpenSearch Otvori pretragu Error Greška %1 is not a valid OpenSearch 1.1 description or is already on your list. %1 nije ispravan OpenSearch 1.1 opis ili se već nalazi na vašoj listi. You must have at least one search engine in here. Mora postojati barem jedan motor pretrage. OpenSearch Manager Ovori upravnik pretrage &Restore Defaults &Podrazumevano &Delete &Obriši &Add &Dodaj &Close &Zatvori OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Opis:</strong> %1 <strong>Provides contextual suggestions</strong> <strong>Daje predloge iz sadržaja</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Spisak zarezom razdvojenih ključnih reči koje mogu biti unete u traku lokacije zajedno sa izrazima sa pretragu u ovom motoru pretrage Name Ime Keywords Ključne reči OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 Želite li da dodate sledeći motor na vašu listu motora pretrage? <br /><br />Ime: %1<br />Pretražuje na: %2 PasswordDialog Authentication Required Neophodna autentifikacija DUMMY ICON DUMMY ICON INTRO TEXT DUMMY INTRO TEXT DUMMY Username: Korisničko ime: Password: Lozinka: PlainTextEditSearch Not Found Ne postoji ProxyDialog Proxy Authentication Autentifikacija proksija Connect to proxy Poveži se na proksi Username: Korisničko ime: Password: Lozinka: QObject The file is not an XBEL version 1.0 file. Fajl nije tipa XBEL 1.0. Unknown title Nepoznat naziv The file is not an OpenSearch 1.1 file. Fajl nije OpenSearch 1.1 tipa. SearchBanner Done Završeno Highlight All Istakni sve SearchLineEdit Search Pretraži Settings Preferences Postavke General Opšte On startup: Pri pokretanju: Show my home page prikaži domaću stranicu Show a blank page prikaži praznu stranicu Restore windows and tabs from last time povrati prozore i jezičke od prošlog puta Home Page: Domaća stranica: Set to current page Postavi tekuću stranicu Remove history items: Ukloni stavke istorijata: After one day posle jednog dana After one week posle jedne sedmice After two weeks posle dve sedmice After one month posle jednog meseca After one year posle jedne godine Manually ručno On application exit pri napuštanju programa Downloads Preuzimanja Ask for a destination each time Uvek pitaj za odredište Use this destination: Koristi sledeće odredište: Appearance Izgled Standard font: Standardni font: Select... Izaberite... Fixed-width font: Fiksni font: Preferred languages for viewing webpages in: Poželjni jezici za pregledanje web stranica: Privacy Privatnost Web Content Web sadržaj Block Popup Windows Blokiraj iskačuće prozore Enable Plugins Omogući priključke Use ClickToFlash on flash plugins Koristi "Klikni za fleš" za fleš priključke Enable Javascript Omogući Javascript View Images Prikaži slike Cookies Kolačići Accept Cookies: Prihvati kolačiće: Always uvek Never nikad Only from sites you navigate to samo sa veb sajtova koje posećujem Exceptions... Izuzeci... Keep Cookies Until: Zadrži kolačiće dok ne: They expire isteknu I exit the application napustim program At most 90 days istekne najviše 90 dana Cookies... Kolačići... Filter Tracking Cookies Filtriraj kolačiće pratioce Tabs Jezičci Select tabs and windows as they are created Odaberi jezičke i prozore pri njihovom nastajanju Confirm when closing multiple tabs or windows Potvrda pri zatvaranju više prozora ili jezičaka Show only one close button instead of one for each tab Prikaži samo jedno dugme za zatvaranje umesto jednog po svakom jezičku Quit the application when last tab is closed Napusti program kad je poslednji jezičak zatvoren Opening links Otvaram veze Links that want to open in a new window: Veze koje žele da se otvore u novom prozoru: In a new window u novom prozoru In a new selected tab in the current window u izabranom novom jezičku trenutnog prozora In a new tab in the current window u novom jezičku trenutnog prozora In the current tab u trenutnom jezičku Open links from applications: Otvaraj veze iz programa: Proxy Proksi Use proxy server Koristi proksi server Type: Tip: Socks5 Socks5 Http (Secure) Http (Bezbedno) Http (Transparent) Http (Transparentno) Host name: Ime domaćina: Port: Port: User Name: Korisničko ime: Password: Lozinka: Advanced Napredno Style Sheet: Opis stila: Enable network cache Omogući mrežni keš Maximum Size: Maksimalna veličina: MB MB Use the default search engine as fallback when the URL given by the user is invalid Koristi podrazumevani motor pretrage kao ispomoć ukoliko je URL zadat od strane korisnika neispravan Choose Directory... Izaberite fasciklu... A cookie session ends: Sesija kolačića ističe: When I exit the application kad napustim program 1 day za 1 dan 2 days za 2 dana 3 days za 3 dana 7 days za 7 dana 30 days za 30 dana AutoFill Samopopunjavanje AutoFill web forms: Samopopunjavanje web obrazaca: User names and passwords Korisnička imena i lozinke Edit... Uredi... Browse... Pregledaj... SettingsDialog Restart required Zahteva se ponovno pokretanje The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. Podešavanje mrežnog keša je promenjeno. Da bi bilo uzeto u obzir pregledač mora biti ponovo pokrenut. Choose Directory Izaberite fasciklu Choose CSS File Izaberite CSS fajl SourceViewer Loading... Učitavanje... &Edit &Uređivanje &Find Nađ&i Source of Page %1 Izvorni kod stranice %1 TabBar Show Tab Bar Prikaži traku jezičaka Hide Tab Bar Sakrij traku jezičaka Duplicate Tab Dupliraj jezičak &Close Tab &Zatvori jezičak Close &Other Tabs Zatvori &ostale jezičke Reload Tab Ponovo učitaj jezičak Reload All Tabs Ponovo učitaj sve jezičke TabWidget Untitled Neimenovano Saved Tabs Sačuvaj jezičke Do you really want to close this page? Da li zaista želite da zatvorite ovu stranicu? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Izmenili ste ovu stranicu i njenim zatvaranjem ćete izgubiti izmene. Da li zaista želite da zatvorite ovu stranicu? Loading... Učitavanje... Loading %1% (%2 %3)... Učitavam %1% (%2 %3)... Finished loading Učitavanje završeno Failed to load Greška pri učitavanju Show Next Tab Prikaži naredni jezičak Ctrl-] Ctrl-] Show Previous Tab Prikaži prethodni jezičak Ctrl-[ Ctrl-[ Recently Closed Tabs Nedavno zatvoreni jezičci New &Tab Novi &jezičak &Close Tab &Zatvori jezičak Bookmark All Tabs Markiraj sve jezičke ToolbarSearch Suggestions Predlozi No Recent Searches Nema skorašnjih pretraga Recent Searches Skorašnje pretrage Add '%1' Dodaj '%1' Clear Recent Searches Ukloni skorašnje pretrage WebPage Error loading page: %1 Greška pri učitavanju stranice: %1 When connecting to: %1. Pri povezivanju na: %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org Proverite adresu za greške poput <b>ww/</b>.arora-browser.org/ /umesto <b>www/</b>.arora-browser.org/ If the address is correct, try checking the network connection. Ukoliko je adresa ispravna, pokušajte proverom mrežne povezanosti. If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Ukoliko su vaš računar ili mreža zaštićeni fajervolom ili proksijem postarajte se da pregledač ima dozvole za pristup mreži. Resending POST request Ponovo šaljem POST zahtev In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? Da bi sajt bio prikazan, zahtev zajedno sa svim podacima mora biti ponovo poslat, što može dovesti do nepredvidljivog ponašanja samog sajta, npr. ista radnja može biti ponovo izvedena. Da li svejedno želite da nastavite? WebView Open in New &Window Otvori u novom &prozoru Open in New &Tab Otvori u novom &jezičku Save Lin&k Sačuvaj &vezu &Bookmark This Link &Markiraj ovu vezu &Copy Link Location &Kopiraj adresu veze Open Image in New &Window Otvori sliku u novom &prozoru Open Image in New &Tab Otvori sliku u novom &jezičku &Save Image &Sačuvaj sliku &Copy Image &Kopiraj sliku C&opy Image Location Ko&piraj adresu slike Loading... Učitavanje... Search with... Pretraži pomoću... Add to the toolbar search Dodaj u traku pretrage Method not supported Metod nije podržan %1 method is not supported. %1 metod nije podržan. Search engine Motor pretrage Choose the desired search engine Izaberite željeni motor pretrage Engine name Naziv motora Type in a name for the engine Unesite naziv za motor Block Image Blokiraj sliku WebViewSearch Not Found Ne postoji arora-0.11.0/src/locale/tr_TR.ts000066400000000000000000002473451145000221100163260ustar00rootroot00000000000000 AboutDialog Lightweight WebKit-based web browser Webkit tabanlı hafif bir web tarayıcı <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> Authors Yazarlar License Lisans Close Kapat About Hakkında <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style="font-size:9pt;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> About %1 %1 Hakkında <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> WebKit version: %1 WebKit sürümü: %1 AcceptLanguage Languages Diller Languages: in order of preference: Diller: tercih sırasına göre: Move &Up &Yukarı Taşı Move &Down &Aşağı Taşı &Remove &Kaldır Add... Ekle... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 AdBlockRule: %1 tarafından engellendi AdBlockDialog Add Custom Rule Özel Kural Ekle Learn more about writing rules... Kural oluşturmak hakkında daha fazla bilgi... Update Subscription Aboneliği Güncelle Browse Subscriptions... Aboneliklere Gözat... Remove Subscription Aboneliği Kaldır AdBlock Configuration AdBlock Tercihleri Enable AdBlock AdBlock Kullan Action Eylem AdBlockManager Custom Rules Özel Kurallar AdBlockModel Rule Kural AdBlockSchemeAccessHandler Subscribe? Abone Ol? Subscribe to this AdBlock subscription? %1 Bu AdBlock aboneliğini kullan ? %1 AddBookmarkDialog Add Bookmark Yer İmlerine Ekle Type a name for the bookmark, and choose where to keep it. Yer imi için bir ad girin ve nerede saklanacağını belirtin. Url Url Title Başlık Add Folder Dizin Ekle AutoFillDialog Form Passwords Form Parolaları Remove Kaldır Remove All Hepsini Kaldır AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. <b>Bu parolayı saklamak ister misiniz?</b><br> Kayıtlı parolalarınızı düzenlemek için Otomatik Doldur seçeneklerinne gidin. Never for this site Bu site için hiç bir zaman Not now Şimdi değil AutoFillModel WebSite Site User Name Kullanıcı Adı BookmarksDialog Bookmarks Yer İmleri &Remove &Sil Add Folder Dizin Ekle Open Open in New Tab Yeni Sekmede Aç Delete Sil New Folder Yeni Dizin Edit Name İsmi Düzenle Edit Address Adresi Düzenle BookmarksManager Error when loading bookmarks on line %1, column %2: %3 Satır %1, sütun %2'deki yerimini yüklerken hata oluştu: %3 Toolbar Bookmarks Yer İmleri Araç Çubuğu Menu Menü Open File Dosya Aç XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) Imported %1 %1 İçe Aktarıldı Save File Dosyayı Kaydet %1 Bookmarks.xbel %1 Bookmarks.xbel Export error Dışa aktarım hatası error saving bookmarks yer imlerini saklarken hata oluştu Remove Bookmark Yer İmini Sil Insert Bookmark Yer İmini Araya Ekle Name Change İsim Değiştir Address Change Adres Değiştir Bookmarks Bar Yerimleri Çubuğu Bookmarks Menu Yerimleri Menüsü XBEL (*.xbel *.xml *.html) XBEL (*.xbel *.xml *.html) Error when loading html bookmarks: %1 Html yerimlerini yüklerken hata: %1 XBEL XBEL Name Change Undo bookmark title change İsim Değiştir Address Change Undo bookmark url change Adres Değiştir XBEL bookmarks XBEL yerimleri HTML Netscape bookmarks HTML Netscape yerimleri htmlToXBel tool required htmlToXBel aracı gerekli htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. HTML yerimlerini içe aktarmak için Arora ile dağıtılan gerekli htmlToXBel aracı yüklü değil ya da bulunamadı. Loading Bookmark Yerimleri Yükleniyor Error when loading HTML bookmarks: %1 HTML yerimleri yüklenirken bir hata oluştu: %1 BookmarksMenu Open in Tabs Sekmede Aç BookmarksModel Title Başlık Address Adres BookmarksToolBar Bookmark Yer İmi Open Open in New &Tab &Yeni Sekmede Aç Remove Kaldır Add Bookmark... Yer İmi Ekle... Add Folder... Dizin Ekle... Bookmarks Yer İmleri BrowserApplication There are %1 windows and %2 tabs open Do you want to quit anyway? %1 pencere ve %2 sekme açık bulunuyor Yinede çıkmak istiyor musunuz? Restore failed Geri yükleme başarısız The saved session will not be restored because Arora crashed while trying to restore this session. Kaydolan oturum geri yüklenemeyecek çünkü Arora oturumu geri yüklerken çöktü. (Change: %1 %2) (Değişim: %1 %2) Arora crashed while trying to restore this session. Should I try again? Arora bu oturumu kurtarmaya çalışırken çöktü. Tekrar denensin mi? BrowserMainWindow &File Do&sya &New Window &Yeni Pencere &Open File... Dosya &Aç... Open &Location... Kon&umu Aç... &Save As... &Farklı Kaydet... &Import Bookmarks... Yeri&mlerini İçe Aktar... &Export Bookmarks... Yerimlerini Dı&şa Aktar... P&rint Preview... Baskı &Önizleme... &Print... Ya&zdır... Private &Browsing... Özel Gez&inme... &Quit &Çıkış &Edit D&üzenle &Undo &Geri Al &Redo &İleri Al Cu&t &Kes &Copy K&opyala &Paste &Yapıştır &Find &Bul Find &Next &Sonrakini Bul Find P&revious &Öncekini Bul Prefe&rences Te&rcihler Ctrl+, Ctrl+, &View &Görünüm Ctrl+| Ctrl+| Shift+Ctrl+B Shift+Ctrl+B Ctrl+/ Ctrl+/ &Stop &Dur &Reload Page &Sayfayı Yeniden Yükle Make Text &Bigger &Yazıyı Büyüt Make Text &Normal Yazıyı &Normal Yap Make Text &Smaller Yazıyı K&üçült Page S&ource Sayfa Kayna&ğı Ctrl+Alt+U Ctrl+Alt+U &Full Screen Tam Ek&ran Hi&story Ge&çmiş Back Geri Forward İleri Home Ev Restore Last Session En Son Oturumu Geri Yükle &Bookmarks &Yer İmleri Manage Bookmarks... Yer İmlerini Düzenle... Add Bookmark... Yer İmi Ekle... &Window &Pencere &Tools &Araçlar Web &Search &Arama Ctrl+K Web Search Ctrl+K &Clear Private Data &Özel Verileri Temizle Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete Enable Web &Inspector Ağ Denet&çisini Aktif Et &Help Yard&ım About &Qt &Qt Hakkında About &Arora &Arora Hakkında Navigation Gezinme Show Status Bar Durum Çubuğunu Göster Hide Status Bar Durum Çubuğunu Gizle Show Toolbar Araç Çubuğunu Göster Hide Toolbar Araç Çubuğunu Gizle Show Bookmarks Bar Yerimi Araç Çubuğunu Göster Hide Bookmarks Bar Yerimi Araç Çubuğunu Gizle Arora Arora %1 - Arora Page title and Browser name %1 - Arora Open Web Resource Ağ Kaynağını Aç Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Sayfa Kaynakları (*.html *.htm *.svg *.png *.gif *.svgz);;Tüm Dosyalar (*.*) Print Document Belgeyi Yazdır Are you sure you want to turn on private browsing? Gizli gezinmeyi açmak istediğinizden emin misiniz? <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Gizli gezinme aktifken, sizin gizliliğinizle bağlantılı olan bazı davranışlar iptal edilecektir:<ul><li> Web sayfaları geçmişe eklenmeyecekler.</li><li> İndirme penceresindeki öğeler otomatik olarak silinecekler.</li><li> Yeni çerezler saklanmayacak, mevcut çerezlere erişim sağlanmayacaktır.</li><li> Sayfa ikonları saklanmayacak, oturum kaydedilmeyecektir.</li><li> Aramalar, arama kutusundaki açılır menüye eklenmeyecektir.</li></ul>Siz pencereyi kapatana kadar, açtığınız web sayfasına geri dönmek için İleri ve Geri düğmelerine tıklayabileceksiniz. Are you sure you want to close the window? There are %1 tabs open Pencereyi kapatmak istediğinizden emin misiniz? %1 sekme açık Page Source of %1 %1'in Sayfa Kaynağı Web Inspector Ağ Denetçisi The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Ağ Denetçisi sadece aktif edildikten sonra yüklenen sayfalarda düzgün çalışacaktır. Tüm sayfaları yenilemeyi istiyor musunuz? Stop loading the current page Mevcut sayfayı yüklemeyi durdur Reload the current page Mevcut sayfayı yenile Downloads İndirilenler Alt+Ctrl+L Download Manager Alt+Ctrl+L Find Nex&t Sonra&kini Bul Prefere&nces... Se&çenekler... Show Menu Bar Menü Çubuğunu Göster Switch application language Uygulama dilini değiştir Show &Network Monitor A&ğ İzleyicisini Göster Close Window Pencereyi Kapat Zoom &In &Yaklaş Zoom &Normal &Normal Zoom &Out &Uzaklaş Zoom &Text Only Sadece &Metni Yakınlaştır Show All Bookmarks... Tüm Yerimlerini Göster... Add Folder... Dizin Ekle... About &%1 About Browser &%1 Hakkında <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Özel gezinme aktif olduğunda, gizliliğinizle ilgili bazı eylemler etkisizleştirilecek:<ul><li> Web sayfaları geçmişe eklenmeyecek.</li><li> İndirme penceresindeki öğeler otomatik olarak kaldırılacak.</li><li> Yeni çerezler saklanmayacak, mevcut çerezlere erişilemeyecek.</li><li> Sayfa simgeleri saklanmayacak, oturum kaydedilmeyecek.</li><li> Aramalarınız arama kutusundaki açılır menüye eklenmeyecek.</li></ul>Siz pencereyi kapatana kadar, açmış olduğunu web sayfalarına Geri ve İleri düğmelerine tıklayarak geri dönebileceksiniz. Ctrl+Y Download Manager Ctrl+Y Default Varsayılan Text Encoding Karakter Kodlaması Select &All Hepsini &Seç Alt+Ctrl+B Alt+Ctrl+B Options... Tercihler... Configure Search Engines... Arama Motorlarını Yapılandır... &Ad Block... &Ad Block... When private browsing is turned on, some actions concerning your privacy will be disabled: Özel gezinme açıkken gizliliğinizle ilgili bazı eylemler kaydedilmeyecektir: Webpages are not added to the history. Sayfalar geçmişe eklenmeyecek. Items are automatically removed from the Downloads window. İndirilen öğeler otomatik olarak kaldırılacak. New cookies are not stored, current cookies can't be accessed. Yeni çerezler kaydedilmeyecek, mevcut çerezler kullanılmayacak. Site icons won't be stored. Site ikonları kaydedilmeyecek. Session won't be saved. Oturumunuz kaydedilmeyecek. Searches are not added to the pop-up menu in the search box. Arama kaydınız tutulmayacak. No new network cache is written to disk. Ağ önbelleği tutulmayacak. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Pencereyi kapatana kadar, İleri ve Geri tuşları ile açtığınız sayfalar arasında gezinmeye devam edebilirsiniz. Private Browsing Özel Gezinme ClearButton Clear Temizle ClearPrivateData Clear Private Data Özel Verileri Temizle Clear the following items: Aşağıdaki öğeleri temizle: &Browsing History &Gezinme Geçmişi &Download History &İndirilenler Geçmişi &Search History &Arama Geçmişi &Cookies &Çerezler C&ached Web Pages &Önbelleğe alınmış Web Sayfaları Website &Icons Web Sayfası S&imgeleri Clear &Private Data Özel Verileri Te&mizle &Cancel &İptal ClickToFlash Load Yükle Load All Hepsini Yükle Add %1 to Whitelist %1 i aklisteye ekle Remove from Whitelist Aklisteden kaldır Settings Ayarlar Load Flash Flash Yükle ClickToFlashSettings Whitelist sites Akliste siteleri CookieExceptionsModel Website Web Sayfası Rule Kural Allow İzin Ver Block Kısıtla Allow For Session Bu Oturum İçin İzin Ver CookieModel Website Web Sayfası Name İsim Path Yol Secure Güvenli Expires Sonlanma Contents İçerik true doğru false yanlış Session cookie Oturum çerezi CookiesDialog Cookies Çerezler &Remove &Kaldır Remove &All Cookies Tüm Çerezleri Kaldı&r Add &Rule &Kural Ekle CookiesExceptionsDialog Cookie Exceptions Çerez İstisnaları New Exception Yeni İstisna Domain: Etki Alanı: Block Blok Allow For Session Bu Oturuma İzin Ver Allow İzin Ver Exceptions İstisnalar &Remove &Kaldır Remove &All Hepsini Kaldı&r DownloadDialog Downloads İndirilenler Clean up Temizle 0 Items 0 Öğe &OK &Tamam DownloadItem Form Form Ico Ico Filename Dosyaadı Try Again Yeniden Dene Stop Dur Open Save File Dosyayı Kaydet Download canceled: %1 İndirme iptal edildi: %1 Error opening output file: %1 Çıktı dosyası açılırken hata oluştu: %1 Error saving: %1 Kaydederken hata oluştu: %1 Network Error: %1 Ağ Hatası: %1 seconds saniye %1 of %2 (%3/sec) %4 %2'nin %1'i (%3/sn) %4 ? ? %1 of %2 - Stopped %2'nin %1'i - Durdu bytes byte kB kB MB MB - %n minutes remaining - %n dakika kaldı - %n seconds remaining - %n saniye kaldı %1 of %2 (%3/sec) - %4 %1 / %2 (%3/sn) - %4 Download directory (%1) couldn't be created. İndirilenler klasörü (%1) oluşturulamadı. DownloadManager %n Download(s) %n İndirilen There are %1 downloads in progress Do you want to quit anyway? %1 indirme işlemi var Yine de çıkmak istiyor musunuz? %n minutes remaining %n dakika kaldı %n seconds remaining %n saniye kaldı bytes bytes kB kB MB MB GB GB FileAccessReply No Error Hata Yok Error opening: %1: No such file or directory Hata ! Böyle bir dosya ya da dizin bulunamadı: %1 Unable to read %1 %1 Okunamıyor Contents of %1 %1 İçeriği %1 KB %1 KB HistoryDialog History Geçmiş &Remove &Kaldır Remove &All &Hepsini Kaldır Open Copy Kopyala Delete Sil HistoryMenu Show All History Tüm Geçmişi Göster Clear History Geçmişi Temizle Clear History... Geçmişi Temizle... Do you want to clear the history? Geçmişi temizlemek istiyor musunuz? HistoryModel Title Başlık Address Adres HistoryTreeModel Earlier Today Bugünden Önce %n item(s) %n öğe JavaScriptAroraObject Welcome to Arora! Arora'ya Hoş Geldiniz! Arora Start Arora Başlangıç Search! Ara! Search results provided by Arama sonuçlarını sağlayan About Arora Arora Hakkında LanguageManager System locale (%1) %2 Sistem yereli (%1) %2 Choose language Dil Seçiniz <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>İşletim sisteminin varsayılan dilinden<br>başka bir dil seçebilirsiniz.</p><p>Lütfen kullanılacak dili seçini</p> No translation files are installed. Hiç çeviri dosyası yüklenmemiş. No translation files are installed at %1. %1 konumunda herhangi bir dil dosyası bulunamadı. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>%2 deki %1 için kullanıcı adı ve parola girin</qt> <qt>Connect to proxy "%1" using:</qt> <qt>Vekil "%1" 'e bunu kullanarak bağlan:</qt> SSL Errors: %1 %2 Do you want to ignore these errors? SSL Hataları: %1 %2 Bu hataları gözardı etmek istiyor musunuz? Do you want to accept all these certificates? Tüm bu sertifikaları kabul etmek istiyor musunuz? - SSL Errors - SSL Hataları <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>SSL Hataları:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Bu hataları görmezden gelmek istiyor musunuz?</qt> <qt>Certifactes:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Sertifikalar:<br/>%1<br/>Tüm bu sertifikaları kabul etmek istiyor musunuz?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Sertifikalar:<br/>%1<br/>Tüm bu sertifikaları kabul etmek istiyor musunuz?</qt> Issuer: %1 Hata: %1 Not valid before: %1 Şundan önce geçersiz: %1 Valid until: %1 Şuna kadar geçerli: %1 Alternate Names: Alternatif İsimler: NetworkMonitor Name İsim Value Değer NetworkMonitorDialog Network Monitor Ağ İzleyici Network Requests Ağ İstekleri Request Headers İstek Başlıkları Response Headers Yanıt Başlıkları &Remove &Kaldır Remove &All Requests &Tüm İstekleri Kaldır OpenSearchDialog Open File Dosya Aç OpenSearch OpenSearch Error Hata %1 is not a valid OpenSearch 1.1 description or is already on your list. %1 geçerli bir OpenSearch 1.1 açıklaması değil ya da zaten listenizde bulunuyor. You must have at least one search engine in here. Burada en az bir arama motoru olmalı. OpenSearch Manager OpenSearch Yöneticisi &Restore Defaults &Öntanımlıları Geri Yükle &Delete &Sil &Add &Ekle &Close &Kapat OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Açıklama:</strong> %1 <strong>Provides contextual suggestions</strong> <strong>İçeriksel öneriler sağlar</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Name İsim Keywords Anahtar Kelimeler OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 Aşağıdaki motoru arama motoru listenize eklemek istiyor musunuz?<br /><br />İsim: %1<br />Şurada arar: %2 PasswordDialog Authentication Required Kimlik Denetimi Gerekli DUMMY ICON DUMMY ICON INTRO TEXT DUMMY INTRO TEXT DUMMY Username: Kullanıcı Adı: Password: Parola: PlainTextEditSearch Not Found Bulunamadı ProxyDialog Proxy Authentication Vekil Kimlik Denetimi ICON ICON Connect to proxy Proxy'e bağlan Username: Kullanıcı adı: Password: Parola: QObject The file is not an XBEL version 1.0 file. Dosya bir XBEL sürüm 1.0 dosyası değil. Unknown title Bilinmeyen başlık The file is not an OpenSearch 1.1 file. Bu dosya bir OpenSearch 1.1 dosyası değil. RequestModel Redirect: %1 Yönlendir: %1 Method Metod Address Adres Response Yanıt Length Uzunluk Content Type İçerik Türü Info Bilgi SearchBanner Form Form TextLabel TextLabel < < > > Done Bitti Highlight All Hepsini Vurgula SearchLineEdit Search Ara Settings Preferences Tercihler General Genel On startup: Açılışta: Show my home page Giriş sayfamı göster Show a blank page Boş bir sayfa göster Restore windows and tabs from last time En son açık olan pencere ve sekmeleri geri yükle Home Page: Giriş Sayfası: Set to current page Mevcut sayfayı ayarla Remove history items: Geçmiş öğeleri kaldır: After one day Bir gün sonra After one week Bir hafta sonra After two weeks İki hafta sonra After one month Bir ay sonra After one year Bir yıl sonra Manually Elle On application exit Uygulama kapanırken Open links from applications: Uygulamalardaki bağlantıları aç: In a tab in the current window Mevcut penceredeki bir sekmede In a new window Yeni pencerede Downloads İndirilenler Ask for a destination each time Her seferinde hedefi sor Use this destination: Bu hedefi kullan: Appearance Görünüm Standard font: Standart yazıtipi: Times 16 Times 16 Select... Seç... Fixed-width font: Sabit-genişlikli yazıtipi: Courier 13 Courier 13 Privacy Gizlilik Web Content Web İçeriği Enable Plugins Eklentileri Aktif Et Enable Javascript Javascript'i Aktif Et View Images Görüntüleri Göster Cookies Çerezler Accept Cookies: Çerezleri Kabul Et: Always Herzaman Never Asla Only from sites you navigate to Sadece şu sayfalarda gezinirken Exceptions... İstisnalar... Keep Cookies Until: Çerezleri Tut: They expire Süresi dolunca I exit the application Uygulamadan çıkarken At most 90 days En fazla 90 gün Cookies... Çerezler... Tabs Sekmeler Select tabs and windows as they are created Pencere ve sekmeleri oluşturulduklarında seç Confirm when closing multiple tabs Çoklu sekmeleri kapatırken onay iste Proxy Vekil Sunucu Use proxy server Vekil sunucu kullan Type: Tür: Socks5 Socks5 Http Http Host name: Sunucu adı: Port: Port: User Name: Kullanıcı Adı: Password: Parola: Advanced Gelişmiş Style Sheet: Style Sheet: Show only one close button instead of one for each tab Her sekmede göstermek yerine tek bir kapatma düğmesi göster Preferred languages for viewing webpages in: Web sayfalarını gezinirken tercih edilecek dil: Block Popup Windows Açılır Pencereleri Engelle Opening links Bağlantıların açılması Links that want to open in a new window: Yeni pencerede açılması istenilen bağlantılar: In a new selected tab in the current window Mevcut pencerede seçilmiş yeni bir sekmede In a new tab in the current window Mevcut pencerede yeni bir sekmede In the current tab Mevcut sekmede Http (Secure) Http (Güvenli) Http (Transparent) Http (Transparent) Use ClickToFlash on flash plugins Flash eklentilerinde ClickToFlash kullan Filter Tracking Cookies Çerezleri Filtrele Confirm when closing multiple tabs or windows Birden çok pencere ve sekme kapatılırken doğrula Quit the application when last tab is closed Son sekme kapatıldığında uygulamayı kapat Enable network cache Ağ önbelleğini etkinleştir Maximum Size: Azami Boyut: MB MB Use the default search engine as fallback when the URL given by the user is invalid Girilen adres geçersizse varsayılan arama motoru ile arama yap Choose Directory... Dizin Seç... A cookie session ends: Çerez Oturumlarını Sil: When I exit the application Uygulama kapanınca 1 day 1 gün sonra 2 days 2 gün sonra 3 days 3 gün sonra 7 days 7 gün sonra 30 days 30 gün sonra AutoFill Otomatik Doldur AutoFill web forms: Formları Otomatik Doldur: User names and passwords Kullanıcı adları ve parolalar Edit... Düzenle... Browse... Gözat... SettingsDialog Restart required Yeniden başlatmak gerekiyor The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. Ağ önbelleği yapılandırması değişti. İşleme alınması için tarayıcının yeniden başlatılması gerekiyor. Choose Directory Dizin Seç Choose CSS File CSS Dosyası Seç SourceViewer Loading... Yükleniyor... &Edit D&üzenle &Find &Bul Source of Page Sayfanın Kaynağı &View &Görünüm &Wrap lines Satırları &kaydır Source of Page %1 %1 Sayfasının Kaynağı TabBar Show Tab Bar Sekme Çubuğunu Göster Hide Tab Bar Sekme Çubuğunu Gizle New &Tab Yeni Se&kme Duplicate Tab Sekmeyi Kopyala &Close Tab Sekmeyi K&apat Close &Other Tabs Diğer Sekmeleri Kapa&t Reload Tab Sekmeyi Yeniden Yükle Reload All Tabs Tüm Sekmeleri Yeniden Yükle TabWidget New &Tab Yeni Sek&me &Close Tab Sekmeyi K&apat Show Next Tab Sonraki Sekmeyi Göster Show Previous Tab Önceki Sekmeyi Göster Recently Closed Tabs Yeni Kapatılan Sekmeler (Untitled) (Başlıksız) Do you really want to close this page? Bu sayfayı gerçekten kapatmayı istiyor musunuz? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Bu sayfada düzenleme yaptınız ve eğer kapatırsanız tüm düzenlemelerinizi kaybedeceksiniz. Bu sayfayı gerçekten kapatmayı istiyor musunuz? Untitled Başlıksız Ctrl-] Ctrl-] Ctrl-[ Ctrl-[ Saved Tabs Saklanan Sekmeler Loading... Yükleniyor... Loading %1% (%2 %3)... Yükleniyor %1% (%2 %3)... Finished loading Yükleme bitti Failed to load Yükleme başarısız Bookmark All Tabs Tüm Sekmeleri Yerimlerine Ekle ToolbarSearch No Recent Searches Yeni Arama Yok Recent Searches Yeni Aramalar Clear Recent Searches En Son Aramaları Temizle Suggestions Öneriler Add '%1' %1 Ekle Configure Search Engines... Arama Motorlarını Yapılandır... WebPage Error loading page: %1 Sayfayı yüklerken hata: %1 When connecting to: %1. Bağlanırken: %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org <b>www</b>.arora-browser.org yerine <b>ww</b>.arora-browser.org şeklindeki adres hatalarını kontrol edin If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Ağınız ya da bilgisayarınız güvenlik duvarı veya vekil sunucu ile korunuyorsa, tarayıcınızın ağ erişimine izin verildiğinden emin olunuz. If the address is correct, try checking the network connection. Adres doğruysa, ağ bağlantınızı kontrol etmeyi deneyin. Resending POST request POST isteği yeniden gönderiliyor In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? Bu sayfayı göstermek için daha önce gerçekleştirilen eylemler (ör. arama emri ) tekrarlanacak ve bilgiler yeniden gönderilecek. Devam etmek istiyor musunuz ? WebView Open in New &Window Yeni &Pencerede Aç Open in New &Tab &Yeni Sekmede Aç Save Lin&k &Bağlantıyı Kaydet &Bookmark This Link &Bu Bağlantıyı Yerimlerine Ekle &Copy Link Location Bağlantının Konumunu &Kopyala Open Image in New &Window Görüntüyü Yeni &Pencerede Aç Open Image in New &Tab &Görüntüyü Yeni Sekmede Aç &Save Image G&örüntüyü Kaydet &Copy Image G&örüntüyü Kopyala C&opy Image Location Gö&rüntünün Konumunu Kopyala Loading... Yükleniyor... Search with... Şununla ara... Add to the toolbar search Araç çubuğu aramasına ekle Method not supported Metod desteklenmiyor %1 method is not supported. method desteklenmiyor: %1 . Search engine Arama motoru Choose the desired search engine Kullanmak istediğiniz arama motorunu seçin Engine name Arama motoru adı Type in a name for the engine Arama motoru için bir ad belirtin Block Image Resimleri Engelle WebViewSearch Not Found Bulunamadı arora-0.11.0/src/locale/uk.ts000066400000000000000000002770271145000221100157130ustar00rootroot00000000000000 AboutDialog About Про програму Authors Автори License Ліцензія Lightweight WebKit-based web browser Легкий переглядач тенет, оснований на WebKit <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> Close Закрити About %1 Про %1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style="font-size:9pt;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> WebKit version: %1 Версія WebKit: %1 AcceptLanguage Languages Мови Languages: in order of preference: Мови: в порядку застосування: Move &Up Перемістити &вище Move &Down Перемістити &нижче &Remove &Вилучити Add... Додати... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 AdBlockRule заборонив: %1 AdBlockDialog Add Custom Rule Додати спеціальне правило Learn more about writing rules... Дізнатись детальніше щодо написання правил... Update Subscription Оновити підписку Browse Subscriptions... Переглянути підписки... Remove Subscription Вилучити підписку AdBlock Configuration Налаштування AdBlock Enable AdBlock Увімкнути AdBlock Action Дія AdBlockManager Custom Rules Спеціальні правила AdBlockModel Rule Правило AdBlockSchemeAccessHandler Subscribe? Підписатись? Subscribe to this AdBlock subscription? %1 Підписатись до цієї підписки AdBlock? %1 AddBookmarkDialog Add Bookmark Закласти Type a name for the bookmark, and choose where to keep it. Введіть назву закладки та виберіть куди її додати. Url Посилання Title Заголовок Add Folder Додати теку AutoFillDialog Form Passwords Форма паролів Remove Вилучити Remove All Вилучити всі AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. <b>Бажаєте зберегти цей пароль?</b><br> Щоб переглядати і вилучати збережені паролі, відкрийте налаштування автоматичного заповнення. Never for this site Ніколи для цього сайта Not now Не зараз AutoFillModel WebSite Сайт User Name Ім'я користувача BookmarksDialog Open Відкрити Open in New Tab Відкрити в новій вкладці Delete Вилучити New Folder Нова тека Bookmarks Закладки &Remove &Вилучити Add Folder Додати теку Edit Name Редагувати назву Edit Address Редагувати адресу BookmarksManager Error when loading bookmarks on line %1, column %2: %3 Помилка завантаження закладок у рядку %1, стовпець %2: %3 Toolbar Bookmarks Панель закладок Menu Меню Open File Відкрити файл XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) Imported %1 %1 імпортована Save File Зберегти файл %1 Bookmarks.xbel %1 Bookmarks.xbel Export error Помилка експорту error saving bookmarks Помилка збереження закладок Remove Bookmark Вилучити закладку Insert Bookmark Вставити закладку Name Change Зміна назви Address Change Зміна адреси Bookmarks Bar Панель закладок Bookmarks Menu Меню закладок XBEL (*.xbel *.xml *.html) XBEL (*.xbel *.xml *.html) Error when loading html bookmarks: %1 Помилка під час завантаження закладки html: %1 XBEL XBEL Name Change Undo bookmark title change Зміна назви Address Change Undo bookmark url change Зміна адреси XBEL bookmarks Закладки XBEL HTML Netscape bookmarks Закладки HTML Netscape htmlToXBel tool required Інструмент запиту htmlToXBel htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. Інструмент htmlToXBel, який поставляється з Arora і потрібний для імпорту закладок у HTML, не встановлено або недоступний в шляхах пошуку. Loading Bookmark Завантаження закладки Error when loading HTML bookmarks: %1 Помилка при завантажені закладок HTML: %1 BookmarksMenu Open in Tabs Відкрити у вкладках BookmarksModel Title Заголовок Address Адреса BookmarksToolBar Bookmark Закладка Open Відкрити Open in New &Tab Відкрити в новій &вкладці Remove Вилучити Add Bookmark... Закласти... Add Folder... Додати теку... Bookmarks Закладки BrowserApplication (Change: %1 %2) (Змінити: %1 %2) There are %1 windows and %2 tabs open Do you want to quit anyway? Відкрито %1 вікон та %2 вкладок Бажаєте вийти попри все? Restore failed Невдале відновлення The saved session will not be restored because Arora crashed while trying to restore this session. Збережений сеанс не буде відновлена, оскільки Arora аварійно завершується при спробі відновити її. Arora crashed while trying to restore this session. Should I try again? Arora зазнала краху протягом відновлення цього сеансу. Спробувати ще раз? BrowserMainWindow &File &Файл &New Window Нове &вікно &Open File... Відкрити &файл... Open &Location... Відкрити &місце... &Save As... &Зберегти як... &Import Bookmarks... &Імпортувати закладки... &Export Bookmarks... &Експортувати закладки... P&rint Preview... &Попередній перегляд друку... &Print... &Друк... Private &Browsing... П&риватне переглядання... &Quit &Вийти &Edit &Правка &Undo &Повернути &Redo &Повторити Cu&t &Вирізати &Copy &Скопіювати &Paste &Вставити &Find &Знайти Find Nex&t &Знайти наступне Find P&revious &Знайти попереднє Prefere&nces... &Налаштування... Ctrl+, Ctrl+, &View &Огляд Show Menu Bar Показати панель меню Ctrl+| Ctrl+| Shift+Ctrl+B Shift+Ctrl+B Ctrl+/ Ctrl+/ &Stop &Зупинити &Reload Page &Перезавантажити сторінку Make Text &Bigger З&більшити шрифт Make Text &Normal &Звичайний шрифт Make Text &Smaller З&меншити шрифт Page S&ource &Код сторінки Ctrl+Alt+U Ctrl+Alt+U &Full Screen На весь &екран Hi&story &Журнал Back Назад Forward Вперед Home Домівка Restore Last Session Відновити попередній сеанс &Bookmarks &Закладки Manage Bookmarks... Впорядкувати закладинки... Add Bookmark... Закласти... &Window &Вікно &Tools &Інструменти Web &Search &Пошук в тенетах Ctrl+K Web Search Ctrl+K &Clear Private Data &Очистити особисті дані Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete Enable Web &Inspector Ввімкнути Web &Inspector &Help &Довідка Switch application language Перемкнути мову програми About &Qt Про &Qt About &Arora Про &Arora Navigation Навігація Show Status Bar Показати панель стану Hide Status Bar Сховати панель стану Show Toolbar Показати панель інструментів Hide Toolbar Сховати панель інструментів Show Bookmarks Bar Показати панель закладок Hide Bookmarks Bar Сховати панель закладок Arora Arora %1 - Arora Page title and Browser name %1 — Arora Open Web Resource Відкрити ресурс тенет Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Ресурс тенет (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Print Document Надрукувати документ Are you sure you want to turn on private browsing? Ви впевнені, що бажаєте ввімкнути приватне переглядання? <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Коли приватне переглядання ввімкнене, деякі дії, що стосуються вашої приватності, будуть вимкнені:<ul><li> Сторінки тенет не додаються до журналу.</li><li> Елементи автоматично видаляються з вікна звантажень.</li><li> Нові коржики не зберігаються, поточні недоступні.</li><li> Піктограми сайтів не зберігаються, сесії не можуть бути збережені.</li><li> Пошуки не додаються до виринаючого меню в панелі пошуку.</li></ul>Поки ви не закриєте вікно, можете все ще напискати кнопки "Вперід" та "Назад", щоб повернутися до відкритих сторінок. Are you sure you want to close the window? There are %1 tabs open Ви впевнені, що бажаєте закрити вікно? Відкрито %1 вкладок Web Inspector Інспектор тенет The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Інспектор тенет буде працювати правильно лише для сторінок, які завантажені після його вмикання. Ви бажаєте перезавантажити всі сторінки? Stop loading the current page Зупинити завантаження поточної сторінки Reload the current page Перезавантажити поточну сторінку Downloads Звантаження Alt+Ctrl+L Download Manager Alt+Ctrl+L Show &Network Monitor Показати &монітор мережі Close Window Закрити вікно Zoom &In З&більшити масштаб Zoom &Normal &Нормальний масштаб Zoom &Out З&меншити масштаб Zoom &Text Only Масштабувати тільки &текст Show All Bookmarks... Показати всі закладки... Add Folder... Додати теку... About &%1 About Browser Про &%1 <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Якщо приватний перегляд увімкнено, деякі дії, що стосуються вашої приватності, будуть вимкнені:<ul><li> Сторінки тенет не додаються до історії.</li><li> Елементи автоматично вилучаються з вікна звантажень</li><li> Нові куки не зберігаються, до поточних немає доступу.</li><li> Піктограми сайтів не зберігатимуться, сесії не будуть збережені.</li><li> Пошуки не додані до виринаючого меню в панелі пошуку.</li></ul>Поки не закриєте вікно, ви все ще можете натискати кнопки „Назад“ та „Вперед“, щоб повернутись до сторінок, які ви відкривали. Ctrl+Y Download Manager Ctrl+Y Default Типове Text Encoding Кодування тексту <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li><li> Network cache is disabled.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Коли увімкнуто приватне переглядання, деякі дії стосовно вашої приватності будуть вимкнуті:<ul><li> Сторінки не реєструються в журналі.</li><li> Звантаження автоматично вилучатимуться зі списку.</li><li> Нові куки не зберігатимуться, поточні куки будуть недоступні.</li><li> Піктограми сайтів не зберігатимуться, сеанси також.</li><li> Пошуки не додаватимуться до виринного меню в коробці пошуку.</li><li> Мережевий кеш буде вимкнено.</li></ul>Допоки не закриті вікна, ви можете продовжувати натискати кнопки Назад і Вперед, щоб повертатись до сторінок, які ви повідкивали. Select &All Вибрати в&се Alt+Ctrl+B Alt+Ctrl+B <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li><li> No new network cache is written to disk.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Коли увімкнуто приватне переглядання, деякі дії стосовно вашої приватності будуть вимкнуті:<ul><li> Сторінки не реєструються в журналі.</li><li> Звантаження автоматично вилучатимуться зі списку.</li><li> Нові куки не зберігатимуться, поточні куки будуть недоступні.</li><li> Піктограми сайтів не зберігатимуться, сеанси також.</li><li> Пошуки не додаватимуться до виринного меню в коробці пошуку.</li><li> Мережевий кеш буде вимкнено.</li></ul>Допоки не закриті вікна, ви можете продовжувати натискати кнопки Назад і Вперед, щоб повертатись до сторінок, які ви повідкривали. Options... Варіанти... Configure Search Engines... Налаштувати рушії пошуку... &Ad Block... &Ad Block... When private browsing is turned on, some actions concerning your privacy will be disabled: Коли приватне переглядання ввімкнуто, деякі дії, стосовно ваших приватних вподобань, буде вимкнуто: Webpages are not added to the history. Сторінки не записуються в журналі. Items are automatically removed from the Downloads window. Пункти звантажень автоматично вилучаються з вікна звантажень. New cookies are not stored, current cookies can't be accessed. Нові куки не зберігаються, і їх неможливо дозволити. Site icons won't be stored. Піктограми сайтів не будуть зберігатись. Session won't be saved. Сеанс не буде зберігатись. Searches are not added to the pop-up menu in the search box. Пошуки не долучаються до виринного меню в коробці пошуку. No new network cache is written to disk. Новий мережевий кеш не зберігається на диск. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Ви можете натискати кнопки Назад та Вперед, щоб повертатись до сторінок, котрі ви повідкривали, поки не ви не закриєте саме вікно. Private Browsing Приватне переглядання ClearButton Clear Очистити ClearPrivateData Clear Private Data Очистити особисті дані Clear the following items: Очистити такі елементи: &Browsing History Журнал &переглядання &Download History Журнал &звантажень &Search History Журнал п&ошуку &Cookies &Куки C&ached Web Pages За&кешовані сторінки Website &Icons &Піктограми сайтів Clear &Private Data &Очистити особисті дані &Cancel &Скасувати ClickToFlash Load Завантажити Load All Завантажити все Add %1 to Whitelist Долучити %1 до рекомендаційного списку Remove from Whitelist Вилучити з рекомендаційного списку Settings Налаштування Load Flash Завантажити Flash ClickToFlashSettings Whitelist sites Сайти, які рекомендовано до списку CookieExceptionsModel Website Сайт Rule Правило Allow Дозволити Block Заборонити Allow For Session Дозволити для сеансу CookieModel Website Сайт Name Назва Path Шлях Secure Безпечно Expires Спливає Contents Вміст true так false ні Session cookie Сеанс куки CookiesDialog Cookies Куки &Remove &Вилучити Remove &All Cookies Вилучити &всі куки Add &Rule Додати &правило CookiesExceptionsDialog Cookie Exceptions Винятки куки New Exception Новий виняток Domain: Домен: Block Заборонити Allow For Session Дозволити для сеансу Allow Дозволити Exceptions Винятки &Remove &Вилучити Remove &All Вилучити &все Dialog Dialog Діалог Left: Ліворуч: Foo Bar Baz Arora LineEdit Manual Test This is the end Foo Bar Baz Arora LineEdit Manual Test This is the end Right: Праворуч: Empty: Порожньо: Foo Bar Baz Arora LineEdit Manual Test Foo Bar Baz Arora LineEdit Manual Test Widget Віджет Site Icon Піктограма сайту RSS RSS Bookmark Закладинки Position Розміщення Left Ліворуч Right Праворуч Add Додати Remove Вилучити Swap Visibility Перемкнути видимість Add ToolButton Додати кнопку інструмента DownloadDialog Downloads Звантаження Clean up Очистити 0 Items 0 пунктів &OK &Гаразд DownloadItem Form Форма Ico Піктограма Filename Назва файла Try Again Спробувати знову Stop Зупинити Open Відкрити Save File Зберегти файл Download canceled: %1 Звантаження скасовано: %1 Error opening output file: %1 Помилка відкриття вихідного файла: %1 Error saving: %1 Помилка збереження: %1 Network Error: %1 Помилка мережі: %1 seconds с - %n minutes remaining - залишилась %n хвилина - залишилось %n хвилини - залишилось %n хвилин - %n seconds remaining - залишилась %n секунда - залишилось %n секунди - залишилось %n секунд %1 of %2 (%3/sec) %4 %1 з %2 (%3/с) %4 ? ? %1 of %2 - Stopped %1 з %2 — Зупинено bytes байт kB кбайт MB Мбайт %1 of %2 (%3/sec) - %4 %1 з %2 (%3/с) — %4 Download directory (%1) couldn't be created. Неможливо створити теку звантаження (%1). DownloadManager %n Download(s) %n звантаження %n звантаження %n звантажень There are %1 downloads in progress Do you want to quit anyway? Звантажень в поступі: %1 Бажаєте вийти попри все? %n minutes remaining Залишилась %n хвилина Залишилось %n хвилини Залишилась %n хвилин %n seconds remaining Залишилась %n секунда Залишилось %n секунди Залишилось %n секунд bytes байт kB кБ MB МБ GB ГБ FileAccessReply No Error Без помилок Error opening: %1: No such file or directory Помилка відкриття: %1: Немає такого файла або теки Unable to read %1 Неможливо прочитати %1 Contents of %1 Зміст %1 %1 KB %1 КБ HistoryDialog Open Відкрити Copy Копіювати Delete Вилучити History Журнал &Remove &Вилучити Remove &All Вилучити &все HistoryMenu Show All History Показати всю історію Clear History... Очистити історію... Clear History Очистити історію Do you want to clear the history? Ви бажаєте очистити історію? HistoryModel Title Заголовок Address Адреса HistoryTreeModel Earlier Today Раніше сьогодні %n item(s) %n елемент %n елемента %n елементів JavaScriptAroraObject Welcome to Arora! Ласкаво просимо до Arora! Arora Start Запуск Arora Search! Пошук! Search results provided by Результати пошуку надаються About Arora Про Arora LanguageManager System locale (%1) %2 Системна локаль (%1) %2 Choose language Вибрати мову <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Ви можете працювати з іншою мовою,<br>що типово не є системною.</p><p>Будь ласка, виберіть мову, яку слід використовувати</p> No translation files are installed. Не встановлено файли перекладів. No translation files are installed at %1. Немає файлів перекладів у %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>Введіть ім'я користувача та пароль для "%1" на %2</qt> <qt>Connect to proxy "%1" using:</qt> <qt>З'єднатись зі проксі "%1", використовуючи:</qt> SSL Errors: %1 %2 Do you want to ignore these errors? Помилки SSL: %1 %2 Ви хочете нехтувати ці помилки? Do you want to accept all these certificates? Ви хочете прийняти всі ці сертифікати? - SSL Errors — помилки SSL <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>Помилки SSL:<br/><br/>для: <tt>%1</tt><ul><li>%2</li></ul> Ви бажаєте нехтувати цими помилками?</qt> <qt>Certifactes:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Сертифікати:<br/>%1<br/>Ви хочете прийняти всі ці сертифікати?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>Сертифікати:<br/>%1<br/>Ви бажаєте дозволити всі оці сертифікати?</qt> Issuer: %1 Видавець: %1 Not valid before: %1 Неправильно перед: %1 Valid until: %1 Правильно допоки: %1 Alternate Names: Альтернативні назви: NetworkMonitor Name Назва Value Значення NetworkMonitorDialog Network Monitor Монітор мережі Network Requests Запити мережі Request Headers Заголовки запитів Response Headers Заголовки відповідей &Remove &Вилучити Remove &All Requests Вилучити &всі запити OpenSearchDialog Open File Відкрити файл OpenSearch OpenSearch Error Помилка %1 is not a valid OpenSearch 1.1 description or is already on your list. %1 — не OpenSearch 1.1 або він вже є у вашому списку. You must have at least one search engine in here. Ви змушені мати тут щонайменше один рушій пошуку. OpenSearch Manager Керування OpenSearch &Restore Defaults &Відновити до типових &Delete В&илучити &Add &Додати &Close &Закрити OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Опис:</strong> %1 <strong>Provides contextual suggestions</strong> <strong>Забезпечує контекстові поради</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Список відокремлених комами ключових слів, які можна ввести для пошуку термінів з цим рушієм Name Назва Keywords Ключові слова OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 Ви бажаєте додати такий рушій пошуку до вашого списку?<br /><br />Назва: %1<br />Шукає в: %2 PasswordDialog Authentication Required Необхідне засвідчення DUMMY ICON DUMMY ICON INTRO TEXT DUMMY INTRO TEXT DUMMY Username: Ім'я користувача: Password: Пароль: PlainTextEditSearch Not Found Не знайдено ProxyDialog Proxy Authentication Засвідчення на проксі ICON ICON Connect to proxy З'єднання з проксі Username: Ім'я користувача: Password: Пароль: QObject The file is not an XBEL version 1.0 file. Це не файл XBEL версії 1.0. Unknown title Невідомий заголовок The file is not an OpenSearch 1.1 file. Це не файл OpenSearch 1.1. RequestModel Redirect: %1 Перенаправлення: %1 Method Спосіб Address Адреса Response Відповідь Length Довжина Content Type Тип вмісту Info Інформація SearchBanner Form Форма TextLabel ТекстоваМітка < < > > Done Виконано Highlight All Виділити все SearchLineEdit Search Пошук Settings Preferences Налаштування General Загальні On startup: При запуску: Show my home page Показувати мою домашню сторінку Show a blank page Показувати порожню сторінку Restore windows and tabs from last time Відновлювати попередні вікна і вкладки Home Page: Домашня сторінка: Set to current page Встановити поточну сторінку Remove history items: Вилучати з журналу: After one day Після однієї доби After one week Після одного тижня After two weeks Після двох тижнів After one month Після одного місяця After one year Після одного року Manually Вручну On application exit При виході з програми Open links from applications: Відкривати посилання з програм: In a tab in the current window У вкладці в поточному вікні In a new window У новому вікні Downloads Звантаження Ask for a destination each time Запитувати кожного разу, куди зберігати Use this destination: Використовувати це місце: Appearance Зовнішній вигляд Standard font: Звичайний шрифт: Times 16 Times 16 Select... Вибрати... Fixed-width font: Шрифт фіксованої ширини: Courier 13 Courier 13 Privacy Приватність Web Content Зміст тенет Enable Plugins Ввімкнути модулі Enable Javascript Ввімкнути Javascript View Images Переглянути зображення Cookies Куки Accept Cookies: Дозволяти куки: Always Завжди Never Ніколи Only from sites you navigate to Тільки для сайтів, які ви переглядаєте Exceptions... Винятки... Keep Cookies Until: Зберігати куки допоки: They expire Вони не застаріють I exit the application Я не вийду з програми At most 90 days Не більше 90 діб Cookies... Куки... Tabs Вкладки Select tabs and windows as they are created Вибрати вкладки та вікна щойно вони створені Confirm when closing multiple tabs Запитувати перед закриттям багатьох вкладок Proxy Проксі Use proxy server Використовувати проксі-сервер Type: Тип: Socks5 Socks5 Http Http Host name: Назва хосту: Port: Порт: User Name: Ім'я користувача: Password: Пароль: Advanced Додатково Style Sheet: Шаблон стилю: Show only one close button instead of one for each tab Показувати тільки одну кнопку для закривання, замість по одній на кожній вкладці Preferred languages for viewing webpages in: Бажана мова для перегляду сторінок тенет у: Block Popup Windows Заборонити виринні вікна Opening links Відкриття посилань Links that want to open in a new window: Посилання, які бажаєте відкрити у новому вікні: In a new selected tab in the current window У новій вибраній вкладці поточного вікна In a new tab in the current window У новій вкладці поточного вікна In the current tab У поточній вкладці Http (Secure) Http (безпечне) Http (Transparent) Http (прозоре) Use ClickToFlash on flash plugins Використовувати ClickToFlash для модулів Flash Filter Tracking Cookies Фільтр відстежування кук Confirm when closing multiple tabs or windows Запитувати перед закриттям багатьох вкладок і вікон Quit the application when last tab is closed Вимкнути програму, коли остання вкладка закрита Enable network cache Увімкнути мережевий кеш Maximum Size: Максимальний розмір: MB МБ Use the default search engine as fallback when the URL given by the user is invalid Використовувати типовий рушій пошуку для помилкових посилань, котрі вводить користувач Choose Directory... Вибрати теку... A cookie session ends: Сеанс куки закінчився: When I exit the application Коли я виходжу з програми 1 day 1 день 2 days 2 дні 3 days 3 дні 7 days 7 днів 30 days 30 днів AutoFill Автоматичне заповнення AutoFill web forms: Автоматичне заповнення форм у тенетах: User names and passwords Псевдоніми і паролі користувача Edit... Правка... Browse... Огляд... SettingsDialog Restart required Потрібно перезапустити The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. Налаштування мережевого кеша змінено. Але переглядач потрібно перезапустити, щоб налаштування набрали чинності. Choose Directory Вибрати теку Choose CSS File Вибрати файл CSS SourceViewer Loading... Завантажується... &Edit &Правка &Find &Знайти Source of Page Код сторінки &View &Переглянути &Wrap lines &Перенести рядки Source of Page %1 Код сторінки %1 TabBar Show Tab Bar Показати панель вкладок Hide Tab Bar Сховати панель вкладок New &Tab Нова &вкладка Duplicate Tab Дублювати вкладку &Close Tab &Закрити вкладку Close &Other Tabs Закрити &інші вкладки Reload Tab Перезавантажити вкладку Reload All Tabs Перезавантажити всі вкладки TabWidget New &Tab Нова &вкладка &Close Tab &Закрити вкладку Show Next Tab Показати наступну вкладку Show Previous Tab Показати попередню вкладку Recently Closed Tabs Нещодавно закриті вкладки Untitled Без назви Do you really want to close this page? Ви справді бажаєте закрити цю сторінку? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Ви змінили цю сторінку і коли закриєте її, втратите зміни. Ви справді бажаєте закрити цю сторінку? Ctrl-] Ctrl-] Ctrl-[ Ctrl-[ Saved Tabs Збережені вкладки Loading... Завантажується... Loading %1% (%2 %3)... Завантажується %1% (%2 %3)... Finished loading Завантаження закінчилось Failed to load Неможливо завантажити Bookmark All Tabs Закласти всі вкладки ToolbarSearch No Recent Searches Немає нещодавніх пошуків Recent Searches Нещодавні пошуки Clear Recent Searches Очистити нещодавні пошуки Suggestions Поради Add '%1' Додати '%1' Configure Search Engines... Налаштувати рушії пошуку... WebPage Error loading page: %1 Помилка під час завантаження сторінки: %1 When connecting to: %1. Коли з'єднуємся з: %1. Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org Перевірте адресу на помилки такі, як <b>ww</b>.arora-browser.org замість <b>www</b>.arora-browser.org If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Якщо ваш комп'ютер або мережа захищена вогняною стінкою(firewall) або проксі, впевніться, що переглядачеві дозволений доступ до мережі. If the address is correct, try checking the network connection. Якщо адреса правильна, спробуйте перевірити з'єднання з мережею. Resending POST request Повторне передавання запиту POST In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? Для того, щоб показати сайт, запит всіх даних потрібно відправити ще раз, що може призвести до несподіваної поведінки сайта, наприклад, ті самі дії виконаються ще раз.Бажаєте продовжити попри все? WebView Open in New &Window Відкрити в новому &вікні Open in New &Tab Відкрити в новій &вкладці Save Lin&k Зберегти &посилання &Bookmark This Link &Додати посилання до закладок &Copy Link Location &Скопіювати посилання Open Image in New &Window Відкрити зображення в новому &вікні Open Image in New &Tab Відкрити зобаження в новій в&кладці &Save Image &Зберегти зображення &Copy Image &Копіювати зображення C&opy Image Location К&опіювати посилання на зображення Loading... Завантаження... Search with... Шукати з... Add to the toolbar search Додати до панелі інструментів пошуку Method not supported Спосіб не підтримується %1 method is not supported. Спосіб %1 не підтримується. Search engine Рушій пошуку Choose the desired search engine Вибрати потрібний рушій пошуку Engine name Назва рушія Type in a name for the engine Введіть назву для рушія Block Image Заборонити зображення WebViewSearch Not Found Не знайдено tst_SearchLineEdit Search Пошук arora-0.11.0/src/locale/zh_CN.ts000066400000000000000000002116161145000221100162650ustar00rootroot00000000000000 AboutDialog About 关于 Authors 作者 License 许可证 Lightweight WebKit-based web browser 轻快的浏览器-基于Webkit <a href="http://arora-browser.org">http://arora-browser.org</a> Close 关闭 About %1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> WebKit version: %1 AcceptLanguage Languages Languages: in order of preference: Move &Up Move &Down &Remove 移除(&R) Add... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 AdBlockDialog Add Custom Rule Learn more about writing rules... Update Subscription Browse Subscriptions... Remove Subscription AdBlock Configuration Enable AdBlock Action AdBlockManager Custom Rules AdBlockModel Rule 规则 AdBlockSchemeAccessHandler Subscribe? Subscribe to this AdBlock subscription? %1 AddBookmarkDialog Add Bookmark 添加书签 Type a name for the bookmark, and choose where to keep it. 请输入书签名,并选择保存位置 Url Title 标题 Add Folder 添加文件夹 AutoFillDialog Form Passwords Remove Remove All AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. Never for this site Not now AutoFillModel WebSite User Name BookmarksDialog Open 打开 Open in New Tab 在新标签页中打开 Delete 删除 New Folder 新建文件夹 Bookmarks 书签 &Remove 移除(&R) Add Folder 添加文件夹 Edit Name Edit Address BookmarksManager Error when loading bookmarks on line %1, column %2: %3 在行%1,列%2: %3导入书签时出错 Toolbar Bookmarks 工具栏书签 Menu 菜单 Open File 打开文件 Imported %1 导入的%1 Save File 保存文件 %1 Bookmarks.xbel Export error 导出错误 error saving bookmarks 保存书签出错 Remove Bookmark 移除书签 Insert Bookmark 插入书签 Name Change 名字变更 Address Change 地址变更 Bookmarks Bar Bookmarks Menu Name Change Undo bookmark title change 名字变更 Address Change Undo bookmark url change 地址变更 XBEL bookmarks HTML Netscape bookmarks htmlToXBel tool required htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. Loading Bookmark Error when loading HTML bookmarks: %1 BookmarksMenu Open in Tabs BookmarksModel Title 标题 Address 地址 BookmarksToolBar Bookmark 书签 Open 打开 Open in New &Tab 在新标签页中打开(&T) Remove Add Bookmark... 添加标签... Add Folder... Bookmarks 书签 BrowserApplication (Change: %1 %2) (变更: %1 %2) There are %1 windows and %2 tabs open Do you want to quit anyway? 有%1个窗口和%2个标签为打开状态 仍旧确认退出吗? Restore failed 恢复失败 The saved session will not be restored because Arora crashed while trying to restore this session. 保存的会话不会恢复,因为Arora在尝试恢复该会话时已崩溃。 Arora crashed while trying to restore this session. Should I try again? BrowserMainWindow &File 文件(&F) &New Window 新窗口(&N) &Open File... 打开文件(&O)... Open &Location... 打开位置(&L)... &Save As... 另存为(&S)... &Import Bookmarks... 导入书签(&I)... &Export Bookmarks... 导出书签(&E)... P&rint Preview... 打印预览(&P)... &Print... 打印(&P)... Private &Browsing... 隐私浏览(&B)... &Quit 退出(&Q) &Edit 编辑(&E) &Undo 撤销(&U) &Redo 重做(&R) Cu&t 剪切(&t) &Copy 复制(&C) &Paste 粘帖(&P) &Find 查找(&F) Find Nex&t 查找下一个(&t) Find P&revious 查找前一个(&r) Prefere&nces... 选项(&r)... Ctrl+, &View 查看(&V) Show Menu Bar 显示菜单栏 Ctrl+| Ctrl+/ &Stop 停止(&S) &Reload Page 重新加载页面(&R) Make Text &Bigger 字体放大(&B) Make Text &Normal 普通字体(&N) Make Text &Smaller 字体缩小(&S) Page S&ource 页面源码(&o) Ctrl+Alt+U &Full Screen 全屏(&F) Hi&story 历史(&s) Back 后退 Forward 前进 Home 主页 Restore Last Session 恢复最后一次会话 &Bookmarks 标签(&B) Manage Bookmarks... 管理标签... Add Bookmark... 添加标签... &Window 窗口(&W) &Tools 工具(&T) Web &Search Web搜索(&S) Ctrl+K Web Search &Clear Private Data 清除隐私数据(&C) Ctrl+Shift+Delete Clear Private Data Enable Web &Inspector 允许Web &Inspector &Help 帮助(&H) Switch application language 切换应用程序语言 About &Qt 关于&Qt About &Arora 关于&Arora Navigation 导航 Show Status Bar 显示状态栏 Hide Status Bar 隐藏状态栏 Show Toolbar 显示工具栏 Hide Toolbar 隐藏工具栏 Show Bookmarks Bar 显示标签栏 Hide Bookmarks Bar 隐藏标签栏 %1 - Arora Page title and Browser name %1 - Arora Open Web Resource 打开Web资源 Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Web资源 (*.html *.htm *.svg *.png *.gif *.svgz);;所有文件 (*.*) Print Document 打印文档 Are you sure you want to turn on private browsing? 是否确认打开隐私浏览? <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>当开启隐私浏览时,关于你的某些隐私动作不会被记录:<ul><li> 页面不会被添加到历史中。</li><li>下载项会自动从下载窗口移除。 </li><li> 新的cookies不会被存储,当前的cookies也不会被访问。</li><li>站点图标不会被存储,会话也不会被保存。 </li><li>搜索动作不会被添加到搜索框的弹出菜单中。</li></ul>在关闭窗口之前,你可以一直通过点击后退和前进按钮来浏览已打开过的页面。 Are you sure you want to close the window? There are %1 tabs open 是否确认关闭窗口?还有%1个标签打开着 Web Inspector The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? web inspector只在页面被允许且被加载后才能正常运行。 希望重新加载所有页面吗? Stop loading the current page 停止加载当前页面 Reload the current page 重新加载当前页面 Downloads 下载 Close Window Zoom &In Zoom &Normal Zoom &Out Zoom &Text Only Show All Bookmarks... Add Folder... About &%1 About Browser Ctrl+Y Download Manager Default 缺省 Text Encoding Select &All Alt+Ctrl+B Options... Configure Search Engines... &Ad Block... When private browsing is turned on, some actions concerning your privacy will be disabled: Webpages are not added to the history. Items are automatically removed from the Downloads window. New cookies are not stored, current cookies can't be accessed. Site icons won't be stored. Session won't be saved. Searches are not added to the pop-up menu in the search box. No new network cache is written to disk. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Private Browsing ClearButton Clear 清除 ClearPrivateData Clear Private Data 清除隐私数据 Clear the following items: 清除以下项: &Browsing History 浏览历史(&B) &Download History 下载历史(&D) &Search History 搜索历史(&S) &Cookies C&ached Web Pages 缓存的页面(&a) Website &Icons 网站图标(&I) Clear &Private Data 清除隐私数据(&P) &Cancel 取消(&C) ClickToFlash Load Load All Add %1 to Whitelist Remove from Whitelist Settings Load Flash ClickToFlashSettings Whitelist sites CookieExceptionsModel Website 网站 Rule 规则 Allow 允许 Block 阻挡 Allow For Session 会话中允许 CookieModel Website 网站 Name 名字 Path 路径 Secure 安全 Expires 失效 Contents 内容 true false Session cookie CookiesDialog Cookies &Remove 移除(&R) Remove &All Cookies 移除所有Cookies(&A) Add &Rule CookiesExceptionsDialog Cookie Exceptions Cookie例外 New Exception 新建例外 Domain: 域: Block 阻挡 Allow For Session 会话中允许 Allow 允许 Exceptions 例外 &Remove 移除(&R) Remove &All 移除所有(&A) DownloadDialog Downloads 下载 Clean up 清除 0 Items 0项 DownloadItem Form 表单 Ico Filename 文件名 Try Again 重新尝试 Stop 停止 Open 打开 Save File 保存文件 Download canceled: %1 下载取消: %1 Error opening output file: %1 打开输出文件出错: %1 Error saving: %1 保存出错: %1 Network Error: %1 网络出错: %1 seconds - %n minutes remaining - 还有 %n 分钟 - %n seconds remaining - 还有 %n 秒 %1 of %2 (%3/sec) %4 %1 of %2 (%3/秒) %4 ? %1 of %2 - Stopped %1 of %2 - 停止 bytes 字节 %1 of %2 (%3/sec) - %4 Download directory (%1) couldn't be created. DownloadManager %n Download(s) %n 下载 There are %1 downloads in progress Do you want to quit anyway? %n minutes remaining %n seconds remaining bytes 字节 kB MB GB FileAccessReply No Error Error opening: %1: No such file or directory Unable to read %1 Contents of %1 %1 KB HistoryDialog Open 打开 Copy 复制 Delete 删除 History 历史 &Remove 移除(&R) Remove &All 移除所有(&A) HistoryMenu Show All History 显示所有历史 Clear History... 清除历史... Clear History 清除历史 Do you want to clear the history? 希望清除历史吗? HistoryModel Title 标题 Address 地址 HistoryTreeModel Earlier Today 早些时候 %n item(s) %n 项 JavaScriptAroraObject Welcome to Arora! Arora Start Search! Search results provided by About Arora LanguageManager Default 缺省 Choose language 选择语言 <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>你可以运行在其它语言环境下<br>而不采用操作系统所缺省的语言环境</p><p>请选择应该使用的语言环境</p> No translation files are installed at %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>为 "%1" 在 %2 输入用户名和密码</qt> <qt>Connect to proxy "%1" using:</qt> <qt>连接到代理 "%1" 使用:</qt> SSL Errors: %1 %2 Do you want to ignore these errors? SSL 错误:%1%2希望忽略该错误吗? Do you want to accept all these certificates? 确认接受所有证书吗? - SSL Errors <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> Issuer: %1 Not valid before: %1 Valid until: %1 Alternate Names: NetworkMonitor Name 名字 NetworkMonitorDialog &Remove 移除(&R) OpenSearchDialog Open File 打开文件 OpenSearch Error %1 is not a valid OpenSearch 1.1 description or is already on your list. You must have at least one search engine in here. OpenSearch Manager &Restore Defaults &Delete &Add &Close OpenSearchEngineModel <strong>Description:</strong> %1 <strong>Provides contextual suggestions</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Name 名字 Keywords OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 PasswordDialog Authentication Required 需要验证 DUMMY ICON INTRO TEXT DUMMY Username: 用户名: Password: 密码: PlainTextEditSearch Not Found 未找到 ProxyDialog Proxy Authentication 代理验证 Connect to proxy 连接到代理 Username: 用户名: Password: 密码: QObject The file is not an XBEL version 1.0 file. 该文件不是版本为1.0的XBEL文件 Unknown title 未知文件 The file is not an OpenSearch 1.1 file. RequestModel Address 地址 SearchBanner Form 表单 TextLabel 文本标签 Done 完成 Highlight All SearchLineEdit Search 搜索 Settings Preferences 选项 General 常规 On startup: 启动时: Show my home page 显示我的主页 Show a blank page 显示空白页 Restore windows and tabs from last time 恢复最后一次的窗口和标签 Home Page: 主页: Set to current page 设置为当前页面 Remove history items: 移除历史项: After one day 一天后 After one week 一周后 After two weeks 两周后 After one month 一个月后 After one year 一年后 Manually 手工 On application exit 应用退出 Open links from applications: 从应用程序打开链接: In a tab in the current window 在当前窗口的标签中 In a new window 在新窗口中 Downloads 下载 Ask for a destination each time 每次均询问目的地 Use this destination: 使用该目的地: Appearance 外观 Standard font: 标准字体: Select... 选择... Fixed-width font: 定宽字体: Privacy 隐私 Web Content Web内容 Enable Plugins 允许插件 Enable Javascript 允许Javascript View Images 查看图片 Cookies Accept Cookies: 接受Cookies: Always 总是 Never 从不 Only from sites you navigate to 只允许从浏览过的站点 Exceptions... 例外... Keep Cookies Until: 保持Cookies直到: They expire 它们失效 I exit the application 退出应用程序 At most 90 days 最多90天 Cookies... Tabs 标签 Select tabs and windows as they are created 在标签和窗口被创建后选择它们 Confirm when closing multiple tabs 关闭多个标签时进行确认 Proxy 代理 Use proxy server 使用代理服务器 Type: 类型: Socks5 Host name: 主机名: Port: 端口: User Name: 用户名: Password: 密码: Advanced 高级 Style Sheet: 样式表: Show only one close button instead of one for each tab 只显示一个关闭按钮,而不是在每个标签上都显示一个关闭按钮 Preferred languages for viewing webpages in: Block Popup Windows Opening links Links that want to open in a new window: In a new selected tab in the current window In a new tab in the current window In the current tab Http (Secure) Http (Transparent) Use ClickToFlash on flash plugins Filter Tracking Cookies Confirm when closing multiple tabs or windows Quit the application when last tab is closed Enable network cache Maximum Size: MB Use the default search engine as fallback when the URL given by the user is invalid Choose Directory... A cookie session ends: When I exit the application 1 day 2 days 3 days 7 days 30 days AutoFill AutoFill web forms: User names and passwords Edit... Browse... SettingsDialog Restart required The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. Choose Directory Choose CSS File SourceViewer Loading... 加载... &Edit 编辑(&E) &Find 查找(&F) Source of Page 页面源码 &View 查看(&V) &Wrap lines 折叠行(&W) Source of Page %1 TabBar Show Tab Bar 显示标签栏 Hide Tab Bar 隐藏标签栏 New &Tab 新标签页(&T) Duplicate Tab 复制标签 &Close Tab 关闭标签(&C) Close &Other Tabs 关闭其它标签(&O) Reload Tab 重新加载标签 Reload All Tabs 重新加载所有标签 TabWidget New &Tab 新标签页(&T) &Close Tab 关闭标签(&C) Show Next Tab 显示下一个标签 Show Previous Tab 显示前一个标签 Recently Closed Tabs 最近关闭的标签 Untitled 无标题 Do you really want to close this page? 确认关闭该页面? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? 页面已被修改,如果关闭,将丢失所有修改。确认关闭该页面? Ctrl-] Ctrl-[ Saved Tabs Loading... 加载... Loading %1% (%2 %3)... Finished loading Failed to load Bookmark All Tabs ToolbarSearch No Recent Searches 无最近搜索 Recent Searches 最近搜索 Clear Recent Searches 清除最近搜索 Suggestions Add '%1' WebPage Error loading page: %1 加载页面出错: %1 When connecting to: %1. 当连接至:%1 Check the address for errors such as <b>ww</b>.trolltech.com instead of <b>www</b>.trolltech.com. 检查地址是否错误,比如输入的是 <b>ww</b>.trolltech.com 而不是 <b>www</b>.trolltech.com. If the address is correct, try to check the network connection. 如果地址正确,那么请检查网络是否连接。 If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. 如果计算机或网络被防火墙或代理所保护,请确认浏览器被允许访问网络。 Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org If the address is correct, try checking the network connection. Resending POST request In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? WebView Open in New &Window 在新窗口中打开(&W) Open in New &Tab 在新标签页中打开(&T) Save Lin&k 保存链接(&k) &Bookmark This Link 添加该链接到书签(&B) &Copy Link Location 复制链接地址(&C) Open Image in New &Window 在新窗口中打开图片(&W) Open Image in New &Tab 在新标签页中打开图片(&T) &Save Image 保存图片(&S) &Copy Image 复制图片(&C) C&opy Image Location 复制图片地址(&o) Loading... 加载... Search with... Add to the toolbar search Method not supported %1 method is not supported. Search engine Choose the desired search engine Engine name Type in a name for the engine Block Image WebViewSearch Not Found 未找到 arora-0.11.0/src/locale/zh_TW.ts000066400000000000000000002051231145000221100163130ustar00rootroot00000000000000 AboutDialog About %1 關於 %1 Authors 作者 License 授權書 Lightweight WebKit-based web browser 基於 WebKit 的輕量級瀏覽器 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">版權所有 © 2007-2009 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> Close 關閉 WebKit version: %1 AcceptLanguage Languages 語言 Languages: in order of preference: 語言:偏好順序: Move &Up 移上(&U) Move &Down 移下(&D) &Remove 移除(&R) Add... 加入... AdBlockBlockedNetworkReply Blocked by AdBlockRule: %1 AdBlockDialog Add Custom Rule Learn more about writing rules... Update Subscription Browse Subscriptions... Remove Subscription AdBlock Configuration Enable AdBlock Action AdBlockManager Custom Rules AdBlockModel Rule 規則 AdBlockSchemeAccessHandler Subscribe? Subscribe to this AdBlock subscription? %1 AddBookmarkDialog Url 網址 Title 標題 Add Folder 加入資料夾 Add Bookmark 加入書籤 Type a name for the bookmark, and choose where to keep it. 輸入書籤的名稱,或是選擇它要放在那裡。 AutoFillDialog Form Passwords Remove 移除 Remove All AutoFillManager <b>Would you like to save this password?</b><br> To review passwords you have saved and remove them, open the AutoFill pane of preferences. Never for this site Not now AutoFillModel WebSite User Name BookmarksDialog Open 開啟 Open in New Tab 在新的分頁開啟 Edit Name 修改名稱 Edit Address 修改網址 Delete 刪除 New Folder 新增資料夾 Bookmarks 書籤 &Remove 移除(&R) Add Folder 加入資料夾 BookmarksManager Bookmarks Bar 書籤列 Bookmarks Menu 書籤選單 Error when loading bookmarks on line %1, column %2: %3 開啟書籤中的行 %1,欄 %2 時發生錯誤: %3 Toolbar Bookmarks 工具列書籤 Menu 選單 XBEL bookmarks XBEL 書籤 HTML Netscape bookmarks HTML Netscape 書籤 Open File 開啟檔案 htmlToXBel tool required 需要 htmlToXBel 工具 htmlToXBel tool, which is shipped with Arora and is needed to import HTML bookmarks, is not installed or not available in the search paths. htmlToXBel 工具,附於 Arora 中,用作匯入 HTML 書籤,但是卻沒有安裝或是在路徑中找不到。 Loading Bookmark 正在載入書籤 Error when loading HTML bookmarks: %1 載入 HTML 書籤時發生錯誤:%1 Imported %1 已匯入 %1 Save File 儲存檔案 %1 Bookmarks.xbel %1 Bookmarks.xbel Export error 匯出錯誤 error saving bookmarks 儲存書籤發生錯誤 Remove Bookmark 移除書籤 Insert Bookmark 插入書籤 Name Change Undo bookmark title change 名稱變更 Address Change Undo bookmark url change 網址變更 BookmarksMenu Open in Tabs 在分頁中開啟 BookmarksModel Title 標題 Address 網址 BookmarksToolBar Bookmarks 書籤 Open 開啟 Open in New &Tab 在新的分頁中開啟(&T) Remove 移除 Add Bookmark... 加入書籤... Add Folder... 加入資料夾... BrowserApplication There are %1 windows and %2 tabs open Do you want to quit anyway? 還有 %1 個視窗及 %2 分頁在開啟, 您仍然要離開嗎? Restore failed 回復失敗 The saved session will not be restored because Arora crashed while trying to restore this session. 已儲存的階段不能回復;因為當 Arora 嘗試回復該階段時發生錯誤。 Arora crashed while trying to restore this session. Should I try again? BrowserMainWindow Default 預設 &File 檔案(&F) &New Window 新增視窗(&N) &Open File... 開啟檔案(&O)... Open &Location... 開啟位置(&L)... &Save As... 另存新檔(&S)... &Import Bookmarks... 匯入書籤(&I)... &Export Bookmarks... 匯出書籤(&E)... P&rint Preview... 預覽列印(&R)... &Print... 列印(&P)... Private &Browsing... 私密瀏覽(&B)... Close Window 關閉視窗 &Quit 離開(&Q) &Edit 編輯(&E) &Undo 復原(&U) &Redo 取消復原(&R) Cu&t 剪下(&T) &Copy 複製(&C) &Paste 貼上(&P) &Find 尋找(&F) Find Nex&t 找下一個(&T) Find P&revious 找上一個(&R) Prefere&nces... 偏好設定(&N)... Ctrl+, Ctrl+, &View 檢視(&V) Ctrl+| Ctrl+| Shift+Ctrl+B Shift+Ctrl+B Ctrl+/ Ctrl+/ Show Menu Bar 顯示選單列 &Reload Page 重新載入頁面(&R) &Stop 停止(&S) Zoom &In 放大(&I) Zoom &Normal 正常(&N) Zoom &Out 縮小(&O) Zoom &Text Only 只縮放文字(&T) Page S&ource 頁面原始碼(&O) Ctrl+Alt+U Ctrl+Alt+U &Full Screen 全螢幕(&F) Text Encoding 文字編碼 Hi&story 歷史(&S) Back 上一頁 Forward 下一頁 Home 首頁 Restore Last Session 回復上一個階段 &Bookmarks 書籤(&B) Show All Bookmarks... 顯示所有書籤... Add Bookmark... 加入書籤... Add Folder... 加入資料夾... &Window 視窗(&W) &Tools 工具(&T) Web &Search 網頁搜尋(&S) Ctrl+K Web Search Ctrl+K &Clear Private Data 清除私隱資料(&C) Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete Enable Web &Inspector 啟用網頁檢閱器(&I) &Help 說明(&H) Switch application language 切換程式語言 About &Qt 關於 &Qt About &%1 About Browser 關於 &%1 Navigation 工具列 Show Status Bar 顯示狀態列 Hide Status Bar 隱藏狀態列 Show Toolbar 顯示工具列 Hide Toolbar 隱藏工具列 Show Bookmarks Bar 顯示書籤列 Hide Bookmarks Bar 隱藏書籤列 %1 - Arora Page title and Browser name %1 - Arora Open Web Resource 開啟網頁資源 Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) 開啟網頁資源 (*.html *.htm *.svg *.png *.gif *.svgz);;所有檔案 (*.*) Print Document 列印文件 Are you sure you want to turn on private browsing? 您確定要啟用私密瀏覽? <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not added to the pop-up menu in the search box.</li><li> Network cache is disabled.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>當啟用私密瀏覽後,一些關於私隱的功能將會被停用:<ul><li> 網頁不會加入歷史記錄中。</li><li> 項目會自動從下載視窗中移除。</li><li> 不會儲存新的 cookie,亦不會存取目前的 cookie。</li><li> 網站的圖示不會儲存,階段不會儲存。</li><li>搜尋不會加入到搜尋方塊中的彈出式選單。</li><li> 網路快取已被停用。</li></ul>當你關閉視窗時,您仍可按上一頁及下一頁來回到您剛才開啟的網頁。 Are you sure you want to close the window? There are %1 tabs open 您確定要關閉視窗?還有 %1 個分頁正在開啟 Web Inspector 網頁檢閱器 The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? 網頁檢閱器只會在啟用後載入的網頁才會生效。 您要重新載入全部網頁嗎? Stop loading the current page 停止載入目前的網頁 Reload the current page 重新載入目前的網頁 Downloads 下載 Ctrl+Y Download Manager Ctrl+Y Select &All Alt+Ctrl+B Options... Configure Search Engines... 設定搜索引擎 &Ad Block... When private browsing is turned on, some actions concerning your privacy will be disabled: Webpages are not added to the history. Items are automatically removed from the Downloads window. New cookies are not stored, current cookies can't be accessed. Site icons won't be stored. Session won't be saved. Searches are not added to the pop-up menu in the search box. No new network cache is written to disk. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Private Browsing ClearButton Clear 清除 ClearPrivateData Clear Private Data 清除私隱資料 Clear the following items: 清除以下項目: &Browsing History 瀏覽記錄(&B) &Download History 下載記錄(&D) &Search History 搜尋記錄(&S) &Cookies &Cookie C&ached Web Pages 網頁快取(&A) Website &Icons 網站圖示(&I) Clear &Private Data 清除個人私隱資料(&P) &Cancel 取消(&C) ClickToFlash Load 載入 Load All 全部載入 Add %1 to Whitelist 加入 %1 至白名單 Remove from Whitelist 從白名單中移除 Settings 設定 Load Flash 載入 Flash ClickToFlashSettings Whitelist sites 白名單網站 CookieExceptionsModel Website 網站 Rule 規則 Allow 允許 Block 禁止 Allow For Session 在此階段中允許 CookieModel Website 網站 Name 名稱 Path 路徑 Secure 安全 Expires 有效期限 Contents 內容 true false Session cookie 階段 cookie CookiesDialog Cookies Cookie &Remove 移除(&R) Remove &All Cookies 移除所有 Cookie (&A) Add &Rule 加入規則(&R) CookiesExceptionsDialog Cookie Exceptions Cookie 例外 New Exception 新增例外 Domain: 網域: Block 禁止 Allow For Session 在此階段中允許 Allow 允許 Exceptions 例外 &Remove 移除(&R) Remove &All 全部移除(&A) DownloadDialog Downloads 下載 Clean up 清除 0 Items 0 個項目 DownloadItem Ico Ico Filename 檔案名稱 Try Again 再試 Stop 停止 Open 開啟 Save File 儲存檔案 Download canceled: %1 下載已取消:%1 Error opening output file: %1 開啟輸出檔案時發生錯誤:%1 Error saving: %1 儲存時發生錯誤:%1 Network Error: %1 網路錯誤:%1 %1 of %2 (%3/sec) - %4 已下載%1,共有 %2(%3/秒) - %4 ? ? %1 of %2 - Stopped 已下載%1,共有 %2 - 已停止 Download directory (%1) couldn't be created. DownloadManager There are %1 downloads in progress Do you want to quit anyway? 還在 %1 個下載正在進行中 您還是要離開嗎? %n Download(s) %n 個下載 %n minutes remaining 還剩餘 %n 分鐘 %n seconds remaining 還剩餘 %n 秒 bytes bytes kB kB MB MB GB GB FileAccessReply No Error 沒有錯誤 Error opening: %1: No such file or directory 開啟錯誤:%1:沒有該檔案或目錄 Unable to read %1 無法讀取 %1 Contents of %1 %1 的內容 %1 KB %1 KB HistoryDialog Open 開啟 Copy 複製 Delete 刪除 History 歷史記錄 &Remove 移除(&R) Remove &All 全部移除(&A) HistoryMenu Show All History 顯示所有歷史記錄 Clear History... 清除歷史記錄... Clear History 清除歷史記錄 Do you want to clear the history? 您要清除歷史記錄嗎? HistoryModel Title 標題 Address 網址 HistoryTreeModel Earlier Today 今天早前 %n item(s) %n 個項目 JavaScriptAroraObject Welcome to Arora! Arora Start Search! Search results provided by About Arora LanguageManager No translation files are installed. 沒有安裝任何翻譯檔。 Choose language 選擇語言 <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>您可以系統預設語言外的其它語言來執行。</p><br><p>請選擇語言</p> No translation files are installed at %1. NetworkAccessManager <qt>Enter username and password for "%1" at %2</qt> <qt>於%2 輸入“%1”的使用者名稱及密碼</qt> <qt>Connect to proxy "%1" using:</qt> <qt>連接代理伺服器“%1”使用:</qt> Issuer: %1 簽發者:%1 Not valid before: %1 在此日期前無效:%1 Valid until: %1 有效期至:%1 Alternate Names: 其它名稱: - SSL Errors - SSL 錯誤 <qt>SSL Errors:<br/><br/>for: <tt>%1</tt><ul><li>%2</li></ul> Do you want to ignore these errors?</qt> <qt>SSL 錯誤:<br/><br/>因為:<tt>%1</tt><ul><li>%2</li></ul> 您要忽略此錯誤嗎?</qt> <qt>Certificates:<br/>%1<br/>Do you want to accept all these certificates?</qt> <qt>憑證:<br/>%1<br/>您要接受全部憑證?</qt> OpenSearchDialog Open File 開啟檔案 OpenSearch OpenSearch Error 錯誤 %1 is not a valid OpenSearch 1.1 description or is already on your list. %1 不是有效的 OpenSearch 1.1 描述或是已經在您的清單中。 You must have at least one search engine in here. 在這裡最少要有一個搜索引擎。 OpenSearch Manager OpenSearch 管理員 &Add 加入(&A) &Delete 刪除(&D) &Restore Defaults 回復預設(&R) &Close 關閉(&C) OpenSearchEngineModel <strong>Description:</strong> %1 <strong>描述:</strong> %1 <strong>Provides contextual suggestions</strong> <strong>提供範圍內的建議</strong> Comma-separated list of keywords that may be entered in the location barfollowed by search terms to search with this engine Name 名稱 Keywords OpenSearchManager Do you want to add the following engine to your list of search engines?<br /><br />Name: %1<br />Searches on: %2 您想將以下的搜索引擎加入您的搜索引擎清單嗎?<br /><br />名稱:%1<br />搜尋於:%2 PasswordDialog Authentication Required 需要認證 DUMMY ICON DUMMY ICON INTRO TEXT DUMMY INTRO TEXT DUMM Username: 使用者名稱: Password: 密碼: PlainTextEditSearch Not Found 找不到 ProxyDialog Proxy Authentication 代理伺服器認證 Connect to proxy 連接代理伺服器 Username: 使用者名稱: Password: 密碼: QObject The file is not an XBEL version 1.0 file. 檔案不是 XBEL 1.0 版檔案。 Unknown title 不明的標題 The file is not an OpenSearch 1.1 file. 檔案不是 OpenSearch 1.1 檔案。 SearchBanner Highlight All 全部標示 Done 完成 SearchLineEdit Search 搜尋 Settings Preferences 偏好設定 General 一般 On startup: 於啟動時: Show my home page 顯示我的首頁 Show a blank page 顯示空白頁 Restore windows and tabs from last time 回復上次的視窗及分頁 Home Page: 首頁: Set to current page 設定為目前的網頁 Remove history items: 移除歷史記錄項目: After one day 一天後 After one week 一星期後 After two weeks 兩星期後 After one month 一個月後 After one year 一年後 Manually 手動 On application exit 程式離開時 Use the default search engine as fallback when the URL given by the user is invalid 當使用者輸入的網址無效時,以預設的搜索引擎作為後備 Downloads 下載 Ask for a destination each time 每次都詢問目的地 Use this destination: 使用此目的地 Appearance 顯示 Standard font: 標準字型: Select... 選擇... Fixed-width font: 固定寬度字型: Preferred languages for viewing webpages in: 在網頁中偏好使用的語言: Privacy 私隱 Web Content 網頁內容 Block Popup Windows 禁止彈出式視窗 Enable Plugins 啟用外掛程式 Use ClickToFlash on flash plugins 在 Flash 加上「載入 flash」按鈕 Enable Javascript 啟用 Javascript View Images 顯示圖片 Cookies Cookie Accept Cookies: 接受 Cookie Always 總是 Never 永不 Only from sites you navigate to 只有您瀏覽過的網站 Exceptions... 例外... Keep Cookies Until: 保留 Cookie 直至: They expire 它們過期 I exit the application 我離開程式 At most 90 days 最多 90 日 Cookies... Cookie... Filter Tracking Cookies 過濾追蹤 Cookie Tabs 分頁 Select tabs and windows as they are created 當分頁及視窗建立後才選擇它們 Confirm when closing multiple tabs or windows 關閉多個分頁或視窗時需要確認 Show only one close button instead of one for each tab 只顯示一個關閉按鈕,而非每個分頁都顯示 Quit the application when last tab is closed 關閉最後一個分頁時離開程式 Opening links 開啟連結 Links that want to open in a new window: 要在新的視窗中開啟的連結: In a new window 在新的視窗 In a new selected tab in the current window 在目前視窗中已選的分頁 In a new tab in the current window 在目前視窗中新的分頁 In the current tab 在目前的分頁 Open links from applications: 以其它程式開啟連結: Proxy 代理伺服器 Use proxy server 使用代理伺服器 Type: 類型: Socks5 Socks5 Http (Secure) Http(安全) Http (Transparent) Http(透明) Host name: 主機名稱: Port: 連接埠: User Name: 使用者名稱: Password: 密碼: Advanced 進階 Style Sheet: 樣式表: Enable network cache 啟用網路快取 Maximum Size: 大小上限: MB MB Choose Directory... A cookie session ends: When I exit the application 1 day 2 days 3 days 7 days 30 days AutoFill AutoFill web forms: User names and passwords Edit... Browse... SettingsDialog Restart required 須要重新啟動 The network cache configuration has changed. So that it can be taken into account, the browser has to be restarted. 網路快取設定已經修改。瀏覽器需要重新啟動才能使其生效。 Choose Directory Choose CSS File SourceViewer Loading... 正在載入... &Edit 編輯(&E) &Find 尋找(&F) &View 檢視(&V) &Wrap lines 自動斷行 Source of Page %1 %1 的原始碼 TabBar Show Tab Bar 顯示分頁列 Hide Tab Bar 隱藏分頁列 Duplicate Tab 複製分頁 &Close Tab 關閉分頁(&C) Close &Other Tabs 關閉其它分頁(&O) Reload Tab 重新載入分頁 Reload All Tabs 重新載入所有分頁 TabWidget Untitled 沒有標題 Saved Tabs 儲存分頁 Do you really want to close this page? 您真的要關閉此網頁嗎? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? 您已經修改此網頁及如果關閉它將會失去所有已作的修改。 您真的要關閉此網頁? Loading... 正在載入... Loading %1% (%2 %3)... 正在載入 %1% (%2 %3)... Finished loading 載入完成 Failed to load 載入失敗 Show Next Tab 顯示下一個分頁 Ctrl-] Ctrl-] Show Previous Tab 顯示上一個分頁 Ctrl-[ Ctrl-[ Recently Closed Tabs 最近關閉分頁 New &Tab 新增分頁(&T) &Close Tab 關閉分頁(&C) Bookmark All Tabs 將所有分頁加入書籤 ToolbarSearch Suggestions 建議 Add '%1' 加入‘%1’ Configure Search Engines... 設定搜索引擎 Clear Recent Searches 清除最近搜尋 No Recent Searches 最近沒有搜尋 Recent Searches 最近搜尋 WebPage Resending POST request 再送出 POST 要求 In order to display the site, the request along with all the data must be sent once again, which may lead to some unexpected behaviour of the site e.g. the same action might be performed once again. Do you want to continue anyway? 要顯示此網站,所有的請求都要重新送出,這可能會導致一些無法預料的行為,例如某些會再做一次。您要繼續嗎? Error loading page: %1 載入網頁發生錯誤:%1 When connecting to: %1. 當連線到:%1。 Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org 檢查網址錯誤,例如是<b>ww</b>.arora-browser.org,而不是<b>www</b>.arora-browser.org If the address is correct, try checking the network connection. 如果網址正確,請檢查網路連線。 If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. 如果您的電腦受防火牆或代理伺服器保護,請確定您的瀏覽器允許存取網路。 WebView Open in New &Window 在新的視窗中開啟(&W) Open in New &Tab 在新的分頁中開啟(&T) Save Lin&k 儲存連結(&K) &Bookmark This Link 將此連結加入書籤(&B) &Copy Link Location 複製連結位置(&C) Open Image in New &Window 在新的視窗開啟圖片(&W) Open Image in New &Tab 在新的分頁開啟圖片(&T) &Save Image 儲存圖片(&S) &Copy Image 複製圖片(&C) C&opy Image Location 複製圖片位置(&O) Search with... 搜尋於... Add to the toolbar search 加入至工具列搜尋 Method not supported 方法不支援 %1 method is not supported. % 的方法不支援。 Search engine 搜索引擎 Choose the desired search engine 選擇搜索引擎 Engine name 引擎名稱 Type in a name for the engine 輸入搜索引擎的名稱 Loading... 正在載入... Block Image WebViewSearch Not Found 找不到 arora-0.11.0/src/locationbar/000077500000000000000000000000001145000221100157435ustar00rootroot00000000000000arora-0.11.0/src/locationbar/locationbar.cpp000066400000000000000000000133131145000221100207450ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "locationbar.h" #include "browserapplication.h" #include "clearbutton.h" #include "locationbarsiteicon.h" #include "privacyindicator.h" #include "searchlineedit.h" #include "webview.h" #include #include #include #include #include LocationBar::LocationBar(QWidget *parent) : LineEdit(parent) , m_webView(0) , m_siteIcon(0) , m_privacyIndicator(0) { // Urls are always LeftToRight setLayoutDirection(Qt::LeftToRight); setUpdatesEnabled(false); // site icon on the left m_siteIcon = new LocationBarSiteIcon(this); addWidget(m_siteIcon, LeftSide); // privacy indicator at rightmost position m_privacyIndicator = new PrivacyIndicator(this); addWidget(m_privacyIndicator, RightSide); // clear button on the right ClearButton *m_clearButton = new ClearButton(this); connect(m_clearButton, SIGNAL(clicked()), this, SLOT(clear())); connect(this, SIGNAL(textChanged(const QString&)), m_clearButton, SLOT(textChanged(const QString&))); addWidget(m_clearButton, RightSide); updateTextMargins(); setUpdatesEnabled(true); } void LocationBar::setWebView(WebView *webView) { Q_ASSERT(webView); m_webView = webView; m_siteIcon->setWebView(webView); connect(webView, SIGNAL(urlChanged(const QUrl &)), this, SLOT(webViewUrlChanged(const QUrl &))); connect(webView, SIGNAL(loadProgress(int)), this, SLOT(update())); } WebView *LocationBar::webView() const { return m_webView; } void LocationBar::webViewUrlChanged(const QUrl &url) { if (hasFocus()) return; setText(QString::fromUtf8(url.toEncoded())); setCursorPosition(0); } void LocationBar::paintEvent(QPaintEvent *event) { QPalette p = palette(); QColor defaultBaseColor = QApplication::palette().color(QPalette::Base); QColor backgroundColor = defaultBaseColor; if (m_webView && m_webView->url().scheme() == QLatin1String("https") && p.color(QPalette::Text).value() < 128) { QColor lightYellow(248, 248, 210); backgroundColor = lightYellow; } // set the progress bar if (m_webView) { int progress = m_webView->progress(); if (progress == 0) { p.setBrush(QPalette::Base, backgroundColor); } else { QColor loadingColor = QColor(116, 192, 250); if (p.color(QPalette::Text).value() >= 128) loadingColor = defaultBaseColor.darker(200); QLinearGradient gradient(0, 0, width(), 0); gradient.setColorAt(0, loadingColor); gradient.setColorAt(((double)progress)/100, backgroundColor); p.setBrush(QPalette::Base, gradient); } setPalette(p); } LineEdit::paintEvent(event); } void LocationBar::focusOutEvent(QFocusEvent *event) { if (text().isEmpty() && m_webView) webViewUrlChanged(m_webView->url()); QLineEdit::focusOutEvent(event); } void LocationBar::mouseDoubleClickEvent(QMouseEvent *event) { if (event->button() == Qt::LeftButton) selectAll(); else QLineEdit::mouseDoubleClickEvent(event); } void LocationBar::keyPressEvent(QKeyEvent *event) { if (event->key() == Qt::Key_Escape && m_webView) { setText(QString::fromUtf8(m_webView->url().toEncoded())); selectAll(); return; } QString currentText = text().trimmed(); if ((event->key() == Qt::Key_Enter || event->key() == Qt::Key_Return) && !currentText.startsWith(QLatin1String("http://"), Qt::CaseInsensitive)) { QString append; if (event->modifiers() == Qt::ControlModifier) append = QLatin1String(".com"); else if (event->modifiers() == (Qt::ControlModifier | Qt::ShiftModifier)) append = QLatin1String(".org"); else if (event->modifiers() == Qt::ShiftModifier) append = QLatin1String(".net"); QUrl url(QLatin1String("http://") + currentText); QString host = url.host(); if (!host.endsWith(append, Qt::CaseInsensitive)) { host += append; url.setHost(host); setText(url.toString()); } } LineEdit::keyPressEvent(event); } void LocationBar::dragEnterEvent(QDragEnterEvent *event) { const QMimeData *mimeData = event->mimeData(); if (mimeData->hasUrls() || mimeData->hasText()) event->acceptProposedAction(); LineEdit::dragEnterEvent(event); } void LocationBar::dropEvent(QDropEvent *event) { const QMimeData *mimeData = event->mimeData(); QUrl url; if (mimeData->hasUrls()) url = mimeData->urls().at(0); else if (mimeData->hasText()) url = QUrl::fromEncoded(mimeData->text().toUtf8(), QUrl::TolerantMode); if (url.isEmpty() || !url.isValid()) { LineEdit::dropEvent(event); return; } setText(QString::fromUtf8(url.toEncoded())); selectAll(); event->acceptProposedAction(); } arora-0.11.0/src/locationbar/locationbar.h000066400000000000000000000031261145000221100204130ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef LOCATIONBAR_H #define LOCATIONBAR_H #include "lineedit.h" #include #include class WebView; class LocationBarSiteIcon; class PrivacyIndicator; class LocationBar : public LineEdit { Q_OBJECT public: LocationBar(QWidget *parent = 0); void setWebView(WebView *webView); WebView *webView() const; protected: void paintEvent(QPaintEvent *event); void focusOutEvent(QFocusEvent *event); void mouseDoubleClickEvent(QMouseEvent *event); void keyPressEvent(QKeyEvent *event); void dragEnterEvent(QDragEnterEvent *event); void dropEvent(QDropEvent *event); private slots: void webViewUrlChanged(const QUrl &url); private: QPointer m_webView; LocationBarSiteIcon *m_siteIcon; PrivacyIndicator *m_privacyIndicator; }; #endif // LOCATIONBAR_H arora-0.11.0/src/locationbar/locationbar.pri000066400000000000000000000003161145000221100207540ustar00rootroot00000000000000INCLUDEPATH += $$PWD DEPENDPATH += $$PWD HEADERS += \ locationbar.h \ locationbarsiteicon.h \ privacyindicator.h SOURCES += \ locationbar.cpp \ locationbarsiteicon.cpp \ privacyindicator.cpp arora-0.11.0/src/locationbar/locationbarsiteicon.cpp000066400000000000000000000047231145000221100225100ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "locationbarsiteicon.h" #include #include #include "browserapplication.h" #include "webview.h" LocationBarSiteIcon::LocationBarSiteIcon(QWidget *parent) : QLabel(parent) , m_webView(0) { resize(QSize(16, 16)); webViewSiteIconChanged(); setCursor(Qt::ArrowCursor); show(); } void LocationBarSiteIcon::setWebView(WebView *webView) { m_webView = webView; connect(webView, SIGNAL(loadFinished(bool)), this, SLOT(webViewSiteIconChanged())); connect(webView, SIGNAL(iconChanged()), this, SLOT(webViewSiteIconChanged())); } void LocationBarSiteIcon::webViewSiteIconChanged() { QUrl url; if (m_webView) url = m_webView->url(); setPixmap(BrowserApplication::instance()->icon(url).pixmap(16, 16)); } void LocationBarSiteIcon::mousePressEvent(QMouseEvent *event) { if (event->button() == Qt::LeftButton) m_dragStartPos = event->pos(); QLabel::mousePressEvent(event); } void LocationBarSiteIcon::mouseMoveEvent(QMouseEvent *event) { if (event->buttons() == Qt::LeftButton && (event->pos() - m_dragStartPos).manhattanLength() > QApplication::startDragDistance() && m_webView) { QDrag *drag = new QDrag(this); QMimeData *mimeData = new QMimeData; QString title = m_webView->title(); if (title.isEmpty()) title = QString::fromUtf8(m_webView->url().toEncoded()); mimeData->setText(title); QList urls; urls.append(m_webView->url()); mimeData->setUrls(urls); const QPixmap *p = pixmap(); if (p) drag->setPixmap(*p); drag->setMimeData(mimeData); drag->exec(); } } arora-0.11.0/src/locationbar/locationbarsiteicon.h000066400000000000000000000024111145000221100221450ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef LOCATIONBARSITEICON_H #define LOCATIONBARSITEICON_H #include class WebView; class LocationBarSiteIcon : public QLabel { Q_OBJECT public: LocationBarSiteIcon(QWidget *parent = 0); void setWebView(WebView *webView); protected: void mousePressEvent(QMouseEvent *event); void mouseMoveEvent(QMouseEvent *event); private slots: void webViewSiteIconChanged(); private: WebView *m_webView; QPoint m_dragStartPos; }; #endif // LOCATIONBARSITEICON_H arora-0.11.0/src/locationbar/privacyindicator.cpp000066400000000000000000000024671145000221100220320ustar00rootroot00000000000000/* * Copyright 2009-2010 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "privacyindicator.h" #include "browserapplication.h" PrivacyIndicator::PrivacyIndicator(QWidget *parent) : QLabel(parent) { setPixmap(QPixmap(QLatin1String(":graphics/private.png"))); connect(BrowserApplication::instance(), SIGNAL(privacyChanged(bool)), this, SLOT(setVisible(bool))); setCursor(Qt::ArrowCursor); setVisible(BrowserApplication::isPrivate()); } void PrivacyIndicator::mousePressEvent(QMouseEvent *event) { Q_UNUSED(event) BrowserApplication::instance()->setPrivate(false); } arora-0.11.0/src/locationbar/privacyindicator.h000066400000000000000000000020541145000221100214670ustar00rootroot00000000000000/* * Copyright 2009-2010 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef PRIVACYINDICATOR_H #define PRIVACYINDICATOR_H #include class PrivacyIndicator : public QLabel { Q_OBJECT public: PrivacyIndicator(QWidget *parent = 0); protected: void mousePressEvent(QMouseEvent *event); }; #endif // PRIVACYINDICATOR_H arora-0.11.0/src/main.cpp000066400000000000000000000024071145000221100151010ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "browserapplication.h" #ifdef Q_OS_WIN #include "explorerstyle.h" #endif int main(int argc, char **argv) { Q_INIT_RESOURCE(htmls); Q_INIT_RESOURCE(data); #ifdef Q_WS_X11 QApplication::setGraphicsSystem(QString::fromLatin1("raster")); #endif BrowserApplication application(argc, argv); if (!application.isRunning()) return 0; #ifdef Q_OS_WIN application.setStyle(new ExplorerStyle); #endif application.newMainWindow(); return application.exec(); } arora-0.11.0/src/modelmenu.cpp000066400000000000000000000227701145000221100161470ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2008-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "modelmenu.h" #include "browserapplication.h" #include #include #include #include ModelMenu::ModelMenu(QWidget *parent) : QMenu(parent) , m_maxRows(-1) , m_firstSeparator(-1) , m_maxWidth(-1) , m_statusBarTextRole(0) , m_separatorRole(0) , m_model(0) { setAcceptDrops(true); connect(this, SIGNAL(aboutToShow()), this, SLOT(aboutToShow())); connect(this, SIGNAL(triggered(QAction*)), this, SLOT(actionTriggered(QAction*))); } bool ModelMenu::prePopulated() { return false; } void ModelMenu::postPopulated() { } void ModelMenu::setModel(QAbstractItemModel *model) { m_model = model; } QAbstractItemModel *ModelMenu::model() const { return m_model; } void ModelMenu::setMaxRows(int max) { m_maxRows = max; } int ModelMenu::maxRows() const { return m_maxRows; } void ModelMenu::setFirstSeparator(int offset) { m_firstSeparator = offset; } int ModelMenu::firstSeparator() const { return m_firstSeparator; } void ModelMenu::setRootIndex(const QModelIndex &index) { m_root = index; } QModelIndex ModelMenu::rootIndex() const { return m_root; } void ModelMenu::setStatusBarTextRole(int role) { m_statusBarTextRole = role; } int ModelMenu::statusBarTextRole() const { return m_statusBarTextRole; } void ModelMenu::setSeparatorRole(int role) { m_separatorRole = role; } int ModelMenu::separatorRole() const { return m_separatorRole; } Q_DECLARE_METATYPE(QModelIndex) void ModelMenu::aboutToShow() { clear(); if (prePopulated()) addSeparator(); int max = m_maxRows; if (max != -1) max += m_firstSeparator; createMenu(m_root, max, this, this); postPopulated(); } ModelMenu *ModelMenu::createBaseMenu() { return new ModelMenu(this); } void ModelMenu::createMenu(const QModelIndex &parent, int max, QMenu *parentMenu, QMenu *menu) { if (!menu) { QVariant v; v.setValue(parent); QString title = parent.data().toString(); ModelMenu *modelMenu = createBaseMenu(); // triggered goes all the way up the menu structure disconnect(modelMenu, SIGNAL(triggered(QAction*)), modelMenu, SLOT(actionTriggered(QAction*))); modelMenu->setTitle(title); QIcon icon = qvariant_cast(parent.data(Qt::DecorationRole)); modelMenu->setIcon(icon); parentMenu->addMenu(modelMenu)->setData(v); modelMenu->setRootIndex(parent); modelMenu->setModel(m_model); return; } if (!m_model) return; int end = m_model->rowCount(parent); if (max != -1) end = qMin(max, end); for (int i = 0; i < end; ++i) { QModelIndex idx = m_model->index(i, 0, parent); if (m_model->hasChildren(idx)) { createMenu(idx, -1, menu); } else { if (m_separatorRole != 0 && idx.data(m_separatorRole).toBool()) addSeparator(); else menu->addAction(makeAction(idx)); } if (menu == this && i == m_firstSeparator - 1) addSeparator(); } } QAction *ModelMenu::makeAction(const QModelIndex &index) { QIcon icon = qvariant_cast(index.data(Qt::DecorationRole)); QAction *action = makeAction(icon, index.data().toString(), this); action->setStatusTip(index.data(m_statusBarTextRole).toString()); QVariant v; v.setValue(index); action->setData(v); return action; } QAction *ModelMenu::makeAction(const QIcon &icon, const QString &text, QObject *parent) { QFontMetrics fm(font()); if (-1 == m_maxWidth) m_maxWidth = fm.width(QLatin1Char('m')) * 30; QString smallText = fm.elidedText(text, Qt::ElideMiddle, m_maxWidth); return new QAction(icon, smallText, parent); } void ModelMenu::actionTriggered(QAction *action) { QModelIndex idx = index(action); if (idx.isValid()) emit activated(idx); } QModelIndex ModelMenu::index(QAction *action) { if (!action) return QModelIndex(); QVariant variant = action->data(); if (!variant.canConvert()) return QModelIndex(); return qvariant_cast(variant); } void ModelMenu::dragEnterEvent(QDragEnterEvent *event) { if (!m_model) { QMenu::dragEnterEvent(event); return; } QStringList mimeTypes = m_model->mimeTypes(); foreach (const QString &mimeType, mimeTypes) { if (event->mimeData()->hasFormat(mimeType)) event->acceptProposedAction(); } QMenu::dragEnterEvent(event); } void ModelMenu::dropEvent(QDropEvent *event) { if (!m_model) { QMenu::dropEvent(event); return; } int row; QAction *action = actionAt(mapFromGlobal(QCursor::pos())); QModelIndex index; QModelIndex parentIndex = m_root; if (!action) { row = m_model->rowCount(m_root); } else { index = this->index(action); Q_ASSERT(index.isValid()); row = index.row(); if (m_model->hasChildren(index)) parentIndex = index; } event->acceptProposedAction(); m_model->dropMimeData(event->mimeData(), event->dropAction(), row, 0, parentIndex); QMenu::dropEvent(event); } void ModelMenu::mousePressEvent(QMouseEvent *event) { if (event->button() == Qt::LeftButton) m_dragStartPos = event->pos(); QMenu::mousePressEvent(event); } void ModelMenu::mouseReleaseEvent(QMouseEvent *event) { BrowserApplication::instance()->setEventMouseButtons(event->button()); BrowserApplication::instance()->setEventKeyboardModifiers(event->modifiers()); QMenu::mouseReleaseEvent(event); } void ModelMenu::mouseMoveEvent(QMouseEvent *event) { int manhattanLength = (event->pos() - m_dragStartPos).manhattanLength(); if (manhattanLength <= QApplication::startDragDistance()) { QMenu::mouseMoveEvent(event); return; } if (!(event->buttons() & Qt::LeftButton)) { QMenu::mouseMoveEvent(event); return; } QAction *action = actionAt(m_dragStartPos); QModelIndex idx = index(action); if (!idx.isValid()) { QMenu::mouseMoveEvent(event); return; } QDrag *drag = new QDrag(this); drag->setMimeData(m_model->mimeData((QModelIndexList() << idx))); QRect actionRect = actionGeometry(action); drag->setPixmap(QPixmap::grabWidget(this, actionRect)); if (drag->exec() == Qt::MoveAction) { m_model->removeRow(idx.row(), m_root); if (!this->isAncestorOf(drag->target())) close(); else aboutToShow(); } } arora-0.11.0/src/modelmenu.h000066400000000000000000000115121145000221100156040ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2008-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef MODELMENU_H #define MODELMENU_H #include #include // A QMenu that is dynamically populated from a QAbstractItemModel class ModelMenu : public QMenu { Q_OBJECT signals: void activated(const QModelIndex &index); public: ModelMenu(QWidget *parent = 0); void setModel(QAbstractItemModel *model); QAbstractItemModel *model() const; void setMaxRows(int max); int maxRows() const; void setFirstSeparator(int offset); int firstSeparator() const; void setRootIndex(const QModelIndex &index); QModelIndex rootIndex() const; void setStatusBarTextRole(int role); int statusBarTextRole() const; void setSeparatorRole(int role); int separatorRole() const; QAction *makeAction(const QIcon &icon, const QString &text, QObject *parent); QModelIndex index(QAction *action); protected: // add any actions before the tree, return true if any actions are added. virtual bool prePopulated(); // add any actions after the tree virtual void postPopulated(); // return the QMenu that is used to populate sub menu's virtual ModelMenu *createBaseMenu(); // put all of the children of parent into menu up to max void createMenu(const QModelIndex &parent, int max, QMenu *parentMenu = 0, QMenu *menu = 0); void dragEnterEvent(QDragEnterEvent *event); void dropEvent(QDropEvent *event); void mousePressEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event); void mouseMoveEvent(QMouseEvent *event); private slots: void aboutToShow(); void actionTriggered(QAction *action); private: QAction *makeAction(const QModelIndex &index); int m_maxRows; int m_firstSeparator; int m_maxWidth; int m_statusBarTextRole; int m_separatorRole; QAbstractItemModel *m_model; QPersistentModelIndex m_root; QPoint m_dragStartPos; }; #endif // MODELMENU_H arora-0.11.0/src/modeltoolbar.cpp000066400000000000000000000160661145000221100166460ustar00rootroot00000000000000/* * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "modeltoolbar.h" #include "browserapplication.h" #include "modelmenu.h" #include #include ModelToolBar::ModelToolBar(QWidget *parent) : QToolBar(parent) , m_model(0) { if (isVisible()) build(); setAcceptDrops(true); } ModelToolBar::ModelToolBar(const QString &title, QWidget *parent) : QToolBar(title, parent) , m_model(0) { if (isVisible()) build(); setAcceptDrops(true); } void ModelToolBar::setModel(QAbstractItemModel *model) { if (m_model) { disconnect(m_model, SIGNAL(modelReset()), this, SLOT(build())); disconnect(m_model, SIGNAL(rowsInserted(const QModelIndex &, int, int)), this, SLOT(build())); disconnect(m_model, SIGNAL(rowsRemoved(const QModelIndex &, int, int)), this, SLOT(build())); disconnect(m_model, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(build())); } m_model = model; if (m_model) { connect(m_model, SIGNAL(modelReset()), this, SLOT(build())); connect(m_model, SIGNAL(rowsInserted(const QModelIndex &, int, int)), this, SLOT(build())); connect(m_model, SIGNAL(rowsRemoved(const QModelIndex &, int, int)), this, SLOT(build())); connect(m_model, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(build())); } } QAbstractItemModel *ModelToolBar::model() const { return m_model; } void ModelToolBar::setRootIndex(const QModelIndex &index) { m_rootIndex = index; } QModelIndex ModelToolBar::rootIndex() const { return m_rootIndex; } void ModelToolBar::build() { Q_ASSERT(m_model); clear(); for (int i = 0; i < m_model->rowCount(m_rootIndex); ++i) { QModelIndex index = m_model->index(i, 0, m_rootIndex); QVariant variant; variant.setValue(index); QString title = index.data(Qt::DisplayRole).toString(); QIcon icon = qvariant_cast(index.data(Qt::DecorationRole)); bool hasChildren = m_model->hasChildren(index); QAction *action = addAction(icon, title); action->setData(variant); QWidget *actionWidget = widgetForAction(action); QToolButton *button = qobject_cast(actionWidget); Q_ASSERT(button); button->installEventFilter(this); if (hasChildren) { ModelMenu *menu = createMenu(); menu->setModel(m_model); menu->setRootIndex(index); action->setMenu(menu); button->setPopupMode(QToolButton::InstantPopup); button->setArrowType(Qt::DownArrow); } } } QModelIndex ModelToolBar::index(QAction *action) { if (!action) return QModelIndex(); QVariant variant = action->data(); if (!variant.canConvert()) return QModelIndex(); QModelIndex index = qvariant_cast(variant); return index; } ModelMenu *ModelToolBar::createMenu() { return new ModelMenu(this); } bool ModelToolBar::eventFilter(QObject *object, QEvent *event) { if (event->type() == QEvent::MouseButtonRelease) { QToolButton *button = static_cast(object); Q_ASSERT(button); QMouseEvent *mouseEvent = static_cast(event); BrowserApplication::instance()->setEventMouseButtons(mouseEvent->button()); BrowserApplication::instance()->setEventKeyboardModifiers(mouseEvent->modifiers()); QAction *action = button->defaultAction(); Q_ASSERT(action); QModelIndex index = this->index(action); Q_ASSERT(this->index(action).isValid()); emit activated(index); } else if (event->type() == QEvent::MouseButtonPress) { Q_ASSERT(static_cast(object)); QMouseEvent *mouseEvent = static_cast(event); if (mouseEvent->buttons() & Qt::LeftButton) m_dragStartPos = mapFromGlobal(mouseEvent->globalPos()); } return false; } void ModelToolBar::dragEnterEvent(QDragEnterEvent *event) { if (!m_model) { QToolBar::dragEnterEvent(event); return; } QStringList mimeTypes = m_model->mimeTypes(); foreach (const QString &mimeType, mimeTypes) { if (event->mimeData()->hasFormat(mimeType)) event->acceptProposedAction(); } QToolBar::dragEnterEvent(event); } void ModelToolBar::hideEvent(QHideEvent *event) { clear(); QToolBar::hideEvent(event); } void ModelToolBar::showEvent(QShowEvent *event) { if (actions().isEmpty()) build(); QToolBar::showEvent(event); } void ModelToolBar::dropEvent(QDropEvent *event) { if (!m_model) { QToolBar::dropEvent(event); return; } int row; QAction *action = actionAt(mapFromGlobal(QCursor::pos())); QModelIndex index; QModelIndex parentIndex = m_rootIndex; if (!action) { row = m_model->rowCount(m_rootIndex); } else { index = this->index(action); Q_ASSERT(index.isValid()); row = index.row(); if (m_model->hasChildren(index)) parentIndex = index; } event->acceptProposedAction(); m_model->dropMimeData(event->mimeData(), event->dropAction(), row, 0, parentIndex); QToolBar::dropEvent(event); } void ModelToolBar::mouseMoveEvent(QMouseEvent *event) { if (!m_model) { QToolBar::mouseMoveEvent(event); return; } if (!(event->buttons() & Qt::LeftButton)) { QToolBar::mouseMoveEvent(event); return; } int manhattanLength = (event->pos() - m_dragStartPos).manhattanLength(); if (manhattanLength <= QApplication::startDragDistance()) { QToolBar::mouseMoveEvent(event); return; } QAction *action = actionAt(m_dragStartPos); if (!action) { QToolBar::mouseMoveEvent(event); return; } QPersistentModelIndex index = this->index(action); Q_ASSERT(index.isValid()); QDrag *drag = new QDrag(this); drag->setMimeData(m_model->mimeData(QModelIndexList() << index)); QRect actionRect = actionGeometry(action); drag->setPixmap(QPixmap::grabWidget(this, actionRect)); if (drag->exec() == Qt::MoveAction) m_model->removeRow(index.row(), m_rootIndex); } arora-0.11.0/src/modeltoolbar.h000066400000000000000000000035261145000221100163100ustar00rootroot00000000000000/* * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef MODELTOOLBAR_H #define MODELTOOLBAR_H #include #include Q_DECLARE_METATYPE(QModelIndex) class QEvent; class ModelMenu; class ModelToolBar : public QToolBar { Q_OBJECT signals: void activated(const QModelIndex &index); public: ModelToolBar(QWidget *parent = 0); ModelToolBar(const QString &title, QWidget *parent = 0); void setModel(QAbstractItemModel *model); QAbstractItemModel *model() const; void setRootIndex(const QModelIndex &index); QModelIndex rootIndex() const; static QModelIndex index(QAction *action); protected: virtual ModelMenu *createMenu(); bool eventFilter(QObject *object, QEvent *event); void hideEvent(QHideEvent *event); void showEvent(QShowEvent *event); void dragEnterEvent(QDragEnterEvent *event); void dropEvent(QDropEvent *event); void mouseMoveEvent(QMouseEvent *event); protected slots: void build(); private: QAbstractItemModel *m_model; QPersistentModelIndex m_rootIndex; QPoint m_dragStartPos; }; #endif // MODELTOOLBAR_H arora-0.11.0/src/network/000077500000000000000000000000001145000221100151375ustar00rootroot00000000000000arora-0.11.0/src/network/cookiejar/000077500000000000000000000000001145000221100171055ustar00rootroot00000000000000arora-0.11.0/src/network/cookiejar/cookiedialog.cpp000066400000000000000000000127711145000221100222520ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "cookiedialog.h" #include #include #include #include "cookiemodel.h" #include "cookieexceptionsdialog.h" CookieDialog::CookieDialog(CookieJar *cookieJar, QWidget *parent) : QDialog(parent) , m_cookieJar(cookieJar) { setupUi(this); setWindowFlags(Qt::Sheet); CookieModel *model = new CookieModel(cookieJar, this); m_proxyModel = new QSortFilterProxyModel(this); connect(search, SIGNAL(textChanged(QString)), m_proxyModel, SLOT(setFilterFixedString(QString))); connect(removeButton, SIGNAL(clicked()), cookiesTable, SLOT(removeSelected())); connect(removeAllButton, SIGNAL(clicked()), cookiesTable, SLOT(removeAll())); connect(addRuleButton, SIGNAL(clicked()), this, SLOT(addRule())); m_proxyModel->setSourceModel(model); m_proxyModel->setSortRole(CookieModel::SortRole); cookiesTable->verticalHeader()->hide(); cookiesTable->setSelectionBehavior(QAbstractItemView::SelectRows); cookiesTable->setModel(m_proxyModel); cookiesTable->setAlternatingRowColors(true); cookiesTable->setTextElideMode(Qt::ElideMiddle); cookiesTable->setShowGrid(false); cookiesTable->setSortingEnabled(true); QFont f = font(); f.setPointSize(10); QFontMetrics fm(f); int height = fm.height() + fm.height() / 3; cookiesTable->verticalHeader()->setDefaultSectionSize(height); cookiesTable->verticalHeader()->setMinimumSectionSize(-1); for (int i = 0; i < model->columnCount(); ++i) { int header = cookiesTable->horizontalHeader()->sectionSizeHint(i); switch (i) { case 0: header = fm.width(QLatin1String("averagehost.domain.com")); break; case 1: header = fm.width(QLatin1String("_session_id")); break; case 4: header = fm.width(QDateTime::currentDateTime().toString(Qt::LocalDate)); break; } int buffer = fm.width(QLatin1String("xx")); header += buffer; cookiesTable->horizontalHeader()->resizeSection(i, header); } cookiesTable->horizontalHeader()->setStretchLastSection(true); } void CookieDialog::addRule() { const QModelIndexList selection = cookiesTable->selectionModel()->selectedRows(); if (selection.isEmpty()) return; QModelIndex firstSelected = selection.at(0); QModelIndex domainSelection = firstSelected.sibling(firstSelected.row(), 0); QString domain = m_proxyModel->data(domainSelection, Qt::DisplayRole).toString(); CookieExceptionsDialog dialog(m_cookieJar, this); dialog.setDomainName(domain); dialog.exec(); } arora-0.11.0/src/network/cookiejar/cookiedialog.h000066400000000000000000000064611145000221100217160ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef COOKIEDIALOG_H #define COOKIEDIALOG_H #include #include "ui_cookies.h" class CookieJar; class QSortFilterProxyModel; class CookieDialog : public QDialog, public Ui_CookiesDialog { Q_OBJECT public: CookieDialog(CookieJar *cookieJar, QWidget *parent = 0); private: QSortFilterProxyModel *m_proxyModel; CookieJar *m_cookieJar; private slots: void addRule(); }; #endif // COOKIEDIALOG_H arora-0.11.0/src/network/cookiejar/cookieexceptionsdialog.cpp000066400000000000000000000144501145000221100243500ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "cookieexceptionsdialog.h" #include #include #include #include "cookiemodel.h" #include "cookiejar.h" #include "cookieexceptionsmodel.h" CookieExceptionsDialog::CookieExceptionsDialog(CookieJar *cookieJar, QWidget *parent) : QDialog(parent) , m_cookieJar(cookieJar) { setupUi(this); setWindowFlags(Qt::Sheet); connect(removeButton, SIGNAL(clicked()), exceptionTable, SLOT(removeSelected())); connect(removeAllButton, SIGNAL(clicked()), exceptionTable, SLOT(removeAll())); exceptionTable->verticalHeader()->hide(); exceptionTable->setSelectionBehavior(QAbstractItemView::SelectRows); exceptionTable->setAlternatingRowColors(true); exceptionTable->setTextElideMode(Qt::ElideMiddle); exceptionTable->setShowGrid(false); exceptionTable->setSortingEnabled(true); m_exceptionsModel = new CookieExceptionsModel(cookieJar, this); m_proxyModel = new QSortFilterProxyModel(this); m_proxyModel->setSourceModel(m_exceptionsModel); connect(search, SIGNAL(textChanged(QString)), m_proxyModel, SLOT(setFilterFixedString(QString))); exceptionTable->setModel(m_proxyModel); CookieModel *cookieModel = new CookieModel(cookieJar, this); domainLineEdit->setCompleter(new QCompleter(cookieModel, domainLineEdit)); connect(domainLineEdit, SIGNAL(textChanged(const QString &)), this, SLOT(textChanged(const QString &))); connect(blockButton, SIGNAL(clicked()), this, SLOT(block())); connect(allowButton, SIGNAL(clicked()), this, SLOT(allow())); connect(allowForSessionButton, SIGNAL(clicked()), this, SLOT(allowForSession())); QFont f = font(); f.setPointSize(10); QFontMetrics fm(f); int height = fm.height() + fm.height() / 3; exceptionTable->verticalHeader()->setDefaultSectionSize(height); exceptionTable->verticalHeader()->setMinimumSectionSize(-1); for (int i = 0; i < m_exceptionsModel->columnCount(); ++i) { int header = exceptionTable->horizontalHeader()->sectionSizeHint(i); switch (i) { case 0: header = fm.width(QLatin1String("averagebiglonghost.domain.com")); break; case 1: header = fm.width(QLatin1String("Allow For Session")); break; } int buffer = fm.width(QLatin1String("xx")); header += buffer; exceptionTable->horizontalHeader()->resizeSection(i, header); } } void CookieExceptionsDialog::textChanged(const QString &text) { bool enabled = !text.isEmpty(); blockButton->setEnabled(enabled); allowButton->setEnabled(enabled); allowForSessionButton->setEnabled(enabled); } void CookieExceptionsDialog::setDomainName(const QString &domainName) { domainLineEdit->setText(domainName); } void CookieExceptionsDialog::block() { m_exceptionsModel->addRule(domainLineEdit->text(), CookieJar::Block); } void CookieExceptionsDialog::allow() { m_exceptionsModel->addRule(domainLineEdit->text(), CookieJar::Allow); } void CookieExceptionsDialog::allowForSession() { m_exceptionsModel->addRule(domainLineEdit->text(), CookieJar::AllowForSession); } void CookieExceptionsDialog::accept() { m_cookieJar->setBlockedCookies(m_exceptionsModel->m_blockedCookies); m_cookieJar->setAllowedCookies(m_exceptionsModel->m_allowedCookies); m_cookieJar->setAllowForSessionCookies(m_exceptionsModel->m_sessionCookies); QDialog::accept(); } arora-0.11.0/src/network/cookiejar/cookieexceptionsdialog.h000066400000000000000000000071371145000221100240210ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef COOKIEEXCEPTIONSDIALOG_H #define COOKIEEXCEPTIONSDIALOG_H #include #include "ui_cookiesexceptions.h" class CookieJar; class QSortFilterProxyModel; class CookieExceptionsModel; class CookieExceptionsDialog : public QDialog, public Ui_CookiesExceptionsDialog { Q_OBJECT public: CookieExceptionsDialog(CookieJar *cookieJar, QWidget *parent = 0); void accept(); void setDomainName(const QString &domainName); private slots: void block(); void allow(); void allowForSession(); void textChanged(const QString &text); private: CookieExceptionsModel *m_exceptionsModel; QSortFilterProxyModel *m_proxyModel; CookieJar *m_cookieJar; }; #endif // COOKIEEXCEPTIONSDIALOG_H arora-0.11.0/src/network/cookiejar/cookieexceptionsmodel.cpp000066400000000000000000000170251145000221100242120ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "cookieexceptionsmodel.h" #include "cookiejar.h" #include CookieExceptionsModel::CookieExceptionsModel(CookieJar *cookiejar, QObject *parent) : QAbstractTableModel(parent) , m_cookieJar(cookiejar) { m_allowedCookies = m_cookieJar->allowedCookies(); m_blockedCookies = m_cookieJar->blockedCookies(); m_sessionCookies = m_cookieJar->allowForSessionCookies(); } QVariant CookieExceptionsModel::headerData(int section, Qt::Orientation orientation, int role) const { if (role == Qt::SizeHintRole) { QFont font; font.setPointSize(10); QFontMetrics fm(font); int height = fm.height() + fm.height() / 3; int width = fm.width(headerData(section, orientation, Qt::DisplayRole).toString()); return QSize(width, height); } if (orientation == Qt::Horizontal && role == Qt::DisplayRole) { switch (section) { case 0: return tr("Website"); case 1: return tr("Rule"); } } return QAbstractTableModel::headerData(section, orientation, role); } QVariant CookieExceptionsModel::data(const QModelIndex &index, int role) const { if (index.row() < 0 || index.row() >= rowCount()) return QVariant(); switch (role) { case Qt::DisplayRole: case Qt::EditRole: { int row = index.row(); if (row < m_allowedCookies.count()) { switch (index.column()) { case 0: return m_allowedCookies.at(row); case 1: return tr("Allow"); } } row = row - m_allowedCookies.count(); if (row < m_blockedCookies.count()) { switch (index.column()) { case 0: return m_blockedCookies.at(row); case 1: return tr("Block"); } } row = row - m_blockedCookies.count(); if (row < m_sessionCookies.count()) { switch (index.column()) { case 0: return m_sessionCookies.at(row); case 1: return tr("Allow For Session"); } } } case Qt::FontRole: { QFont font; font.setPointSize(10); return font; } } return QVariant(); } int CookieExceptionsModel::columnCount(const QModelIndex &parent) const { return (parent.isValid()) ? 0 : 2; } int CookieExceptionsModel::rowCount(const QModelIndex &parent) const { return (parent.isValid() || !m_cookieJar) ? 0 : m_allowedCookies.count() + m_blockedCookies.count() + m_sessionCookies.count(); } bool CookieExceptionsModel::removeRows(int row, int count, const QModelIndex &parent) { if (parent.isValid() || !m_cookieJar) return false; int lastRow = row + count - 1; beginRemoveRows(parent, row, lastRow); for (int i = lastRow; i >= row; --i) { int rowToRemove = i; if (rowToRemove < m_allowedCookies.count()) { m_allowedCookies.removeAt(rowToRemove); continue; } rowToRemove = rowToRemove - m_allowedCookies.count(); if (rowToRemove < m_blockedCookies.count()) { m_blockedCookies.removeAt(rowToRemove); continue; } rowToRemove = rowToRemove - m_blockedCookies.count(); if (rowToRemove < m_sessionCookies.count()) { m_sessionCookies.removeAt(rowToRemove); continue; } } endRemoveRows(); return true; } void CookieExceptionsModel::addRule(QString host, CookieJar::CookieRule rule) { if (host.isEmpty()) return; switch (rule) { case CookieJar::Allow : addHost(host, m_allowedCookies, m_blockedCookies, m_sessionCookies); return; case CookieJar::Block : addHost(host, m_blockedCookies, m_allowedCookies, m_sessionCookies); return; case CookieJar::AllowForSession : addHost(host, m_sessionCookies, m_allowedCookies, m_blockedCookies); return; } } void CookieExceptionsModel::addHost(QString host, QStringList &add, QStringList &remove1, QStringList &remove2) { if (!add.contains(host)) { add.append(host); remove1.removeOne(host); remove2.removeOne(host); } // avoid to have similar rules, with or without starting dot, eg "arora-browser.org" and ".arora-browser.org" // means the same domain. QString otherRule; if (host.startsWith(QLatin1Char('.'))) { otherRule = host.mid(1); } else { otherRule = QLatin1String(".") + host; } add.removeOne(otherRule); remove1.removeOne(otherRule); remove2.removeOne(otherRule); reset(); } arora-0.11.0/src/network/cookiejar/cookieexceptionsmodel.h000066400000000000000000000077641145000221100236700ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef COOKIEEXCEPTIONSMODEL_H #define COOKIEEXCEPTIONSMODEL_H #include "cookiejar.h" #include #include class CookieExceptionsModel : public QAbstractTableModel { Q_OBJECT friend class CookieExceptionsDialog; public: CookieExceptionsModel(CookieJar *cookieJar, QObject *parent = 0); QVariant headerData(int section, Qt::Orientation orientation, int role) const; QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; int columnCount(const QModelIndex &parent = QModelIndex()) const; int rowCount(const QModelIndex &parent = QModelIndex()) const; bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); void addRule(QString host, CookieJar::CookieRule rule); private: CookieJar *m_cookieJar; // Domains we allow, Domains we block, Domains we allow for this session QStringList m_allowedCookies; QStringList m_blockedCookies; QStringList m_sessionCookies; void addHost(QString host, QStringList &add, QStringList &remove1, QStringList &remove2); }; #endif // COOKIEEXCEPTIONSMODEL_H arora-0.11.0/src/network/cookiejar/cookiejar.cpp000066400000000000000000000403401145000221100215600ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "cookiejar.h" #include "autosaver.h" #include "browserapplication.h" #include #include #include #include #include #include static const unsigned int JAR_VERSION = 23; QT_BEGIN_NAMESPACE QDataStream &operator<<(QDataStream &stream, const QList &list) { stream << JAR_VERSION; stream << quint32(list.size()); for (int i = 0; i < list.size(); ++i) stream << list.at(i).toRawForm(); return stream; } QDataStream &operator>>(QDataStream &stream, QList &list) { list.clear(); quint32 version; stream >> version; if (version != JAR_VERSION) return stream; quint32 count; stream >> count; for (quint32 i = 0; i < count; ++i) { QByteArray value; stream >> value; QList newCookies = QNetworkCookie::parseCookies(value); if (newCookies.count() == 0 && value.length() != 0) { qWarning() << "CookieJar: Unable to parse saved cookie:" << value; } for (int j = 0; j < newCookies.count(); ++j) list.append(newCookies.at(j)); if (stream.atEnd()) break; } return stream; } QT_END_NAMESPACE CookieJar::CookieJar(QObject *parent) : NetworkCookieJar(parent) , m_loaded(false) , m_saveTimer(new AutoSaver(this)) , m_filterTrackingCookies(false) , m_acceptCookies(AcceptOnlyFromSitesNavigatedTo) , m_isPrivate(false) { } CookieJar::~CookieJar() { if (m_loaded && m_keepCookies == KeepUntilExit) clear(); m_saveTimer->saveIfNeccessary(); } void CookieJar::setPrivate(bool isPrivate) { m_isPrivate = isPrivate; } void CookieJar::clear() { if (!m_loaded) load(); setAllCookies(QList()); m_saveTimer->changeOccurred(); emit cookiesChanged(); } void CookieJar::load() { if (m_loaded) return; // load cookies and exceptions qRegisterMetaTypeStreamOperators >("QList"); QSettings cookieSettings(BrowserApplication::dataFilePath(QLatin1String("cookies.ini")), QSettings::IniFormat); if (!m_isPrivate) { setAllCookies(qvariant_cast >(cookieSettings.value(QLatin1String("cookies")))); } cookieSettings.beginGroup(QLatin1String("Exceptions")); m_exceptions_block = cookieSettings.value(QLatin1String("block")).toStringList(); m_exceptions_allow = cookieSettings.value(QLatin1String("allow")).toStringList(); m_exceptions_allowForSession = cookieSettings.value(QLatin1String("allowForSession")).toStringList(); qSort(m_exceptions_block.begin(), m_exceptions_block.end()); qSort(m_exceptions_allow.begin(), m_exceptions_allow.end()); qSort(m_exceptions_allowForSession.begin(), m_exceptions_allowForSession.end()); loadSettings(); } void CookieJar::loadSettings() { QSettings settings; settings.beginGroup(QLatin1String("cookies")); QByteArray value = settings.value(QLatin1String("acceptCookies"), QLatin1String("AcceptOnlyFromSitesNavigatedTo")).toByteArray(); QMetaEnum acceptPolicyEnum = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("AcceptPolicy")); m_acceptCookies = acceptPolicyEnum.keyToValue(value) == -1 ? AcceptOnlyFromSitesNavigatedTo : static_cast(acceptPolicyEnum.keyToValue(value)); value = settings.value(QLatin1String("keepCookiesUntil"), QLatin1String("KeepUntilExpire")).toByteArray(); QMetaEnum keepPolicyEnum = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("KeepPolicy")); m_keepCookies = keepPolicyEnum.keyToValue(value) == -1 ? KeepUntilExpire : static_cast(keepPolicyEnum.keyToValue(value)); if (m_keepCookies == KeepUntilExit) setAllCookies(QList()); m_loaded = true; m_filterTrackingCookies = settings.value(QLatin1String("filterTrackingCookies"), m_filterTrackingCookies).toBool(); m_sessionLength = settings.value(QLatin1String("sessionLength"), -1).toInt(); emit cookiesChanged(); } void CookieJar::save() { if (!m_loaded || m_isPrivate) return; purgeOldCookies(); QSettings cookieSettings(BrowserApplication::dataFilePath(QLatin1String("cookies.ini")), QSettings::IniFormat); QList cookies = allCookies(); for (int i = cookies.count() - 1; i >= 0; --i) { if (cookies.at(i).isSessionCookie()) cookies.removeAt(i); } cookieSettings.setValue(QLatin1String("cookies"), qVariantFromValue >(cookies)); cookieSettings.beginGroup(QLatin1String("Exceptions")); cookieSettings.setValue(QLatin1String("block"), m_exceptions_block); cookieSettings.setValue(QLatin1String("allow"), m_exceptions_allow); cookieSettings.setValue(QLatin1String("allowForSession"), m_exceptions_allowForSession); // save cookie settings QSettings settings; settings.beginGroup(QLatin1String("cookies")); QMetaEnum acceptPolicyEnum = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("AcceptPolicy")); settings.setValue(QLatin1String("acceptCookies"), QLatin1String(acceptPolicyEnum.valueToKey(m_acceptCookies))); QMetaEnum keepPolicyEnum = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("KeepPolicy")); settings.setValue(QLatin1String("keepCookiesUntil"), QLatin1String(keepPolicyEnum.valueToKey(m_keepCookies))); settings.setValue(QLatin1String("filterTrackingCookies"), m_filterTrackingCookies); settings.setValue(QLatin1String("sessionLength"), m_sessionLength); } void CookieJar::purgeOldCookies() { QList cookies = allCookies(); if (cookies.isEmpty()) return; int oldCount = cookies.count(); QDateTime now = QDateTime::currentDateTime(); for (int i = cookies.count() - 1; i >= 0; --i) { if (!cookies.at(i).isSessionCookie() && cookies.at(i).expirationDate() < now) cookies.removeAt(i); } if (oldCount == cookies.count()) return; setAllCookies(cookies); emit cookiesChanged(); } QList CookieJar::cookiesForUrl(const QUrl &url) const { CookieJar *that = const_cast(this); if (!m_loaded) that->load(); return NetworkCookieJar::cookiesForUrl(url); } bool CookieJar::setCookiesFromUrl(const QList &cookieList, const QUrl &url) { if (!m_loaded) load(); QString host = url.host(); bool eBlock = isOnDomainList(m_exceptions_block, host); bool eAllow = !eBlock && isOnDomainList(m_exceptions_allow, host); bool eAllowSession = !eBlock && !eAllow && isOnDomainList(m_exceptions_allowForSession, host); bool addedCookies = false; // pass exceptions bool acceptInitially = (m_acceptCookies != AcceptNever); if ((acceptInitially && !eBlock) || (!acceptInitially && (eAllow || eAllowSession))) { // pass url domain == cookie domain QDateTime soon = QDateTime::currentDateTime(); soon = soon.addDays(90); foreach (QNetworkCookie cookie, cookieList) { if (cookie.isSessionCookie() && m_sessionLength != -1) { QDateTime now = QDateTime::currentDateTime(); cookie.setExpirationDate(now.addDays(m_sessionLength)); } QList lst; if (!(m_filterTrackingCookies && cookie.name().startsWith("__utm"))) { if (eAllowSession) { cookie.setExpirationDate(QDateTime()); } if (m_keepCookies == KeepUntilTimeLimit && !cookie.isSessionCookie() && cookie.expirationDate() > soon) { cookie.setExpirationDate(soon); } lst += cookie; if (NetworkCookieJar::setCookiesFromUrl(lst, url)) { addedCookies = true; } else { // finally force it in if wanted if (m_acceptCookies == AcceptAlways) { QList cookies = allCookies(); QList::Iterator it = cookies.begin(), end = cookies.end(); for (; it != end; ++it) { // does this cookie already exist? if (cookie.name() == it->name() && cookie.domain() == it->domain() && cookie.path() == it->path()) { // found a match cookies.erase(it); break; } } cookies += cookie; setAllCookies(cookies); addedCookies = true; } #if 0 else qWarning() << "setCookiesFromUrl failed" << url << cookieList.value(0).toRawForm(); #endif } #if 0 } else { qWarning() << "cookie treated as tracking cookie" << cookie; #endif } } } if (addedCookies) { m_saveTimer->changeOccurred(); emit cookiesChanged(); } return addedCookies; } QList CookieJar::cookies() const { CookieJar *that = const_cast(this); if (!m_loaded) that->load(); return allCookies(); } void CookieJar::setCookies(const QList &cookies) { if (!m_loaded) load(); setAllCookies(cookies); m_saveTimer->changeOccurred(); emit cookiesChanged(); } bool CookieJar::isOnDomainList(const QStringList &rules, const QString &domain) { // Either the rule matches the domain exactly // or the domain ends with ".rule" foreach (const QString &rule, rules) { if (rule.startsWith(QLatin1String("."))) { if (domain.endsWith(rule)) return true; QStringRef withoutDot = rule.rightRef(rule.size() - 1); if (domain == withoutDot) return true; } else { QStringRef domainEnding = domain.rightRef(rule.size() + 1); if (!domainEnding.isEmpty() && domainEnding.at(0) == QLatin1Char('.') && domain.endsWith(rule)) { return true; } if (rule == domain) return true; } } return false; } CookieJar::AcceptPolicy CookieJar::acceptPolicy() const { if (!m_loaded) (const_cast(this))->load(); return m_acceptCookies; } void CookieJar::setAcceptPolicy(AcceptPolicy policy) { if (!m_loaded) load(); if (policy == m_acceptCookies) return; m_acceptCookies = policy; m_saveTimer->changeOccurred(); } CookieJar::KeepPolicy CookieJar::keepPolicy() const { if (!m_loaded) (const_cast(this))->load(); return m_keepCookies; } void CookieJar::setKeepPolicy(KeepPolicy policy) { if (!m_loaded) load(); if (policy == m_keepCookies) return; m_keepCookies = policy; m_saveTimer->changeOccurred(); } QStringList CookieJar::blockedCookies() const { if (!m_loaded) (const_cast(this))->load(); return m_exceptions_block; } QStringList CookieJar::allowedCookies() const { if (!m_loaded) (const_cast(this))->load(); return m_exceptions_allow; } QStringList CookieJar::allowForSessionCookies() const { if (!m_loaded) (const_cast(this))->load(); return m_exceptions_allowForSession; } void CookieJar::setBlockedCookies(const QStringList &list) { if (!m_loaded) load(); m_exceptions_block = list; qSort(m_exceptions_block.begin(), m_exceptions_block.end()); applyRules(); m_saveTimer->changeOccurred(); } void CookieJar::setAllowedCookies(const QStringList &list) { if (!m_loaded) load(); m_exceptions_allow = list; qSort(m_exceptions_allow.begin(), m_exceptions_allow.end()); applyRules(); m_saveTimer->changeOccurred(); } void CookieJar::setAllowForSessionCookies(const QStringList &list) { if (!m_loaded) load(); m_exceptions_allowForSession = list; qSort(m_exceptions_allowForSession.begin(), m_exceptions_allowForSession.end()); applyRules(); m_saveTimer->changeOccurred(); } void CookieJar::applyRules() { QList cookies = allCookies(); bool changed = false; for (int i = cookies.count() - 1; i >= 0; --i) { const QNetworkCookie &cookie = cookies.at(i); if (isOnDomainList(m_exceptions_block, cookie.domain())) { cookies.removeAt(i); changed = true; } else if (isOnDomainList(m_exceptions_allowForSession, cookie.domain())) { const_cast(cookie).setExpirationDate(QDateTime()); changed = true; } } if (changed) { setAllCookies(cookies); m_saveTimer->changeOccurred(); emit cookiesChanged(); } } bool CookieJar::filterTrackingCookies() const { return this->m_filterTrackingCookies; } void CookieJar::setFilterTrackingCookies(bool filterTrackingCookies) { this->m_filterTrackingCookies = filterTrackingCookies; } arora-0.11.0/src/network/cookiejar/cookiejar.h000066400000000000000000000125711145000221100212320ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef COOKIEJAR_H #define COOKIEJAR_H #include "networkcookiejar.h" #include class AutoSaver; class CookieJar : public NetworkCookieJar { Q_OBJECT Q_PROPERTY(AcceptPolicy acceptPolicy READ acceptPolicy WRITE setAcceptPolicy) Q_PROPERTY(KeepPolicy keepPolicy READ keepPolicy WRITE setKeepPolicy) Q_PROPERTY(QStringList blockedCookies READ blockedCookies WRITE setBlockedCookies) Q_PROPERTY(QStringList allowedCookies READ allowedCookies WRITE setAllowedCookies) Q_PROPERTY(QStringList allowForSessionCookies READ allowForSessionCookies WRITE setAllowForSessionCookies) Q_ENUMS(KeepPolicy) Q_ENUMS(AcceptPolicy) Q_ENUMS(CookieRule) signals: void cookiesChanged(); public: enum AcceptPolicy { AcceptAlways, AcceptNever, AcceptOnlyFromSitesNavigatedTo }; enum KeepPolicy { KeepUntilExpire, KeepUntilExit, KeepUntilTimeLimit }; enum CookieRule { Allow, AllowForSession, Block }; CookieJar(QObject *parent = 0); ~CookieJar(); QList cookiesForUrl(const QUrl &url) const; bool setCookiesFromUrl(const QList &cookieList, const QUrl &url); QList cookies() const; void setCookies(const QList &cookies); AcceptPolicy acceptPolicy() const; void setAcceptPolicy(AcceptPolicy policy); KeepPolicy keepPolicy() const; void setKeepPolicy(KeepPolicy policy); QStringList blockedCookies() const; QStringList allowedCookies() const; QStringList allowForSessionCookies() const; void setBlockedCookies(const QStringList &list); void setAllowedCookies(const QStringList &list); void setAllowForSessionCookies(const QStringList &list); bool filterTrackingCookies() const; void setFilterTrackingCookies(bool filterTrackingCookies); void setPrivate(bool isPrivate); public slots: void clear(); void loadSettings(); private slots: void save(); protected: static bool isOnDomainList(const QStringList &rules, const QString &domain); private: void applyRules(); void purgeOldCookies(); void load(); bool m_loaded; AutoSaver *m_saveTimer; bool m_filterTrackingCookies; AcceptPolicy m_acceptCookies; KeepPolicy m_keepCookies; QStringList m_exceptions_block; QStringList m_exceptions_allow; QStringList m_exceptions_allowForSession; bool m_isPrivate; int m_sessionLength; }; #endif // COOKIEJAR_H arora-0.11.0/src/network/cookiejar/cookiejar.pri000066400000000000000000000006241145000221100215710ustar00rootroot00000000000000INCLUDEPATH += $$PWD DEPENDPATH += $$PWD HEADERS += \ cookiedialog.h \ cookieexceptionsdialog.h \ cookieexceptionsmodel.h \ cookiejar.h \ cookiemodel.h SOURCES += \ cookiedialog.cpp \ cookieexceptionsmodel.cpp \ cookiemodel.cpp \ cookieexceptionsdialog.cpp \ cookiejar.cpp FORMS += \ cookies.ui \ cookiesexceptions.ui include($$PWD/networkcookiejar/networkcookiejar.pri) arora-0.11.0/src/network/cookiejar/cookiemodel.cpp000066400000000000000000000147031145000221100221100ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "cookiemodel.h" #include "cookiejar.h" #include "autosaver.h" #include #include CookieModel::CookieModel(CookieJar *cookieJar, QObject *parent) : QAbstractTableModel(parent) , m_cookieJar(cookieJar) { connect(m_cookieJar, SIGNAL(cookiesChanged()), this, SLOT(cookiesChanged())); m_cookies = m_cookieJar->cookies(); } QVariant CookieModel::headerData(int section, Qt::Orientation orientation, int role) const { if (role == Qt::SizeHintRole) { QFont font; font.setPointSize(10); QFontMetrics fm(font); int height = fm.height() + fm.height() / 3; int width = fm.width(headerData(section, orientation, Qt::DisplayRole).toString()); return QSize(width, height); } if (orientation == Qt::Horizontal) { if (role != Qt::DisplayRole) return QVariant(); switch (section) { case 0: return tr("Website"); case 1: return tr("Name"); case 2: return tr("Path"); case 3: return tr("Secure"); case 4: return tr("Expires"); case 5: return tr("Contents"); default: return QVariant(); } } return QAbstractTableModel::headerData(section, orientation, role); } QVariant CookieModel::data(const QModelIndex &index, int role) const { if (index.row() < 0 || index.row() >= m_cookies.size()) return QVariant(); switch (role) { case CookieModel::SortRole: { QNetworkCookie cookie = m_cookies.at(index.row()); switch (index.column()) { case 0: return cookie.domain(); case 1: return cookie.name(); case 2: return cookie.path(); case 3: return cookie.isSecure(); case 4: return cookie.expirationDate(); case 5: return cookie.value(); } } case Qt::DisplayRole: case Qt::EditRole: { QNetworkCookie cookie = m_cookies.at(index.row()); switch (index.column()) { case 0: return cookie.domain(); case 1: return cookie.name(); case 2: return cookie.path(); case 3: return cookie.isSecure() ? tr("true") : tr("false"); case 4: return cookie.isSessionCookie() ? tr("Session cookie") : cookie.expirationDate().toString(); case 5: return cookie.value(); } } case Qt::FontRole: { QFont font; font.setPointSize(10); return font; } } return QVariant(); } int CookieModel::columnCount(const QModelIndex &parent) const { return (parent.isValid()) ? 0 : 6; } int CookieModel::rowCount(const QModelIndex &parent) const { return (parent.isValid() || !m_cookieJar) ? 0 : m_cookies.count(); } bool CookieModel::removeRows(int row, int count, const QModelIndex &parent) { if (parent.isValid() || !m_cookieJar) return false; int lastRow = row + count - 1; beginRemoveRows(parent, row, lastRow); QList lst = m_cookies; for (int i = lastRow; i >= row; --i) { lst.removeAt(i); } disconnect(m_cookieJar, SIGNAL(cookiesChanged()), this, SLOT(cookiesChanged())); m_cookieJar->setCookies(lst); connect(m_cookieJar, SIGNAL(cookiesChanged()), this, SLOT(cookiesChanged())); m_cookies = lst; endRemoveRows(); return true; } void CookieModel::cookiesChanged() { if (m_cookieJar) m_cookies = m_cookieJar->cookies(); reset(); } arora-0.11.0/src/network/cookiejar/cookiemodel.h000066400000000000000000000073171145000221100215600ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef COOKIEMODEL_H #define COOKIEMODEL_H #include #include class CookieJar; class CookieModel : public QAbstractTableModel { Q_OBJECT public: enum DisplayRole { SortRole = Qt::UserRole }; CookieModel(CookieJar *jar, QObject *parent = 0); QVariant headerData(int section, Qt::Orientation orientation, int role) const; QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; int columnCount(const QModelIndex &parent = QModelIndex()) const; int rowCount(const QModelIndex &parent = QModelIndex()) const; bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); private slots: void cookiesChanged(); private: QList m_cookies; CookieJar *m_cookieJar; }; #endif // COOKIEMODEL_H arora-0.11.0/src/network/cookiejar/cookies.ui000066400000000000000000000052711145000221100211050ustar00rootroot00000000000000 CookiesDialog 0 0 550 370 Cookies Qt::Horizontal 252 20 &Remove Remove &All Cookies Add &Rule Qt::Horizontal 40 20 QDialogButtonBox::Close SearchLineEdit QLineEdit
    searchlineedit.h
    EditTableView QTableView
    edittableview.h
    buttonBox rejected() CookiesDialog close() 472 329 461 356
    arora-0.11.0/src/network/cookiejar/cookiesexceptions.ui000066400000000000000000000114131145000221100232020ustar00rootroot00000000000000 CookiesExceptionsDialog 0 0 466 446 Cookie Exceptions New Exception Domain: Qt::Horizontal 81 25 false Block false Allow For Session false Allow Exceptions Qt::Horizontal 252 20 &Remove Remove &All Qt::Horizontal 40 20 Qt::Horizontal QDialogButtonBox::Ok SearchLineEdit QLineEdit
    searchlineedit.h
    EditTableView QTableView
    edittableview.h
    buttonBox accepted() CookiesExceptionsDialog accept() 381 428 336 443
    arora-0.11.0/src/network/cookiejar/networkcookiejar/000077500000000000000000000000001145000221100224655ustar00rootroot00000000000000arora-0.11.0/src/network/cookiejar/networkcookiejar/MOZILLA_LICENSE.txt000066400000000000000000000742251145000221100255110ustar00rootroot00000000000000 MOZILLA PUBLIC LICENSE Version 1.1 --------------- 1. Definitions. 1.0.1. "Commercial Use" means distribution or otherwise making the Covered Code available to a third party. 1.1. "Contributor" means each entity that creates or contributes to the creation of Modifications. 1.2. "Contributor Version" means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor. 1.3. "Covered Code" means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof. 1.4. "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data. 1.5. "Executable" means Covered Code in any form other than Source Code. 1.6. "Initial Developer" means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A. 1.7. "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License. 1.8. "License" means this document. 1.8.1. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein. 1.9. "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is: A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications. B. Any new file that contains any part of the Original Code or previous Modifications. 1.10. "Original Code" means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License. 1.10.1. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor. 1.11. "Source Code" means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge. 1.12. "You" (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You" includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. 2. Source Code License. 2.1. The Initial Developer Grant. The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and (b) under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof). (c) the licenses granted in this Section 2.1(a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License. (d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices. 2.2. Contributor Grant. Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination). (c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first makes Commercial Use of the Covered Code. (d) Notwithstanding Section 2.2(b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor. 3. Distribution Obligations. 3.1. Application of License. The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5. 3.2. Availability of Source Code. Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party. 3.3. Description of Modifications. You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code. 3.4. Intellectual Property Matters (a) Third Party Claims. If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained. (b) Contributor APIs. If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file. (c) Representations. Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License. 3.5. Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer. 3.6. Distribution of Executable Versions. You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. 3.7. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code. 4. Inability to Comply Due to Statute or Regulation. If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. 5. Application of this License. This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code. 6. Versions of the License. 6.1. New Versions. Netscape Communications Corporation ("Netscape") may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number. 6.2. Effect of New Versions. Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License. 6.3. Derivative Works. If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", "MPL", "NPL" or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.) 7. DISCLAIMER OF WARRANTY. COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. 8. TERMINATION. 8.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. 8.2. If You initiate litigation by asserting a patent infringement claim (excluding declatory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that: (a) such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above. (b) any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant. 8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license. 8.4. In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination. 9. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. 10. U.S. GOVERNMENT END USERS. The Covered Code is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein. 11. MISCELLANEOUS. This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in the United States of America, any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. 12. RESPONSIBILITY FOR CLAIMS. As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability. 13. MULTIPLE-LICENSED CODE. Initial Developer may designate portions of the Covered Code as "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of the NPL or the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A. EXHIBIT A -Mozilla Public License. ``The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. The Original Code is ______________________________________. The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved. Contributor(s): ______________________________________. Alternatively, the contents of this file may be used under the terms of the _____ license (the "[___] License"), in which case the provisions of [______] License are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of the [____] License and not to allow others to use your version of this file under the MPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the [___] License. If you do not delete the provisions above, a recipient may use your version of this file under either the MPL or the [___] License." [NOTE: The text of this Exhibit A may differ slightly from the text of the notices in the Source Code files of the Original Code. You should use the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications.] ---------------------------------------------------------------------- AMENDMENTS The Netscape Public License Version 1.1 ("NPL") consists of the Mozilla Public License Version 1.1 with the following Amendments, including Exhibit A-Netscape Public License. Files identified with "Exhibit A-Netscape Public License" are governed by the Netscape Public License Version 1.1. Additional Terms applicable to the Netscape Public License. I. Effect. These additional terms described in this Netscape Public License -- Amendments shall apply to the Mozilla Communicator client code and to all Covered Code under this License. II. "Netscape's Branded Code" means Covered Code that Netscape distributes and/or permits others to distribute under one or more trademark(s) which are controlled by Netscape but which are not licensed for use under this License. III. Netscape and logo. This License does not grant any rights to use the trademarks "Netscape", the "Netscape N and horizon" logo or the "Netscape lighthouse" logo, "Netcenter", "Gecko", "Java" or "JavaScript", "Smart Browsing" even if such marks are included in the Original Code or Modifications. IV. Inability to Comply Due to Contractual Obligation. Prior to licensing the Original Code under this License, Netscape has licensed third party code for use in Netscape's Branded Code. To the extent that Netscape is limited contractually from making such third party code available under this License, Netscape may choose to reintegrate such code into Covered Code without being required to distribute such code in Source Code form, even if such code would otherwise be considered "Modifications" under this License. V. Use of Modifications and Covered Code by Initial Developer. V.1. In General. The obligations of Section 3 apply to Netscape, except to the extent specified in this Amendment, Section V.2 and V.3. V.2. Other Products. Netscape may include Covered Code in products other than the Netscape's Branded Code which are released by Netscape during the two (2) years following the release date of the Original Code, without such additional products becoming subject to the terms of this License, and may license such additional products on different terms from those contained in this License. V.3. Alternative Licensing. Netscape may license the Source Code of Netscape's Branded Code, including Modifications incorporated therein, without such Netscape Branded Code becoming subject to the terms of this License, and may license such Netscape Branded Code on different terms from those contained in this License. VI. Litigation. Notwithstanding the limitations of Section 11 above, the provisions regarding litigation in Section 11(a), (b) and (c) of the License shall apply to all disputes relating to this License. EXHIBIT A-Netscape Public License. "The contents of this file are subject to the Netscape Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/NPL/ Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. The Original Code is Mozilla Communicator client code, released March 31, 1998. The Initial Developer of the Original Code is Netscape Communications Corporation. Portions created by Netscape are Copyright (C) 1998-1999 Netscape Communications Corporation. All Rights Reserved. Contributor(s): ______________________________________. Alternatively, the contents of this file may be used under the terms of the _____ license (the "[___] License"), in which case the provisions of [______] License are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of the [____] License and not to allow others to use your version of this file under the NPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the [___] License. If you do not delete the provisions above, a recipient may use your version of this file under either the NPL or the [___] License." arora-0.11.0/src/network/cookiejar/networkcookiejar/networkcookiejar.cpp000066400000000000000000000277051145000221100265640ustar00rootroot00000000000000/* Copyright (C) 2009, Torch Mobile Inc. and Linden Research, Inc. All rights reserved. */ /* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is Torch Mobile Inc. (http://www.torchmobile.com/) code * * The Initial Developer of the Original Code is: * Benjamin Meyer (benjamin.meyer@torchmobile.com) * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ #include "networkcookiejar.h" #include "networkcookiejar_p.h" #include "twoleveldomains_p.h" //#define NETWORKCOOKIEJAR_DEBUG #ifndef QT_NO_DEBUG // ^ Prevent being left on in a released product by accident // qDebug any cookies that are rejected for further inspection #define NETWORKCOOKIEJAR_LOGREJECTEDCOOKIES #include #endif #include #include #if defined(NETWORKCOOKIEJAR_DEBUG) #include #endif NetworkCookieJar::NetworkCookieJar(QObject *parent) : QNetworkCookieJar(parent) { d = new NetworkCookieJarPrivate; } NetworkCookieJar::~NetworkCookieJar() { delete d; } static QStringList splitHost(const QString &host) { QStringList parts = host.split(QLatin1Char('.'), QString::KeepEmptyParts); // Remove empty components that are on the start and end while (!parts.isEmpty() && parts.last().isEmpty()) parts.removeLast(); while (!parts.isEmpty() && parts.first().isEmpty()) parts.removeFirst(); return parts; } inline static bool shorterPaths(const QNetworkCookie &c1, const QNetworkCookie &c2) { return c2.path().length() < c1.path().length(); } QList NetworkCookieJar::cookiesForUrl(const QUrl &url) const { #if defined(NETWORKCOOKIEJAR_DEBUG) qDebug() << "NetworkCookieJar::" << __FUNCTION__ << url; #endif // Generate split host QString host = url.host(); if (url.scheme().toLower() == QLatin1String("file")) host = QLatin1String("localhost"); QStringList urlHost = splitHost(host); // Get all the cookies for url QList cookies = d->tree.find(urlHost); if (urlHost.count() > 2) { int top = 2; if (d->matchesBlacklist(urlHost.last())) top = 3; urlHost.removeFirst(); while (urlHost.count() >= top) { cookies += d->tree.find(urlHost); urlHost.removeFirst(); } } // Prevent doing anything expensive in the common case where // there are no cookies to check if (cookies.isEmpty()) return cookies; QDateTime now = QDateTime::currentDateTime().toTimeSpec(Qt::UTC); const QString urlPath = d->urlPath(url); const bool isSecure = url.scheme().toLower() == QLatin1String("https"); QList::iterator i = cookies.begin(); for (; i != cookies.end();) { if (!d->matchingPath(*i, urlPath)) { #if defined(NETWORKCOOKIEJAR_DEBUG) qDebug() << __FUNCTION__ << "Ignoring cookie, path does not match" << *i << urlPath; #endif i = cookies.erase(i); continue; } if (!isSecure && i->isSecure()) { i = cookies.erase(i); #if defined(NETWORKCOOKIEJAR_DEBUG) qDebug() << __FUNCTION__ << "Ignoring cookie, security mismatch" << *i << !isSecure; #endif continue; } if (!i->isSessionCookie() && now > i->expirationDate()) { // remove now (expensive short term) because there will // probably be many more cookiesForUrl calls for this host d->tree.remove(splitHost(i->domain()), *i); #if defined(NETWORKCOOKIEJAR_DEBUG) qDebug() << __FUNCTION__ << "Ignoring cookie, expiration issue" << *i << now; #endif i = cookies.erase(i); continue; } ++i; } // shorter paths should go first qSort(cookies.begin(), cookies.end(), shorterPaths); #if defined(NETWORKCOOKIEJAR_DEBUG) qDebug() << "NetworkCookieJar::" << __FUNCTION__ << "returning" << cookies.count(); qDebug() << cookies; #endif return cookies; } static const qint32 NetworkCookieJarMagic = 0xae; QByteArray NetworkCookieJar::saveState () const { int version = 1; QByteArray data; QDataStream stream(&data, QIODevice::WriteOnly); stream << qint32(NetworkCookieJarMagic); stream << qint32(version); stream << d->tree; return data; } bool NetworkCookieJar::restoreState(const QByteArray &state) { int version = 1; QByteArray sd = state; QDataStream stream(&sd, QIODevice::ReadOnly); if (stream.atEnd()) return false; qint32 marker; qint32 v; stream >> marker; stream >> v; if (marker != NetworkCookieJarMagic || v != version) return false; stream >> d->tree; return true; } /*! Remove any session cookies or cookies that have expired. */ void NetworkCookieJar::endSession() { const QList cookies = d->tree.all(); QDateTime now = QDateTime::currentDateTime().toTimeSpec(Qt::UTC); QList::const_iterator i = cookies.constBegin(); for (; i != cookies.constEnd();) { if (i->isSessionCookie() || (!i->isSessionCookie() && now > i->expirationDate())) { d->tree.remove(splitHost(i->domain()), *i); } ++i; } } static const int maxCookiePathLength = 1024; bool NetworkCookieJar::setCookiesFromUrl(const QList &cookieList, const QUrl &url) { #if defined(NETWORKCOOKIEJAR_DEBUG) qDebug() << "NetworkCookieJar::" << __FUNCTION__ << url; qDebug() << cookieList; #endif QDateTime now = QDateTime::currentDateTime().toTimeSpec(Qt::UTC); bool changed = false; QString fullUrlPath = url.path(); QString defaultPath = fullUrlPath.mid(0, fullUrlPath.lastIndexOf(QLatin1Char('/')) + 1); if (defaultPath.isEmpty()) defaultPath = QLatin1Char('/'); QString urlPath = d->urlPath(url); foreach (QNetworkCookie cookie, cookieList) { if (cookie.path().length() > maxCookiePathLength) continue; bool alreadyDead = !cookie.isSessionCookie() && cookie.expirationDate() < now; if (cookie.path().isEmpty()) { cookie.setPath(defaultPath); } // Matching the behavior of Firefox, no path checking is done when setting cookies // Safari does something even odder, when that paths don't match it keeps // the cookie, but changes the paths to the default path #if 0 else if (!d->matchingPath(cookie, urlPath)) { #ifdef NETWORKCOOKIEJAR_LOGREJECTEDCOOKIES qDebug() << "NetworkCookieJar::" << __FUNCTION__ << "Blocked cookie because: path doesn't match: " << cookie << url; #endif continue; } #endif if (cookie.domain().isEmpty()) { QString host = url.host().toLower(); if (host.isEmpty()) continue; cookie.setDomain(host); } else if (!d->matchingDomain(cookie, url)) { #ifdef NETWORKCOOKIEJAR_LOGREJECTEDCOOKIES qDebug() << "NetworkCookieJar::" << __FUNCTION__ << "Blocked cookie because: domain doesn't match: " << cookie << url; #endif continue; } // replace/remove existing cookies QString domain = cookie.domain(); Q_ASSERT(!domain.isEmpty()); QStringList urlHost = splitHost(domain); QList cookies = d->tree.find(urlHost); QList::const_iterator it = cookies.constBegin(); for (; it != cookies.constEnd(); ++it) { if (cookie.name() == it->name() && cookie.domain() == it->domain() && cookie.path() == it->path()) { d->tree.remove(urlHost, *it); break; } } if (alreadyDead) continue; changed = true; d->tree.insert(urlHost, cookie); } return changed; } QList NetworkCookieJar::allCookies() const { #if defined(NETWORKCOOKIEJAR_DEBUG) qDebug() << "NetworkCookieJar::" << __FUNCTION__; #endif return d->tree.all(); } void NetworkCookieJar::setAllCookies(const QList &cookieList) { #if defined(NETWORKCOOKIEJAR_DEBUG) qDebug() << "NetworkCookieJar::" << __FUNCTION__ << cookieList.count(); #endif d->tree.clear(); foreach (const QNetworkCookie &cookie, cookieList) { QString domain = cookie.domain(); d->tree.insert(splitHost(domain), cookie); } } QString NetworkCookieJarPrivate::urlPath(const QUrl &url) const { QString urlPath = url.path(); if (!urlPath.endsWith(QLatin1Char('/'))) urlPath += QLatin1Char('/'); return urlPath; } bool NetworkCookieJarPrivate::matchingPath(const QNetworkCookie &cookie, const QString &urlPath) const { QString cookiePath = cookie.path(); if (!cookiePath.endsWith(QLatin1Char('/'))) cookiePath += QLatin1Char('/'); return urlPath.startsWith(cookiePath); } bool NetworkCookieJarPrivate::matchesBlacklist(const QString &string) const { if (!setSecondLevelDomain) { // Alternatively to save a little bit of ram we could just // use bsearch on twoLevelDomains in place for (int j = 0; twoLevelDomains[j]; ++j) secondLevelDomains += QLatin1String(twoLevelDomains[j]); setSecondLevelDomain = true; } QStringList::const_iterator i = qBinaryFind(secondLevelDomains.constBegin(), secondLevelDomains.constEnd(), string); return (i != secondLevelDomains.constEnd()); } bool NetworkCookieJarPrivate::matchingDomain(const QNetworkCookie &cookie, const QUrl &url) const { QString domain = cookie.domain().simplified().toLower(); domain.remove(QLatin1Char(' ')); QStringList parts = splitHost(domain); if (parts.isEmpty()) return false; // When there is only one part only file://localhost/ is accepted if (parts.count() == 1) { QString s = parts.first(); if (parts.first() != QLatin1String("localhost")) return false; if (url.scheme().toLower() == QLatin1String("file")) return true; } // Check for blacklist if (parts.count() == 2 && matchesBlacklist(parts.last())) return false; QStringList urlParts = url.host().toLower().split(QLatin1Char('.'), QString::SkipEmptyParts); if (urlParts.isEmpty()) return false; while (urlParts.count() > parts.count()) urlParts.removeFirst(); for (int j = 0; j < urlParts.count(); ++j) { if (urlParts.at(j) != parts.at(j)) { return false; } } return true; } void NetworkCookieJar::setSecondLevelDomains(const QStringList &secondLevelDomains) { d->setSecondLevelDomain = true; d->secondLevelDomains = secondLevelDomains; qSort(d->secondLevelDomains); } arora-0.11.0/src/network/cookiejar/networkcookiejar/networkcookiejar.h000066400000000000000000000046651145000221100262310ustar00rootroot00000000000000/* Copyright (C) 2009, Torch Mobile Inc. and Linden Research, Inc. All rights reserved. */ /* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is Torch Mobile Inc. (http://www.torchmobile.com/) code * * The Initial Developer of the Original Code is: * Benjamin Meyer (benjamin.meyer@torchmobile.com) * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ #ifndef NETWORKCOOKIEJAR_H #define NETWORKCOOKIEJAR_H #include class NetworkCookieJarPrivate; class NetworkCookieJar : public QNetworkCookieJar { Q_OBJECT public: NetworkCookieJar(QObject *parent = 0); ~NetworkCookieJar(); virtual QList cookiesForUrl(const QUrl & url) const; virtual bool setCookiesFromUrl(const QList &cookieList, const QUrl &url); protected: QByteArray saveState() const; bool restoreState(const QByteArray &state); void endSession(); QList allCookies() const; void setAllCookies(const QList &cookieList); void setSecondLevelDomains(const QStringList &secondLevelDomains); private: NetworkCookieJarPrivate *d; }; #endif arora-0.11.0/src/network/cookiejar/networkcookiejar/networkcookiejar.pri000066400000000000000000000002321145000221100265560ustar00rootroot00000000000000INCLUDEPATH += $$PWD DEPENDPATH += $$PWD HEADERS += trie_p.h networkcookiejar.h twoleveldomains_p.h networkcookiejar_p.h SOURCES += networkcookiejar.cpp arora-0.11.0/src/network/cookiejar/networkcookiejar/networkcookiejar_p.h000066400000000000000000000052761145000221100265470ustar00rootroot00000000000000/* Copyright (C) 2009, Torch Mobile Inc. and Linden Research, Inc. All rights reserved. */ /* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is Torch Mobile Inc. (http://www.torchmobile.com/) code * * The Initial Developer of the Original Code is: * Benjamin Meyer (benjamin.meyer@torchmobile.com) * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ #ifndef NETWORKCOOKIEJARPRIVATE_H #define NETWORKCOOKIEJARPRIVATE_H #include "trie_p.h" QT_BEGIN_NAMESPACE QDataStream &operator<<(QDataStream &stream, const QNetworkCookie &cookie) { stream << cookie.toRawForm(); return stream; } QDataStream &operator>>(QDataStream &stream, QNetworkCookie &cookie) { QByteArray value; stream >> value; QList newCookies = QNetworkCookie::parseCookies(value); if (!newCookies.isEmpty()) cookie = newCookies.first(); return stream; } QT_END_NAMESPACE class NetworkCookieJarPrivate { public: NetworkCookieJarPrivate() : setSecondLevelDomain(false) {} Trie tree; mutable bool setSecondLevelDomain; mutable QStringList secondLevelDomains; bool matchesBlacklist(const QString &string) const; bool matchingDomain(const QNetworkCookie &cookie, const QUrl &url) const; QString urlPath(const QUrl &url) const; bool matchingPath(const QNetworkCookie &cookie, const QString &urlPath) const; }; #endif arora-0.11.0/src/network/cookiejar/networkcookiejar/trie_p.h000066400000000000000000000167201145000221100241260ustar00rootroot00000000000000/* Copyright (C) 2009, Torch Mobile Inc. and Linden Research, Inc. All rights reserved. */ /* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is Torch Mobile Inc. (http://www.torchmobile.com/) code * * The Initial Developer of the Original Code is: * Benjamin Meyer (benjamin.meyer@torchmobile.com) * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ #ifndef TRIE_H #define TRIE_H //#define TRIE_DEBUG #include #if defined(TRIE_DEBUG) #include #endif /* A Trie tree (prefix tree) where the lookup takes m in the worst case. The key is stored in _reverse_ order Example: Keys: x,a y,a Trie: a | \ x y */ template class Trie { public: Trie(); ~Trie(); void clear(); void insert(const QStringList &key, const T &value); bool remove(const QStringList &key, const T &value); QList find(const QStringList &key) const; QList all() const; inline bool contains(const QStringList &key) const; inline bool isEmpty() const { return children.isEmpty() && values.isEmpty(); } private: const Trie* walkTo(const QStringList &key) const; Trie* walkTo(const QStringList &key, bool create = false); template friend QDataStream &operator<<(QDataStream &, const Trie&); template friend QDataStream &operator>>(QDataStream &, Trie&); QList values; QStringList childrenKeys; QList > children; }; template Trie::Trie() { } template Trie::~Trie() { } template void Trie::clear() { #if defined(TRIE_DEBUG) qDebug() << "Trie::" << __FUNCTION__; #endif values.clear(); childrenKeys.clear(); children.clear(); } template bool Trie::contains(const QStringList &key) const { return walkTo(key); } template void Trie::insert(const QStringList &key, const T &value) { #if defined(TRIE_DEBUG) qDebug() << "Trie::" << __FUNCTION__ << key << value; #endif Trie *node = walkTo(key, true); if (node) node->values.append(value); } template bool Trie::remove(const QStringList &key, const T &value) { #if defined(TRIE_DEBUG) qDebug() << "Trie::" << __FUNCTION__ << key << value; #endif Trie *node = walkTo(key, true); if (node) { bool removed = node->values.removeOne(value); if (!removed) return false; // A faster implementation of removing nodes up the tree // can be created if profile shows this to be slow QStringList subKey = key; while (node->values.isEmpty() && node->children.isEmpty() && !subKey.isEmpty()) { QString currentLevelKey = subKey.first(); QStringList parentKey = subKey.mid(1); Trie *parent = walkTo(parentKey, false); Q_ASSERT(parent); QStringList::iterator iterator; iterator = qBinaryFind(parent->childrenKeys.begin(), parent->childrenKeys.end(), currentLevelKey); Q_ASSERT(iterator != parent->childrenKeys.end()); int index = iterator - parent->childrenKeys.begin(); parent->children.removeAt(index); parent->childrenKeys.removeAt(index); node = parent; subKey = parentKey; } return removed; } return false; } template QList Trie::find(const QStringList &key) const { #if defined(TRIE_DEBUG) qDebug() << "Trie::" << __FUNCTION__ << key; #endif const Trie *node = walkTo(key); if (node) return node->values; return QList(); } template QList Trie::all() const { #if defined(TRIE_DEBUG) qDebug() << "Trie::" << __FUNCTION__; #endif QList all = values; for (int i = 0; i < children.count(); ++i) all += children[i].all(); return all; } template QDataStream &operator<<(QDataStream &out, const Trie&trie) { out << trie.values; out << trie.childrenKeys; out << trie.children; Q_ASSERT(trie.childrenKeys.count() == trie.children.count()); return out; } template QDataStream &operator>>(QDataStream &in, Trie &trie) { trie.clear(); in >> trie.values; in >> trie.childrenKeys; in >> trie.children; Q_ASSERT(trie.childrenKeys.count() == trie.children.count()); return in; } // Very fast const walk template const Trie* Trie::walkTo(const QStringList &key) const { const Trie *node = this; QStringList::const_iterator childIterator; QStringList::const_iterator begin, end; int depth = key.count() - 1; while (depth >= 0) { const QString currentLevelKey = key.at(depth--); begin = node->childrenKeys.constBegin(); end = node->childrenKeys.constEnd(); childIterator = qBinaryFind(begin, end, currentLevelKey); if (childIterator == end) return 0; node = &node->children.at(childIterator - begin); } return node; } template Trie* Trie::walkTo(const QStringList &key, bool create) { QStringList::iterator iterator; Trie *node = this; QStringList::iterator begin, end; int depth = key.count() - 1; while (depth >= 0) { const QString currentLevelKey = key.at(depth--); begin = node->childrenKeys.begin(); end = node->childrenKeys.end(); iterator = qBinaryFind(begin, end, currentLevelKey); #if defined(TRIE_DEBUG) qDebug() << "\t" << node << key << currentLevelKey << node->childrenKeys; #endif int index = -1; if (iterator == end) { if (!create) return 0; iterator = qLowerBound(begin, end, currentLevelKey); index = iterator - begin; node->childrenKeys.insert(iterator, currentLevelKey); node->children.insert(index, Trie()); } else { index = iterator - begin; } Q_ASSERT(index >= 0 && index < node->children.count()); node = &node->children[index]; } return node; } #endif arora-0.11.0/src/network/cookiejar/networkcookiejar/twoleveldomains_p.h000066400000000000000000000047301145000221100263750ustar00rootroot00000000000000/* Copyright (C) 2009, Torch Mobile Inc. and Linden Research, Inc. All rights reserved. */ /* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is Torch Mobile Inc. (http://www.torchmobile.com/) code * * The Initial Developer of the Original Code is: * Benjamin Meyer (benjamin.meyer@torchmobile.com) * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ // Updated from https://wiki.mozilla.org/TLD_List#External_Links // To set a custom list use NetworkCookieJar::setSecondLevelDomains() static const char *const twoLevelDomains[] = { "ao", "ar", "arpa", "bd", "bn", "br", "co", "cr", "cy", "do", "eg", "et", "fj", "fk", "gh", "gn", "gu", "id", "il", "jm", "ke", "kh", "ki", "kw", "kz", "lb", "lc", "lr", "ls", "ml", "mm", "mv", "mw", "mx", "my", "ng", "ni", "np", "nz", "om", "pa", "pe", "pg", "pw", "py", "qa", "sa", "sb", "sv", "sy", "th", "tn", "tz", "uk", "uy", "va", "ve", "ye", "yu", "za", "zm", "zw", 0 }; arora-0.11.0/src/network/fileaccesshandler.cpp000066400000000000000000000170451145000221100213110ustar00rootroot00000000000000/* * Copyright 2009 Jonas Gehring * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "fileaccesshandler.h" #include #include #include #include #include #include #include #include #include #include FileAccessHandler::FileAccessHandler(QObject *parent) : SchemeAccessHandler(parent) { } QNetworkReply *FileAccessHandler::createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *outgoingData) { Q_UNUSED(outgoingData); switch (op) { case QNetworkAccessManager::GetOperation: break; default: return 0; } // This handler can only list directories yet, so pass anything // else back to the manager QString path = request.url().toLocalFile(); if (!QFileInfo(path).isDir()) { return 0; } FileAccessReply *reply = new FileAccessReply(request, this); return reply; } FileAccessReply::FileAccessReply(const QNetworkRequest &request, QObject *parent) : QNetworkReply(parent) { setOperation(QNetworkAccessManager::GetOperation); setRequest(request); setUrl(request.url()); buffer.open(QIODevice::ReadWrite); setError(QNetworkReply::NoError, tr("No Error")); QTimer::singleShot(0, this, SLOT(listDirectory())); open(QIODevice::ReadOnly); } FileAccessReply::~FileAccessReply() { close(); } qint64 FileAccessReply::bytesAvailable() const { return buffer.bytesAvailable() + QNetworkReply::bytesAvailable(); } void FileAccessReply::close() { buffer.close(); } static QString cssLinkClass(const QIcon &icon, int size = 32) { // The CSS class generation is a bit tricky, because QIcon/QPixmap's // cacheKey() returns the different values for the same icons on my Windows // box (tested with XP). Thus, the checksum of the actual text of the CSS class // is used for the class name. QString data = QLatin1String("a.%3 {\n\ padding-left: %1px;\n\ background: transparent url(data:image/png;base64,%2) no-repeat center left;\n\ font-weight: bold;\n\ }\n"); QPixmap pixmap = icon.pixmap(QSize(size, size)); QBuffer imageBuffer; imageBuffer.open(QBuffer::ReadWrite); if (!pixmap.save(&imageBuffer, "PNG")) { // If an error occured, write a blank pixmap pixmap = QPixmap(size, size); pixmap.fill(Qt::transparent); imageBuffer.buffer().clear(); pixmap.save(&imageBuffer, "PNG"); } return data.arg(size+4).arg(QLatin1String(imageBuffer.buffer().toBase64())); } void FileAccessReply::listDirectory() { QDir dir(url().toLocalFile()); if (!dir.exists()) { setError(QNetworkReply::ContentNotFoundError, tr("Error opening: %1: No such file or directory").arg(dir.absolutePath())); emit error(QNetworkReply::ContentNotFoundError); emit finished(); return; } if (!dir.isReadable()) { setError(QNetworkReply::ContentAccessDenied, tr("Unable to read %1").arg(dir.absolutePath())); emit error(QNetworkReply::ContentAccessDenied); emit finished(); return; } // Format a html page for the directory contents QFile dirlistFile(QLatin1String(":/dirlist.html")); if (!dirlistFile.open(QIODevice::ReadOnly)) return; QString html = QLatin1String(dirlistFile.readAll()); html = html.arg(dir.absolutePath(), tr("Contents of %1").arg(dir.absolutePath())); // Templates for the listing QString link = QLatin1String("%3"); QString row = QLatin1String(" %2 %3 %4 \n"); QFileIconProvider iconProvider; QHash existingClasses; int iconSize = QWebSettings::globalSettings()->fontSize(QWebSettings::DefaultFontSize); QFileInfoList list = dir.entryInfoList(QDir::AllEntries | QDir::Hidden, QDir::Name | QDir::DirsFirst); QString dirlist, classes; // Write link to parent directory first if (!dir.isRoot()) { QIcon icon = qApp->style()->standardIcon(QStyle::SP_FileDialogToParent); classes += cssLinkClass(icon, iconSize).arg(QLatin1String("link_parent")); QString addr = QString::fromUtf8(QUrl::fromLocalFile(QFileInfo(dir.absoluteFilePath(QLatin1String(".."))).canonicalFilePath()).toEncoded()); QString size, modified; // Empty by intention dirlist += row.arg(QString()).arg(link.arg(QLatin1String("link_parent")).arg(addr).arg(QLatin1String(".."))).arg(size).arg(modified); } for (int i = 0; i < list.count(); ++i) { // Skip '.' and '..' if (list[i].fileName() == QLatin1String(".") || list[i].fileName() == QLatin1String("..")) { continue; } // Fetch file icon and generate a corresponding CSS class if neccessary QIcon icon = iconProvider.icon(list[i]); QString cssClass = cssLinkClass(icon, iconSize); QByteArray cssData = cssClass.toLatin1(); QString className = QString(QLatin1String("link_%1")).arg(QLatin1String(QCryptographicHash::hash(cssData, QCryptographicHash::Md4).toHex())); if (!existingClasses.contains(className)) { classes += cssClass.arg(className); existingClasses.insert(className, true); } QString addr = QString::fromUtf8(QUrl::fromLocalFile(list[i].canonicalFilePath()).toEncoded()); QString size, modified; if (list[i].fileName() != QLatin1String("..")) { if (list[i].isFile()) size = tr("%1 KB").arg(QString::number(list[i].size()/1024)); modified = list[i].lastModified().toString(Qt::SystemLocaleShortDate); } QString classes; if (list[i].isHidden()) classes = QLatin1String(" class=\"hidden\""); dirlist += row.arg(classes).arg(link.arg(className).arg(addr).arg(list[i].fileName())).arg(size).arg(modified); } html = html.arg(classes).arg(dirlist).arg(tr("Show Hidden Files")); // Save result to buffer QTextStream stream(&buffer); stream << html; stream.flush(); buffer.reset(); // Publish result setHeader(QNetworkRequest::ContentTypeHeader, QByteArray("text/html")); setHeader(QNetworkRequest::ContentLengthHeader, buffer.bytesAvailable()); setAttribute(QNetworkRequest::HttpStatusCodeAttribute, 200); setAttribute(QNetworkRequest::HttpReasonPhraseAttribute, QByteArray("Ok")); emit metaDataChanged(); emit downloadProgress(buffer.size(), buffer.size()); QNetworkReply::NetworkError errorCode = error(); if (errorCode != QNetworkReply::NoError) { emit error(errorCode); } else if (buffer.size() > 0) { emit readyRead(); } emit finished(); } qint64 FileAccessReply::readData(char *data, qint64 maxSize) { return buffer.read(data, maxSize); } arora-0.11.0/src/network/fileaccesshandler.h000066400000000000000000000031331145000221100207470ustar00rootroot00000000000000/* * Copyright 2009 Jonas Gehring * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef FILEACCESSHANDLER_H #define FILEACCESSHANDLER_H #include "schemeaccesshandler.h" #include #include class FileAccessHandler : public SchemeAccessHandler { public: FileAccessHandler(QObject *parent = 0); virtual QNetworkReply *createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *outgoingData = 0); }; class FileAccessReply : public QNetworkReply { Q_OBJECT public: FileAccessReply(const QNetworkRequest &request, QObject *parent = 0); ~FileAccessReply(); virtual qint64 bytesAvailable() const; virtual void abort() { }; virtual void close(); protected: virtual qint64 readData(char *data, qint64 maxSize); private slots: void listDirectory(); private: QBuffer buffer; }; #endif // FILEACCESSHANDLER_H arora-0.11.0/src/network/network.pri000066400000000000000000000006561145000221100173530ustar00rootroot00000000000000INCLUDEPATH += $$PWD DEPENDPATH += $$PWD FORMS += \ passworddialog.ui \ proxy.ui HEADERS += \ fileaccesshandler.h \ networkaccessmanager.h \ networkdiskcache.h \ networkproxyfactory.h \ schemeaccesshandler.h SOURCES += \ fileaccesshandler.cpp \ networkaccessmanager.cpp \ networkdiskcache.cpp \ networkproxyfactory.cpp \ schemeaccesshandler.cpp include(cookiejar/cookiejar.pri) arora-0.11.0/src/network/networkaccessmanager.cpp000066400000000000000000000353601145000221100220600ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "networkaccessmanager.h" #include "adblockmanager.h" #include "adblocknetwork.h" #include "adblockschemeaccesshandler.h" #include "acceptlanguagedialog.h" #include "autofillmanager.h" #include "browserapplication.h" #include "browsermainwindow.h" #include "cookiejar.h" #include "schemeaccesshandler.h" #include "fileaccesshandler.h" #include "networkproxyfactory.h" #include "networkdiskcache.h" #include "ui_passworddialog.h" #include "ui_proxy.h" #include #include #include #include #include #include #include #include #include // #define NETWORKACCESSMANAGER_DEBUG NetworkAccessManager::NetworkAccessManager(QObject *parent) : NetworkAccessManagerProxy(parent) , m_adblockNetwork(0) { connect(this, SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)), SLOT(authenticationRequired(QNetworkReply*, QAuthenticator*))); connect(this, SIGNAL(proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*)), SLOT(proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*))); #ifndef QT_NO_OPENSSL connect(this, SIGNAL(sslErrors(QNetworkReply*, const QList&)), SLOT(sslErrors(QNetworkReply*, const QList&))); #endif connect(BrowserApplication::instance(), SIGNAL(privacyChanged(bool)), this, SLOT(privacyChanged(bool))); loadSettings(); // Register custom scheme handlers setSchemeHandler(QLatin1String("file"), new FileAccessHandler(this)); setSchemeHandler(QLatin1String("abp"), new AdBlockSchemeAccessHandler(this)); setCookieJar(new CookieJar); } void NetworkAccessManager::privacyChanged(bool isPrivate) { // Create a new CookieJar that has the privacy flag set so the old cookies // are not loaded and the cookies are not saved on exit if (isPrivate) { CookieJar *cookieJar = new CookieJar; cookieJar->setPrivate(isPrivate); setCookieJar(cookieJar); } else { // it will delete the old one setCookieJar(new CookieJar); } } void NetworkAccessManager::setSchemeHandler(const QString &scheme, SchemeAccessHandler *handler) { m_schemeHandlers.insert(scheme, handler); } void NetworkAccessManager::loadSettings() { QSettings settings; settings.beginGroup(QLatin1String("proxy")); QNetworkProxy proxy; if (settings.value(QLatin1String("enabled"), false).toBool()) { int proxyType = settings.value(QLatin1String("type"), 0).toInt(); if (proxyType == 0) proxy = QNetworkProxy::Socks5Proxy; else if (proxyType == 1) proxy = QNetworkProxy::HttpProxy; else { // 2 proxy.setType(QNetworkProxy::HttpCachingProxy); proxy.setCapabilities(QNetworkProxy::CachingCapability | QNetworkProxy::HostNameLookupCapability); } proxy.setHostName(settings.value(QLatin1String("hostName")).toString()); proxy.setPort(settings.value(QLatin1String("port"), 1080).toInt()); proxy.setUser(settings.value(QLatin1String("userName")).toString()); proxy.setPassword(settings.value(QLatin1String("password")).toString()); } NetworkProxyFactory *proxyFactory = new NetworkProxyFactory; if (proxy.type() == QNetworkProxy::HttpCachingProxy) { proxyFactory->setHttpProxy(proxy); proxyFactory->setGlobalProxy(QNetworkProxy::DefaultProxy); } else { proxyFactory->setHttpProxy(QNetworkProxy::DefaultProxy); proxyFactory->setGlobalProxy(proxy); } setProxyFactory(proxyFactory); settings.endGroup(); #ifndef QT_NO_OPENSSL QSslConfiguration sslCfg = QSslConfiguration::defaultConfiguration(); QList ca_list = sslCfg.caCertificates(); QList ca_new = QSslCertificate::fromData(settings.value(QLatin1String("CaCertificates")).toByteArray()); ca_list += ca_new; sslCfg.setCaCertificates(ca_list); QSslConfiguration::setDefaultConfiguration(sslCfg); #endif settings.beginGroup(QLatin1String("network")); QStringList acceptList = settings.value(QLatin1String("acceptLanguages"), AcceptLanguageDialog::defaultAcceptList()).toStringList(); m_acceptLanguage = AcceptLanguageDialog::httpString(acceptList); bool cacheEnabled = settings.value(QLatin1String("cacheEnabled"), true).toBool(); if (QLatin1String(qVersion()) == QLatin1String("4.5.1")) cacheEnabled = false; if (cacheEnabled) { NetworkDiskCache *diskCache; if (cache()) diskCache = qobject_cast(cache()); else diskCache = new NetworkDiskCache(this); setCache(diskCache); diskCache->loadSettings(); } else { if (QLatin1String(qVersion()) > QLatin1String("4.5.1")) setCache(0); } settings.endGroup(); } void NetworkAccessManager::authenticationRequired(QNetworkReply *reply, QAuthenticator *auth) { #ifdef NETWORKACCESSMANAGER_DEBUG qDebug() << __FUNCTION__ << reply; #endif BrowserMainWindow *mainWindow = BrowserApplication::instance()->mainWindow(); QDialog dialog(mainWindow); dialog.setWindowFlags(Qt::Sheet); Ui::PasswordDialog passwordDialog; passwordDialog.setupUi(&dialog); passwordDialog.iconLabel->setText(QString()); passwordDialog.iconLabel->setPixmap(mainWindow->style()->standardIcon(QStyle::SP_MessageBoxQuestion, 0, mainWindow).pixmap(32, 32)); QString introMessage = tr("Enter username and password for \"%1\" at %2"); introMessage = introMessage.arg(Qt::escape(auth->realm())).arg(Qt::escape(reply->url().toString())); passwordDialog.introLabel->setText(introMessage); passwordDialog.introLabel->setWordWrap(true); if (dialog.exec() == QDialog::Accepted) { auth->setUser(passwordDialog.userNameLineEdit->text()); auth->setPassword(passwordDialog.passwordLineEdit->text()); } } void NetworkAccessManager::proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *auth) { #ifdef NETWORKACCESSMANAGER_DEBUG qDebug() << __FUNCTION__; #endif BrowserMainWindow *mainWindow = BrowserApplication::instance()->mainWindow(); QDialog dialog(mainWindow); dialog.setWindowFlags(Qt::Sheet); Ui::ProxyDialog proxyDialog; proxyDialog.setupUi(&dialog); proxyDialog.iconLabel->setText(QString()); proxyDialog.iconLabel->setPixmap(mainWindow->style()->standardIcon(QStyle::SP_MessageBoxQuestion, 0, mainWindow).pixmap(32, 32)); QString introMessage = tr("Connect to proxy \"%1\" using:"); introMessage = introMessage.arg(Qt::escape(proxy.hostName())); proxyDialog.introLabel->setText(introMessage); proxyDialog.introLabel->setWordWrap(true); if (dialog.exec() == QDialog::Accepted) { auth->setUser(proxyDialog.userNameLineEdit->text()); auth->setPassword(proxyDialog.passwordLineEdit->text()); } } #ifndef QT_NO_OPENSSL QString NetworkAccessManager::certToFormattedString(QSslCertificate cert) { QStringList message; message << cert.subjectInfo(QSslCertificate::CommonName); message << tr("Issuer: %1").arg(cert.issuerInfo(QSslCertificate::CommonName)); message << tr("Not valid before: %1").arg(cert.effectiveDate().toString()); message << tr("Valid until: %1").arg(cert.expiryDate().toString()); QMultiMap names = cert.alternateSubjectNames(); if (names.count() > 0) { QString list; list += QLatin1String("
    "); list += tr("Alternate Names:"); list += QLatin1String("
    • "); list += QStringList(names.values(QSsl::DnsEntry)).join(QLatin1String("
    • ")); list += QLatin1String("
    "); message << list; } QString result = QLatin1String("

    ") + message.join(QLatin1String("
    ")) + QLatin1String("

    "); return result; } void NetworkAccessManager::sslErrors(QNetworkReply *reply, const QList &error) { #ifdef NETWORKACCESSMANAGER_DEBUG qDebug() << __FUNCTION__; #endif BrowserMainWindow *mainWindow = BrowserApplication::instance()->mainWindow(); QSettings settings; QList ca_merge = QSslCertificate::fromData(settings.value(QLatin1String("CaCertificates")).toByteArray()); QList ca_new; QStringList errorStrings; for (int i = 0; i < error.count(); ++i) { if (ca_merge.contains(error.at(i).certificate())) continue; errorStrings += error.at(i).errorString(); if (!error.at(i).certificate().isNull()) { ca_new.append(error.at(i).certificate()); } } if (errorStrings.isEmpty()) { reply->ignoreSslErrors(); return; } QString errors = errorStrings.join(QLatin1String("
  • ")); int ret = QMessageBox::warning(mainWindow, QCoreApplication::applicationName() + tr(" - SSL Errors"), tr("SSL Errors:" "

    for: %1" "
    • %2
    \n\n" "Do you want to ignore these errors?
    ").arg(reply->url().toString()).arg(errors), QMessageBox::Yes | QMessageBox::No, QMessageBox::No); if (ret == QMessageBox::Yes) { if (ca_new.count() > 0) { QStringList certinfos; for (int i = 0; i < ca_new.count(); ++i) certinfos += certToFormattedString(ca_new.at(i)); ret = QMessageBox::question(mainWindow, QCoreApplication::applicationName(), tr("Certificates:
    " "%1
    " "Do you want to accept all these certificates?
    ") .arg(certinfos.join(QString())), QMessageBox::Yes | QMessageBox::No, QMessageBox::No); if (ret == QMessageBox::Yes) { ca_merge += ca_new; QSslConfiguration sslCfg = QSslConfiguration::defaultConfiguration(); QList ca_list = sslCfg.caCertificates(); ca_list += ca_new; sslCfg.setCaCertificates(ca_list); QSslConfiguration::setDefaultConfiguration(sslCfg); reply->setSslConfiguration(sslCfg); QByteArray pems; for (int i = 0; i < ca_merge.count(); ++i) pems += ca_merge.at(i).toPem() + '\n'; settings.setValue(QLatin1String("CaCertificates"), pems); } } reply->ignoreSslErrors(); } } #endif QNetworkReply *NetworkAccessManager::createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *outgoingData) { if (op == PostOperation && outgoingData) { QByteArray outgoingDataByteArray = outgoingData->peek(1024 * 1024); BrowserApplication::autoFillManager()->post(request, outgoingDataByteArray); } QNetworkReply *reply = 0; // Check if there is a valid handler registered for the requested URL scheme if (m_schemeHandlers.contains(request.url().scheme())) reply = m_schemeHandlers[request.url().scheme()]->createRequest(op, request, outgoingData); if (reply) return reply; QNetworkRequest req = request; #if QT_VERSION >= 0x040600 req.setAttribute(QNetworkRequest::HttpPipeliningAllowedAttribute, true); #endif if (!m_acceptLanguage.isEmpty()) req.setRawHeader("Accept-Language", m_acceptLanguage); // Adblock if (op == QNetworkAccessManager::GetOperation) { if (!m_adblockNetwork) m_adblockNetwork = AdBlockManager::instance()->network(); reply = m_adblockNetwork->block(req); if (reply) return reply; } reply = QNetworkAccessManager::createRequest(op, req, outgoingData); emit requestCreated(op, req, reply); return reply; } arora-0.11.0/src/network/networkaccessmanager.h000066400000000000000000000107131145000221100215200ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef NETWORKACCESSMANAGER_H #define NETWORKACCESSMANAGER_H #include #include #include #include "networkaccessmanagerproxy.h" class SchemeAccessHandler; class AdBlockNetwork; class NetworkAccessManager : public NetworkAccessManagerProxy { Q_OBJECT signals: void requestCreated(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QNetworkReply *reply); public: NetworkAccessManager(QObject *parent = 0); void setSchemeHandler(const QString &scheme, SchemeAccessHandler *handler); inline QNetworkReply *createRequestProxy(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *outgoingData) { return createRequest(op, request, outgoingData); } protected: QNetworkReply *createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *outgoingData = 0); public slots: void loadSettings(); private slots: void authenticationRequired(QNetworkReply *reply, QAuthenticator *auth); void proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *auth); #ifndef QT_NO_OPENSSL void sslErrors(QNetworkReply *reply, const QList &error); #endif void privacyChanged(bool isPrivate); private: #ifndef QT_NO_OPENSSL static QString certToFormattedString(QSslCertificate cert); #endif QByteArray m_acceptLanguage; QHash m_schemeHandlers; QNetworkCookieJar *m_privateCookieJar; AdBlockNetwork *m_adblockNetwork; }; #endif // NETWORKACCESSMANAGER_H arora-0.11.0/src/network/networkdiskcache.cpp000066400000000000000000000051711145000221100211770ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "networkdiskcache.h" #include "browserapplication.h" #include #include NetworkDiskCache::NetworkDiskCache(QObject *parent) : QNetworkDiskCache(parent) , m_private(false) { QString diskCacheDirectory = QDesktopServices::storageLocation(QDesktopServices::CacheLocation) + QLatin1String("/browser"); setCacheDirectory(diskCacheDirectory); connect(BrowserApplication::instance(), SIGNAL(privacyChanged(bool)), this, SLOT(privacyChanged(bool))); } void NetworkDiskCache::loadSettings() { QSettings settings; settings.beginGroup(QLatin1String("network")); qint64 maximumCacheSize = settings.value(QLatin1String("maximumCacheSize"), 50).toInt(); maximumCacheSize = maximumCacheSize * 1024 * 1024; setMaximumCacheSize(maximumCacheSize); } void NetworkDiskCache::privacyChanged(bool isPrivate) { m_private = isPrivate; } QIODevice *NetworkDiskCache::prepare(const QNetworkCacheMetaData &metaData) { if (m_private) return 0; return QNetworkDiskCache::prepare(metaData); } arora-0.11.0/src/network/networkdiskcache.h000066400000000000000000000036731145000221100206510ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef NETWORKDISKCACHE_H #define NETWORKDISKCACHE_H #include class NetworkDiskCache : public QNetworkDiskCache { Q_OBJECT public: NetworkDiskCache(QObject *parent = 0); void loadSettings(); QIODevice *prepare(const QNetworkCacheMetaData &metaData); private slots: void privacyChanged(bool isPrivate); private: bool m_private; }; #endif // NETWORKDISKCACHE_H arora-0.11.0/src/network/networkproxyfactory.cpp000066400000000000000000000025651145000221100220360ustar00rootroot00000000000000/* * Copyright 2009 Benjamin K. Stuhl * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "networkproxyfactory.h" NetworkProxyFactory::NetworkProxyFactory() : QNetworkProxyFactory() { } void NetworkProxyFactory::setHttpProxy(const QNetworkProxy &proxy) { m_httpProxy = proxy; } void NetworkProxyFactory::setGlobalProxy(const QNetworkProxy &proxy) { m_globalProxy = proxy; } QList NetworkProxyFactory::queryProxy(const QNetworkProxyQuery &query) { QList ret; if (query.protocolTag() == QLatin1String("http") && m_httpProxy.type() != QNetworkProxy::DefaultProxy) ret << m_httpProxy; ret << m_globalProxy; return ret; } arora-0.11.0/src/network/networkproxyfactory.h000066400000000000000000000024071145000221100214760ustar00rootroot00000000000000/* * Copyright 2009 Benjamin K. Stuhl * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef NETWORKPROXYFACTORY_H #define NETWORKPROXYFACTORY_H #include class NetworkProxyFactory : public QNetworkProxyFactory { public: NetworkProxyFactory(); void setHttpProxy(const QNetworkProxy &proxy); void setGlobalProxy(const QNetworkProxy &proxy); virtual QList queryProxy(const QNetworkProxyQuery &query = QNetworkProxyQuery()); private: QNetworkProxy m_httpProxy; QNetworkProxy m_globalProxy; }; #endif // NETWORKPROXYFACTORY_H arora-0.11.0/src/network/passworddialog.ui000066400000000000000000000053541145000221100205270ustar00rootroot00000000000000 PasswordDialog 0 0 399 148 Authentication Required DUMMY ICON 0 0 INTRO TEXT DUMMY Username: Password: QLineEdit::Password Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok buttonBox accepted() PasswordDialog accept() 248 254 157 274 buttonBox rejected() PasswordDialog reject() 316 260 286 274 arora-0.11.0/src/network/proxy.ui000066400000000000000000000050441145000221100166620ustar00rootroot00000000000000 ProxyDialog 0 0 369 144 Proxy Authentication ICON Connect to proxy true Username: Password: QLineEdit::Password Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok buttonBox accepted() ProxyDialog accept() 248 254 157 274 buttonBox rejected() ProxyDialog reject() 316 260 286 274 arora-0.11.0/src/network/schemeaccesshandler.cpp000066400000000000000000000016201145000221100216260ustar00rootroot00000000000000/* * Copyright 2009 Jonas Gehring * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "schemeaccesshandler.h" SchemeAccessHandler::SchemeAccessHandler(QObject *parent) : QObject(parent) { } arora-0.11.0/src/network/schemeaccesshandler.h000066400000000000000000000022751145000221100213020ustar00rootroot00000000000000/* * Copyright 2009 Jonas Gehring * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef SCHEMEACCESSHANDLER_H #define SCHEMEACCESSHANDLER_H #include #include class QNetworkReply; class SchemeAccessHandler : public QObject { public: SchemeAccessHandler(QObject *parent = 0); virtual QNetworkReply *createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *outgoingData = 0) = 0; }; #endif // SCHEMEACCESSHANDLER_H arora-0.11.0/src/opensearch/000077500000000000000000000000001145000221100155755ustar00rootroot00000000000000arora-0.11.0/src/opensearch/opensearch.pri000066400000000000000000000010651145000221100204420ustar00rootroot00000000000000INCLUDEPATH += $$PWD DEPENDPATH += $$PWD HEADERS += \ opensearchdialog.h \ opensearchengine.h \ opensearchenginedelegate.h \ opensearchengineaction.h \ opensearchenginemodel.h \ opensearchmanager.h \ opensearchreader.h \ opensearchwriter.h SOURCES += \ opensearchdialog.cpp \ opensearchengine.cpp \ opensearchenginedelegate.cpp \ opensearchengineaction.cpp \ opensearchenginemodel.cpp \ opensearchmanager.cpp \ opensearchreader.cpp \ opensearchwriter.cpp FORMS += opensearchdialog.ui QT += script arora-0.11.0/src/opensearch/opensearchdialog.cpp000066400000000000000000000061041145000221100216110ustar00rootroot00000000000000/* * Copyright 2009 Christian Franke * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "opensearchdialog.h" #include "browserapplication.h" #include "opensearchenginemodel.h" #include "opensearchmanager.h" #include "toolbarsearch.h" #include #include OpenSearchDialog::OpenSearchDialog(QWidget *parent) : QDialog(parent) , m_model(0) { setModal(true); setupUi(this); m_model = new OpenSearchEngineModel(ToolbarSearch::openSearchManager(), this); m_tableView->setModel(m_model); m_tableView->horizontalHeader()->resizeSection(0, 200); m_tableView->horizontalHeader()->setStretchLastSection(true); m_tableView->verticalHeader()->hide(); m_tableView->verticalHeader()->setDefaultSectionSize(1.2 * fontMetrics().height()); m_tableView->setSelectionBehavior(QAbstractItemView::SelectRows); m_tableView->setShowGrid(false); m_tableView->setAlternatingRowColors(true); connect(m_closeButton, SIGNAL(clicked()), this, SLOT(close())); connect(m_addButton, SIGNAL(clicked()), this, SLOT(addButtonClicked())); connect(m_deleteButton, SIGNAL(clicked()), this, SLOT(deleteButtonClicked())); connect(m_restoreButton, SIGNAL(clicked()), this, SLOT(restoreButtonClicked())); } void OpenSearchDialog::addButtonClicked() { QStringList fileNames = QFileDialog::getOpenFileNames(this, tr("Open File"), QString(), tr("OpenSearch") + QLatin1String(" (*.xml)")); foreach (const QString &fileName, fileNames) { if (!ToolbarSearch::openSearchManager()->addEngine(fileName)) { QMessageBox::critical(this, tr("Error"), tr("%1 is not a valid OpenSearch 1.1 description or is already on your list.").arg(fileName)); } } } void OpenSearchDialog::deleteButtonClicked() { if (m_tableView->model()->rowCount() == 1) { QMessageBox::critical(this, tr("Error"), tr("You must have at least one search engine in here.")); return; } m_tableView->removeSelected(); } void OpenSearchDialog::restoreButtonClicked() { ToolbarSearch::openSearchManager()->restoreDefaults(); } arora-0.11.0/src/opensearch/opensearchdialog.h000066400000000000000000000024401145000221100212550ustar00rootroot00000000000000/* * Copyright 2009 Christian Franke * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef OPENSEARCHDIALOG_H #define OPENSEARCHDIALOG_H #include #include "ui_opensearchdialog.h" class OpenSearchEngineModel; class OpenSearchDialog : public QDialog, public Ui_OpenSearchDialog { Q_OBJECT public: OpenSearchDialog(QWidget *parent = 0); protected slots: void addButtonClicked(); void deleteButtonClicked(); void restoreButtonClicked(); private: OpenSearchEngineModel *m_model; }; #endif //OPENSEARCHDIALOG_H arora-0.11.0/src/opensearch/opensearchdialog.ui000066400000000000000000000036511145000221100214500ustar00rootroot00000000000000 OpenSearchDialog 0 0 500 250 OpenSearch Manager 400 &Add &Delete &Restore Defaults Qt::Horizontal 50 &Close EditTableView QTableView
    edittableview.h
    arora-0.11.0/src/opensearch/opensearchengine.cpp000066400000000000000000000453161145000221100216270ustar00rootroot00000000000000/* * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "opensearchengine.h" #include "opensearchenginedelegate.h" #include #include #include #include #include #include #include #include #include /*! \class OpenSearchEngine \brief A class representing a single search engine described in OpenSearch format OpenSearchEngine is a class that represents a single search engine based on the OpenSearch format. For more information about the format, see http://www.opensearch.org/. Instances of the class hold all the data associated with the corresponding search engines, such as name(), description() and also URL templates that are used to construct URLs, which can be used later to perform search queries. Search engine can also have an image, even an external one, in this case it will be downloaded automatically from the network. OpenSearchEngine instances can be constructed from scratch but also read from external sources and written back to them. OpenSearchReader and OpenSearchWriter are the classes provided for reading and writing OpenSearch descriptions. Default constructed engines need to be filled with the necessary information before they can be used to peform search requests. First of all, a search engine should have the metadata including the name and the description. However, the most important are URL templates, which are the construction of URLs but can also contain template parameters, that are replaced with corresponding values at the time of constructing URLs. There are two types of URL templates: search URL template and suggestions URL template. Search URL template is needed for constructing search URLs, which point directly to search results. Suggestions URL template is necessary to construct suggestion queries URLs, which are then used for requesting contextual suggestions, a popular service offered along with search results that provides search terms related to what has been supplied by the user. Both types of URLs are constructed by the class, by searchUrl() and suggestionsUrl() functions respectively. However, search requests are supposed to be performed outside the class, while suggestion queries can be executed using the requestSuggestions() method. The class will take care of peforming the network request and parsing the JSON response. Both the image request and suggestion queries need network access. The class can perform network requests on its own, though the client application needs to provide a network access manager, which then will to be used for network operations. Without that, both images delivered from remote locations and contextual suggestions will be disabled. \sa OpenSearchReader, OpenSearchWriter */ /*! Constructs an engine with a given \a parent. */ OpenSearchEngine::OpenSearchEngine(QObject *parent) : QObject(parent) , m_searchMethod(QLatin1String("get")) , m_suggestionsMethod(QLatin1String("get")) , m_networkAccessManager(0) , m_suggestionsReply(0) , m_scriptEngine(0) , m_delegate(0) { m_requestMethods.insert(QLatin1String("get"), QNetworkAccessManager::GetOperation); m_requestMethods.insert(QLatin1String("post"), QNetworkAccessManager::PostOperation); } /*! A destructor. */ OpenSearchEngine::~OpenSearchEngine() { if (m_scriptEngine) m_scriptEngine->deleteLater(); } QString OpenSearchEngine::parseTemplate(const QString &searchTerm, const QString &searchTemplate) { QString language = QLocale().name(); // Simple conversion to RFC 3066. language = language.replace(QLatin1Char('_'), QLatin1Char('-')); QString result = searchTemplate; result.replace(QLatin1String("{count}"), QLatin1String("20")); result.replace(QLatin1String("{startIndex}"), QLatin1String("0")); result.replace(QLatin1String("{startPage}"), QLatin1String("0")); result.replace(QLatin1String("{language}"), language); result.replace(QLatin1String("{inputEncoding}"), QLatin1String("UTF-8")); result.replace(QLatin1String("{outputEncoding}"), QLatin1String("UTF-8")); result.replace(QRegExp(QLatin1String("\\{([^\\}]*:|)source\\??\\}")), QCoreApplication::applicationName()); result.replace(QLatin1String("{searchTerms}"), QLatin1String(QUrl::toPercentEncoding(searchTerm))); return result; } /*! \property OpenSearchEngine::name \brief the name of the engine \sa description() */ QString OpenSearchEngine::name() const { return m_name; } void OpenSearchEngine::setName(const QString &name) { m_name = name; } /*! \property OpenSearchEngine::description \brief the description of the engine \sa name() */ QString OpenSearchEngine::description() const { return m_description; } void OpenSearchEngine::setDescription(const QString &description) { m_description = description; } /*! \property OpenSearchEngine::searchUrlTemplate \brief the template of the search URL \sa searchUrl(), searchParameters(), suggestionsUrlTemplate() */ QString OpenSearchEngine::searchUrlTemplate() const { return m_searchUrlTemplate; } void OpenSearchEngine::setSearchUrlTemplate(const QString &searchUrlTemplate) { m_searchUrlTemplate = searchUrlTemplate; } /*! Constructs and returns a search URL with a given \a searchTerm. The URL template is processed according to the specification: http://www.opensearch.org/Specifications/OpenSearch/1.1#OpenSearch_URL_template_syntax A list of template parameters currently supported and what they are replaced with: \table \header \o parameter \o value \row \o "{count}" \o "20" \row \o "{startIndex}" \o "0" \row \o "{startPage}" \o "0" \row \o "{language}" \o "the default language code (RFC 3066)" \row \o "{inputEncoding}" \o "UTF-8" \row \o "{outputEncoding}" \o "UTF-8" \row \o "{*:source}" \o "application name, QCoreApplication::applicationName()" \row \o "{searchTerms}" \o "the string supplied by the user" \endtable \sa searchUrlTemplate(), searchParameters(), suggestionsUrl() */ QUrl OpenSearchEngine::searchUrl(const QString &searchTerm) const { if (m_searchUrlTemplate.isEmpty()) return QUrl(); QUrl retVal = QUrl::fromEncoded(parseTemplate(searchTerm, m_searchUrlTemplate).toUtf8()); if (m_searchMethod != QLatin1String("post")) { Parameters::const_iterator end = m_searchParameters.constEnd(); Parameters::const_iterator i = m_searchParameters.constBegin(); for (; i != end; ++i) retVal.addQueryItem(i->first, parseTemplate(searchTerm, i->second)); } return retVal; } /*! \property providesSuggestions \brief indicates whether the engine supports contextual suggestions */ bool OpenSearchEngine::providesSuggestions() const { return !m_suggestionsUrlTemplate.isEmpty(); } /*! \property OpenSearchEngine::suggestionsUrlTemplate \brief the template of the suggestions URL \sa suggestionsUrl(), suggestionsParameters(), searchUrlTemplate() */ QString OpenSearchEngine::suggestionsUrlTemplate() const { return m_suggestionsUrlTemplate; } void OpenSearchEngine::setSuggestionsUrlTemplate(const QString &suggestionsUrlTemplate) { m_suggestionsUrlTemplate = suggestionsUrlTemplate; } /*! Constructs a suggestions URL with a given \a searchTerm. The URL template is processed according to the specification: http://www.opensearch.org/Specifications/OpenSearch/1.1#OpenSearch_URL_template_syntax See searchUrl() for more information about processing template parameters. \sa suggestionsUrlTemplate(), suggestionsParameters(), searchUrl() */ QUrl OpenSearchEngine::suggestionsUrl(const QString &searchTerm) const { if (m_suggestionsUrlTemplate.isEmpty()) return QUrl(); QUrl retVal = QUrl::fromEncoded(parseTemplate(searchTerm, m_suggestionsUrlTemplate).toUtf8()); if (m_suggestionsMethod != QLatin1String("post")) { Parameters::const_iterator end = m_suggestionsParameters.constEnd(); Parameters::const_iterator i = m_suggestionsParameters.constBegin(); for (; i != end; ++i) retVal.addQueryItem(i->first, parseTemplate(searchTerm, i->second)); } return retVal; } /*! \property searchParameters \brief additional parameters that will be included in the search URL For more information see: http://www.opensearch.org/Specifications/OpenSearch/Extensions/Parameter/1.0 */ OpenSearchEngine::Parameters OpenSearchEngine::searchParameters() const { return m_searchParameters; } void OpenSearchEngine::setSearchParameters(const Parameters &searchParameters) { m_searchParameters = searchParameters; } /*! \property suggestionsParameters \brief additional parameters that will be included in the suggestions URL For more information see: http://www.opensearch.org/Specifications/OpenSearch/Extensions/Parameter/1.0 */ OpenSearchEngine::Parameters OpenSearchEngine::suggestionsParameters() const { return m_suggestionsParameters; } void OpenSearchEngine::setSuggestionsParameters(const Parameters &suggestionsParameters) { m_suggestionsParameters = suggestionsParameters; } /*! \property searchMethod \brief HTTP request method that will be used to perform search requests */ QString OpenSearchEngine::searchMethod() const { return m_searchMethod; } void OpenSearchEngine::setSearchMethod(const QString &method) { QString requestMethod = method.toLower(); if (!m_requestMethods.contains(requestMethod)) return; m_searchMethod = requestMethod; } /*! \property suggestionsMethod \brief HTTP request method that will be used to perform suggestions requests */ QString OpenSearchEngine::suggestionsMethod() const { return m_suggestionsMethod; } void OpenSearchEngine::setSuggestionsMethod(const QString &method) { QString requestMethod = method.toLower(); if (!m_requestMethods.contains(requestMethod)) return; m_suggestionsMethod = requestMethod; } /*! \property imageUrl \brief the image URL of the engine When setting a new image URL, it won't be loaded immediately. The first request will be deferred until image() is called for the first time. \note To be able to request external images, you need to provide a network access manager, which will be used for network operations. \sa image(), networkAccessManager() */ QString OpenSearchEngine::imageUrl() const { return m_imageUrl; } void OpenSearchEngine::setImageUrl(const QString &imageUrl) { m_imageUrl = imageUrl; } void OpenSearchEngine::loadImage() const { if (!m_networkAccessManager || m_imageUrl.isEmpty()) return; QNetworkReply *reply = m_networkAccessManager->get(QNetworkRequest(QUrl::fromEncoded(m_imageUrl.toUtf8()))); connect(reply, SIGNAL(finished()), this, SLOT(imageObtained())); } void OpenSearchEngine::imageObtained() { QNetworkReply *reply = qobject_cast(sender()); if (!reply) return; QByteArray response = reply->readAll(); reply->close(); reply->deleteLater(); if (response.isEmpty()) return; m_image.loadFromData(response); emit imageChanged(); } /*! \property image \brief the image of the engine When no image URL has been set and an image will be set explicitly, a new data URL will be constructed, holding the image data encoded with Base64. \sa imageUrl() */ QImage OpenSearchEngine::image() const { if (m_image.isNull()) loadImage(); return m_image; } void OpenSearchEngine::setImage(const QImage &image) { if (m_imageUrl.isEmpty()) { QBuffer imageBuffer; imageBuffer.open(QBuffer::ReadWrite); if (image.save(&imageBuffer, "PNG")) { m_imageUrl = QString(QLatin1String("data:image/png;base64,%1")) .arg(QLatin1String(imageBuffer.buffer().toBase64())); } } m_image = image; emit imageChanged(); } /*! \property valid \brief indicates whether the engine is valid i.e. the description was properly formed and included all necessary information */ bool OpenSearchEngine::isValid() const { return (!m_name.isEmpty() && !m_searchUrlTemplate.isEmpty()); } bool OpenSearchEngine::operator==(const OpenSearchEngine &other) const { return (m_name == other.m_name && m_description == other.m_description && m_imageUrl == other.m_imageUrl && m_searchUrlTemplate == other.m_searchUrlTemplate && m_suggestionsUrlTemplate == other.m_suggestionsUrlTemplate && m_searchParameters == other.m_searchParameters && m_suggestionsParameters == other.m_suggestionsParameters); } bool OpenSearchEngine::operator<(const OpenSearchEngine &other) const { return (m_name < other.m_name); } /*! Requests contextual suggestions on the search engine, for a given \a searchTerm. If succeeded, suggestions() signal will be emitted once the suggestions are received. \note To be able to request suggestions, you need to provide a network access manager, which will be used for network operations. \sa requestSearchResults() */ void OpenSearchEngine::requestSuggestions(const QString &searchTerm) { if (searchTerm.isEmpty() || !providesSuggestions()) return; Q_ASSERT(m_networkAccessManager); if (!m_networkAccessManager) return; if (m_suggestionsReply) { m_suggestionsReply->disconnect(this); m_suggestionsReply->abort(); m_suggestionsReply->deleteLater(); m_suggestionsReply = 0; } Q_ASSERT(m_requestMethods.contains(m_suggestionsMethod)); if (m_suggestionsMethod == QLatin1String("get")) { m_suggestionsReply = m_networkAccessManager->get(QNetworkRequest(suggestionsUrl(searchTerm))); } else { QStringList parameters; Parameters::const_iterator end = m_suggestionsParameters.constEnd(); Parameters::const_iterator i = m_suggestionsParameters.constBegin(); for (; i != end; ++i) parameters.append(i->first + QLatin1String("=") + i->second); QByteArray data = parameters.join(QLatin1String("&")).toUtf8(); m_suggestionsReply = m_networkAccessManager->post(QNetworkRequest(suggestionsUrl(searchTerm)), data); } connect(m_suggestionsReply, SIGNAL(finished()), this, SLOT(suggestionsObtained())); } /*! Requests search results on the search engine, for a given \a searchTerm. The default implementation does nothing, to supply your own you need to create your own OpenSearchEngineDelegate subclass and supply it to the engine. Then the function will call the performSearchRequest() method of the delegate, which can then handle the request in a custom way. \sa requestSuggestions(), delegate() */ void OpenSearchEngine::requestSearchResults(const QString &searchTerm) { if (!m_delegate || searchTerm.isEmpty()) return; Q_ASSERT(m_requestMethods.contains(m_searchMethod)); QNetworkRequest request(QUrl(searchUrl(searchTerm))); QByteArray data; QNetworkAccessManager::Operation operation = m_requestMethods.value(m_searchMethod); if (operation == QNetworkAccessManager::PostOperation) { QStringList parameters; Parameters::const_iterator end = m_searchParameters.constEnd(); Parameters::const_iterator i = m_searchParameters.constBegin(); for (; i != end; ++i) parameters.append(i->first + QLatin1String("=") + i->second); data = parameters.join(QLatin1String("&")).toUtf8(); } m_delegate->performSearchRequest(request, operation, data); } void OpenSearchEngine::suggestionsObtained() { QString response(QString::fromUtf8(m_suggestionsReply->readAll())); response = response.trimmed(); m_suggestionsReply->close(); m_suggestionsReply->deleteLater(); m_suggestionsReply = 0; if (response.isEmpty()) return; if (!response.startsWith(QLatin1Char('[')) || !response.endsWith(QLatin1Char(']'))) return; if (!m_scriptEngine) m_scriptEngine = new QScriptEngine(); // Evaluate the JSON response using QtScript. if (!m_scriptEngine->canEvaluate(response)) return; QScriptValue responseParts = m_scriptEngine->evaluate(response); if (!responseParts.property(1).isArray()) return; QStringList suggestionsList; qScriptValueToSequence(responseParts.property(1), suggestionsList); emit suggestions(suggestionsList); } /*! \property networkAccessManager \brief the network access manager that is used to perform network requests It is required for network operations: loading external images and requesting contextual suggestions. */ QNetworkAccessManager *OpenSearchEngine::networkAccessManager() const { return m_networkAccessManager; } void OpenSearchEngine::setNetworkAccessManager(QNetworkAccessManager *networkAccessManager) { m_networkAccessManager = networkAccessManager; } /*! \property delegate \brief the delegate that is used to perform specific tasks. It can be currently supplied to provide a custom behaviour ofthe requetSearchResults() method. The default implementation does nothing. */ OpenSearchEngineDelegate *OpenSearchEngine::delegate() const { return m_delegate; } void OpenSearchEngine::setDelegate(OpenSearchEngineDelegate *delegate) { m_delegate = delegate; } /*! \fn void OpenSearchEngine::imageChanged() This signal is emitted whenever the image of the engine changes. \sa image(), imageUrl() */ /*! \fn void OpenSearchEngine::suggestions(const QStringList &suggestions) This signal is emitted whenever new contextual suggestions have been provided by the search engine. To request suggestions, use requestSuggestions(). The suggestion set is specified by \a suggestions. \sa requestSuggestions() */ arora-0.11.0/src/opensearch/opensearchengine.h000066400000000000000000000111431145000221100212630ustar00rootroot00000000000000/* * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef OPENSEARCHENGINE_H #define OPENSEARCHENGINE_H #include #include #include #include #include #include class QNetworkReply; class QScriptEngine; class OpenSearchEngineDelegate; class OpenSearchEngine : public QObject { Q_OBJECT signals: void imageChanged(); void suggestions(const QStringList &suggestions); public: typedef QPair Parameter; typedef QList Parameters; Q_PROPERTY(QString name READ name WRITE setName) Q_PROPERTY(QString description READ description WRITE setDescription) Q_PROPERTY(QString searchUrlTemplate READ searchUrlTemplate WRITE setSearchUrlTemplate) Q_PROPERTY(Parameters searchParameters READ searchParameters WRITE setSearchParameters) Q_PROPERTY(QString searchMethod READ searchMethod WRITE setSearchMethod) Q_PROPERTY(QString suggestionsUrlTemplate READ suggestionsUrlTemplate WRITE setSuggestionsUrlTemplate) Q_PROPERTY(Parameters suggestionsParameters READ suggestionsParameters WRITE setSuggestionsParameters) Q_PROPERTY(QString suggestionsMethod READ suggestionsMethod WRITE setSuggestionsMethod) Q_PROPERTY(bool providesSuggestions READ providesSuggestions) Q_PROPERTY(QString imageUrl READ imageUrl WRITE setImageUrl) Q_PROPERTY(bool valid READ isValid) Q_PROPERTY(QNetworkAccessManager *networkAccessManager READ networkAccessManager WRITE setNetworkAccessManager) OpenSearchEngine(QObject *parent = 0); ~OpenSearchEngine(); QString name() const; void setName(const QString &name); QString description() const; void setDescription(const QString &description); QString searchUrlTemplate() const; void setSearchUrlTemplate(const QString &searchUrl); QUrl searchUrl(const QString &searchTerm) const; bool providesSuggestions() const; QString suggestionsUrlTemplate() const; void setSuggestionsUrlTemplate(const QString &suggestionsUrl); QUrl suggestionsUrl(const QString &searchTerm) const; Parameters searchParameters() const; void setSearchParameters(const Parameters &searchParameters); Parameters suggestionsParameters() const; void setSuggestionsParameters(const Parameters &suggestionsParameters); QString searchMethod() const; void setSearchMethod(const QString &method); QString suggestionsMethod() const; void setSuggestionsMethod(const QString &method); QString imageUrl() const; void setImageUrl(const QString &url); QImage image() const; void setImage(const QImage &image); bool isValid() const; QNetworkAccessManager *networkAccessManager() const; void setNetworkAccessManager(QNetworkAccessManager *networkAccessManager); OpenSearchEngineDelegate *delegate() const; void setDelegate(OpenSearchEngineDelegate *delegate); bool operator==(const OpenSearchEngine &other) const; bool operator<(const OpenSearchEngine &other) const; public slots: void requestSuggestions(const QString &searchTerm); void requestSearchResults(const QString &searchTerm); protected: static QString parseTemplate(const QString &searchTerm, const QString &searchTemplate); void loadImage() const; private slots: void imageObtained(); void suggestionsObtained(); private: QString m_name; QString m_description; QString m_imageUrl; QImage m_image; QString m_searchUrlTemplate; QString m_suggestionsUrlTemplate; Parameters m_searchParameters; Parameters m_suggestionsParameters; QString m_searchMethod; QString m_suggestionsMethod; QMap m_requestMethods; QNetworkAccessManager *m_networkAccessManager; QNetworkReply *m_suggestionsReply; QScriptEngine *m_scriptEngine; OpenSearchEngineDelegate *m_delegate; }; #endif // OPENSEARCHENGINE_H arora-0.11.0/src/opensearch/opensearchengineaction.cpp000066400000000000000000000030131145000221100230110ustar00rootroot00000000000000/* * Copyright 2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "opensearchengineaction.h" #include "browserapplication.h" #include "networkaccessmanager.h" #include "opensearchengine.h" OpenSearchEngineAction::OpenSearchEngineAction(OpenSearchEngine *engine, QObject *parent) : QAction(parent) , m_engine(engine) { if (!engine->networkAccessManager()) engine->setNetworkAccessManager(BrowserApplication::networkAccessManager()); setText(engine->name()); imageChanged(); connect(engine, SIGNAL(imageChanged()), this, SLOT(imageChanged())); } void OpenSearchEngineAction::imageChanged() { QImage image = m_engine->image(); if (image.isNull()) setIcon(BrowserApplication::icon(m_engine->imageUrl())); else setIcon(QIcon(QPixmap::fromImage(image))); } arora-0.11.0/src/opensearch/opensearchengineaction.h000066400000000000000000000022211145000221100224560ustar00rootroot00000000000000/* * Copyright 2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef OPENSEARCHENGINEACTION_H #define OPENSEARCHENGINEACTION_H #include class OpenSearchEngine; class OpenSearchEngineAction : public QAction { Q_OBJECT public: OpenSearchEngineAction(OpenSearchEngine *engine, QObject *parent = 0); private slots: void imageChanged(); private: OpenSearchEngine *m_engine; }; #endif // OPENSEARCHENGINEACTION_H arora-0.11.0/src/opensearch/opensearchenginedelegate.cpp000066400000000000000000000041671145000221100233210ustar00rootroot00000000000000/* * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "opensearchenginedelegate.h" /*! \class OpenSearchEngineDelegate \brief An abstract class providing custom processing of specific activities. OpenSearchEngineDelegate is an abstract class that can be subclassed and set on an OpenSearchEngine. It allows to customize some parts of the default implementation or even extend it with missing bits. Currently subclasses can only provide a custom way of handling search requests by reimplementing the performSearchRequest() method. \sa OpenSearchEngine */ /*! Constructs the delegate. */ OpenSearchEngineDelegate::OpenSearchEngineDelegate() { } /*! Destructs the delegate. */ OpenSearchEngineDelegate::~OpenSearchEngineDelegate() { } /*! \fn void performSearchRequest(const QNetworkRequest &request, QNetworkAccessManager::Operation operation, const QByteArray &data) = 0 This method will be used after OpenSearchEngine::requestResults() is called. For example, a console application that uses the OpenSearchEngine class to generate a search URL for a search term supplied by the user would reimplement the function and forward the request to e.g. a web browser. Likewise, a web browser that uses the OpenSearchEngine class to support multiple search engines e.g. in a toolbar would perform the request and navigate to the search results site. */ arora-0.11.0/src/opensearch/opensearchenginedelegate.h000066400000000000000000000024201145000221100227540ustar00rootroot00000000000000/* * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef OPENSEARCHENGINEDELEGATE_H #define OPENSEARCHENGINEDELEGATE_H #include #include class OpenSearchEngineDelegate { public: OpenSearchEngineDelegate(); virtual ~OpenSearchEngineDelegate(); virtual void performSearchRequest(const QNetworkRequest &request, QNetworkAccessManager::Operation operation, const QByteArray &data) = 0; }; #endif // OPENSEARCHENGINEDELEGATE_H arora-0.11.0/src/opensearch/opensearchenginemodel.cpp000066400000000000000000000115061145000221100226420ustar00rootroot00000000000000/* * Copyright 2009 Christian Franke * Copyright 2009 Jakub Wieczorek * Copyright 2009 Christopher Eby * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "opensearchenginemodel.h" #include "browserapplication.h" #include "opensearchengine.h" #include "opensearchmanager.h" #include #include OpenSearchEngineModel::OpenSearchEngineModel(OpenSearchManager *manager, QObject *parent) : QAbstractTableModel(parent) , m_manager(manager) { connect(manager, SIGNAL(changed()), this, SLOT(enginesChanged())); } bool OpenSearchEngineModel::removeRows(int row, int count, const QModelIndex &parent) { if (parent.isValid()) return false; if (count <= 0) return false; if (rowCount() <= 1) return false; int lastRow = row + count - 1; beginRemoveRows(parent, row, lastRow); QStringList nameList = m_manager->allEnginesNames(); for (int i = row; i <= lastRow; ++i) m_manager->removeEngine(nameList.at(i)); // removeEngine emits changed //endRemoveRows(); return true; } int OpenSearchEngineModel::rowCount(const QModelIndex &parent) const { return (parent.isValid()) ? 0 : m_manager->enginesCount(); } int OpenSearchEngineModel::columnCount(const QModelIndex &parent) const { Q_UNUSED(parent); return 2; } Qt::ItemFlags OpenSearchEngineModel::flags(const QModelIndex &index) const { switch (index.column()) { case 1: return Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsEditable; default: return Qt::ItemIsEnabled | Qt::ItemIsSelectable; } } QVariant OpenSearchEngineModel::data(const QModelIndex &index, int role) const { if (index.row() >= m_manager->enginesCount() || index.row() < 0) return QVariant(); OpenSearchEngine *engine = m_manager->engine(m_manager->allEnginesNames().at(index.row())); if (!engine) return QVariant(); switch (index.column()) { case 0: switch (role) { case Qt::DisplayRole: return engine->name(); break; case Qt::DecorationRole: { QImage image = engine->image(); if (image.isNull()) return BrowserApplication::icon(engine->imageUrl()); return image; break; } case Qt::ToolTipRole: QString description = tr("Description: %1").arg(engine->description()); if (engine->providesSuggestions()) { description += QLatin1String("
    "); description += tr("Provides contextual suggestions"); } return description; break; } break; case 1: switch (role) { case Qt::EditRole: case Qt::DisplayRole: return QStringList(m_manager->keywordsForEngine(engine)).join(QLatin1String(",")); case Qt::ToolTipRole: return tr("Comma-separated list of keywords that may be entered in the location bar" "followed by search terms to search with this engine"); } break; } return QVariant(); } bool OpenSearchEngineModel::setData(const QModelIndex &index, const QVariant &value, int role) { if (index.column() != 1) return false; if (index.row() >= rowCount() || index.row() < 0) return false; if (role != Qt::EditRole) return false; QString engineName = m_manager->allEnginesNames().at(index.row()); QStringList keywords = value.toString().split(QRegExp(QLatin1String("[ ,]+")), QString::SkipEmptyParts); m_manager->setKeywordsForEngine(m_manager->engine(engineName), keywords); return true; } QVariant OpenSearchEngineModel::headerData(int section, Qt::Orientation orientation, int role) const { if (orientation == Qt::Vertical) return QVariant(); if (role != Qt::DisplayRole) return QVariant(); switch (section) { case 0: return tr("Name"); case 1: return tr("Keywords"); } return QVariant(); } void OpenSearchEngineModel::enginesChanged() { QAbstractTableModel::reset(); } arora-0.11.0/src/opensearch/opensearchenginemodel.h000066400000000000000000000035271145000221100223130ustar00rootroot00000000000000/* * Copyright 2009 Christian Franke * Copyright 2009 Jakub Wieczorek * Copyright 2009 Christopher Eby * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef OPENSEARCHENGINEMODEL_H #define OPENSEARCHENGINEMODEL_H #include class OpenSearchEngine; class OpenSearchManager; class OpenSearchEngineModel : public QAbstractTableModel { Q_OBJECT public: OpenSearchEngineModel(OpenSearchManager *manager, QObject *parent = 0); bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); int rowCount(const QModelIndex &parent = QModelIndex()) const; int columnCount(const QModelIndex &parent = QModelIndex()) const; Qt::ItemFlags flags(const QModelIndex &index) const; QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; protected slots: void enginesChanged(); private: OpenSearchManager *m_manager; }; #endif //OPENSEARCHENGINEMODEL_H arora-0.11.0/src/opensearch/opensearchmanager.cpp000066400000000000000000000241741145000221100217730ustar00rootroot00000000000000/* * Copyright 2009 Jakub Wieczorek * Copyright 2009 Christian Franke * Copyright 2009 Christopher Eby * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "opensearchmanager.h" #include "autosaver.h" #include "browserapplication.h" #include "networkaccessmanager.h" #include "opensearchengine.h" #include "opensearchreader.h" #include "opensearchwriter.h" #include #include #include #include #include #include #include #include #include #include OpenSearchManager::OpenSearchManager(QObject *parent) : QObject(parent) , m_autoSaver(new AutoSaver(this)) { connect(this, SIGNAL(changed()), m_autoSaver, SLOT(changeOccurred())); load(); } OpenSearchManager::~OpenSearchManager() { m_autoSaver->saveIfNeccessary(); qDeleteAll(m_engines.values()); m_engines.clear(); } QString OpenSearchManager::currentEngineName() const { return m_current; } void OpenSearchManager::setCurrentEngineName(const QString &name) { if (!m_engines.contains(name)) return; m_current = name; emit currentEngineChanged(); emit changed(); } OpenSearchEngine *OpenSearchManager::currentEngine() const { if (m_current.isEmpty() || !m_engines.contains(m_current)) return 0; return m_engines[m_current]; } void OpenSearchManager::setCurrentEngine(OpenSearchEngine *engine) { if (!engine) return; setCurrentEngineName(m_engines.key(engine)); } OpenSearchEngine *OpenSearchManager::engine(const QString &name) { if (!m_engines.contains(name)) return 0; return m_engines[name]; } bool OpenSearchManager::engineExists(const QString &name) { return m_engines.contains(name); } QStringList OpenSearchManager::allEnginesNames() const { return m_engines.keys(); } int OpenSearchManager::enginesCount() const { return m_engines.count(); } void OpenSearchManager::addEngine(const QUrl &url) { if (!url.isValid()) return; QNetworkReply *reply = BrowserApplication::networkAccessManager()->get(QNetworkRequest(url)); connect(reply, SIGNAL(finished()), this, SLOT(engineFromUrlAvailable())); reply->setParent(this); } bool OpenSearchManager::addEngine(const QString &fileName) { QFile file(fileName); if (!file.open(QIODevice::ReadOnly)) return false; OpenSearchReader reader; OpenSearchEngine *engine = reader.read(&file); if (!addEngine(engine)) { delete engine; return false; } return true; } bool OpenSearchManager::addEngine(OpenSearchEngine *engine) { if (!engine) return false; if (!engine->isValid()) return false; if (m_engines.contains(engine->name())) return false; m_engines[engine->name()] = engine; emit changed(); return true; } void OpenSearchManager::removeEngine(const QString &name) { if (m_engines.count() <= 1) return; if (!m_engines.contains(name)) return; OpenSearchEngine *engine = m_engines[name]; foreach (const QString &keyword, m_keywords.keys(engine)) m_keywords.remove(keyword); engine->deleteLater(); m_engines[name] = 0; m_engines.remove(name); QString file = QDir(enginesDirectory()).filePath(generateEngineFileName(name)); QFile::remove(file); if (name == m_current) setCurrentEngineName(m_engines.keys().at(0)); emit changed(); } QString OpenSearchManager::generateEngineFileName(const QString &engineName) const { QString fileName; // Strip special characters from the name. for (int i = 0; i < engineName.count(); ++i) { if (engineName.at(i).isSpace()) { fileName.append(QLatin1Char('_')); continue; } if (engineName.at(i).isLetterOrNumber()) fileName.append(engineName.at(i)); } fileName.append(QLatin1String(".xml")); return fileName; } void OpenSearchManager::saveDirectory(const QString &dirName) { QDir dir; if (!dir.mkpath(dirName)) return; dir.setPath(dirName); OpenSearchWriter writer; foreach (OpenSearchEngine *engine, m_engines.values()) { QString name = generateEngineFileName(engine->name()); QString fileName = dir.filePath(name); QFile file(fileName); if (!file.open(QIODevice::WriteOnly)) continue; writer.write(&file, engine); } } void OpenSearchManager::save() { saveDirectory(enginesDirectory()); QSettings settings; settings.beginGroup(QLatin1String("openSearch")); settings.setValue(QLatin1String("engine"), m_current); settings.beginWriteArray(QLatin1String("keywords"), m_keywords.count()); QHash::const_iterator i = m_keywords.constBegin(); QHash::const_iterator end = m_keywords.constEnd(); int j = 0; for (; i != end; ++i) { settings.setArrayIndex(j++); settings.setValue(QLatin1String("keyword"), i.key()); settings.setValue(QLatin1String("engine"), i.value()->name()); } settings.endArray(); settings.endGroup(); } bool OpenSearchManager::loadDirectory(const QString &dirName) { if (!QFile::exists(dirName)) return false; QDirIterator iterator(dirName, QStringList() << QLatin1String("*.xml")); if (!iterator.hasNext()) return false; bool success = false; while (iterator.hasNext()) { if (addEngine(iterator.next())) success = true; } return success; } void OpenSearchManager::load() { if (!loadDirectory(enginesDirectory())) loadDirectory(QLatin1String(":/searchengines")); // get current engine QSettings settings; settings.beginGroup(QLatin1String("openSearch")); m_current = settings.value(QLatin1String("engine"), QLatin1String("Google")).toString(); int size = settings.beginReadArray(QLatin1String("keywords")); for (int i = 0; i < size; ++i) { settings.setArrayIndex(i); QString keyword = settings.value(QLatin1String("keyword")).toString(); QString engineName = settings.value(QLatin1String("engine")).toString(); m_keywords.insert(keyword, engine(engineName)); } settings.endArray(); settings.endGroup(); if (!m_engines.contains(m_current) && m_engines.count() > 0) m_current = m_engines.keys().at(0); emit currentEngineChanged(); } void OpenSearchManager::restoreDefaults() { loadDirectory(QLatin1String(":/searchengines")); } QString OpenSearchManager::enginesDirectory() const { QDir directory(QDesktopServices::storageLocation(QDesktopServices::DataLocation)); return directory.filePath(QLatin1String("searchengines")); } bool OpenSearchManager::confirmAddition(OpenSearchEngine *engine) { if (!engine || !engine->isValid()) return false; QString host = QUrl(engine->searchUrlTemplate()).host(); QMessageBox::StandardButton button = QMessageBox::question(0, QString(), tr("Do you want to add the following engine to your list of search engines?

    " "Name: %1
    Searches on: %2").arg(engine->name(), host), QMessageBox::Yes | QMessageBox::No, QMessageBox::No); return (button == QMessageBox::Yes); } void OpenSearchManager::engineFromUrlAvailable() { QNetworkReply *reply = qobject_cast(sender()); if (!reply) return; if (reply->error() != QNetworkReply::NoError) { reply->close(); reply->deleteLater(); return; } OpenSearchReader reader; OpenSearchEngine *engine = reader.read(reply); reply->close(); reply->deleteLater(); if (!engine->isValid()) { delete engine; return; } if (engineExists(engine->name())) { delete engine; return; } if (!confirmAddition(engine)) { delete engine; return; } if (!addEngine(engine)) { delete engine; return; } } QUrl OpenSearchManager::convertKeywordSearchToUrl(const QString &string) { int i = string.indexOf(QLatin1Char(' ')); if (i <= 0) return QUrl(); const QString keyword = string.left(i); const QString terms = string.mid(i + 1); if (terms.isEmpty()) return QUrl(); if (OpenSearchEngine *engine = engineForKeyword(keyword)) return engine->searchUrl(terms); return QUrl(); } OpenSearchEngine *OpenSearchManager::engineForKeyword(const QString &keyword) const { if (keyword.isEmpty()) return 0; if (!m_keywords.contains(keyword)) return 0; return m_keywords.value(keyword); } void OpenSearchManager::setEngineForKeyword(const QString &keyword, OpenSearchEngine *engine) { if (keyword.isEmpty()) return; if (!engine) m_keywords.remove(keyword); else m_keywords.insert(keyword, engine); emit changed(); } QStringList OpenSearchManager::keywordsForEngine(OpenSearchEngine *engine) const { return m_keywords.keys(engine); } void OpenSearchManager::setKeywordsForEngine(OpenSearchEngine *engine, const QStringList &keywords) { if (!engine) return; foreach (const QString &keyword, keywordsForEngine(engine)) m_keywords.remove(keyword); foreach (const QString &keyword, keywords) { if (keyword.isEmpty()) continue; m_keywords.insert(keyword, engine); } emit changed(); } arora-0.11.0/src/opensearch/opensearchmanager.h000066400000000000000000000054501145000221100214340ustar00rootroot00000000000000/* * Copyright 2009 Jakub Wieczorek * Copyright 2009 Christian Franke * Copyright 2009 Christopher Eby * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef OPENSEARCHMANAGER_H #define OPENSEARCHMANAGER_H #include #include #include #include class QNetworkReply; class QNetworkRequest; class AutoSaver; class OpenSearchEngine; class OpenSearchEngineModel; class OpenSearchManager : public QObject { Q_OBJECT signals: void changed(); void currentEngineChanged(); public: OpenSearchManager(QObject *parent = 0); ~OpenSearchManager(); QStringList allEnginesNames() const; int enginesCount() const; QString currentEngineName() const; void setCurrentEngineName(const QString ¤tName); OpenSearchEngine *currentEngine() const; void setCurrentEngine(OpenSearchEngine *current); OpenSearchEngine *engine(const QString &name); bool engineExists(const QString &name); QUrl convertKeywordSearchToUrl(const QString &string); OpenSearchEngine *engineForKeyword(const QString &keyword) const; void setEngineForKeyword(const QString &keyword, OpenSearchEngine *engine); QStringList keywordsForEngine(OpenSearchEngine *engine) const; void setKeywordsForEngine(OpenSearchEngine *engine, const QStringList &keywords); void addEngine(const QUrl &url); bool addEngine(const QString &fileName); bool addEngine(OpenSearchEngine *engine); void removeEngine(const QString &name); void restoreDefaults(); public slots: void save(); protected: void load(); bool loadDirectory(const QString &dirName); void saveDirectory(const QString &dirName); QString enginesDirectory() const; QString generateEngineFileName(const QString &engineName) const; private: bool confirmAddition(OpenSearchEngine *engine); protected slots: void engineFromUrlAvailable(); private: AutoSaver *m_autoSaver; QHash m_engines; QHash m_keywords; QString m_current; }; #endif //OPENSEARCHMANAGER_H arora-0.11.0/src/opensearch/opensearchreader.cpp000066400000000000000000000133001145000221100216100ustar00rootroot00000000000000/* * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "opensearchreader.h" #include "opensearchengine.h" #include /*! \class OpenSearchReader \brief A class reading a search engine description from an external source OpenSearchReader is a class that can be used to read search engine descriptions formed using the OpenSearch format. It inherits QXmlStreamReader and thus provides additional functions, such as QXmlStreamReader::error(), QXmlStreamReader::hasError() that can be used to make sure the reading procedure succeeded. For more information see: http://www.opensearch.org/Specifications/OpenSearch/1.1/Draft_4#OpenSearch_description_document \sa OpenSearchEngine, OpenSearchWriter */ /*! Constructs a new reader. \note One instance can be used to read multiple files, one by one. */ OpenSearchReader::OpenSearchReader() : QXmlStreamReader() { } /*! Reads an OpenSearch engine from the \a device and returns an OpenSearchEngine object, filled in with all the data that has been retrieved from the document. If the \a device is closed, it will be opened. To make sure if the procedure succeeded, check QXmlStreamReader::error(). \return a new constructed OpenSearchEngine object \note The function returns an object of the OpenSearchEngine class even if the document is bad formed or doesn't conform to the specification. It needs to be manually deleted afterwards, if intended. \note The lifetime of the returned OpenSearchEngine object is up to the user. The object should be deleted once it is not used anymore to avoid memory leaks. */ OpenSearchEngine *OpenSearchReader::read(QIODevice *device) { clear(); if (!device->isOpen()) device->open(QIODevice::ReadOnly); setDevice(device); return read(); } OpenSearchEngine *OpenSearchReader::read() { OpenSearchEngine *engine = new OpenSearchEngine(); while (!isStartElement() && !atEnd()) readNext(); if (name() != QLatin1String("OpenSearchDescription") || namespaceUri() != QLatin1String("http://a9.com/-/spec/opensearch/1.1/")) { raiseError(QObject::tr("The file is not an OpenSearch 1.1 file.")); return engine; } while (!atEnd()) { readNext(); if (!isStartElement()) continue; if (name() == QLatin1String("ShortName")) { engine->setName(readElementText()); } else if (name() == QLatin1String("Description")) { engine->setDescription(readElementText()); } else if (name() == QLatin1String("Url")) { QString type = attributes().value(QLatin1String("type")).toString(); QString url = attributes().value(QLatin1String("template")).toString(); QString method = attributes().value(QLatin1String("method")).toString(); if (type == QLatin1String("application/x-suggestions+json") && !engine->suggestionsUrlTemplate().isEmpty()) continue; if ((type.isEmpty() || type == QLatin1String("text/html") || type == QLatin1String("application/xhtml+xml")) && !engine->searchUrlTemplate().isEmpty()) continue; if (url.isEmpty()) continue; QList parameters; readNext(); while (!(isEndElement() && name() == QLatin1String("Url"))) { if (!isStartElement() || (name() != QLatin1String("Param") && name() != QLatin1String("Parameter"))) { readNext(); continue; } QString key = attributes().value(QLatin1String("name")).toString(); QString value = attributes().value(QLatin1String("value")).toString(); if (!key.isEmpty() && !value.isEmpty()) parameters.append(OpenSearchEngine::Parameter(key, value)); while (!isEndElement()) readNext(); } if (type == QLatin1String("application/x-suggestions+json")) { engine->setSuggestionsUrlTemplate(url); engine->setSuggestionsParameters(parameters); engine->setSuggestionsMethod(method); } else if (type.isEmpty() || type == QLatin1String("text/html") || type == QLatin1String("application/xhtml+xml")) { engine->setSearchUrlTemplate(url); engine->setSearchParameters(parameters); engine->setSearchMethod(method); } } else if (name() == QLatin1String("Image")) { engine->setImageUrl(readElementText()); } if (!engine->name().isEmpty() && !engine->description().isEmpty() && !engine->suggestionsUrlTemplate().isEmpty() && !engine->searchUrlTemplate().isEmpty() && !engine->imageUrl().isEmpty()) break; } return engine; } arora-0.11.0/src/opensearch/opensearchreader.h000066400000000000000000000021101145000221100212520ustar00rootroot00000000000000/* * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef OPENSEARCHREADER_H #define OPENSEARCHREADER_H #include class OpenSearchEngine; class OpenSearchReader : public QXmlStreamReader { public: OpenSearchReader(); OpenSearchEngine *read(QIODevice *device); private: OpenSearchEngine *read(); }; #endif // OPENSEARCHREADER_H arora-0.11.0/src/opensearch/opensearchwriter.cpp000066400000000000000000000113121145000221100216630ustar00rootroot00000000000000/* * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "opensearchwriter.h" #include "opensearchengine.h" #include #include /*! \class OpenSearchWriter \brief A class writing a search engine description to an external source OpenSearchReader is a class that can be used to write search engine descriptions using the OpenSearch format. For more information see: http://www.opensearch.org/Specifications/OpenSearch/1.1/Draft_4#OpenSearch_description_document \sa OpenSearchEngine, OpenSearchReader */ /*! Constructs a new writer. \note One instance can be used to write multiple search engine descriptions, one by one. */ OpenSearchWriter::OpenSearchWriter() : QXmlStreamWriter() { setAutoFormatting(true); } /*! Writes an OpenSearch engine description to the \a device, filling the output document with all the necessary data. If the \a device is closed, it will be opened. \return true on success and false on failure. */ bool OpenSearchWriter::write(QIODevice *device, OpenSearchEngine *engine) { if (!engine) return false; if (!device->isOpen()) { if (!device->open(QIODevice::WriteOnly)) return false; } setDevice(device); write(engine); return true; } void OpenSearchWriter::write(OpenSearchEngine *engine) { writeStartDocument(); writeStartElement(QLatin1String("OpenSearchDescription")); writeDefaultNamespace(QLatin1String("http://a9.com/-/spec/opensearch/1.1/")); if (!engine->name().isEmpty()) writeTextElement(QLatin1String("ShortName"), engine->name()); if (!engine->description().isEmpty()) writeTextElement(QLatin1String("Description"), engine->description()); if (!engine->searchUrlTemplate().isEmpty()) { writeStartElement(QLatin1String("Url")); writeAttribute(QLatin1String("method"), engine->searchMethod()); writeAttribute(QLatin1String("type"), QLatin1String("text/html")); writeAttribute(QLatin1String("template"), engine->searchUrlTemplate()); if (!engine->searchParameters().empty()) { writeNamespace(QLatin1String("http://a9.com/-/spec/opensearch/extensions/parameters/1.0/"), QLatin1String("p")); QList::const_iterator end = engine->searchParameters().constEnd(); QList::const_iterator i = engine->searchParameters().constBegin(); for (; i != end; ++i) { writeStartElement(QLatin1String("p:Parameter")); writeAttribute(QLatin1String("name"), i->first); writeAttribute(QLatin1String("value"), i->second); writeEndElement(); } } writeEndElement(); } if (!engine->suggestionsUrlTemplate().isEmpty()) { writeStartElement(QLatin1String("Url")); writeAttribute(QLatin1String("method"), engine->suggestionsMethod()); writeAttribute(QLatin1String("type"), QLatin1String("application/x-suggestions+json")); writeAttribute(QLatin1String("template"), engine->suggestionsUrlTemplate()); if (!engine->suggestionsParameters().empty()) { writeNamespace(QLatin1String("http://a9.com/-/spec/opensearch/extensions/parameters/1.0/"), QLatin1String("p")); QList::const_iterator end = engine->suggestionsParameters().constEnd(); QList::const_iterator i = engine->suggestionsParameters().constBegin(); for (; i != end; ++i) { writeStartElement(QLatin1String("p:Parameter")); writeAttribute(QLatin1String("name"), i->first); writeAttribute(QLatin1String("value"), i->second); writeEndElement(); } } writeEndElement(); } if (!engine->imageUrl().isEmpty()) writeTextElement(QLatin1String("Image"), engine->imageUrl()); writeEndElement(); writeEndDocument(); } arora-0.11.0/src/opensearch/opensearchwriter.h000066400000000000000000000021421145000221100213310ustar00rootroot00000000000000/* * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef OPENSEARCHWRITER_H #define OPENSEARCHWRITER_H #include class OpenSearchEngine; class OpenSearchWriter : public QXmlStreamWriter { public: OpenSearchWriter(); bool write(QIODevice *device, OpenSearchEngine *engine); private: void write(OpenSearchEngine *engine); }; #endif // OPENSEARCHWRITER_H arora-0.11.0/src/plaintexteditsearch.cpp000066400000000000000000000042701145000221100202210ustar00rootroot00000000000000/* * Copyright 2008 Christian Franke * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "plaintexteditsearch.h" #include #include PlainTextEditSearch::PlainTextEditSearch(QPlainTextEdit *plainTextEdit, QWidget *parent) : SearchBar(parent) , m_edit(plainTextEdit) { setSearchObject(plainTextEdit); } void PlainTextEditSearch::findNext() { find(0); } void PlainTextEditSearch::findPrevious() { find(QTextDocument::FindBackward); } void PlainTextEditSearch::find(QTextDocument::FindFlags flags) { QString searchString = ui.searchLineEdit->text(); if (!m_edit || searchString.isEmpty()) return; if (searchString != m_lastSearchTerm) { QTextCursor cursor = m_edit->textCursor(); cursor.setPosition(cursor.selectionStart()); cursor.clearSelection(); m_edit->setTextCursor(cursor); m_lastSearchTerm = searchString; } QString infoString; if (!m_edit->find(searchString, flags)) { /* no support for wrapping so we set the cursor to start */ QTextCursor cursor = m_edit->textCursor(); m_edit->moveCursor(QTextCursor::Start); /* ...search again from the beginning */ if (!m_edit->find(searchString,flags)) { /* and if there's still nothing, we revert the cursor */ infoString = tr("Not Found"); cursor.clearSelection(); m_edit->setTextCursor(cursor); } } ui.searchInfo->setText(infoString); } arora-0.11.0/src/plaintexteditsearch.h000066400000000000000000000024131145000221100176630ustar00rootroot00000000000000/* * Copyright 2008 ChriChristian Franke > * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef PLAINTEXTEDITSEARCH_H #define PLAINTEXTEDITSEARCH_H #include "searchbar.h" #include class QPlainTextEdit; class PlainTextEditSearch : public SearchBar { Q_OBJECT public: PlainTextEditSearch(QPlainTextEdit *plainTextEdit, QWidget *parent = 0); public slots: void findNext(); void findPrevious(); private: void find(QTextDocument::FindFlags flags); QPlainTextEdit *m_edit; QString m_lastSearchTerm; }; #endif // PLAINTEXTEDITSEARCH_H arora-0.11.0/src/qwebplugins/000077500000000000000000000000001145000221100160065ustar00rootroot00000000000000arora-0.11.0/src/qwebplugins/arorawebplugin.cpp000066400000000000000000000032601145000221100215340ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "arorawebplugin.h" AroraWebPlugin::AroraWebPlugin() { } AroraWebPlugin::~AroraWebPlugin() { } bool AroraWebPlugin::isAnonymous() const { return false; } arora-0.11.0/src/qwebplugins/arorawebplugin.h000066400000000000000000000037741145000221100212130ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef ARORAWEBPLUGIN_H #define ARORAWEBPLUGIN_H #include class AroraWebPlugin { public: AroraWebPlugin(); virtual ~AroraWebPlugin(); virtual QWebPluginFactory::Plugin metaPlugin() = 0; virtual QWidget *create(const QString &mimeType, const QUrl &url, const QStringList &argumentNames, const QStringList &argumentValues) = 0; virtual void configure() = 0; virtual bool isAnonymous() const; }; #endif // ARORAWEBPLUGIN_H arora-0.11.0/src/qwebplugins/clicktoflash/000077500000000000000000000000001145000221100204545ustar00rootroot00000000000000arora-0.11.0/src/qwebplugins/clicktoflash/clicktoflash.cpp000066400000000000000000000123411145000221100236270ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "clicktoflash.h" #include #include #include #include #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) #include #endif #include ClickToFlash::ClickToFlash(ClickToFlashPlugin *plugin, QWidget *parent) : QWidget(parent) , m_swapping(false) , m_plugin(plugin) { setContextMenuPolicy(Qt::CustomContextMenu); connect(this, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(showContextMenu())); setupUi(this); connect(loadFlashButton, SIGNAL(clicked()), this, SLOT(load())); setToolTip(url.toString()); } void ClickToFlash::showContextMenu() { QMenu menu; menu.addAction(tr("Load"), this, SLOT(load())); menu.addAction(tr("Load All"), this, SLOT(loadAll())); menu.addSeparator(); QString host = url.host(); QAction *add = menu.addAction(tr("Add %1 to Whitelist").arg(host), this, SLOT(addToWhitelist())); QAction *remove = menu.addAction(tr("Remove from Whitelist"), this, SLOT(removeFromWhitelist())); bool onWhitelist = m_plugin->onWhitelist(host); add->setEnabled(!onWhitelist); remove->setEnabled(onWhitelist); menu.addSeparator(); menu.addAction(tr("Settings"), this, SLOT(configure())); menu.exec(QCursor::pos()); } void ClickToFlash::addToWhitelist() { m_plugin->addToWhitelist(url.host()); } void ClickToFlash::removeFromWhitelist() { m_plugin->removeFromWhitelist(url.host()); } void ClickToFlash::configure() { m_plugin->configure(); } void ClickToFlash::loadAll() { load(true); } void ClickToFlash::load(bool loadAll) { QWidget *parent = parentWidget(); QWebView *view = 0; while (parent) { if (QWebView *aView = qobject_cast(parent)) { view = aView; break; } parent = parent->parentWidget(); } if (!view) return; #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) const QString selector = QLatin1String("%1[type=\"application/x-shockwave-flash\"]"); const QString mime = QLatin1String("application/futuresplash"); hide(); m_swapping = true; QList frames; frames.append(view->page()->mainFrame()); while (!frames.isEmpty()) { QWebFrame *frame = frames.takeFirst(); QWebElement docElement = frame->documentElement(); QWebElementCollection elements; elements.append(docElement.findAll(selector.arg(QLatin1String("object")))); elements.append(docElement.findAll(selector.arg(QLatin1String("embed")))); QWebElement element; foreach (element, elements) { if (!loadAll) { if (!element.evaluateJavaScript(QLatin1String("this.swapping")).toBool()) continue; } QWebElement substitute = element.clone(); substitute.setAttribute(QLatin1String("type"), mime); element.replace(substitute); } frames += frame->childFrames(); } m_swapping = false; #else QString fileName = QLatin1String(":clicktoflash/swap.js"); QFile jsFile(fileName); if (!jsFile.open(QFile::ReadOnly)) { qWarning() << __FUNCTION__ << "Unable to load javascript" << fileName; return; } QString javaScript = QLatin1String(jsFile.readAll()); QString processedJavaScript = QString(javaScript).arg(loadAll ? QString() : url.toString()); hide(); m_swapping = true; QList frames; frames.append(view->page()->mainFrame()); while (!frames.isEmpty()) { QWebFrame *frame = frames.takeFirst(); frame->evaluateJavaScript(processedJavaScript); frames += frame->childFrames(); } m_swapping = false; #endif } arora-0.11.0/src/qwebplugins/clicktoflash/clicktoflash.h000066400000000000000000000043351145000221100233000ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef CLICKTOFLASH_H #define CLICKTOFLASH_H #include "clicktoflashplugin.h" #include "ui_clicktoflash.h" #include class ClickToFlash : public QWidget, public Ui_ClickToFlash { Q_OBJECT Q_PROPERTY(bool swapping READ swapping) public: ClickToFlash(ClickToFlashPlugin *plugin, QWidget *parent = 0); QUrl url; QStringList argumentNames; QStringList argumentValues; bool swapping() const { return m_swapping; } private slots: void configure(); void addToWhitelist(); void removeFromWhitelist(); void showContextMenu(); void loadAll(); void load(bool loadAll = false); private: bool m_swapping; ClickToFlashPlugin *m_plugin; }; #endif // CLICKTOFLASH_H arora-0.11.0/src/qwebplugins/clicktoflash/clicktoflash.pri000066400000000000000000000003571145000221100236430ustar00rootroot00000000000000INCLUDEPATH += $$PWD DEPENDPATH += $$PWD HEADERS += \ clicktoflash.h \ clicktoflashplugin.h SOURCES += \ clicktoflash.cpp \ clicktoflashplugin.cpp FORMS += clicktoflash.ui clicktoflashsettings.ui RESOURCES += clicktoflash.qrc arora-0.11.0/src/qwebplugins/clicktoflash/clicktoflash.qrc000066400000000000000000000001631145000221100236310ustar00rootroot00000000000000 swap.js arora-0.11.0/src/qwebplugins/clicktoflash/clicktoflash.ui000066400000000000000000000034441145000221100234660ustar00rootroot00000000000000 ClickToFlash 0 0 172 114 Qt::Vertical 20 16 Qt::Horizontal 8 20 Load Flash Qt::Horizontal 9 20 Qt::Vertical 20 17 arora-0.11.0/src/qwebplugins/clicktoflash/clicktoflashplugin.cpp000066400000000000000000000076771145000221100250660ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "clicktoflashplugin.h" #include "clicktoflash.h" #include "ui_clicktoflashsettings.h" #include #include #include ClickToFlashPlugin::ClickToFlashPlugin() : m_loaded(false) , m_enabled(false) { } void ClickToFlashPlugin::load() { if (m_loaded) return; m_loaded = true; QSettings settings; settings.beginGroup(QLatin1String("webplugin/clicktoflash")); m_whitelist = settings.value(QLatin1String("whitelist")).toStringList(); settings.endGroup(); settings.beginGroup(QLatin1String("websettings")); m_enabled = settings.value(QLatin1String("enableClickToFlash"), false).toBool(); } void ClickToFlashPlugin::save() { QSettings settings; settings.beginGroup(QLatin1String("webplugin/clicktoflash")); settings.setValue(QLatin1String("whitelist"), m_whitelist); } QWidget *ClickToFlashPlugin::create(const QString &mimeType, const QUrl &url, const QStringList &argumentNames, const QStringList &argumentValues) { load(); if (!m_enabled) return 0; Q_UNUSED(mimeType); if (m_whitelist.contains(url.host())) return 0; ClickToFlash *ctf = new ClickToFlash(this); ctf->url = url; ctf->argumentNames = argumentNames; ctf->argumentValues = argumentValues; return ctf; } QWebPluginFactory::Plugin ClickToFlashPlugin::metaPlugin() { QWebPluginFactory::Plugin plugin; plugin.name = QLatin1String("ClickToFlashPlugin"); QWebPluginFactory::MimeType mimeType; mimeType.fileExtensions << QLatin1String("swf"); mimeType.name = QLatin1String("application/x-shockwave-flash"); plugin.mimeTypes.append(mimeType); return plugin; } void ClickToFlashPlugin::configure() { QDialog dialog; Ui_ClickToFlashSettings ui; ui.setupUi(&dialog); QStringListModel *model = new QStringListModel(m_whitelist, ui.whitelist); ui.whitelist->setModel(model); if (dialog.exec() == QDialog::Accepted) { m_whitelist = model->stringList(); save(); } } bool ClickToFlashPlugin::isAnonymous() const { return true; } bool ClickToFlashPlugin::onWhitelist(const QString &host) const { return m_whitelist.contains(host); } void ClickToFlashPlugin::addToWhitelist(const QString &host) { m_whitelist.append(host); save(); } void ClickToFlashPlugin::removeFromWhitelist(const QString &host) { m_whitelist.removeOne(host); save(); } arora-0.11.0/src/qwebplugins/clicktoflash/clicktoflashplugin.h000066400000000000000000000043261145000221100245170ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef CLICKTOFLASHPLUGIN_H #define CLICKTOFLASHPLUGIN_H #include "arorawebplugin.h" class ClickToFlashPlugin : public AroraWebPlugin { public: ClickToFlashPlugin(); QWebPluginFactory::Plugin metaPlugin(); QWidget *create(const QString &mimeType, const QUrl &url, const QStringList &argumentNames, const QStringList &argumentValues); void configure(); bool isAnonymous() const; bool onWhitelist(const QString &host) const; void addToWhitelist(const QString &host); void removeFromWhitelist(const QString &host); private: void load(); void save(); bool m_loaded; bool m_enabled; QStringList m_whitelist; }; #endif // CLICKTOFLASHPLUGIN_H arora-0.11.0/src/qwebplugins/clicktoflash/clicktoflashsettings.ui000066400000000000000000000035151145000221100252460ustar00rootroot00000000000000 ClickToFlashSettings 0 0 400 300 Whitelist sites Qt::AlignCenter Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok EditListView QListView
    editlistview.h
    buttonBox accepted() ClickToFlashSettings accept() 342 274 335 253 buttonBox rejected() ClickToFlashSettings reject() 254 274 242 254
    arora-0.11.0/src/qwebplugins/clicktoflash/swap.js000066400000000000000000000012651145000221100217700ustar00rootroot00000000000000function swapFlashObjects() { var src = "%1"; var type = "application/x-shockwave-flash"; var objects = arguments[0]; for (var i = 0; i < objects.length; ++i) { if (type != objects[i].getAttribute("type")) continue; if (src != "") { if (!objects[i].swapping) continue; } var newObject = objects[i].cloneNode(true); newObject.setAttribute("type", "application/futuresplash"); var parent = objects[i].parentNode; parent.replaceChild(newObject, objects[i]); } } swapFlashObjects(document.getElementsByTagName("object")); swapFlashObjects(document.getElementsByTagName("embed")); arora-0.11.0/src/qwebplugins/qwebplugins.pri000066400000000000000000000003061145000221100210610ustar00rootroot00000000000000INCLUDEPATH += $$PWD DEPENDPATH += $$PWD HEADERS += \ arorawebplugin.h \ webpluginfactory.h SOURCES += \ arorawebplugin.cpp \ webpluginfactory.cpp include(clicktoflash/clicktoflash.pri) arora-0.11.0/src/qwebplugins/webpluginfactory.cpp000066400000000000000000000053761145000221100221110ustar00rootroot00000000000000/* * Copyright 2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "webpluginfactory.h" #include "clicktoflashplugin.h" #include #include #include // #define WEBPLUGINFACTORY_DEBUG WebPluginFactory::WebPluginFactory(QObject *parent) : QWebPluginFactory(parent) , m_loaded(false) { } WebPluginFactory::~WebPluginFactory() { qDeleteAll(m_plugins); m_plugins.clear(); } QObject *WebPluginFactory::create(const QString &mimeType, const QUrl &url, const QStringList &argumentNames, const QStringList &argumentValues) const { if (!m_loaded) init(); #ifdef WEBPLUGINFACTORY_DEBUG qDebug() << "WebPluginFactory::" << __FUNCTION__ << mimeType << url << argumentNames << argumentValues; #endif AroraWebPlugin *plugin = m_pluginsCache[mimeType]; if (plugin) return plugin->create(mimeType, url, argumentNames, argumentValues); #ifdef WEBPLUGINFACTORY_DEBUG qDebug() << "WebPluginFactory::" << __FUNCTION__ << "No match"; #endif return 0; } QList WebPluginFactory::plugins() const { #ifdef WEBPLUGINFACTORY_DEBUG qDebug() << "WebPluginFactory::" << __FUNCTION__; #endif if (!m_loaded) init(); QList plugins; foreach (AroraWebPlugin *plugin, m_plugins) { QWebPluginFactory::Plugin pluginInfo = plugin->metaPlugin(); if (!plugin->isAnonymous()) plugins.append(pluginInfo); } return plugins; } void WebPluginFactory::refreshPlugins() { #ifdef WEBPLUGINFACTORY_DEBUG qDebug() << "WebPluginFactory::" << __FUNCTION__; #endif init(); QWebPluginFactory::refreshPlugins(); } void WebPluginFactory::init() const { m_loaded = true; m_pluginsCache.clear(); qDeleteAll(m_plugins); m_plugins.clear(); m_plugins.append(new ClickToFlashPlugin); foreach (AroraWebPlugin *plugin, m_plugins) { foreach (const QWebPluginFactory::MimeType &pluginMimeType, plugin->metaPlugin().mimeTypes) m_pluginsCache.insert(pluginMimeType.name, plugin); } } arora-0.11.0/src/qwebplugins/webpluginfactory.h000066400000000000000000000027411145000221100215470ustar00rootroot00000000000000/* * Copyright 2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef WEBPLUGINFACTORY_H #define WEBPLUGINFACTORY_H #include #include #include "arorawebplugin.h" class WebPluginFactory : public QWebPluginFactory { Q_OBJECT public: WebPluginFactory(QObject *parent = 0); ~WebPluginFactory(); QObject *create(const QString &mimeType, const QUrl &url, const QStringList &argumentNames, const QStringList &argumentValues) const; QList plugins() const; void refreshPlugins(); private: void init() const; mutable bool m_loaded; mutable QList m_plugins; mutable QHash m_pluginsCache; }; #endif // WEBPLUGINFACTORY_H arora-0.11.0/src/searchbanner.ui000066400000000000000000000043631145000221100164460ustar00rootroot00000000000000 SearchBanner 0 0 405 36 0 0 -1 12 0 0 Qt::Horizontal 26 20 Highlight All false true < > Done SearchLineEdit QLineEdit
    searchlineedit.h
    arora-0.11.0/src/searchbar.cpp000066400000000000000000000071411145000221100161070ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "searchbar.h" #include #include #include #include SearchBar::SearchBar(QWidget *parent) : QWidget(parent) , m_object(0) , m_widget(0) , m_timeLine(new QTimeLine(150, this)) { initializeSearchWidget(); // we start off hidden setMaximumHeight(0); m_widget->setGeometry(0, -1 * m_widget->height(), m_widget->width(), m_widget->height()); hide(); connect(ui.nextButton, SIGNAL(clicked()), this, SLOT(findNext())); connect(ui.previousButton, SIGNAL(clicked()), this, SLOT(findPrevious())); connect(ui.searchLineEdit, SIGNAL(returnPressed()), this, SLOT(findNext())); connect(ui.searchLineEdit, SIGNAL(textEdited(const QString &)), this, SLOT(findNext())); connect(ui.doneButton, SIGNAL(clicked()), this, SLOT(animateHide())); connect(m_timeLine, SIGNAL(frameChanged(int)), this, SLOT(frameChanged(int))); new QShortcut(QKeySequence(Qt::Key_Escape), this, SLOT(animateHide())); } void SearchBar::initializeSearchWidget() { m_widget = new QWidget(this); m_widget->setContentsMargins(0, 0, 0, 0); ui.setupUi(m_widget); ui.previousButton->setText(m_widget->layoutDirection() == Qt::LeftToRight? QChar(9664): QChar(9654)); ui.nextButton->setText(m_widget->layoutDirection() == Qt::LeftToRight? QChar(9654): QChar(9664)); ui.searchInfo->setText(QString()); setMinimumWidth(m_widget->minimumWidth()); setMaximumWidth(m_widget->maximumWidth()); setMinimumHeight(m_widget->minimumHeight()); } void SearchBar::setSearchObject(QObject *object) { m_object = object; } QObject *SearchBar::searchObject() const { return m_object; } void SearchBar::clear() { ui.searchLineEdit->setText(QString()); } void SearchBar::showFind() { if (!isVisible()) { show(); m_timeLine->setFrameRange(-1 * m_widget->height(), 0); m_timeLine->setDirection(QTimeLine::Forward); disconnect(m_timeLine, SIGNAL(finished()), this, SLOT(hide())); m_timeLine->start(); } ui.searchLineEdit->setFocus(); ui.searchLineEdit->selectAll(); } void SearchBar::resizeEvent(QResizeEvent *event) { if (event->size().width() != m_widget->width()) m_widget->resize(event->size().width(), m_widget->height()); QWidget::resizeEvent(event); } void SearchBar::animateHide() { m_timeLine->setDirection(QTimeLine::Backward); m_timeLine->start(); connect(m_timeLine, SIGNAL(finished()), this, SLOT(hide())); } void SearchBar::frameChanged(int frame) { if (!m_widget) return; m_widget->move(0, frame); int height = qMax(0, m_widget->y() + m_widget->height()); setMinimumHeight(height); setMaximumHeight(height); } arora-0.11.0/src/searchbar.h000066400000000000000000000027511145000221100155560ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef SEARCHBAR_H #define SEARCHBAR_H #include #include "ui_searchbanner.h" QT_BEGIN_NAMESPACE class QTimeLine; QT_END_NAMESPACE class SearchBar : public QWidget { Q_OBJECT public: SearchBar(QWidget *parent = 0); void setSearchObject(QObject *object); QObject *searchObject() const; public slots: void animateHide(); void clear(); void showFind(); virtual void findNext() = 0; virtual void findPrevious() = 0; protected: void resizeEvent(QResizeEvent *event); Ui_SearchBanner ui; private slots: void frameChanged(int frame); private: void initializeSearchWidget(); QObject *m_object; QWidget *m_widget; QTimeLine *m_timeLine; }; #endif arora-0.11.0/src/searchbutton.cpp000066400000000000000000000064471145000221100166660ustar00rootroot00000000000000/* * Copyright 2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "searchbutton.h" #include #include #include #include SearchButton::SearchButton(QWidget *parent) : QAbstractButton(parent) , m_showMenuTriangle(false) { setFocusPolicy(Qt::NoFocus); setCursor(Qt::ArrowCursor); setMinimumSize(sizeHint()); } QSize SearchButton::sizeHint() const { if (!m_cache.isNull()) return m_cache.size(); if (m_showMenuTriangle) return QSize(16, 16); return QSize(12, 16); } QImage SearchButton::generateSearchImage(bool dropDown) { QImage image(dropDown ? 16 : 12, 16, QImage::Format_ARGB32); image.fill(qRgba(0, 0, 0, 0)); QPainterPath path; // draw magnify glass circle int radius = image.height() / 2; QRect circle(1, 1, radius, radius); path.addEllipse(circle); // draw handle path.arcMoveTo(circle, 300); QPointF currentPosition = path.currentPosition(); path.moveTo(currentPosition.x() + 1, currentPosition.y() + 1); if (dropDown) path.lineTo(image.width()-6, image.height()-4); else path.lineTo(image.width()-2, image.height()-4); QPainter painter(&image); painter.setRenderHint(QPainter::Antialiasing, true); painter.setPen(QPen(Qt::darkGray, 2)); painter.drawPath(path); if (dropDown) { // draw the dropdown triangle QPainterPath dropPath; dropPath.arcMoveTo(circle, 320); QPointF currentPosition = dropPath.currentPosition(); currentPosition = QPointF(currentPosition.x() + 2, currentPosition.y() + 0.5); dropPath.moveTo(currentPosition); dropPath.lineTo(currentPosition.x() + 4, currentPosition.y()); dropPath.lineTo(currentPosition.x() + 2, currentPosition.y() + 2); dropPath.closeSubpath(); painter.setPen(Qt::darkGray); painter.setBrush(Qt::darkGray); painter.setRenderHint(QPainter::Antialiasing, false); painter.drawPath(dropPath); } painter.end(); return image; } void SearchButton::setImage(const QImage &image) { m_cache = image; setMinimumSize(sizeHint()); update(); } void SearchButton::setShowMenuTriangle(bool show) { m_showMenuTriangle = show; setMinimumSize(sizeHint()); } bool SearchButton::showMenuTriangle() const { return m_showMenuTriangle; } void SearchButton::paintEvent(QPaintEvent *event) { Q_UNUSED(event); if (m_cache.isNull()) m_cache = generateSearchImage(m_showMenuTriangle); QPainter painter(this); painter.drawImage(QPoint(0, 0), m_cache); } arora-0.11.0/src/searchbutton.h000066400000000000000000000024371145000221100163260ustar00rootroot00000000000000/* * Copyright 2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef SEARCHBUTTON_H #define SEARCHBUTTON_H #include class QCompleter; class SearchButton : public QAbstractButton { Q_OBJECT public: SearchButton(QWidget *parent = 0); void setImage(const QImage &image); void setShowMenuTriangle(bool show); bool showMenuTriangle() const; void paintEvent(QPaintEvent *event); QSize sizeHint() const; private: QImage generateSearchImage(bool dropDown); QImage m_cache; bool m_showMenuTriangle; }; #endif // SEARCHBUTTON_H arora-0.11.0/src/searchlineedit.cpp000066400000000000000000000045771145000221100171520ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "searchlineedit.h" #include "clearbutton.h" #include "searchbutton.h" SearchLineEdit::SearchLineEdit(QWidget *parent) : LineEdit(parent) { init(); } void SearchLineEdit::init() { // search button on the left m_searchButton = new SearchButton(this); addWidget(m_searchButton, LeftSide); // clear button on the right m_clearButton = new ClearButton(this); connect(m_clearButton, SIGNAL(clicked()), this, SLOT(clear())); connect(this, SIGNAL(textChanged(const QString&)), m_clearButton, SLOT(textChanged(const QString&))); addWidget(m_clearButton, RightSide); m_clearButton->hide(); updateTextMargins(); setInactiveText(tr("Search")); } ClearButton *SearchLineEdit::clearButton() const { return m_clearButton; } SearchButton *SearchLineEdit::searchButton() const { return m_searchButton; } arora-0.11.0/src/searchlineedit.h000066400000000000000000000036551145000221100166130ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef SEARCHLINEEDIT_H #define SEARCHLINEEDIT_H #include "lineedit.h" class ClearButton; class SearchButton; class SearchLineEdit : public LineEdit { Q_OBJECT public: SearchLineEdit(QWidget *parent = 0); ClearButton *clearButton() const; SearchButton *searchButton() const; private: void init(); ClearButton *m_clearButton; SearchButton *m_searchButton; }; #endif // SEARCHLINEEDIT_H arora-0.11.0/src/settings.cpp000066400000000000000000000562741145000221100160300ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "settings.h" #include "acceptlanguagedialog.h" #include "autofilldialog.h" #include "autofillmanager.h" #include "browserapplication.h" #include "browsermainwindow.h" #include "cookiedialog.h" #include "cookieexceptionsdialog.h" #include "cookiejar.h" #include "historymanager.h" #include "networkaccessmanager.h" #include "tabwidget.h" #include "webpluginfactory.h" #include "webpage.h" #include "webview.h" #include #include #include #include #include #include #include SettingsDialog::SettingsDialog(QWidget *parent) : QDialog(parent) , m_cacheEnabled(false) { setupUi(this); connect(exceptionsButton, SIGNAL(clicked()), this, SLOT(showExceptions())); connect(setHomeToCurrentPageButton, SIGNAL(clicked()), this, SLOT(setHomeToCurrentPage())); connect(cookiesButton, SIGNAL(clicked()), this, SLOT(showCookies())); connect(standardFontButton, SIGNAL(clicked()), this, SLOT(chooseFont())); connect(fixedFontButton, SIGNAL(clicked()), this, SLOT(chooseFixedFont())); connect(languageButton, SIGNAL(clicked()), this, SLOT(chooseAcceptLanguage())); connect(downloadDirectoryButton, SIGNAL(clicked()), this, SLOT(chooseDownloadDirectory())); connect(externalDownloadBrowse, SIGNAL(clicked()), this, SLOT(chooseDownloadProgram())); connect(styleSheetBrowseButton, SIGNAL(clicked()), this, SLOT(chooseStyleSheet())); connect(editAutoFillUserButton, SIGNAL(clicked()), this, SLOT(editAutoFillUser())); // As network cache has too many bugs in 4.5.1, do not allow to enable it. if (QLatin1String(qVersion()) == QLatin1String("4.5.1")) networkCache->setVisible(false); loadDefaults(); loadFromSettings(); } void SettingsDialog::loadDefaults() { QWebSettings *defaultSettings = QWebSettings::globalSettings(); QString standardFontFamily = defaultSettings->fontFamily(QWebSettings::StandardFont); int standardFontSize = defaultSettings->fontSize(QWebSettings::DefaultFontSize); m_standardFont = QFont(standardFontFamily, standardFontSize); standardLabel->setText(QString(QLatin1String("%1 %2")).arg(m_standardFont.family()).arg(m_standardFont.pointSize())); QString fixedFontFamily = defaultSettings->fontFamily(QWebSettings::FixedFont); int fixedFontSize = defaultSettings->fontSize(QWebSettings::DefaultFixedFontSize); m_fixedFont = QFont(fixedFontFamily, fixedFontSize); fixedLabel->setText(QString(QLatin1String("%1 %2")).arg(m_fixedFont.family()).arg(m_fixedFont.pointSize())); downloadsLocation->setText(QDesktopServices::storageLocation(QDesktopServices::DesktopLocation)); blockPopupWindows->setChecked(!defaultSettings->testAttribute(QWebSettings::JavascriptCanOpenWindows)); enableJavascript->setChecked(defaultSettings->testAttribute(QWebSettings::JavascriptEnabled)); enablePlugins->setChecked(defaultSettings->testAttribute(QWebSettings::PluginsEnabled)); enableImages->setChecked(defaultSettings->testAttribute(QWebSettings::AutoLoadImages)); clickToFlash->setChecked(false); cookieSessionCombo->setCurrentIndex(0); filterTrackingCookiesCheckbox->setChecked(false); autoFillPasswordFormsCheckBox->setChecked(false); minimFontSizeCheckBox->setChecked(false); minimumFontSizeSpinBox->setValue(9); } void SettingsDialog::loadFromSettings() { QSettings settings; settings.beginGroup(QLatin1String("Settings")); tabWidget->setCurrentIndex(settings.value(QLatin1String("currentTab"), 0).toInt()); settings.endGroup(); settings.beginGroup(QLatin1String("MainWindow")); QString defaultHome = QLatin1String("about:home"); homeLineEdit->setText(settings.value(QLatin1String("home"), defaultHome).toString()); startupBehavior->setCurrentIndex(settings.value(QLatin1String("startupBehavior"), 0).toInt()); settings.endGroup(); settings.beginGroup(QLatin1String("history")); int historyExpire = settings.value(QLatin1String("historyLimit")).toInt(); int idx = 0; switch (historyExpire) { case 1: idx = 0; break; case 7: idx = 1; break; case 14: idx = 2; break; case 30: idx = 3; break; case 365: idx = 4; break; case -1: idx = 5; break; case -2: idx = 6; break; default: idx = 5; } expireHistory->setCurrentIndex(idx); settings.endGroup(); settings.beginGroup(QLatin1String("urlloading")); bool search = settings.value(QLatin1String("searchEngineFallback"), false).toBool(); searchEngineFallback->setChecked(search); settings.endGroup(); settings.beginGroup(QLatin1String("downloadmanager")); bool alwaysPromptForFileName = settings.value(QLatin1String("alwaysPromptForFileName"), false).toBool(); downloadAsk->setChecked(alwaysPromptForFileName); QString downloadDirectory = settings.value(QLatin1String("downloadDirectory"), downloadsLocation->text()).toString(); downloadsLocation->setText(downloadDirectory); externalDownloadButton->setChecked(settings.value(QLatin1String("external"), false).toBool()); externalDownloadPath->setText(settings.value(QLatin1String("externalPath")).toString()); settings.endGroup(); // Appearance settings.beginGroup(QLatin1String("websettings")); m_fixedFont = qVariantValue(settings.value(QLatin1String("fixedFont"), m_fixedFont)); m_standardFont = qVariantValue(settings.value(QLatin1String("standardFont"), m_standardFont)); standardLabel->setText(QString(QLatin1String("%1 %2")).arg(m_standardFont.family()).arg(m_standardFont.pointSize())); fixedLabel->setText(QString(QLatin1String("%1 %2")).arg(m_fixedFont.family()).arg(m_fixedFont.pointSize())); blockPopupWindows->setChecked(settings.value(QLatin1String("blockPopupWindows"), blockPopupWindows->isChecked()).toBool()); enableJavascript->setChecked(settings.value(QLatin1String("enableJavascript"), enableJavascript->isChecked()).toBool()); enablePlugins->setChecked(settings.value(QLatin1String("enablePlugins"), enablePlugins->isChecked()).toBool()); enableImages->setChecked(settings.value(QLatin1String("enableImages"), enableImages->isChecked()).toBool()); userStyleSheet->setText(QString::fromUtf8(settings.value(QLatin1String("userStyleSheet")).toUrl().toEncoded())); clickToFlash->setChecked(settings.value(QLatin1String("enableClickToFlash"), clickToFlash->isChecked()).toBool()); int minimumFontSize = settings.value(QLatin1String("minimumFontSize"), 0).toInt(); minimFontSizeCheckBox->setChecked(minimumFontSize != 0); if (minimumFontSize != 0) minimumFontSizeSpinBox->setValue(minimumFontSize); settings.endGroup(); // Privacy settings.beginGroup(QLatin1String("cookies")); QByteArray value = settings.value(QLatin1String("acceptCookies"), QLatin1String("AcceptOnlyFromSitesNavigatedTo")).toByteArray(); QMetaEnum acceptPolicyEnum = CookieJar::staticMetaObject.enumerator(CookieJar::staticMetaObject.indexOfEnumerator("AcceptPolicy")); CookieJar::AcceptPolicy acceptCookies = acceptPolicyEnum.keyToValue(value) == -1 ? CookieJar::AcceptOnlyFromSitesNavigatedTo : static_cast(acceptPolicyEnum.keyToValue(value)); switch (acceptCookies) { case CookieJar::AcceptAlways: acceptCombo->setCurrentIndex(0); break; case CookieJar::AcceptNever: acceptCombo->setCurrentIndex(1); break; case CookieJar::AcceptOnlyFromSitesNavigatedTo: acceptCombo->setCurrentIndex(2); break; } value = settings.value(QLatin1String("keepCookiesUntil"), QLatin1String("Expire")).toByteArray(); QMetaEnum keepPolicyEnum = CookieJar::staticMetaObject.enumerator(CookieJar::staticMetaObject.indexOfEnumerator("KeepPolicy")); CookieJar::KeepPolicy keepCookies = keepPolicyEnum.keyToValue(value) == -1 ? CookieJar::KeepUntilExpire : static_cast(keepPolicyEnum.keyToValue(value)); switch (keepCookies) { case CookieJar::KeepUntilExpire: keepUntilCombo->setCurrentIndex(0); break; case CookieJar::KeepUntilExit: keepUntilCombo->setCurrentIndex(1); break; case CookieJar::KeepUntilTimeLimit: keepUntilCombo->setCurrentIndex(2); break; } int sessionLength = settings.value(QLatin1String("sessionLength"), -1).toInt(); switch (sessionLength) { case 1: cookieSessionCombo->setCurrentIndex(1); break; case 2: cookieSessionCombo->setCurrentIndex(2); break; case 3: cookieSessionCombo->setCurrentIndex(3); break; case 7: cookieSessionCombo->setCurrentIndex(4); break; case 30: cookieSessionCombo->setCurrentIndex(5); break; default: case 0: cookieSessionCombo->setCurrentIndex(0); break; } filterTrackingCookiesCheckbox->setChecked(settings.value(QLatin1String("filterTrackingCookies"), false).toBool()); settings.endGroup(); // Network settings.beginGroup(QLatin1String("network")); m_cacheEnabled = settings.value(QLatin1String("cacheEnabled"), true).toBool(); networkCache->setChecked(m_cacheEnabled); networkCacheMaximumSizeSpinBox->setValue(settings.value(QLatin1String("maximumCacheSize"), 50).toInt()); settings.endGroup(); // Proxy settings.beginGroup(QLatin1String("proxy")); proxySupport->setChecked(settings.value(QLatin1String("enabled"), false).toBool()); proxyType->setCurrentIndex(settings.value(QLatin1String("type"), 0).toInt()); proxyHostName->setText(settings.value(QLatin1String("hostName")).toString()); proxyPort->setValue(settings.value(QLatin1String("port"), 1080).toInt()); proxyUserName->setText(settings.value(QLatin1String("userName")).toString()); proxyPassword->setText(settings.value(QLatin1String("password")).toString()); settings.endGroup(); // Tabs settings.beginGroup(QLatin1String("tabs")); selectTabsWhenCreated->setChecked(settings.value(QLatin1String("selectNewTabs"), false).toBool()); confirmClosingMultipleTabs->setChecked(settings.value(QLatin1String("confirmClosingMultipleTabs"), true).toBool()); oneCloseButton->setChecked(settings.value(QLatin1String("oneCloseButton"),false).toBool()); quitAsLastTabClosed->setChecked(settings.value(QLatin1String("quitAsLastTabClosed"), true).toBool()); openTargetBlankLinksIn->setCurrentIndex(settings.value(QLatin1String("openTargetBlankLinksIn"), TabWidget::NewSelectedTab).toInt()); openLinksFromAppsIn->setCurrentIndex(settings.value(QLatin1String("openLinksFromAppsIn"), TabWidget::NewSelectedTab).toInt()); settings.endGroup(); // Accessibility #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) settings.beginGroup(QLatin1String("WebView")); enableAccessKeys->setChecked(settings.value(QLatin1String("enableAccessKeys"), true).toBool()); #else enableAccessKeys->setEnabled(false); #endif settings.beginGroup(QLatin1String("autofill")); autoFillPasswordFormsCheckBox->setChecked(settings.value(QLatin1String("passwordForms"), true).toBool()); settings.endGroup(); } void SettingsDialog::saveToSettings() { QSettings settings; settings.beginGroup(QLatin1String("Settings")); settings.setValue(QLatin1String("currentTab"), tabWidget->currentIndex()); settings.endGroup(); settings.beginGroup(QLatin1String("MainWindow")); settings.setValue(QLatin1String("home"), homeLineEdit->text()); settings.setValue(QLatin1String("startupBehavior"), startupBehavior->currentIndex()); settings.endGroup(); settings.beginGroup(QLatin1String("downloadmanager")); settings.setValue(QLatin1String("alwaysPromptForFileName"), downloadAsk->isChecked()); settings.setValue(QLatin1String("downloadDirectory"), downloadsLocation->text()); settings.setValue(QLatin1String("external"), externalDownloadButton->isChecked()); settings.setValue(QLatin1String("externalPath"), externalDownloadPath->text()); settings.endGroup(); settings.beginGroup(QLatin1String("history")); int historyExpire = expireHistory->currentIndex(); int idx = -1; switch (historyExpire) { case 0: idx = 1; break; case 1: idx = 7; break; case 2: idx = 14; break; case 3: idx = 30; break; case 4: idx = 365; break; case 5: idx = -1; break; case 6: idx = -2; break; } settings.setValue(QLatin1String("historyLimit"), idx); settings.endGroup(); settings.beginGroup(QLatin1String("urlloading")); settings.setValue(QLatin1String("searchEngineFallback"), searchEngineFallback->isChecked()); settings.endGroup(); // Appearance settings.beginGroup(QLatin1String("websettings")); settings.setValue(QLatin1String("fixedFont"), m_fixedFont); settings.setValue(QLatin1String("standardFont"), m_standardFont); settings.setValue(QLatin1String("blockPopupWindows"), blockPopupWindows->isChecked()); settings.setValue(QLatin1String("enableJavascript"), enableJavascript->isChecked()); settings.setValue(QLatin1String("enablePlugins"), enablePlugins->isChecked()); settings.setValue(QLatin1String("enableImages"), enableImages->isChecked()); QString userStyleSheetString = userStyleSheet->text(); if (QFile::exists(userStyleSheetString)) settings.setValue(QLatin1String("userStyleSheet"), QUrl::fromLocalFile(userStyleSheetString)); else settings.setValue(QLatin1String("userStyleSheet"), QUrl::fromEncoded(userStyleSheetString.toUtf8())); settings.setValue(QLatin1String("enableClickToFlash"), clickToFlash->isChecked()); if (minimFontSizeCheckBox->isChecked()) settings.setValue(QLatin1String("minimumFontSize"), minimumFontSizeSpinBox->value()); else settings.setValue(QLatin1String("minimumFontSize"), 0); settings.endGroup(); // Privacy settings.beginGroup(QLatin1String("cookies")); CookieJar::AcceptPolicy acceptCookies; switch (acceptCombo->currentIndex()) { default: case 0: acceptCookies = CookieJar::AcceptAlways; break; case 1: acceptCookies = CookieJar::AcceptNever; break; case 2: acceptCookies = CookieJar::AcceptOnlyFromSitesNavigatedTo; break; } QMetaEnum acceptPolicyEnum = CookieJar::staticMetaObject.enumerator(CookieJar::staticMetaObject.indexOfEnumerator("AcceptPolicy")); settings.setValue(QLatin1String("acceptCookies"), QLatin1String(acceptPolicyEnum.valueToKey(acceptCookies))); CookieJar::KeepPolicy keepPolicy; switch (keepUntilCombo->currentIndex()) { default: case 0: keepPolicy = CookieJar::KeepUntilExpire; break; case 1: keepPolicy = CookieJar::KeepUntilExit; break; case 2: keepPolicy = CookieJar::KeepUntilTimeLimit; break; } QMetaEnum keepPolicyEnum = CookieJar::staticMetaObject.enumerator(CookieJar::staticMetaObject.indexOfEnumerator("KeepPolicy")); settings.setValue(QLatin1String("keepCookiesUntil"), QLatin1String(keepPolicyEnum.valueToKey(keepPolicy))); int sessionLength = cookieSessionCombo->currentIndex(); switch (sessionLength) { case 1: sessionLength = 1; break; case 2: sessionLength = 2; break; case 3: sessionLength = 3; break; case 4: sessionLength = 7; break; case 5: sessionLength = 30; break; default: case 0: sessionLength = -1; break; } settings.setValue(QLatin1String("sessionLength"), sessionLength); settings.setValue(QLatin1String("filterTrackingCookies"), filterTrackingCookiesCheckbox->isChecked()); settings.endGroup(); // Network settings.beginGroup(QLatin1String("network")); settings.setValue(QLatin1String("cacheEnabled"), networkCache->isChecked()); settings.setValue(QLatin1String("maximumCacheSize"), networkCacheMaximumSizeSpinBox->value()); settings.endGroup(); // proxy settings.beginGroup(QLatin1String("proxy")); settings.setValue(QLatin1String("enabled"), proxySupport->isChecked()); settings.setValue(QLatin1String("type"), proxyType->currentIndex()); settings.setValue(QLatin1String("hostName"), proxyHostName->text()); settings.setValue(QLatin1String("port"), proxyPort->text()); settings.setValue(QLatin1String("userName"), proxyUserName->text()); settings.setValue(QLatin1String("password"), proxyPassword->text()); settings.endGroup(); // Tabs settings.beginGroup(QLatin1String("tabs")); settings.setValue(QLatin1String("selectNewTabs"), selectTabsWhenCreated->isChecked()); settings.setValue(QLatin1String("confirmClosingMultipleTabs"), confirmClosingMultipleTabs->isChecked()); settings.setValue(QLatin1String("oneCloseButton"), oneCloseButton->isChecked()); settings.setValue(QLatin1String("quitAsLastTabClosed"), quitAsLastTabClosed->isChecked()); settings.setValue(QLatin1String("openTargetBlankLinksIn"), openTargetBlankLinksIn->currentIndex()); settings.setValue(QLatin1String("openLinksFromAppsIn"), openLinksFromAppsIn->currentIndex()); settings.endGroup(); settings.beginGroup(QLatin1String("autofill")); settings.setValue(QLatin1String("passwordForms"), autoFillPasswordFormsCheckBox->isChecked()); settings.endGroup(); // Accessibility #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) settings.beginGroup(QLatin1String("WebView")); settings.setValue(QLatin1String("enableAccessKeys"), enableAccessKeys->isChecked()); settings.endGroup(); #endif BrowserApplication::instance()->loadSettings(); BrowserApplication::networkAccessManager()->loadSettings(); BrowserApplication::cookieJar()->loadSettings(); BrowserApplication::historyManager()->loadSettings(); BrowserApplication::autoFillManager()->loadSettings(); WebPage::webPluginFactory()->refreshPlugins(); QList list = BrowserApplication::instance()->mainWindows(); foreach (BrowserMainWindow *mainWindow, list) { mainWindow->tabWidget()->loadSettings(); } } void SettingsDialog::accept() { saveToSettings(); // Due to a bug in Qt <= 4.5.1, enabling/disabling cache requires the browser to be restarted. if (QLatin1String(qVersion()) <= QLatin1String("4.5.1") && networkCache->isChecked() != m_cacheEnabled) { QMessageBox::information(this, tr("Restart required"), tr("The network cache configuration has changed. " "So that it can be taken into account, the browser has to be restarted.")); } QDialog::accept(); } void SettingsDialog::showCookies() { CookieDialog dialog(BrowserApplication::cookieJar(), this); dialog.exec(); } void SettingsDialog::showExceptions() { CookieExceptionsDialog dialog(BrowserApplication::cookieJar(), this); dialog.exec(); } void SettingsDialog::chooseDownloadDirectory() { QString fileName = QFileDialog::getExistingDirectory(this, tr("Choose Directory"), downloadsLocation->text()); downloadsLocation->setText(fileName); } void SettingsDialog::chooseDownloadProgram() { QString fileName = QFileDialog::getOpenFileName(this, tr("Choose Program"), externalDownloadPath->text()); if (fileName.contains(QLatin1Char(' '))) fileName = QString(QLatin1String("\"%1\"")).arg(fileName); externalDownloadPath->setText(fileName); } void SettingsDialog::chooseFont() { bool ok; QFont font = QFontDialog::getFont(&ok, m_standardFont, this); if (ok) { m_standardFont = font; standardLabel->setText(QString(QLatin1String("%1 %2")).arg(font.family()).arg(font.pointSize())); } } void SettingsDialog::chooseFixedFont() { bool ok; QFont font = QFontDialog::getFont(&ok, m_fixedFont, this); if (ok) { m_fixedFont = font; fixedLabel->setText(QString(QLatin1String("%1 %2")).arg(font.family()).arg(font.pointSize())); } } void SettingsDialog::setHomeToCurrentPage() { BrowserMainWindow *mw = static_cast(parent()); WebView *webView = mw->currentTab(); if (webView) homeLineEdit->setText(QString::fromUtf8(webView->url().toEncoded())); } void SettingsDialog::chooseAcceptLanguage() { AcceptLanguageDialog dialog; dialog.exec(); } void SettingsDialog::chooseStyleSheet() { QUrl url = QUrl::fromEncoded(userStyleSheet->text().toUtf8()); QString fileName = QFileDialog::getOpenFileName(this, tr("Choose CSS File"), url.toLocalFile()); userStyleSheet->setText(QString::fromUtf8(QUrl::fromLocalFile(fileName).toEncoded())); } void SettingsDialog::editAutoFillUser() { AutoFillDialog dialog; dialog.exec(); } arora-0.11.0/src/settings.h000066400000000000000000000071401145000221100154610ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef SETTINGS_H #define SETTINGS_H #include #include "ui_settings.h" class SettingsDialog : public QDialog, public Ui_Settings { Q_OBJECT public: SettingsDialog(QWidget *parent = 0); void accept(); private slots: void loadDefaults(); void loadFromSettings(); void saveToSettings(); void setHomeToCurrentPage(); void showCookies(); void showExceptions(); void chooseDownloadDirectory(); void chooseDownloadProgram(); void chooseFont(); void chooseFixedFont(); void chooseAcceptLanguage(); void chooseStyleSheet(); void editAutoFillUser(); private: QFont m_standardFont; QFont m_fixedFont; bool m_cacheEnabled; }; #endif // SETTINGS_H arora-0.11.0/src/settings.ui000066400000000000000000001153121145000221100156500ustar00rootroot00000000000000 Settings 0 0 677 442 Preferences Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok 2 General On startup: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Show my home page Show a blank page Restore windows and tabs from last time Home Page: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Qt::LeftToRight Set to current page Qt::Horizontal 280 18 Remove history items: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter After one day After one week After two weeks After one month After one year Manually On application exit Use the default search engine as fallback when the URL given by the user is invalid false Enable access keys Downloads Ask for a destination each time Use this destination: true Qt::LeftToRight Choose Directory... Use this external download program: Choose Program... Qt::Vertical 608 15 Appearance Standard font: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 QFrame::StyledPanel Times 16 Qt::AlignCenter Select... Fixed-width font: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter QFrame::StyledPanel Courier 13 Qt::AlignCenter Select... Preferred languages for viewing webpages in: Select... Minimum Font size: Qt::Vertical 20 93 false 1 9 Privacy Web Content Block Popup Windows true Enable Plugins true Qt::Horizontal QSizePolicy::Fixed 20 20 0 0 If you enable this option, no flash objects will be loaded by default. Instead, each will be replaced by a button, allowing you to control which objects to load, and which not. Use ClickToFlash on flash plugins true Enable Javascript true View Images true Cookies Accept Cookies: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Always Never Only from sites you navigate to Exceptions... Keep Cookies Until: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter They expire I exit the application At most 90 days Cookies... Qt::Horizontal 40 20 Filter Tracking Cookies A cookie session ends: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter When I exit the application 1 day 2 days 3 days 7 days 30 days Qt::Vertical 371 177 Tabs Select tabs and windows as they are created Confirm when closing multiple tabs or windows true Show only one close button instead of one for each tab false Quit the application when last tab is closed true Opening links Links that want to open in a new window: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter In a new window In a new selected tab in the current window In a new tab in the current window In the current tab Open links from applications: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter In a new window In a new selected tab in the current window In a new tab in the current window In the current tab Qt::Vertical 20 182 Proxy Use proxy server true Type: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Socks5 Http (Secure) Http (Transparent) Host name: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Qt::LeftToRight Port: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 65535 1080 Qt::Horizontal 293 20 User Name: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Qt::LeftToRight Password: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Qt::LeftToRight QLineEdit::Password Qt::Vertical 20 8 AutoFill AutoFill web forms: 0 0 User names and passwords Edit... Qt::Vertical 20 244 Qt::Horizontal 40 20 Advanced Style Sheet: Qt::LeftToRight Browse... Enable network cache true true Maximum Size: MB 0 9999999 Qt::Horizontal 40 20 Qt::Vertical 20 176 startupBehavior homeLineEdit setHomeToCurrentPageButton expireHistory searchEngineFallback downloadAsk downloadDestination downloadDirectoryButton standardFontButton fixedFontButton languageButton blockPopupWindows enablePlugins clickToFlash enableJavascript enableImages acceptCombo exceptionsButton keepUntilCombo cookiesButton filterTrackingCookiesCheckbox selectTabsWhenCreated confirmClosingMultipleTabs oneCloseButton quitAsLastTabClosed openLinksFromAppsIn openTargetBlankLinksIn proxySupport proxyType proxyHostName proxyPort proxyUserName proxyPassword userStyleSheet networkCache networkCacheMaximumSizeSpinBox buttonBox buttonBox accepted() Settings accept() 269 447 157 274 buttonBox rejected() Settings reject() 337 447 286 274 downloadDestination toggled(bool) downloadsLocation setEnabled(bool) 79 289 280 291 enablePlugins toggled(bool) clickToFlash setEnabled(bool) 104 125 162 154 minimFontSizeCheckBox toggled(bool) minimumFontSizeSpinBox setEnabled(bool) 31 153 189 151 downloadDestination toggled(bool) downloadDirectoryButton setEnabled(bool) 182 282 620 292 externalDownloadButton toggled(bool) externalDownloadPath setEnabled(bool) 161 315 388 315 externalDownloadButton toggled(bool) externalDownloadBrowse setEnabled(bool) 161 315 554 315 externalDownloadButton toggled(bool) downloadAsk setDisabled(bool) 102 311 105 252 externalDownloadButton toggled(bool) downloadsLocation setDisabled(bool) 198 315 386 279 externalDownloadButton toggled(bool) downloadDestination setDisabled(bool) 170 313 169 285 externalDownloadButton toggled(bool) downloadDirectoryButton setDisabled(bool) 194 311 569 276 arora-0.11.0/src/sourcehighlighter.cpp000066400000000000000000000143341145000221100176760ustar00rootroot00000000000000/* * Copyright 2008 Christian Franke * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "sourcehighlighter.h" #include SourceHighlighter::SourceHighlighter(QTextDocument *document) : QSyntaxHighlighter(document) { QPalette palette; QColor foreground = palette.text().color(); QColor background = palette.base().color(); QTextCharFormat entityFormat; QColor entityColor; entityColor.setRed((foreground.red() + background.red()) / 2); entityColor.setGreen( (foreground.green() + background.green()) / 2); entityColor.setBlue( (foreground.blue() + background.blue()) / 2); if (abs(entityColor.red() - background.red()) > 80) entityColor.setRed(foreground.red()); else if (abs(entityColor.green()-background.green()) > 80) entityColor.setGreen(foreground.green()); else entityColor.setBlue(foreground.blue()); entityFormat.setForeground(entityColor); entityFormat.setFontWeight(QFont::Normal); setFormatFor(Entity, entityFormat); QTextCharFormat tagFormat; QColor tagColor; tagColor.setRed(foreground.red() + (background.red() - foreground.red()) / 4); tagColor.setGreen( foreground.green() + (background.green() - foreground.green()) / 4); tagColor.setBlue( foreground.blue() + (background.blue() - foreground.blue()) / 4); tagFormat.setForeground(tagColor); tagFormat.setFontWeight(QFont::Bold); setFormatFor(Tag, tagFormat); QTextCharFormat commentFormat; QColor commentColor; commentColor.setRed(background.red() + (foreground.red() - background.red()) / 3); commentColor.setGreen( background.green() + (foreground.green() - background.green()) / 3); commentColor.setBlue( background.blue() + (foreground.blue() - background.blue()) / 3); commentFormat.setForeground(commentColor); commentFormat.setFontWeight(QFont::Normal); setFormatFor(Comment, commentFormat); QTextCharFormat attributeFormat; QColor attributeColor; attributeColor.setRed((foreground.red() + background.red()) / 2); attributeColor.setGreen( (foreground.green() + background.green()) / 2); attributeColor.setBlue( (foreground.blue() + background.blue()) / 2); if (abs(attributeColor.red() - background.red()) > 80) attributeColor.setRed(background.red()); else if (abs(attributeColor.green() - background.green()) > 80) attributeColor.setGreen(background.green()); else attributeColor.setBlue(background.blue()); attributeFormat.setForeground(attributeColor); attributeFormat.setFontWeight(QFont::Normal); setFormatFor(Attribute, attributeFormat); } QTextCharFormat SourceHighlighter::getFormatFor(Construct construct) { return formats[construct]; } void SourceHighlighter::setFormatFor(Construct construct, QTextCharFormat &format) { formats[construct] = format; } void SourceHighlighter::highlightBlock(const QString &text) { int state = previousBlockState(); int len = text.length(); int start = 0; int pos = 0; QRegExp regex; while (pos >= 0 && pos < len && len > 0) { switch (state) { default: case Normal: regex.setPattern(QLatin1String("[<&]")); pos = regex.indexIn(text, pos); if (pos >= 0) { if (text.at(pos) == QLatin1Char('<')) { start = pos; if (text.mid(pos, 4) == QLatin1String("")); pos = regex.indexIn(text, pos); if (pos >= 0) { state = Normal; pos += 3; setFormat(start, pos - start, formats[Comment]); ++pos; } else { setFormat(start, len - start, formats[Comment]); } break; case InTag: regex.setPattern(QLatin1String("[>\"]")); pos = regex.indexIn(text, pos); if (pos >= 0) { if (text.at(pos) == QLatin1Char('>')) { state = Normal; ++pos; setFormat(start, pos - start, formats[Tag]); } else if (text.at(pos) == QLatin1Char('"')) { setFormat(start, pos - start, formats[Tag]); start = pos; state = InAttribute; ++pos; } } else { setFormat(start, len-start, formats[Tag]); } break; case InAttribute: regex.setPattern(QLatin1String("\"")); pos = regex.indexIn(text, pos); if (pos >= 0) { setFormat(start, pos - start, formats[Attribute]); state = InTag; start = ++pos; } else { setFormat(start, len - start, formats[Attribute]); } break; } } setCurrentBlockState(state); } arora-0.11.0/src/sourcehighlighter.h000066400000000000000000000027141145000221100173420ustar00rootroot00000000000000/* * Copyright 2008 Christian Franke * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef SOURCEHIGHLIGHTER_H #define SOURCEHIGHLIGHTER_H #include class SourceHighlighter : public QSyntaxHighlighter { Q_OBJECT public: enum Construct { Entity, Tag, Comment, Attribute, LastConstruct = Attribute }; SourceHighlighter(QTextDocument *document); QTextCharFormat getFormatFor(Construct construct); void setFormatFor(Construct construct, QTextCharFormat &format); protected: enum State { Normal = -1, InComment, InTag, InAttribute }; void highlightBlock(const QString &text); private: QTextCharFormat formats[LastConstruct + 1]; }; #endif arora-0.11.0/src/sourceviewer.cpp000066400000000000000000000072351145000221100167030ustar00rootroot00000000000000/* * Copyright 2008 Christian Franke * Copyright 2008-2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "sourceviewer.h" #include #include #include #include #include #include #include #include #include #include #include "browserapplication.h" #include "networkaccessmanager.h" #include "plaintexteditsearch.h" #include "sourcehighlighter.h" SourceViewer::SourceViewer(const QString &source, const QString &title, const QUrl &url, QWidget *parent) : QDialog(parent) , m_edit(new QPlainTextEdit(tr("Loading..."), this)) , m_highlighter(new SourceHighlighter(m_edit->document())) , m_plainTextEditSearch(new PlainTextEditSearch(m_edit, this)) , m_layout(new QVBoxLayout(this)) , m_menuBar(new QMenuBar(this)) , m_editMenu(new QMenu(tr("&Edit"), m_menuBar)) , m_findAction(new QAction(tr("&Find"), m_editMenu)) , m_source(source) { setWindowTitle(tr("Source of Page %1").arg(title)); QSettings settings; settings.beginGroup(QLatin1String("SourceViewer")); QSize size = settings.value(QLatin1String("size"), QSize(640, 480)).toSize(); resize(size); m_edit->setLineWrapMode(QPlainTextEdit::WidgetWidth); m_edit->setReadOnly(true); QFont font = m_edit->font(); font.setFamily(QLatin1String("Monospace")); m_edit->setFont(font); m_edit->setLineWidth(0); m_edit->setFrameShape(QFrame::NoFrame); m_menuBar->addMenu(m_editMenu); m_editMenu->addAction(m_findAction); m_findAction->setShortcuts(QKeySequence::Find); connect(m_findAction, SIGNAL(triggered()), m_plainTextEditSearch, SLOT(showFind())); m_layout->setSpacing(0); m_layout->setContentsMargins(0, 0, 0, 0); m_layout->addWidget(m_menuBar); m_layout->addWidget(m_plainTextEditSearch); m_layout->addWidget(m_edit); setLayout(m_layout); QNetworkRequest request(url); request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache); m_reply = BrowserApplication::networkAccessManager()->get(request); connect(m_reply, SIGNAL(finished()), this, SLOT(loadingFinished())); m_reply->setParent(this); } SourceViewer::~SourceViewer() { QSettings settings; settings.beginGroup(QLatin1String("SourceViewer")); settings.setValue(QLatin1String("size"), size()); } void SourceViewer::loadingFinished() { QWebPage page; QByteArray response = m_reply->readAll(); page.mainFrame()->setContent(response, QString(), m_reply->request().url()); /* If original request was POST or a different problem is there, fall back to modified version of QWebFrame.toHtml() */ if (page.mainFrame()->toHtml() != m_source) m_edit->setPlainText(m_source); else m_edit->setPlainText(QLatin1String(response)); m_reply->close(); } arora-0.11.0/src/sourceviewer.h000066400000000000000000000030601145000221100163400ustar00rootroot00000000000000/* * Copyright 2008 Christian Franke * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef SOURCEVIEWER_H #define SOURCEVIEWER_H #include class QVBoxLayout; class SourceHighlighter; class PlainTextEditSearch; class QPlainTextEdit; class QMenuBar; class QMenu; class QUrl; class QAction; class QNetworkReply; class SourceViewer : public QDialog { Q_OBJECT public: SourceViewer(const QString &source, const QString &title, const QUrl &url, QWidget *parent = 0); ~SourceViewer(); private: QPlainTextEdit *m_edit; SourceHighlighter *m_highlighter; PlainTextEditSearch *m_plainTextEditSearch; QVBoxLayout *m_layout; QMenuBar *m_menuBar; QMenu *m_editMenu; QAction *m_findAction; QMenu *m_viewMenu; QNetworkReply *m_reply; QString m_source; private slots: void loadingFinished(); }; #endif arora-0.11.0/src/src.pri000066400000000000000000000055541145000221100147620ustar00rootroot00000000000000CONFIG += qt warn_on contains(QT_BUILD_PARTS, tools): CONFIG += uitools else : DEFINES += QT_NO_UITOOLS win32|os2 : Debug : CONFIG += console INCLUDEPATH += $$PWD DEPENDPATH += $$PWD QT += webkit network # Share object files for faster compiling RCC_DIR = $$PWD/.rcc UI_DIR = $$PWD/.ui MOC_DIR = $$PWD/.moc OBJECTS_DIR = $$PWD/.obj exists(../.git/HEAD) { GITVERSION=$$system(git log -n1 --pretty=format:%h) !isEmpty(GITVERSION) { GITCHANGENUMBER=$$system(git log --pretty=format:%h | wc -l) DEFINES += GITVERSION=\"\\\"$$GITVERSION\\\"\" DEFINES += GITCHANGENUMBER=\"\\\"$$GITCHANGENUMBER\\\"\" } } FORMS += \ aboutdialog.ui \ autofilldialog.ui \ acceptlanguagedialog.ui \ downloaditem.ui \ downloads.ui \ searchbanner.ui \ settings.ui HEADERS += \ aboutdialog.h \ acceptlanguagedialog.h \ autosaver.h \ autofilldialog.h \ autofillmanager.h \ browserapplication.h \ browsermainwindow.h \ clearprivatedata.h \ clearbutton.h \ downloadmanager.h \ modelmenu.h \ modeltoolbar.h \ plaintexteditsearch.h \ searchbar.h \ searchbutton.h \ searchlineedit.h \ settings.h \ sourcehighlighter.h \ sourceviewer.h \ tabbar.h \ tabwidget.h \ toolbarsearch.h \ webactionmapper.h \ webpage.h \ webview.h \ webviewsearch.h SOURCES += \ aboutdialog.cpp \ acceptlanguagedialog.cpp \ autosaver.cpp \ autofilldialog.cpp \ autofillmanager.cpp \ browserapplication.cpp \ browsermainwindow.cpp \ clearprivatedata.cpp \ clearbutton.cpp \ downloadmanager.cpp \ modelmenu.cpp \ modeltoolbar.cpp \ plaintexteditsearch.cpp \ searchbar.cpp \ searchbutton.cpp \ searchlineedit.cpp \ settings.cpp \ sourcehighlighter.cpp \ sourceviewer.cpp \ tabbar.cpp \ tabwidget.cpp \ toolbarsearch.cpp \ webactionmapper.cpp \ webpage.cpp \ webview.cpp \ webviewsearch.cpp include(adblock/adblock.pri) include(bookmarks/bookmarks.pri) include(history/history.pri) include(locationbar/locationbar.pri) include(network/network.pri) include(opensearch/opensearch.pri) include(qwebplugins/qwebplugins.pri) include(utils/utils.pri) include(useragent/useragent.pri) RESOURCES += \ $$PWD/data/data.qrc \ $$PWD/data/graphics/graphics.qrc \ $$PWD/data/searchengines/searchengines.qrc \ $$PWD/htmls/htmls.qrc DISTFILES += ../AUTHORS \ ../ChangeLog \ ../LICENSE.GPL2 \ ../LICENSE.GPL3 \ ../README win32 { RC_FILE = $$PWD/browser.rc LIBS += -luser32 } os2 { RC_FILE = $$PWD/browser_os2.rc } mac { ICON = browser.icns QMAKE_INFO_PLIST = Info_mac.plist } include(../webkittrunk.pri) unix { PKGDATADIR = $$DATADIR/arora DEFINES += DATADIR=\\\"$$DATADIR\\\" PKGDATADIR=\\\"$$PKGDATADIR\\\" } win32 { LIBS += -ladvapi32 } arora-0.11.0/src/src.pro000066400000000000000000000030231145000221100147550ustar00rootroot00000000000000TEMPLATE = app TARGET = arora mac { TARGET = Arora QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.4 } DEFINES += \ QT_NO_CAST_FROM_ASCII \ QT_NO_CAST_TO_ASCII \ QT_STRICT_ITERATORS \ include(../install.pri) include(src.pri) SOURCES += main.cpp DESTDIR = ../ include(locale/locale.pri) !mac { unix { INSTALLS += translations desktop iconxpm iconsvg icon16 icon32 icon128 man man-compress translations.path = $$PKGDATADIR translations.files += .qm/locale desktop.path = $$DATADIR/applications desktop.files += arora.desktop iconxpm.path = $$DATADIR/pixmaps iconxpm.files += data/arora.xpm iconsvg.path = $$DATADIR/icons/hicolor/scalable/apps iconsvg.files += data/arora.svg icon16.path = $$DATADIR/icons/hicolor/16x16/apps icon16.files += data/16x16/arora.png icon32.path = $$DATADIR/icons/hicolor/32x32/apps icon32.files += data/32x32/arora.png icon128.path = $$DATADIR/icons/hicolor/128x128/apps icon128.files += data/128x128/arora.png man.path = $$DATADIR/man/man1 man.files += data/arora.1 man-compress.path = $$DATADIR/man/man1 man-compress.extra = "" "gzip -9 -f \$(INSTALL_ROOT)/$$DATADIR/man/man1/arora.1" "" man-compress.depends = install_man GNOME_DEFAULT_APPS_PATH = $$system(pkg-config --variable=defappsdir gnome-default-applications) !isEmpty(GNOME_DEFAULT_APPS_PATH) { INSTALLS += gnome-default-app gnome-default-app.path = $$GNOME_DEFAULT_APPS_PATH gnome-default-app.files = data/arora.xml } } } arora-0.11.0/src/tabbar.cpp000066400000000000000000000243241145000221100154120ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "tabbar.h" #include "tabwidget.h" #include #include #include #include #include #include #include #include TabShortcut::TabShortcut(int tab, const QKeySequence &key, QWidget *parent) : QShortcut(key, parent) , m_tab(tab) { } int TabShortcut::tab() { return m_tab; } TabBar::TabBar(QWidget *parent) : QTabBar(parent) , m_viewTabBarAction(0) , m_showTabBarWhenOneTab(true) { setContextMenuPolicy(Qt::CustomContextMenu); setAcceptDrops(true); setElideMode(Qt::ElideRight); setUsesScrollButtons(true); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(contextMenuRequested(const QPoint &))); QString alt = QLatin1String("Ctrl+%1"); for (int i = 0; i < 9; ++i) { int key = i + 1; TabShortcut *tabShortCut = new TabShortcut(i, alt.arg(key), this); connect(tabShortCut, SIGNAL(activated()), this, SLOT(selectTabAction())); } m_viewTabBarAction = new QAction(this); updateViewToolBarAction(); connect(m_viewTabBarAction, SIGNAL(triggered()), this, SLOT(viewTabBar())); setMovable(true); } bool TabBar::showTabBarWhenOneTab() const { return m_showTabBarWhenOneTab; } void TabBar::setShowTabBarWhenOneTab(bool enabled) { m_showTabBarWhenOneTab = enabled; updateVisibility(); } QAction *TabBar::viewTabBarAction() const { return m_viewTabBarAction; } QTabBar::ButtonPosition TabBar::freeSide() { QTabBar::ButtonPosition side = (QTabBar::ButtonPosition)style()->styleHint(QStyle::SH_TabBar_CloseButtonPosition, 0, this); side = (side == QTabBar::LeftSide) ? QTabBar::RightSide : QTabBar::LeftSide; return side; } void TabBar::updateViewToolBarAction() { bool show = showTabBarWhenOneTab(); if (count() > 1) show = true; m_viewTabBarAction->setText(!show ? tr("Show Tab Bar") : tr("Hide Tab Bar")); } void TabBar::viewTabBar() { setShowTabBarWhenOneTab(!showTabBarWhenOneTab()); updateViewToolBarAction(); } void TabBar::selectTabAction() { int index = qobject_cast(sender())->tab(); setCurrentIndex(index); } void TabBar::contextMenuRequested(const QPoint &position) { QMenu menu; TabWidget *tabWidget = qobject_cast(parentWidget()); if (!tabWidget) return; menu.addAction(tabWidget->newTabAction()); int index = tabAt(position); if (-1 != index) { QAction *action = menu.addAction(tr("Duplicate Tab"), this, SLOT(cloneTab())); action->setData(index); menu.addSeparator(); action = menu.addAction(tr("&Close Tab"), this, SLOT(closeTab()), QKeySequence::Close); action->setData(index); action = menu.addAction(tr("Close &Other Tabs"), this, SLOT(closeOtherTabs())); action->setData(index); menu.addSeparator(); action = menu.addAction(tr("Reload Tab"), this, SLOT(reloadTab()), QKeySequence::Refresh); action->setData(index); } else { menu.addSeparator(); } menu.addAction(tr("Reload All Tabs"), this, SIGNAL(reloadAllTabs())); menu.addSeparator(); menu.addAction(tabWidget->bookmarkTabsAction()); menu.exec(QCursor::pos()); } void TabBar::cloneTab() { if (QAction *action = qobject_cast(sender())) { int index = action->data().toInt(); emit cloneTab(index); } } void TabBar::closeTab() { if (QAction *action = qobject_cast(sender())) { int index = action->data().toInt(); emit closeTab(index); } } void TabBar::closeOtherTabs() { if (QAction *action = qobject_cast(sender())) { int index = action->data().toInt(); emit closeOtherTabs(index); } } void TabBar::mouseDoubleClickEvent(QMouseEvent *event) { if (event->button() == Qt::LeftButton && tabAt(event->pos()) == -1) { emit newTab(); return; } QTabBar::mouseDoubleClickEvent(event); } void TabBar::mouseReleaseEvent(QMouseEvent *event) { if (event->button() == Qt::MidButton) { int index = tabAt(event->pos()); if (index != -1) { emit closeTab(index); return; } else { QUrl url(QApplication::clipboard()->text(QClipboard::Selection)); if (!url.isEmpty() && url.isValid() && !url.scheme().isEmpty()) emit loadUrl(url, TabWidget::NewTab); } } QTabBar::mouseReleaseEvent(event); } void TabBar::mousePressEvent(QMouseEvent *event) { if (event->button() == Qt::LeftButton) m_dragStartPos = event->pos(); QTabBar::mousePressEvent(event); } void TabBar::mouseMoveEvent(QMouseEvent *event) { if (event->buttons() == Qt::LeftButton) { int diffX = event->pos().x() - m_dragStartPos.x(); int diffY = event->pos().y() - m_dragStartPos.y(); if ((event->pos() - m_dragStartPos).manhattanLength() > QApplication::startDragDistance() && diffX < 3 && diffX > -3 && diffY < -10) { QDrag *drag = new QDrag(this); QMimeData *mimeData = new QMimeData; QList urls; int index = tabAt(event->pos()); QUrl url = tabData(index).toUrl(); urls.append(url); mimeData->setUrls(urls); mimeData->setText(tabText(index)); mimeData->setData(QLatin1String("action"), "tab-reordering"); drag->setMimeData(mimeData); drag->exec(); } } QTabBar::mouseMoveEvent(event); } void TabBar::dragEnterEvent(QDragEnterEvent *event) { const QMimeData *mimeData = event->mimeData(); if (mimeData->hasUrls() || mimeData->hasText()) event->acceptProposedAction(); QTabBar::dragEnterEvent(event); } void TabBar::dropEvent(QDropEvent *event) { const QMimeData *mimeData = event->mimeData(); QUrl url; if (mimeData->hasUrls()) url = mimeData->urls().at(0); else if (mimeData->hasText()) url = QUrl::fromEncoded(mimeData->text().toUtf8()); if (!url.isEmpty() && url.isValid()) { event->acceptProposedAction(); int index = tabAt(event->pos()); if (-1 != index) { setCurrentIndex(index); emit loadUrl(url, TabWidget::CurrentTab); } else { emit loadUrl(url, TabWidget::NewSelectedTab); } } QTabBar::dropEvent(event); } QSize TabBar::tabSizeHint(int index) const { QSize sizeHint = QTabBar::tabSizeHint(index); QFontMetrics fm = fontMetrics(); return sizeHint.boundedTo(QSize(fm.width(QLatin1Char('M')) * 18, sizeHint.height())); } void TabBar::reloadTab() { if (QAction *action = qobject_cast(sender())) { int index = action->data().toInt(); emit reloadTab(index); } } void TabBar::tabInserted(int position) { Q_UNUSED(position); updateVisibility(); } void TabBar::tabRemoved(int position) { Q_UNUSED(position); updateVisibility(); } void TabBar::updateVisibility() { setVisible((count()) > 1 || m_showTabBarWhenOneTab); bool enabled = (count() == 1); if (m_viewTabBarAction->isEnabled() != enabled) m_viewTabBarAction->setEnabled(enabled); updateViewToolBarAction(); } arora-0.11.0/src/tabbar.h000066400000000000000000000111241145000221100150510ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef TABBAR_H #define TABBAR_H #include #include "tabwidget.h" /* Tab bar with a few more features such as a context menu and shortcuts */ class TabBar : public QTabBar { Q_OBJECT signals: void newTab(); void cloneTab(int index); void closeTab(int index); void closeOtherTabs(int index); void reloadTab(int index); void reloadAllTabs(); void loadUrl(const QUrl &url, TabWidget::OpenUrlIn tab); public: TabBar(QWidget *parent = 0); bool showTabBarWhenOneTab() const; void setShowTabBarWhenOneTab(bool enabled); QAction *viewTabBarAction() const; QTabBar::ButtonPosition freeSide(); protected: void mouseDoubleClickEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event); void mousePressEvent(QMouseEvent *event); void mouseMoveEvent(QMouseEvent *event); void dragEnterEvent(QDragEnterEvent *event); void dropEvent(QDropEvent *event); QSize tabSizeHint(int index) const; void tabInserted(int position); void tabRemoved(int position); private slots: void selectTabAction(); void cloneTab(); void closeTab(); void closeOtherTabs(); void reloadTab(); void contextMenuRequested(const QPoint &position); void updateViewToolBarAction(); void viewTabBar(); private: void updateVisibility(); friend class TabWidget; QPoint m_dragStartPos; QAction *m_viewTabBarAction; bool m_showTabBarWhenOneTab; }; #include /* Shortcut to switch directly to a tab by index */ class TabShortcut : public QShortcut { Q_OBJECT public: int tab(); TabShortcut(int tab, const QKeySequence &key, QWidget *parent); private: int m_tab; }; #endif // TABBAR_H arora-0.11.0/src/tabwidget.cpp000066400000000000000000001061411145000221100161270ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the iQ_WS_X11mplied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "tabwidget.h" #include "addbookmarkdialog.h" #include "bookmarknode.h" #include "bookmarksmanager.h" #include "bookmarksmodel.h" #include "browserapplication.h" #include "browsermainwindow.h" #include "history.h" #include "historycompleter.h" #include "historymanager.h" #include "locationbar.h" #include "opensearchengine.h" #include "opensearchmanager.h" #include "tabbar.h" #include "toolbarsearch.h" #include "webactionmapper.h" #include "webpage.h" #include "webview.h" #include "webviewsearch.h" #include #include #include #include #include #include #include #include #include #include #include #include #include //#define USERMODIFIEDBEHAVIOR_DEBUG TabWidget::TabWidget(QWidget *parent) : QTabWidget(parent) , m_recentlyClosedTabsAction(0) , m_newTabAction(0) , m_closeTabAction(0) , m_bookmarkTabsAction(0) , m_nextTabAction(0) , m_previousTabAction(0) , m_recentlyClosedTabsMenu(0) , m_lineEditCompleter(0) , m_locationBars(0) , m_tabBar(new TabBar(this)) , addTabButton(0) , closeTabButton(0) { setElideMode(Qt::ElideRight); new QShortcut(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_T), this, SLOT(openLastTab())); new QShortcut(QKeySequence::Undo, this, SLOT(openLastTab())); connect(m_tabBar, SIGNAL(loadUrl(const QUrl&, TabWidget::OpenUrlIn)), this, SLOT(loadUrl(const QUrl&, TabWidget::OpenUrlIn))); connect(m_tabBar, SIGNAL(newTab()), this, SLOT(newTab())); connect(m_tabBar, SIGNAL(closeTab(int)), this, SLOT(closeTab(int))); connect(m_tabBar, SIGNAL(cloneTab(int)), this, SLOT(cloneTab(int))); connect(m_tabBar, SIGNAL(closeOtherTabs(int)), this, SLOT(closeOtherTabs(int))); connect(m_tabBar, SIGNAL(reloadTab(int)), this, SLOT(reloadTab(int))); connect(m_tabBar, SIGNAL(reloadAllTabs()), this, SLOT(reloadAllTabs())); setTabBar(m_tabBar); setDocumentMode(true); connect(m_tabBar, SIGNAL(tabMoved(int, int)), this, SLOT(moveTab(int, int))); // Actions m_newTabAction = new QAction(this); m_newTabAction->setShortcuts(QKeySequence::AddTab); connect(m_newTabAction, SIGNAL(triggered()), this, SLOT(newTab())); m_closeTabAction = new QAction(this); m_closeTabAction->setShortcuts(QKeySequence::Close); m_closeTabAction->setIcon(QIcon(QLatin1String(":graphics/closetab.png"))); #if QT_VERSION < 0x040600 || (QT_VERSION >= 0x040600 && !defined(Q_WS_X11)) m_closeTabAction->setIconVisibleInMenu(false); #endif connect(m_closeTabAction, SIGNAL(triggered()), this, SLOT(closeTab())); m_bookmarkTabsAction = new QAction(this); connect(m_bookmarkTabsAction, SIGNAL(triggered()), this, SLOT(bookmarkTabs())); m_newTabAction->setIcon(QIcon(QLatin1String(":graphics/addtab.png"))); #if QT_VERSION < 0x040600 || (QT_VERSION >= 0x040600 && !defined(Q_WS_X11)) m_newTabAction->setIconVisibleInMenu(false); #endif m_nextTabAction = new QAction(this); connect(m_nextTabAction, SIGNAL(triggered()), this, SLOT(nextTab())); m_previousTabAction = new QAction(this); connect(m_previousTabAction, SIGNAL(triggered()), this, SLOT(previousTab())); #if QT_VERSION >= 0x040600 && defined(Q_WS_X11) m_previousTabAction->setIcon(QIcon::fromTheme(QLatin1String("go-previous"))); m_nextTabAction->setIcon(QIcon::fromTheme(QLatin1String("go-next"))); #endif m_recentlyClosedTabsMenu = new QMenu(this); connect(m_recentlyClosedTabsMenu, SIGNAL(aboutToShow()), this, SLOT(aboutToShowRecentTabsMenu())); connect(m_recentlyClosedTabsMenu, SIGNAL(triggered(QAction *)), this, SLOT(aboutToShowRecentTriggeredAction(QAction *))); m_recentlyClosedTabsAction = new QAction(this); m_recentlyClosedTabsAction->setMenu(m_recentlyClosedTabsMenu); m_recentlyClosedTabsAction->setEnabled(false); #ifndef Q_WS_MAC // can't seem to figure out the background color :( addTabButton = new QToolButton(this); addTabButton->setDefaultAction(m_newTabAction); addTabButton->setAutoRaise(true); addTabButton->setToolButtonStyle(Qt::ToolButtonIconOnly); #endif connect(m_tabBar, SIGNAL(tabCloseRequested(int)), this, SLOT(closeTab(int))); connect(this, SIGNAL(currentChanged(int)), this, SLOT(currentChanged(int))); m_locationBars = new QStackedWidget(this); connect(BrowserApplication::historyManager(), SIGNAL(historyCleared()), this, SLOT(historyCleared())); // Initialize Actions' labels retranslate(); loadSettings(); } void TabWidget::historyCleared() { m_recentlyClosedTabs.clear(); m_recentlyClosedTabsAction->setEnabled(false); } void TabWidget::clear() { // clear the recently closed tabs m_recentlyClosedTabs.clear(); m_recentlyClosedTabsAction->setEnabled(false); // clear the line edit history for (int i = 0; i < m_locationBars->count(); ++i) { QLineEdit *qLineEdit = locationBar(i); qLineEdit->setText(qLineEdit->text()); webViewSearch(i)->clear(); } } // When index is -1 index chooses the current tab void TabWidget::reloadTab(int index) { if (index < 0) index = currentIndex(); if (index < 0 || index >= count()) return; if (WebView *tab = webView(index)) { tab->reload(); } } void TabWidget::moveTab(int fromIndex, int toIndex) { QWidget *lineEdit = m_locationBars->widget(fromIndex); m_locationBars->removeWidget(lineEdit); m_locationBars->insertWidget(toIndex, lineEdit); } void TabWidget::addWebAction(QAction *action, QWebPage::WebAction webAction) { if (!action) return; m_actions.append(new WebActionMapper(action, webAction, this)); } void TabWidget::currentChanged(int index) { WebView *webView = this->webView(index); if (!webView) return; Q_ASSERT(m_locationBars->count() == count()); WebView *oldWebView = this->webView(m_locationBars->currentIndex()); if (oldWebView) { disconnect(oldWebView, SIGNAL(statusBarMessage(const QString&)), this, SIGNAL(showStatusBarMessage(const QString&))); disconnect(oldWebView->page(), SIGNAL(linkHovered(const QString&, const QString&, const QString&)), this, SIGNAL(linkHovered(const QString&))); disconnect(oldWebView, SIGNAL(loadProgress(int)), this, SIGNAL(loadProgress(int))); } connect(webView, SIGNAL(statusBarMessage(const QString&)), this, SIGNAL(showStatusBarMessage(const QString&))); connect(webView->page(), SIGNAL(linkHovered(const QString&, const QString&, const QString&)), this, SIGNAL(linkHovered(const QString&))); connect(webView, SIGNAL(loadProgress(int)), this, SIGNAL(loadProgress(int))); for (int i = 0; i < m_actions.count(); ++i) { WebActionMapper *mapper = m_actions[i]; mapper->updateCurrent(webView->page()); } emit setCurrentTitle(webView->title()); m_locationBars->setCurrentIndex(index); emit loadProgress(webView->progress()); emit showStatusBarMessage(webView->lastStatusBarText()); if (webView->url().isEmpty() && webView->hasFocus()) { m_locationBars->currentWidget()->setFocus(); } else if (!webView->url().isEmpty()) { webView->setFocus(); } } QAction *TabWidget::newTabAction() const { return m_newTabAction; } QAction *TabWidget::closeTabAction() const { return m_closeTabAction; } QAction *TabWidget::bookmarkTabsAction() const { return m_bookmarkTabsAction; } QAction *TabWidget::recentlyClosedTabsAction() const { return m_recentlyClosedTabsAction; } QAction *TabWidget::nextTabAction() const { return m_nextTabAction; } QAction *TabWidget::previousTabAction() const { return m_previousTabAction; } QWidget *TabWidget::locationBarStack() const { return m_locationBars; } QLineEdit *TabWidget::currentLocationBar() const { return locationBar(m_locationBars->currentIndex()); } WebView *TabWidget::currentWebView() const { return webView(currentIndex()); } QLineEdit *TabWidget::locationBar(int index) const { return qobject_cast(m_locationBars->widget(index)); } WebView *TabWidget::webView(int index) const { QWidget *widget = this->widget(index); if (WebViewWithSearch *webViewWithSearch = qobject_cast(widget)) { return webViewWithSearch->m_webView; } return 0; } WebViewSearch *TabWidget::webViewSearch(int index) const { QWidget *widget = this->widget(index); if (WebViewWithSearch *webViewWithSearch = qobject_cast(widget)) { return webViewWithSearch->m_webViewSearch; } return 0; } int TabWidget::webViewIndex(WebView *webView) const { for (int i = 0; i < count(); ++i) { QWidget *widget = this->widget(i); if (WebViewWithSearch *webViewWithSearch = qobject_cast(widget)) { if (webViewWithSearch->m_webView == webView) return i; } } return -1; } void TabWidget::newTab() { makeNewTab(true); } WebView *TabWidget::makeNewTab(bool makeCurrent) { // line edit LocationBar *locationBar = new LocationBar; if (!m_lineEditCompleter) { HistoryCompletionModel *completionModel = new HistoryCompletionModel(this); completionModel->setSourceModel(BrowserApplication::historyManager()->historyFilterModel()); m_lineEditCompleter = new HistoryCompleter(completionModel, this); connect(m_lineEditCompleter, SIGNAL(activated(const QString &)), this, SLOT(loadString(const QString &))); // Should this be in Qt by default? QAbstractItemView *popup = m_lineEditCompleter->popup(); QListView *listView = qobject_cast(popup); if (listView) { // Urls are always LeftToRight listView->setLayoutDirection(Qt::LeftToRight); listView->setUniformItemSizes(true); } } locationBar->setCompleter(m_lineEditCompleter); connect(locationBar, SIGNAL(returnPressed()), this, SLOT(lineEditReturnPressed())); m_locationBars->addWidget(locationBar); m_locationBars->setSizePolicy(locationBar->sizePolicy()); #ifndef AUTOTESTS QWidget::setTabOrder(locationBar, qFindChild(BrowserMainWindow::parentWindow(this))); #endif // webview WebView *webView = new WebView; locationBar->setWebView(webView); connect(webView, SIGNAL(loadStarted()), this, SLOT(webViewLoadStarted())); connect(webView, SIGNAL(loadProgress(int)), this, SLOT(webViewLoadProgress(int))); connect(webView, SIGNAL(loadFinished(bool)), this, SLOT(webViewLoadFinished(bool))); connect(webView, SIGNAL(iconChanged()), this, SLOT(webViewIconChanged())); connect(webView, SIGNAL(titleChanged(const QString &)), this, SLOT(webViewTitleChanged(const QString &))); connect(webView, SIGNAL(urlChanged(const QUrl &)), this, SLOT(webViewUrlChanged(const QUrl &))); connect(webView, SIGNAL(search(const QUrl&, TabWidget::OpenUrlIn)), this, SLOT(loadUrl(const QUrl&, TabWidget::OpenUrlIn))); connect(webView->page(), SIGNAL(windowCloseRequested()), this, SLOT(windowCloseRequested())); connect(webView->page(), SIGNAL(printRequested(QWebFrame *)), this, SIGNAL(printRequested(QWebFrame *))); connect(webView->page(), SIGNAL(geometryChangeRequested(const QRect &)), this, SLOT(geometryChangeRequestedCheck(const QRect &))); connect(webView->page(), SIGNAL(menuBarVisibilityChangeRequested(bool)), this, SLOT(menuBarVisibilityChangeRequestedCheck(bool))); connect(webView->page(), SIGNAL(statusBarVisibilityChangeRequested(bool)), this, SLOT(statusBarVisibilityChangeRequestedCheck(bool))); connect(webView->page(), SIGNAL(toolBarVisibilityChangeRequested(bool)), this, SLOT(toolBarVisibilityChangeRequestedCheck(bool))); WebViewWithSearch *webViewWithSearch = new WebViewWithSearch(webView, this); addTab(webViewWithSearch, tr("Untitled")); if (makeCurrent) setCurrentWidget(webViewWithSearch); // webview actions for (int i = 0; i < m_actions.count(); ++i) { WebActionMapper *mapper = m_actions[i]; mapper->addChild(webView->page()->action(mapper->webAction())); } if (count() == 1) currentChanged(currentIndex()); emit tabsChanged(); return webView; } void TabWidget::geometryChangeRequestedCheck(const QRect &geometry) { if (count() == 1) emit geometryChangeRequested(geometry); } void TabWidget::menuBarVisibilityChangeRequestedCheck(bool visible) { if (count() == 1) emit menuBarVisibilityChangeRequested(visible); } void TabWidget::statusBarVisibilityChangeRequestedCheck(bool visible) { if (count() == 1) emit statusBarVisibilityChangeRequested(visible); } void TabWidget::toolBarVisibilityChangeRequestedCheck(bool visible) { if (count() == 1) emit toolBarVisibilityChangeRequested(visible); } void TabWidget::reloadAllTabs() { for (int i = 0; i < count(); ++i) { if (WebView *tab = webView(i)) { tab->reload(); } } } void TabWidget::bookmarkTabs() { AddBookmarkDialog dialog; dialog.setFolder(true); dialog.setTitle(tr("Saved Tabs")); dialog.exec(); BookmarkNode *folder = dialog.addedNode(); if (!folder) return; for (int i = 0; i < count(); ++i) { WebView *tab = webView(i); if (!tab) continue; QString title = tab->title(); QString url = QString::fromUtf8(tab->url().toEncoded()); BookmarkNode *bookmark = new BookmarkNode(BookmarkNode::Bookmark); bookmark->url = url; bookmark->title = title; BrowserApplication::bookmarksManager()->addBookmark(folder, bookmark); } } void TabWidget::lineEditReturnPressed() { if (QLineEdit *lineEdit = qobject_cast(sender())) { OpenUrlIn tab = CurrentTab; if (qApp->keyboardModifiers() == Qt::AltModifier) tab = NewSelectedTab; loadString(lineEdit->text(), tab); if (m_locationBars->currentWidget() == lineEdit) currentWebView()->setFocus(); } } void TabWidget::windowCloseRequested() { WebPage *webPage = qobject_cast(sender()); if (!webPage) return; WebView *webView = qobject_cast(webPage->view()); int index = webViewIndex(webView); if (index >= 0) { if (count() == 1) BrowserMainWindow::parentWindow(this)->close(); else closeTab(index); } } void TabWidget::closeOtherTabs(int index) { if (-1 == index) return; for (int i = count() - 1; i > index; --i) closeTab(i); for (int i = index - 1; i >= 0; --i) closeTab(i); } // When index is -1 index chooses the current tab void TabWidget::cloneTab(int index) { if (index < 0) index = currentIndex(); if (index < 0 || index >= count()) return; QUrl url = webView(index)->url(); WebView *tab = makeNewTab(); tab->loadUrl(url); } // When index is -1 index chooses the current tab void TabWidget::closeTab(int index) { if (index < 0) index = currentIndex(); if (index < 0 || index >= count()) return; bool hasFocus = false; WebView *tab = webView(index); if (tab && !tab->url().isEmpty()) { if (tab->isModified()) { QMessageBox closeConfirmation(tab); closeConfirmation.setWindowFlags(Qt::Sheet); closeConfirmation.setWindowTitle(tr("Do you really want to close this page?")); closeConfirmation.setInformativeText(tr("You have modified this page and when closing it you would lose the modification.\n" "Do you really want to close this page?\n")); closeConfirmation.setIcon(QMessageBox::Question); closeConfirmation.addButton(QMessageBox::Yes); closeConfirmation.addButton(QMessageBox::No); closeConfirmation.setEscapeButton(QMessageBox::No); if (closeConfirmation.exec() == QMessageBox::No) return; } hasFocus = tab->hasFocus(); m_recentlyClosedTabsAction->setEnabled(true); m_recentlyClosedTabs.prepend(tab->url()); #if QT_VERSION >= 0x040600 QByteArray tabHistory; QDataStream tabHistoryStream(&tabHistory, QIODevice::WriteOnly); tabHistoryStream << *tab->history(); m_recentlyClosedTabsHistory.prepend(tabHistory); #else m_recentlyClosedTabsHistory.prepend(QByteArray()); #endif if (m_recentlyClosedTabs.size() >= TabWidget::m_recentlyClosedTabsSize) m_recentlyClosedTabs.removeLast(); } QWidget *lineEdit = m_locationBars->widget(index); m_locationBars->removeWidget(lineEdit); lineEdit->deleteLater(); QWidget *webViewWithSearch = widget(index); removeTab(index); webViewWithSearch->setParent(0); webViewWithSearch->deleteLater(); emit tabsChanged(); if (hasFocus && count() > 0 && currentWebView()) currentWebView()->setFocus(); if (count() == 0) emit lastTabClosed(); } QLabel *TabWidget::animationLabel(int index, bool addMovie) { if (-1 == index) return 0; QTabBar::ButtonPosition side = m_tabBar->freeSide(); QLabel *loadingAnimation = qobject_cast(m_tabBar->tabButton(index, side)); if (!loadingAnimation) { loadingAnimation = new QLabel(this); } if (addMovie && !loadingAnimation->movie()) { QMovie *movie = new QMovie(QLatin1String(":graphics/loading.gif"), QByteArray(), loadingAnimation); movie->setSpeed(50); loadingAnimation->setMovie(movie); movie->start(); } m_tabBar->setTabButton(index, side, 0); m_tabBar->setTabButton(index, side, loadingAnimation); return loadingAnimation; } void TabWidget::webViewLoadStarted() { WebView *webView = qobject_cast(sender()); int index = webViewIndex(webView); if (-1 != index) { QLabel *label = animationLabel(index, true); if (label->movie()) label->movie()->start(); } if (index != currentIndex()) return; emit showStatusBarMessage(tr("Loading...")); } void TabWidget::webViewLoadProgress(int progress) { WebView *webView = qobject_cast(sender()); int index = webViewIndex(webView); if (index != currentIndex() || index < 0) return; double totalBytes = (double) webView->webPage()->totalBytes() / 1024; QString message = tr("Loading %1% (%2 %3)...").arg(progress).arg(totalBytes, 0, 'f', 2).arg(QLatin1String("kB")); emit showStatusBarMessage(message); } void TabWidget::webViewLoadFinished(bool ok) { WebView *webView = qobject_cast(sender()); int index = webViewIndex(webView); if (-1 != index) { QLabel *label = animationLabel(index, true); if (label->movie()) label->movie()->stop(); #if defined(Q_WS_MAC) QTabBar::ButtonPosition side = m_tabBar->freeSide(); m_tabBar->setTabButton(index, side, 0); delete label; #endif } webViewIconChanged(); if (index != currentIndex()) return; if (ok) emit showStatusBarMessage(tr("Finished loading")); else emit showStatusBarMessage(tr("Failed to load")); } void TabWidget::webViewIconChanged() { WebView *webView = qobject_cast(sender()); int index = webViewIndex(webView); if (-1 != index) { #if !defined(Q_WS_MAC) QIcon icon = BrowserApplication::instance()->icon(webView->url()); QLabel *label = animationLabel(index, false); QMovie *movie = label->movie(); delete movie; label->setMovie(0); label->setPixmap(icon.pixmap(16, 16)); #endif } } void TabWidget::webViewTitleChanged(const QString &title) { WebView *webView = qobject_cast(sender()); int index = webViewIndex(webView); if (-1 == index) return; QString tabTitle = title; if (title.isEmpty()) tabTitle = QString::fromUtf8(webView->url().toEncoded()); tabTitle.replace(QLatin1Char('&'), QLatin1String("&&")); setTabText(index, tabTitle); setTabToolTip(index, tabTitle); if (currentIndex() == index) emit setCurrentTitle(title); BrowserApplication::historyManager()->updateHistoryEntry(webView->url(), title); } void TabWidget::webViewUrlChanged(const QUrl &url) { WebView *webView = qobject_cast(sender()); int index = webViewIndex(webView); if (-1 == index) return; m_tabBar->setTabData(index, url); emit tabsChanged(); } void TabWidget::openLastTab() { if (m_recentlyClosedTabs.isEmpty()) return; QUrl url = m_recentlyClosedTabs.takeFirst(); QByteArray historyState = m_recentlyClosedTabsHistory.takeFirst(); #if QT_VERSION >= 0x040600 createTab(historyState, NewTab); #else loadUrl(url, NewTab); #endif m_recentlyClosedTabsAction->setEnabled(!m_recentlyClosedTabs.isEmpty()); } void TabWidget::aboutToShowRecentTabsMenu() { m_recentlyClosedTabsMenu->clear(); for (int i = 0; i < m_recentlyClosedTabs.count(); ++i) { QAction *action = new QAction(m_recentlyClosedTabsMenu); #if QT_VERSION >= 0x040600 action->setData(m_recentlyClosedTabsHistory.at(i)); #else action->setData(m_recentlyClosedTabs.at(i)); #endif QIcon icon = BrowserApplication::instance()->icon(m_recentlyClosedTabs.at(i)); action->setIcon(icon); action->setText(m_recentlyClosedTabs.at(i).toString()); m_recentlyClosedTabsMenu->addAction(action); } } void TabWidget::aboutToShowRecentTriggeredAction(QAction *action) { if (!action) return; #if QT_VERSION >= 0x040600 QByteArray historyState = action->data().toByteArray(); createTab(historyState, NewTab); #else QUrl url = action->data().toUrl(); loadUrl(url, NewTab); #endif } void TabWidget::retranslate() { m_nextTabAction->setText(tr("Show Next Tab")); QList shortcuts; shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_BraceRight)); shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_PageDown)); shortcuts.append(tr("Ctrl-]")); shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_Less)); shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_Tab)); m_nextTabAction->setShortcuts(shortcuts); m_previousTabAction->setText(tr("Show Previous Tab")); shortcuts.clear(); shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_BraceLeft)); shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_PageUp)); shortcuts.append(tr("Ctrl-[")); shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_Greater)); shortcuts.append(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_Tab)); m_previousTabAction->setShortcuts(shortcuts); m_recentlyClosedTabsAction->setText(tr("Recently Closed Tabs")); m_newTabAction->setText(tr("New &Tab")); m_closeTabAction->setText(tr("&Close Tab")); m_bookmarkTabsAction->setText(tr("Bookmark All Tabs")); m_tabBar->updateViewToolBarAction(); } void TabWidget::changeEvent(QEvent *event) { if (event->type() == QEvent::LanguageChange) retranslate(); QTabWidget::changeEvent(event); } /* Transform string into a QUrl and then load it. When you already have a QUrl call loadUrl() */ void TabWidget::loadString(const QString &string, OpenUrlIn tab) { if (string.isEmpty()) return; QUrl url = guessUrlFromString(string); loadUrl(url, tab); } QUrl TabWidget::guessUrlFromString(const QString &string) { OpenSearchManager *manager = ToolbarSearch::openSearchManager(); QUrl url = manager->convertKeywordSearchToUrl(string); if (url.isValid()) return url; #if QT_VERSION >= 0x040600 url = QUrl::fromUserInput(string); #else url = WebView::guessUrlFromString(string); #endif if (url.scheme() == QLatin1String("about") && url.path() == QLatin1String("home")) url = QUrl(QLatin1String("qrc:/startpage.html")); // QUrl::isValid() is too much tolerant. // We actually want to check if the url conforms to the RFC, which QUrl::isValid() doesn't state. if (!url.scheme().isEmpty() && (!url.host().isEmpty() || !url.path().isEmpty())) return url; QSettings settings; settings.beginGroup(QLatin1String("urlloading")); bool search = settings.value(QLatin1String("searchEngineFallback"), false).toBool(); if (search) { url = ToolbarSearch::openSearchManager()->currentEngine()->searchUrl(string.trimmed()); } else { QString urlString = QLatin1String("http://") + string.trimmed(); url = QUrl::fromEncoded(urlString.toUtf8(), QUrl::TolerantMode); } return url; } /* Somewhere in the browser interface a users wants to open a url By default open this url in the current tab, unless mouse or keyboard modifiers are set. */ void TabWidget::loadUrlFromUser(const QUrl &url, const QString &title) { loadUrl(url, modifyWithUserBehavior(CurrentTab), title); } void TabWidget::loadSettings() { for (int i = 0; i < count(); ++i) { WebView *v = webView(i); if (v && v->page()) v->loadSettings(); } QSettings settings; settings.beginGroup(QLatin1String("tabs")); bool newTabButtonInRightCorner = settings.value(QLatin1String("newTabButtonInRightCorner"), true).toBool(); #ifndef Q_WS_MAC setCornerWidget(addTabButton, newTabButtonInRightCorner ? Qt::TopRightCorner : Qt::TopLeftCorner); addTabButton->show(); #endif bool oneCloseButton = settings.value(QLatin1String("oneCloseButton"), false).toBool(); if (oneCloseButton) { if (!closeTabButton) { closeTabButton = new QToolButton(this); closeTabButton->setDefaultAction(m_closeTabAction); closeTabButton->setAutoRaise(true); closeTabButton->setToolButtonStyle(Qt::ToolButtonIconOnly); } setCornerWidget(closeTabButton, newTabButtonInRightCorner ? Qt::TopLeftCorner : Qt::TopRightCorner); closeTabButton->setVisible(oneCloseButton); } else { setCornerWidget(0, newTabButtonInRightCorner ? Qt::TopLeftCorner : Qt::TopRightCorner); } m_tabBar->setTabsClosable(!oneCloseButton); } /* Replace the openIn behavior with the behavior the user wants. // ctrl open in new tab // ctrl-shift open in new tab and select // ctrl-alt open in new window */ TabWidget::OpenUrlIn TabWidget::modifyWithUserBehavior(OpenUrlIn tab) { Qt::KeyboardModifiers modifiers = BrowserApplication::instance()->eventKeyboardModifiers(); Qt::MouseButtons buttons = BrowserApplication::instance()->eventMouseButtons(); #ifdef USERMODIFIEDBEHAVIOR_DEBUG qDebug() << __FUNCTION__ << "start" << modifiers << buttons << tab; #endif if (modifiers & Qt::ControlModifier || buttons == Qt::MidButton) { if (modifiers & Qt::AltModifier) { tab = NewWindow; } else { QSettings settings; settings.beginGroup(QLatin1String("tabs")); bool select = settings.value(QLatin1String("selectNewTabs"), false).toBool(); if (modifiers & Qt::ShiftModifier) tab = !select ? NewSelectedTab : NewNotSelectedTab; else tab = select ? NewSelectedTab : NewNotSelectedTab; } } #ifdef USERMODIFIEDBEHAVIOR_DEBUG qDebug() << __FUNCTION__ << "end" << modifiers << buttons << tab; #endif BrowserApplication::instance()->setEventKeyboardModifiers(0); BrowserApplication::instance()->setEventMouseButtons(Qt::NoButton); return tab; } /* Somewhere in the browser interface a users wants to open a url in a specific tab. */ void TabWidget::loadUrl(const QUrl &url, OpenUrlIn tab, const QString &title) { if (tab == UserOrCurrent) { loadUrlFromUser(url, title); return; } if (!url.isValid()) return; WebView *webView = getView(tab, currentWebView()); if (webView) { int index = webViewIndex(webView); if (index != -1) locationBar(index)->setText(QString::fromUtf8(url.toEncoded())); webView->loadUrl(url, title); } } /* Return the view that matches the openIn behavior creating a new view/window if necessary. */ WebView *TabWidget::getView(OpenUrlIn tab, WebView *currentView) { WebView *webView = 0; switch (tab) { case NewWindow: { #ifdef USERMODIFIEDBEHAVIOR_DEBUG qDebug() << __FUNCTION__ << "NewWindow"; #endif BrowserMainWindow *newMainWindow = BrowserApplication::instance()->newMainWindow(); webView = newMainWindow->currentTab(); webView->setFocus(); break; } case NewSelectedTab: { #ifdef USERMODIFIEDBEHAVIOR_DEBUG qDebug() << __FUNCTION__ << "NewSelectedTab"; #endif webView = makeNewTab(true); webView->setFocus(); break; } case NewNotSelectedTab: { #ifdef USERMODIFIEDBEHAVIOR_DEBUG qDebug() << __FUNCTION__ << "NewNotSelectedTab"; #endif webView = makeNewTab(false); break; } case CurrentTab: default: #ifdef USERMODIFIEDBEHAVIOR_DEBUG qDebug() << __FUNCTION__ << "CurrentTab"; #endif webView = currentView; if (!webView) return 0; webView->setFocus(); break; } return webView; } void TabWidget::nextTab() { int next = currentIndex() + 1; if (next == count()) next = 0; setCurrentIndex(next); } void TabWidget::previousTab() { int next = currentIndex() - 1; if (next < 0) next = count() - 1; setCurrentIndex(next); } static const qint32 TabWidgetMagic = 0xaa; QByteArray TabWidget::saveState() const { int version = 1; QByteArray data; QDataStream stream(&data, QIODevice::WriteOnly); stream << qint32(TabWidgetMagic); stream << qint32(version); QStringList tabs; QList tabsHistory; for (int i = 0; i < count(); ++i) { if (WebView *tab = webView(i)) { tabs.append(QString::fromUtf8(tab->url().toEncoded())); #if QT_VERSION >= 0x040600 if (tab->history()->count() != 0) { QByteArray tabHistory; QDataStream tabHistoryStream(&tabHistory, QIODevice::WriteOnly); tabHistoryStream << *tab->history(); tabsHistory.append(tabHistory); } else { tabsHistory << QByteArray(); } #else tabsHistory.append(QByteArray()); #endif } else { tabs.append(QString::null); tabsHistory.append(QByteArray()); } } stream << tabs; stream << currentIndex(); stream << tabsHistory; return data; } bool TabWidget::restoreState(const QByteArray &state) { int version = 1; QByteArray sd = state; QDataStream stream(&sd, QIODevice::ReadOnly); if (stream.atEnd()) return false; qint32 marker; qint32 v; stream >> marker; stream >> v; if (marker != TabWidgetMagic || v != version) return false; QStringList openTabs; stream >> openTabs; int currentTab; stream >> currentTab; setCurrentIndex(currentTab); QList tabHistory; stream >> tabHistory; for (int i = 0; i < openTabs.count(); ++i) { QUrl url = QUrl::fromEncoded(openTabs.at(i).toUtf8()); TabWidget::OpenUrlIn tab = i == 0 && currentWebView()->url() == QUrl() ? CurrentTab : NewTab; #if QT_VERSION >= 0x040600 QByteArray historyState = tabHistory.value(i); if (!historyState.isEmpty()) { createTab(historyState, tab); } else { #endif if (WebView *webView = getView(tab, currentWebView())) webView->loadUrl(url); #if QT_VERSION >= 0x040600 } #endif } return true; } void TabWidget::createTab(const QByteArray &historyState, TabWidget::OpenUrlIn tab) { #if QT_VERSION >= 0x040600 if (WebView *webView = getView(tab, currentWebView())) { QDataStream historyStream(historyState); historyStream >> *webView->history(); } #else qWarning() << "Warning: TabWidget::createTab should not be called, but it is..."; Q_UNUSED(historyState); Q_UNUSED(tab); #endif } arora-0.11.0/src/tabwidget.h000066400000000000000000000165241145000221100156010ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef TABWIDGET_H #define TABWIDGET_H #include #include #include QT_BEGIN_NAMESPACE class QCompleter; class QLabel; class QLineEdit; class QMenu; class QStackedWidget; QT_END_NAMESPACE class BrowserMainWindow; class TabBar; class WebView; class WebActionMapper; class WebViewSearch; class QToolButton; /*! TabWidget that contains WebViews and a stack widget of associated line edits. Connects up the current tab's signals to this class's signal and uses WebActionMapper to proxy the actions. */ class TabWidget : public QTabWidget { Q_OBJECT signals: // tab widget signals void tabsChanged(); void lastTabClosed(); // current tab signals void setCurrentTitle(const QString &url); void showStatusBarMessage(const QString &message); void linkHovered(const QString &link); void loadProgress(int progress); void geometryChangeRequested(const QRect &geometry); void menuBarVisibilityChangeRequested(bool visible); void statusBarVisibilityChangeRequested(bool visible); void toolBarVisibilityChangeRequested(bool visible); void printRequested(QWebFrame *frame); public: enum OpenUrlIn { NewWindow, NewSelectedTab, NewNotSelectedTab, CurrentTab, UserOrCurrent, NewTab = NewNotSelectedTab }; TabWidget(QWidget *parent = 0); void loadSettings(); TabBar *tabBar() { return m_tabBar; } void clear(); void addWebAction(QAction *action, QWebPage::WebAction webAction); QAction *newTabAction() const; QAction *closeTabAction() const; QAction *bookmarkTabsAction() const; QAction *recentlyClosedTabsAction() const; QAction *nextTabAction() const; QAction *previousTabAction() const; QWidget *locationBarStack() const; QLineEdit *currentLocationBar() const; WebView *currentWebView() const; WebView *webView(int index) const; WebViewSearch *webViewSearch(int index) const; QLineEdit *locationBar(int index) const; int webViewIndex(WebView *webView) const; WebView *makeNewTab(bool makeCurrent = false); QByteArray saveState() const; bool restoreState(const QByteArray &state); static OpenUrlIn modifyWithUserBehavior(OpenUrlIn tab); WebView *getView(OpenUrlIn tab, WebView *currentView); protected: void changeEvent(QEvent *event); public slots: void loadString(const QString &string, OpenUrlIn tab = CurrentTab); void loadUrlFromUser(const QUrl &url, const QString &title = QString()); void loadUrl(const QUrl &url, TabWidget::OpenUrlIn tab = CurrentTab, const QString &title = QString()); void createTab(const QByteArray &historyState, TabWidget::OpenUrlIn tab = CurrentTab); void newTab(); void cloneTab(int index = -1); void closeTab(int index = -1); void closeOtherTabs(int index); void reloadTab(int index = -1); void reloadAllTabs(); void nextTab(); void previousTab(); void bookmarkTabs(); private slots: void currentChanged(int index); void openLastTab(); void aboutToShowRecentTabsMenu(); void aboutToShowRecentTriggeredAction(QAction *action); void webViewLoadStarted(); void webViewLoadProgress(int progress); void webViewLoadFinished(bool ok); void webViewIconChanged(); void webViewTitleChanged(const QString &title); void webViewUrlChanged(const QUrl &url); void lineEditReturnPressed(); void windowCloseRequested(); void moveTab(int fromIndex, int toIndex); void geometryChangeRequestedCheck(const QRect &geometry); void menuBarVisibilityChangeRequestedCheck(bool visible); void statusBarVisibilityChangeRequestedCheck(bool visible); void toolBarVisibilityChangeRequestedCheck(bool visible); void historyCleared(); private: static QUrl guessUrlFromString(const QString &url); QLabel *animationLabel(int index, bool addMovie); void retranslate(); QAction *m_recentlyClosedTabsAction; QAction *m_newTabAction; QAction *m_closeTabAction; QAction *m_bookmarkTabsAction; QAction *m_nextTabAction; QAction *m_previousTabAction; QMenu *m_recentlyClosedTabsMenu; static const int m_recentlyClosedTabsSize = 10; QList m_recentlyClosedTabs; QList m_recentlyClosedTabsHistory; QList m_actions; QCompleter *m_lineEditCompleter; QStackedWidget *m_locationBars; TabBar *m_tabBar; QToolButton *addTabButton; QToolButton *closeTabButton; }; #endif // TABWIDGET_H arora-0.11.0/src/toolbarsearch.cpp000066400000000000000000000336051145000221100170110ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "toolbarsearch.h" #include "autosaver.h" #include "browserapplication.h" #include "browsermainwindow.h" #include "networkaccessmanager.h" #include "opensearchengine.h" #include "opensearchengineaction.h" #include "opensearchmanager.h" #include "searchbutton.h" #include "webpage.h" #include "webview.h" #include #include #include #include #include #include #include #include #include OpenSearchManager *ToolbarSearch::s_openSearchManager = 0; /* ToolbarSearch is a search widget that also contains a small history and uses open-search for searching. */ ToolbarSearch::ToolbarSearch(QWidget *parent) : SearchLineEdit(parent) , m_suggestionsEnabled(true) , m_autosaver(new AutoSaver(this)) , m_maxSavedSearches(10) , m_model(new QStandardItemModel(this)) , m_suggestionsItem(0) , m_recentSearchesItem(0) , m_suggestTimer(0) , m_completer(0) { connect(openSearchManager(), SIGNAL(currentEngineChanged()), this, SLOT(currentEngineChanged())); m_completer = new QCompleter(this); m_completer->setModel(m_model); m_completer->setCompletionMode(QCompleter::UnfilteredPopupCompletion); setCompleter(m_completer); searchButton()->setShowMenuTriangle(true); connect(searchButton(), SIGNAL(clicked()), this, SLOT(showEnginesMenu())); connect(this, SIGNAL(returnPressed()), this, SLOT(searchNow())); load(); currentEngineChanged(); } OpenSearchManager *ToolbarSearch::openSearchManager() { if (!s_openSearchManager) s_openSearchManager = new OpenSearchManager; return s_openSearchManager; } void ToolbarSearch::currentEngineChanged() { OpenSearchEngine *newEngine = openSearchManager()->currentEngine(); Q_ASSERT(newEngine); if (!newEngine) return; if (m_suggestionsEnabled) { if (openSearchManager()->engineExists(m_currentEngine)) { OpenSearchEngine *oldEngine = openSearchManager()->engine(m_currentEngine); disconnect(oldEngine, SIGNAL(suggestions(const QStringList &)), this, SLOT(newSuggestions(const QStringList &))); } connect(newEngine, SIGNAL(suggestions(const QStringList &)), this, SLOT(newSuggestions(const QStringList &))); } setInactiveText(newEngine->name()); m_currentEngine = newEngine->name(); m_suggestions.clear(); setupList(); } void ToolbarSearch::completerActivated(const QModelIndex &index) { if (completerHighlighted(index)) searchNow(); } bool ToolbarSearch::completerHighlighted(const QModelIndex &index) { if (m_suggestionsItem && m_suggestionsItem->index().row() == index.row()) return false; if (m_recentSearchesItem && m_recentSearchesItem->index().row() == index.row()) return false; setText(index.data().toString()); return true; } void ToolbarSearch::focusInEvent(QFocusEvent *event) { SearchLineEdit::focusInEvent(event); // Every time we get a focus in event QLineEdit re-connects... disconnect(completer(), SIGNAL(activated(QString)), this, SLOT(setText(QString))); disconnect(completer(), SIGNAL(highlighted(QString)), this, SLOT(_q_completionHighlighted(QString))); // And every time it gets a focus out it disconnects everything from the completer to this :( // So we have to re-connect connect(completer(), SIGNAL(activated(const QModelIndex &)), this, SLOT(completerActivated(const QModelIndex &))); connect(completer(), SIGNAL(highlighted(const QModelIndex &)), this, SLOT(completerHighlighted(const QModelIndex &))); } ToolbarSearch::~ToolbarSearch() { m_autosaver->saveIfNeccessary(); } void ToolbarSearch::save() { QSettings settings; settings.beginGroup(QLatin1String("toolbarsearch")); settings.setValue(QLatin1String("recentSearches"), m_recentSearches); settings.setValue(QLatin1String("maximumSaved"), m_maxSavedSearches); settings.endGroup(); } void ToolbarSearch::load() { QSettings settings; settings.beginGroup(QLatin1String("toolbarsearch")); m_recentSearches = settings.value(QLatin1String("recentSearches")).toStringList(); m_maxSavedSearches = settings.value(QLatin1String("maximumSaved"), m_maxSavedSearches).toInt(); m_suggestionsEnabled = settings.value(QLatin1String("useSuggestions"), true).toBool(); if (m_suggestionsEnabled) { connect(this, SIGNAL(textEdited(const QString &)), this, SLOT(textEdited(const QString &))); } settings.endGroup(); setupList(); } void ToolbarSearch::textEdited(const QString &text) { Q_UNUSED(text); // delay settings this to prevent BrowserApplication from creating // the object when it isn't needed on startup if (!m_suggestTimer) { m_suggestTimer = new QTimer(this); m_suggestTimer->setSingleShot(true); m_suggestTimer->setInterval(200); connect(m_suggestTimer, SIGNAL(timeout()), this, SLOT(getSuggestions())); } m_suggestTimer->start(); } void ToolbarSearch::getSuggestions() { OpenSearchEngine *engine = openSearchManager()->currentEngine(); Q_ASSERT(engine); if (!engine) return; if (!engine->networkAccessManager()) engine->setNetworkAccessManager(BrowserApplication::networkAccessManager()); engine->requestSuggestions(text()); } void ToolbarSearch::searchNow() { OpenSearchEngine *engine = openSearchManager()->currentEngine(); Q_ASSERT(engine); if (!engine) return; QString searchText = text(); QWebSettings *globalSettings = QWebSettings::globalSettings(); if (!globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled)) { QStringList newList = m_recentSearches; if (newList.contains(searchText)) newList.removeAt(newList.indexOf(searchText)); newList.prepend(searchText); if (newList.size() >= m_maxSavedSearches) newList.removeLast(); m_recentSearches = newList; m_autosaver->changeOccurred(); } QUrl searchUrl = engine->searchUrl(searchText); TabWidget::OpenUrlIn tab = TabWidget::CurrentTab; if (qApp->keyboardModifiers() == Qt::AltModifier) tab = TabWidget::NewSelectedTab; emit search(searchUrl, tab); } void ToolbarSearch::newSuggestions(const QStringList &suggestions) { m_suggestions = suggestions; setupList(); } void ToolbarSearch::changeEvent(QEvent *event) { if (event->type() == QEvent::LanguageChange) retranslate(); SearchLineEdit::changeEvent(event); } void ToolbarSearch::retranslate() { if (m_suggestionsItem) m_suggestionsItem->setText(tr("Suggestions")); } void ToolbarSearch::showEnginesMenu() { QMenu menu; QWidget *parent = searchButton()->parentWidget(); if (!parent) return; QPoint pos = parent->mapToGlobal(QPoint(0, parent->height())); QList list = openSearchManager()->allEnginesNames(); for (int i = 0; i < list.count(); ++i) { QString name = list.at(i); OpenSearchEngine *engine = openSearchManager()->engine(name); OpenSearchEngineAction *action = new OpenSearchEngineAction(engine, &menu); action->setData(name); connect(action, SIGNAL(triggered()), this, SLOT(changeCurrentEngine())); menu.addAction(action); if (openSearchManager()->currentEngineName() == name) { action->setCheckable(true); action->setChecked(true); } } WebView *webView = BrowserMainWindow::parentWindow(this)->currentTab(); QList engines = webView->webPage()->linkedResources(QLatin1String("search")); if (!engines.empty()) menu.addSeparator(); for (int i = 0; i < engines.count(); ++i) { WebPageLinkedResource engine = engines.at(i); QUrl url = engine.href; QString title = engine.title; QString mimetype = engine.type; if (mimetype != QLatin1String("application/opensearchdescription+xml")) continue; if (url.isEmpty()) continue; if (title.isEmpty()) title = webView->title().isEmpty() ? url.host() : webView->title(); QAction *action = menu.addAction(tr("Add '%1'").arg(title), this, SLOT(addEngineFromUrl())); action->setData(url); action->setIcon(webView->icon()); } menu.addSeparator(); if (BrowserMainWindow *window = BrowserMainWindow::parentWindow(this)) menu.addAction(window->searchManagerAction()); if (!m_recentSearches.empty()) menu.addAction(tr("Clear Recent Searches"), this, SLOT(clear())); menu.exec(pos); } void ToolbarSearch::changeCurrentEngine() { if (QAction *action = qobject_cast(sender())) { QString name = action->data().toString(); openSearchManager()->setCurrentEngineName(name); } } void ToolbarSearch::addEngineFromUrl() { QAction *action = qobject_cast(sender()); if (!action) return; QVariant variant = action->data(); if (!variant.canConvert()) return; QUrl url = variant.toUrl(); openSearchManager()->addEngine(url); } void ToolbarSearch::setupList() { if (m_suggestions.isEmpty() || (m_model->rowCount() > 0 && m_model->item(0) != m_suggestionsItem)) { m_model->clear(); m_suggestionsItem = 0; } else { m_model->removeRows(1, m_model->rowCount() - 1); } QFont lightFont; lightFont.setWeight(QFont::Light); if (!m_suggestions.isEmpty()) { if (m_model->rowCount() == 0) { if (!m_suggestionsItem) { m_suggestionsItem = new QStandardItem(); m_suggestionsItem->setFont(lightFont); retranslate(); } m_model->appendRow(m_suggestionsItem); } for (int i = 0; i < m_suggestions.count(); ++i) { const QString &text = m_suggestions.at(i); m_model->appendRow(new QStandardItem(text)); } } if (m_recentSearches.isEmpty()) { m_recentSearchesItem = new QStandardItem(tr("No Recent Searches")); m_recentSearchesItem->setFont(lightFont); m_model->appendRow(m_recentSearchesItem); } else { m_recentSearchesItem = new QStandardItem(tr("Recent Searches")); m_recentSearchesItem->setFont(lightFont); m_model->appendRow(m_recentSearchesItem); for (int i = 0; i < m_recentSearches.count(); ++i) { QString text = m_recentSearches.at(i); m_model->appendRow(new QStandardItem(text)); } } QAbstractItemView *view = completer()->popup(); view->setFixedHeight(view->sizeHintForRow(0) * m_model->rowCount() + view->frameWidth() * 2); } void ToolbarSearch::clear() { m_recentSearches.clear(); m_autosaver->changeOccurred(); setupList(); QLineEdit::clear(); clearFocus(); } arora-0.11.0/src/toolbarsearch.h000066400000000000000000000106131145000221100164500ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef TOOLBARSEARCH_H #define TOOLBARSEARCH_H #include "searchlineedit.h" #include "tabwidget.h" class AutoSaver; class OpenSearchManager; class QCompleter; class QModelIndex; class QStandardItem; class QStandardItemModel; class QTimer; class QUrl; class ToolbarSearch : public SearchLineEdit { Q_OBJECT signals: void search(const QUrl &url, TabWidget::OpenUrlIn tab); public: ToolbarSearch(QWidget *parent = 0); ~ToolbarSearch(); static OpenSearchManager *openSearchManager(); public slots: void clear(); void searchNow(); private slots: void currentEngineChanged(); void save(); void textEdited(const QString &); void newSuggestions(const QStringList &suggestions); void completerActivated(const QModelIndex &index); bool completerHighlighted(const QModelIndex &index); void getSuggestions(); void showEnginesMenu(); void changeCurrentEngine(); void addEngineFromUrl(); protected: void changeEvent(QEvent *event); void focusInEvent(QFocusEvent *event); private: void load(); void setupList(); void retranslate(); static OpenSearchManager *s_openSearchManager; QString m_currentEngine; bool m_suggestionsEnabled; AutoSaver *m_autosaver; int m_maxSavedSearches; QStringList m_recentSearches; QStringList m_suggestions; QStandardItemModel *m_model; QStandardItem *m_suggestionsItem; QStandardItem *m_recentSearchesItem; QTimer *m_suggestTimer; QCompleter *m_completer; }; #endif // TOOLBARSEARCH_H arora-0.11.0/src/useragent/000077500000000000000000000000001145000221100154435ustar00rootroot00000000000000arora-0.11.0/src/useragent/useragent.pri000066400000000000000000000002221145000221100201500ustar00rootroot00000000000000INCLUDEPATH += $$PWD DEPENDPATH += $$PWD HEADERS += \ useragentmenu.h SOURCES += \ useragentmenu.cpp RESOURCES += \ useragents.qrc arora-0.11.0/src/useragent/useragentmenu.cpp000066400000000000000000000117161145000221100210370ustar00rootroot00000000000000/** * Copyright (c) 2010, William C. Witt * Copyright (c) 2010, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Arora nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "useragentmenu.h" #include "webpage.h" #include #include #include #include #include UserAgentMenu::UserAgentMenu(QWidget *parent) : QMenu(parent) { connect(this, SIGNAL(aboutToShow()), this, SLOT(populateMenu())); } void UserAgentMenu::populateMenu() { disconnect(this, SIGNAL(aboutToShow()), this, SLOT(populateMenu())); // Add default action QAction *defaultUserAgent = new QAction(this); defaultUserAgent->setText(tr("Default")); defaultUserAgent->setCheckable(true); connect(defaultUserAgent, SIGNAL(triggered()), this, SLOT(switchToDefaultUserAgent())); QSettings settings; defaultUserAgent->setChecked(settings.value(QLatin1String("userAgent")).toString().isEmpty()); addAction(defaultUserAgent); // Add default extra user agents addActionsFromFile(QLatin1String(":/useragents/useragents.xml")); // Add other action addSeparator(); QAction *otherUserAgent = new QAction(this); otherUserAgent->setCheckable(true); otherUserAgent->setText(tr("Other...")); connect(otherUserAgent, SIGNAL(triggered()), this, SLOT(switchToOtherUserAgent())); addAction(otherUserAgent); bool usingCustomUserAgent = true; QActionGroup *actionGroup = new QActionGroup(this); foreach (QAction *action, actions()) { actionGroup->addAction(action); if (action->isChecked()) { usingCustomUserAgent = false; } } otherUserAgent->setChecked(usingCustomUserAgent); } void UserAgentMenu::addActionsFromFile(const QString &fileName) { QFile file(fileName); if (!file.open(QFile::ReadOnly)) return; QString currentUserAgentString = WebPage::userAgent(); QXmlStreamReader xml(&file); while (!xml.atEnd()) { xml.readNext(); if (xml.isStartElement() && xml.name() == QLatin1String("separator")) { addSeparator(); continue; } if (xml.isStartElement() && xml.name() == QLatin1String("useragent")) { QXmlStreamAttributes attributes = xml.attributes(); QString title = attributes.value(QLatin1String("description")).toString(); QString userAgent = attributes.value(QLatin1String("useragent")).toString(); QAction *action = new QAction(this); action->setText(title); action->setData(userAgent); action->setToolTip(userAgent); action->setCheckable(true); action->setChecked(userAgent == currentUserAgentString); connect(action, SIGNAL(triggered()), this, SLOT(changeUserAgent())); addAction(action); } } if (xml.hasError()) { qDebug() << "Error reading custom user agents" << xml.errorString(); // ... do error handling } } void UserAgentMenu::changeUserAgent() { if (QAction *action = qobject_cast(sender())) { WebPage::setUserAgent(action->data().toString()); } } void UserAgentMenu::switchToDefaultUserAgent() { WebPage::setUserAgent(QString()); } void UserAgentMenu::switchToOtherUserAgent() { bool ok; QString text = QInputDialog::getText(this, tr("Custom user agent"), tr("User agent:"), QLineEdit::Normal, WebPage::userAgent(), &ok, Qt::Sheet); if (ok) { WebPage::setUserAgent(text); } } arora-0.11.0/src/useragent/useragentmenu.h000066400000000000000000000037161145000221100205050ustar00rootroot00000000000000/** * Copyright (c) 2010, William C. Witt * Copyright (c) 2010, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Arora nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef USERAGENTMENU_H #define USERAGENTMENU_H #include class UserAgentMenu : public QMenu { Q_OBJECT public: UserAgentMenu(QWidget *parent = 0); private slots: void populateMenu(); void changeUserAgent(); void switchToDefaultUserAgent(); void switchToOtherUserAgent(); private: void addActionsFromFile(const QString &fileName); }; #endif // USERAGENTMENU_H arora-0.11.0/src/useragent/useragents.qrc000066400000000000000000000001501145000221100203260ustar00rootroot00000000000000 useragents.xml arora-0.11.0/src/useragent/useragents.xml000066400000000000000000000037671145000221100203620ustar00rootroot00000000000000 arora-0.11.0/src/utils/000077500000000000000000000000001145000221100146065ustar00rootroot00000000000000arora-0.11.0/src/utils/README000066400000000000000000000012441145000221100154670ustar00rootroot00000000000000The utils directory is a collection of classes: - They are stand alone classes with no dependency on Arora or each other. - Provide functionality that can not be found in Qt. - Licensed under the BSD or public domain. - Have auto tests and or manual tests were applicable. The purpose of the utils classes is to provide functionality that is missing from Qt, but not specific to Arora. For example the SqueezeLabel provides a QLabel that can take a string larger than the size of the widget and insert "..." in the middle to squeeze the text into the size of the widget. Such a class could be useful for many Qt application and might even be a feature added to Qt one day. arora-0.11.0/src/utils/editlistview.cpp000066400000000000000000000045261145000221100200350ustar00rootroot00000000000000/** * Copyright (c) 2009, Jakub Wieczorek * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "editlistview.h" #include EditListView::EditListView(QWidget *parent) : QListView(parent) { } void EditListView::keyPressEvent(QKeyEvent *event) { if (model() && event->key() == Qt::Key_Delete) { removeSelected(); event->setAccepted(true); } else { QAbstractItemView::keyPressEvent(event); } } void EditListView::removeSelected() { if (!model() || !selectionModel()) return; QModelIndexList selectedRows = selectionModel()->selectedRows(); for (int i = selectedRows.count() - 1; i >= 0; --i) { QModelIndex idx = selectedRows.at(i); model()->removeRow(idx.row(), rootIndex()); } } void EditListView::removeAll() { if (!model()) return; model()->removeRows(0, model()->rowCount(rootIndex()), rootIndex()); } arora-0.11.0/src/utils/editlistview.h000066400000000000000000000035141145000221100174760ustar00rootroot00000000000000/** * Copyright (c) 2009, Jakub Wieczorek * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef EDITLISTVIEW_H #define EDITLISTVIEW_H #include class EditListView : public QListView { Q_OBJECT public: EditListView(QWidget *parent = 0); void keyPressEvent(QKeyEvent *event); public slots: void removeSelected(); void removeAll(); }; #endif // EDITLISTVIEW_H arora-0.11.0/src/utils/edittableview.cpp000066400000000000000000000057211145000221100201470ustar00rootroot00000000000000/** * Copyright (c) 2008, Benjamin C. Meyer * Copyright (c) 2009, Jakub Wieczorek * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "edittableview.h" #include EditTableView::EditTableView(QWidget *parent) : QTableView(parent) { } void EditTableView::keyPressEvent(QKeyEvent *event) { if (model() && event->key() == Qt::Key_Delete) { removeSelected(); event->setAccepted(true); } else { QAbstractItemView::keyPressEvent(event); } } void EditTableView::removeSelected() { if (!model() || !selectionModel() || !selectionModel()->hasSelection()) return; QModelIndexList selectedRows = selectionModel()->selectedRows(); if (selectedRows.isEmpty()) return; int newSelectedRow = selectedRows.at(0).row(); for (int i = selectedRows.count() - 1; i >= 0; --i) { QModelIndex idx = selectedRows.at(i); model()->removeRow(idx.row(), rootIndex()); } // select the item at the same position QModelIndex newSelectedIndex = model()->index(newSelectedRow, 0, rootIndex()); // if that was the last item if (!newSelectedIndex.isValid()) newSelectedIndex = model()->index(newSelectedRow - 1, 0, rootIndex()); selectionModel()->select(newSelectedIndex, QItemSelectionModel::SelectCurrent | QItemSelectionModel::Rows); setCurrentIndex(newSelectedIndex); } void EditTableView::removeAll() { if (!model()) return; model()->removeRows(0, model()->rowCount(rootIndex()), rootIndex()); } arora-0.11.0/src/utils/edittableview.h000066400000000000000000000036211145000221100176110ustar00rootroot00000000000000/** * Copyright (c) 2008, Benjamin C. Meyer * Copyright (c) 2009, Jakub Wieczorek * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef EDITTABLEVIEW_H #define EDITTABLEVIEW_H #include class EditTableView : public QTableView { Q_OBJECT public: EditTableView(QWidget *parent = 0); void keyPressEvent(QKeyEvent *event); public slots: void removeSelected(); void removeAll(); }; #endif // EDITTABLEVIEW_H arora-0.11.0/src/utils/edittreeview.cpp000066400000000000000000000046721145000221100200230ustar00rootroot00000000000000/** * Copyright (c) 2008, Benjamin C. Meyer * Copyright (c) 2009, Jakub Wieczorek * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "edittreeview.h" #include EditTreeView::EditTreeView(QWidget *parent) : QTreeView(parent) { } void EditTreeView::keyPressEvent(QKeyEvent *event) { if (model() && event->key() == Qt::Key_Delete) { removeSelected(); event->setAccepted(true); } else { QAbstractItemView::keyPressEvent(event); } } void EditTreeView::removeSelected() { if (!model() || !selectionModel() || !selectionModel()->hasSelection()) return; QModelIndexList selectedRows = selectionModel()->selectedRows(); for (int i = selectedRows.count() - 1; i >= 0; --i) { QModelIndex idx = selectedRows.at(i); model()->removeRow(idx.row(), idx.parent()); } } void EditTreeView::removeAll() { if (!model()) return; model()->removeRows(0, model()->rowCount(rootIndex()), rootIndex()); } arora-0.11.0/src/utils/edittreeview.h000066400000000000000000000036131145000221100174620ustar00rootroot00000000000000/** * Copyright (c) 2008, Benjamin C. Meyer * Copyright (c) 2009, Jakub Wieczorek * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef EDITTREEVIEW_H #define EDITTREEVIEW_H #include class EditTreeView : public QTreeView { Q_OBJECT public: EditTreeView(QWidget *parent = 0); void keyPressEvent(QKeyEvent *event); public slots: void removeSelected(); void removeAll(); }; #endif // EDITTREEVIEW_H arora-0.11.0/src/utils/explorerstyle.cpp000066400000000000000000000322721145000221100202410ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ /**************************************************************************** ** ** Copyright (c) 2007 Trolltech ASA ** ** Use, modification and distribution is allowed without limitation, ** warranty, liability or support of any kind. ** ****************************************************************************/ #include "explorerstyle.h" #include #include #include #include #include #include #include #include #include #ifndef HTHEME #define HTHEME void* #endif typedef HANDLE (WINAPI *PtrOpenThemeData)(HWND hwnd, LPCWSTR pszClassList); typedef HRESULT (WINAPI *PtrDrawThemeBackground)(HANDLE hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, OPTIONAL const RECT *pClipRect); typedef bool (WINAPI *PtrIsAppThemed)(); static PtrDrawThemeBackground pDrawThemeBackground = 0; static PtrOpenThemeData pOpenThemeData = 0; static PtrIsAppThemed pIsAppThemed = 0; static bool vista = false; bool isAppThemed() { #ifdef Q_OS_WIN return pIsAppThemed && pIsAppThemed(); #else return false; #endif } ExplorerStyle::ExplorerStyle() : QWindowsVistaStyle() { #ifdef Q_OS_WIN QLibrary themeLib(QLatin1String("uxtheme")); themeLib.load(); if (themeLib.isLoaded()) { //resolve uxtheme functions pIsAppThemed = (PtrIsAppThemed)themeLib.resolve("IsAppThemed"); pDrawThemeBackground = (PtrDrawThemeBackground)themeLib.resolve("DrawThemeBackground"); pOpenThemeData = (PtrOpenThemeData)themeLib.resolve("OpenThemeData"); } #endif vista = QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based; } void drawRebarBackground(const QRect &rect, QPainter *painter) { if (rect.isEmpty()) return; QString cacheKey = QLatin1String("q_rebar_") + QString::number(rect.size().width()) + QLatin1Char('x') + QString::number(rect.size().height()); QPixmap pixmap; if (!QPixmapCache::find(cacheKey, pixmap)) { pixmap = QPixmap(rect.size()); const RECT wRect = {0, 0, pixmap.width(), pixmap.height()}; HBITMAP bitmap = pixmap.toWinHBITMAP(); HDC hdc = CreateCompatibleDC(qt_win_display_dc()); HGDIOBJ oldhdc = (HBITMAP)SelectObject(hdc, bitmap); HTHEME theme = pOpenThemeData(0, L"REBAR"); pDrawThemeBackground(theme, hdc, 0, 0, &wRect, NULL); pixmap = pixmap.fromWinHBITMAP(bitmap); SelectObject(hdc, oldhdc); DeleteObject(bitmap); DeleteDC(hdc); QPixmapCache::insert(cacheKey, pixmap); } painter->drawPixmap(rect.topLeft(), pixmap); } void ExplorerStyle::drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const { QRect rect = option->rect; switch (element) { case PE_Widget: if (isAppThemed()) { if (QMainWindow *window = qobject_cast(widget->window())) { QRegion topreg; QRegion bottomreg; QMenuBar *menubar = qFindChild(window); //We draw the menubar as part of the top toolbar area if (menubar) { QRect rect(menubar->mapToParent(menubar->rect().topLeft()), menubar->rect().size()); topreg += rect; } //We need the bounding rect for all toolbars QList toolbars = qFindChildren(window); foreach (const QToolBar *tb, toolbars) { if (!tb->isFloating()) { QRect rect(tb->mapToParent(tb->rect().topLeft()), tb->rect().size()); if (window->toolBarArea(const_cast(tb)) == Qt::TopToolBarArea) topreg += rect; else if (window->toolBarArea(const_cast(tb)) == Qt::BottomToolBarArea) bottomreg += rect; } } //This is a hack to workaround missing toolbar updates since //we now require updates that span across the whole toolbar area: QRect topRect = topreg.boundingRect(); topRect.setWidth(window->width()); if (m_currentTopRect != topRect) { m_currentTopRect = topRect; window->update(topRect); } QRect bottomRect = bottomreg.boundingRect(); bottomRect.setWidth(window->width()); if (m_currentBottomRect != bottomRect) { m_currentBottomRect = bottomRect; window->update(bottomRect); } //Fill top toolbar area with gradient drawRebarBackground(topRect, painter); //Fill bottom toolbar area with gradient drawRebarBackground(bottomRect, painter); } break; } //fall through default: if (vista) QWindowsVistaStyle::drawPrimitive(element, option, painter, widget); else QWindowsXPStyle::drawPrimitive(element, option, painter, widget); break; } } void ExplorerStyle::drawControl(ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const { QColor shadow = option->palette.dark().color(); shadow.setAlpha(120); switch (element) { case CE_DockWidgetTitle: if (isAppThemed()) { if (const QStyleOptionDockWidget *dwOpt = qstyleoption_cast(option)) { painter->save(); QStyleOptionDockWidget adjustedOpt = *dwOpt; QRect rect = option->rect.adjusted(0, 1, -1, -2); adjustedOpt.palette.setBrush(QPalette::All, QPalette::Dark, Qt::transparent); painter->save(); painter->setClipRect(rect); drawRebarBackground(rect.adjusted(0, 0, 1, 1), painter); painter->restore(); painter->setPen(shadow); painter->drawRect(rect); QWindowsXPStyle::drawControl(element, &adjustedOpt, painter, widget); painter->restore(); } break; } //fall through case CE_MenuBarItem: if (isAppThemed()) { if (const QStyleOptionMenuItem *mbi = qstyleoption_cast(option)) { QStyleOptionMenuItem adjustedItem = *mbi; adjustedItem.palette.setBrush(QPalette::All, QPalette::Dark, shadow); adjustedItem.palette.setBrush(QPalette::All, QPalette::Button, Qt::NoBrush); QWindowsXPStyle::drawControl(element, &adjustedItem, painter, widget); } break; } //fall through case CE_MenuBarEmptyArea: if (isAppThemed()) { if (const QStyleOptionMenuItem *mbi = qstyleoption_cast(option)) { QStyleOptionMenuItem adjustedItem = *mbi; adjustedItem.palette.setBrush(QPalette::All, QPalette::Dark, shadow); adjustedItem.palette.setBrush(QPalette::All, QPalette::Button, Qt::NoBrush); QWindowsXPStyle::drawControl(element, &adjustedItem, painter, widget); } break; } //fall through case CE_ToolBar: if (isAppThemed()) { if (const QStyleOptionToolBar *toolbar = qstyleoption_cast(option)) { QStyleOptionToolBar adjustedToolBar = *toolbar; adjustedToolBar.palette.setBrush(QPalette::All, QPalette::Dark, shadow); QWindowsXPStyle::drawControl(element, &adjustedToolBar, painter, widget); } break; } //fall through default: if (vista) QWindowsVistaStyle::drawControl(element, option, painter, widget); else QWindowsXPStyle::drawControl(element, option, painter, widget); break; } } void ExplorerStyle::drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget) const { if (vista) QWindowsVistaStyle::drawComplexControl(control, option, painter, widget); else QWindowsXPStyle::drawComplexControl(control, option, painter, widget); } QSize ExplorerStyle::sizeFromContents(ContentsType type, const QStyleOption *option, const QSize &size, const QWidget *widget) const { if (vista) return QWindowsVistaStyle::sizeFromContents(type, option, size, widget); else return QWindowsXPStyle::sizeFromContents(type, option, size, widget); } QRect ExplorerStyle::subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget) const { if (vista) return QWindowsVistaStyle::subElementRect(element, option, widget); else return QWindowsXPStyle::subElementRect(element, option, widget); } QRect ExplorerStyle::subControlRect(ComplexControl control, const QStyleOptionComplex *option, SubControl subControl, const QWidget *widget) const { if (vista) return QWindowsVistaStyle::subControlRect(control, option, subControl, widget); else return QWindowsXPStyle::subControlRect(control, option, subControl, widget); } QStyle::SubControl ExplorerStyle::hitTestComplexControl(ComplexControl control, const QStyleOptionComplex *option, const QPoint &pos, const QWidget *widget) const { if (vista) return QWindowsVistaStyle::hitTestComplexControl(control, option, pos, widget); else return QWindowsXPStyle::hitTestComplexControl(control, option, pos, widget); } int ExplorerStyle::pixelMetric(PixelMetric metric, const QStyleOption *option, const QWidget *widget) const { if (vista) return QWindowsVistaStyle::pixelMetric(metric, option, widget); else return QWindowsXPStyle::pixelMetric(metric, option, widget); } QPalette ExplorerStyle::standardPalette() { if (vista) return QWindowsVistaStyle::standardPalette(); else return QWindowsXPStyle::standardPalette(); } void ExplorerStyle::polish(QApplication *app) { if (vista) QWindowsVistaStyle::polish(app); else QWindowsXPStyle::polish(app); } void ExplorerStyle::unpolish(QApplication *app) { if (vista) QWindowsVistaStyle::unpolish(app); else QWindowsXPStyle::unpolish(app); } void ExplorerStyle::polish(QWidget *widget) { if (QMainWindow *window = qobject_cast(widget)) window->setAttribute(Qt::WA_StyledBackground, true); if (vista) QWindowsVistaStyle::polish(widget); else QWindowsXPStyle::polish(widget); } void ExplorerStyle::unpolish(QWidget *widget) { if (vista) QWindowsVistaStyle::unpolish(widget); else QWindowsXPStyle::unpolish(widget); } void ExplorerStyle::polish(QPalette pal) { if (vista) QWindowsVistaStyle::polish(pal); else QWindowsXPStyle::polish(pal); } QPixmap ExplorerStyle::standardPixmap(StandardPixmap standardPixmap, const QStyleOption *opt, const QWidget *widget) const { if (vista) return QWindowsVistaStyle::standardPixmap(standardPixmap, opt, widget); else return QWindowsXPStyle::standardPixmap(standardPixmap, opt, widget); } arora-0.11.0/src/utils/explorerstyle.h000066400000000000000000000072261145000221100177070ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ /**************************************************************************** ** ** Copyright (c) 2007 Trolltech ASA ** ** Use, modification and distribution is allowed without limitation, ** warranty, liability or support of any kind. ** ****************************************************************************/ #ifndef EXPLORERSTYLE_H #define EXPLORERSTYLE_H #include class ExplorerStyle : public QWindowsVistaStyle { public: ExplorerStyle(); void drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = 0) const; void drawControl(ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const; void drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget) const; QSize sizeFromContents(ContentsType type, const QStyleOption *option, const QSize &size, const QWidget *widget) const; QRect subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget) const; QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt, SubControl sc, const QWidget *widget) const; SubControl hitTestComplexControl(ComplexControl control, const QStyleOptionComplex *option, const QPoint &pos, const QWidget *widget = 0) const; QPixmap standardPixmap(StandardPixmap standardPixmap, const QStyleOption *opt, const QWidget *widget = 0) const; int pixelMetric(PixelMetric metric, const QStyleOption *option = 0, const QWidget *widget = 0) const; void polish(QWidget *widget); void unpolish(QWidget *widget); void polish(QPalette pal); void polish(QApplication *app); void unpolish(QApplication *app); QPalette standardPalette(); private: mutable QRect m_currentTopRect; //current toolbar top area size mutable QRect m_currentBottomRect; //current toolbar top area size }; #endif //EXPLORERSTYLE_H arora-0.11.0/src/utils/languagemanager.cpp000066400000000000000000000234471145000221100204420ustar00rootroot00000000000000/* * Copyright 2008-2009 Diego Iastrubni, elcuco, at, kde.org * Copyright 2008-2009 Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "languagemanager.h" #include #include #include #include #include #include #include #include #include #include #include // #define LANGUAGEMANAGER_DEBUG LanguageManager::LanguageManager(QObject *parent) : QObject(parent) , m_sysTranslator(0) , m_appTranslator(0) , m_loaded(false) { #ifdef LANGUAGEMANAGER_DEBUG qDebug() << "LanguageManager::" << __FUNCTION__; #endif } void LanguageManager::addLocaleDirectory(const QString &directory) { m_localeDirectories.append(directory); } QStringList LanguageManager::localeDirectories() const { return m_localeDirectories; } QString LanguageManager::currentLanguage() const { #ifdef LANGUAGEMANAGER_DEBUG qDebug() << "LanguageManager::" << __FUNCTION__; #endif if (!m_currentLanguage.isEmpty()) return m_currentLanguage; const QString sysLanguage = QLocale::system().name(); if (isLanguageAvailable(sysLanguage)) return sysLanguage; return QString(); } bool LanguageManager::isLanguageAvailable(const QString &language) const { #ifdef LANGUAGEMANAGER_DEBUG qDebug() << "LanguageManager::" << __FUNCTION__ << language; #endif if (language.isEmpty()) return true; // optimization so we don't have to load all the languages if (!m_loaded) { foreach (const QString &dir, m_localeDirectories) { QString file = dir + QLatin1Char('/') + language + QLatin1String(".qm"); if (QFile::exists(file)) return true; } } return !(convertStringToLanguageFile(language).isEmpty()); } // Return an empty string if we do not have the language file for string // If we don't have an exact ma // - Fall back to country // - Fall back to the first country_ match if there is one QString LanguageManager::convertStringToLanguageFile(const QString &string) const { #ifdef LANGUAGEMANAGER_DEBUG qDebug() << "LanguageManager::" << __FUNCTION__ << string; #endif loadAvailableLanguages(); if (m_languages.contains(string)) return string; QLocale locale(string); QString fallback = locale.name().split(QLatin1Char('_')).value(0); if (!string.contains(fallback)) return QString(); #ifdef LANGUAGEMANAGER_DEBUG qDebug() << "LanguageManager::" << __FUNCTION__ << "fallback" << fallback; #endif if (m_languages.contains(fallback)) // fallback to the country return fallback; // See if any language file matches the country foreach (const QString &language, m_languages) { QString country = QLocale(language).name().split(QLatin1Char('_')).value(0); if (country == fallback) return country; } return QString(); } bool LanguageManager::setCurrentLanguage(const QString &language) { #ifdef LANGUAGEMANAGER_DEBUG qDebug() << "LanguageManager::" << __FUNCTION__ << language; #endif if (m_currentLanguage == language || !isLanguageAvailable(language)) return false; m_currentLanguage = language; QSettings settings; settings.beginGroup(QLatin1String("LanguageManager")); settings.setValue(QLatin1String("language"), m_currentLanguage); if (m_currentLanguage.isEmpty()) { delete m_appTranslator; delete m_sysTranslator; m_appTranslator = 0; m_sysTranslator = 0; emit languageChanged(currentLanguage()); return true; } QTranslator *newAppTranslator = new QTranslator(this); QString resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath); QString languageFile = convertStringToLanguageFile(m_currentLanguage); bool loaded = false; foreach (const QString &dir, m_localeDirectories) { loaded = newAppTranslator->load(languageFile, dir); if (loaded) break; } QTranslator *newSysTranslator = new QTranslator(this); QString translatorFileName = QLatin1String("qt_") + languageFile; if (!newSysTranslator->load(translatorFileName, resourceDir)) { delete newSysTranslator; newSysTranslator = 0; } if (!loaded) { qWarning() << "Failed to load translation:" << currentLanguage(); delete newAppTranslator; delete newSysTranslator; return false; } QLocale::setDefault(QLocale(m_currentLanguage)); // A new language event is sent to all widgets in the application // They need to catch it and re-translate delete m_appTranslator; delete m_sysTranslator; qApp->installTranslator(newAppTranslator); qApp->installTranslator(newSysTranslator); m_appTranslator = newAppTranslator; m_sysTranslator = newSysTranslator; emit languageChanged(currentLanguage()); return true; } QStringList LanguageManager::languages() const { #ifdef LANGUAGEMANAGER_DEBUG qDebug() << "LanguageManager::" << __FUNCTION__; #endif loadAvailableLanguages(); return m_languages; } void LanguageManager::loadLanguageFromSettings() { #ifdef LANGUAGEMANAGER_DEBUG qDebug() << "LanguageManager::" << __FUNCTION__; #endif QSettings settings; settings.beginGroup(QLatin1String("LanguageManager")); if (settings.contains(QLatin1String("language"))) { QString selectedLanguage = settings.value(QLatin1String("language")).toString(); #ifdef LANGUAGEMANAGER_DEBUG qDebug() << "LanguageManager::" << __FUNCTION__ << "Loading language from settings" << selectedLanguage; #endif // When a translation fails to load remove it from the settings // to prevent it from being loaded every time. if (!setCurrentLanguage(selectedLanguage)) { #ifdef LANGUAGEMANAGER_DEBUG qDebug() << "LanguageManager::" << __FUNCTION__ << "Failed to load language"; #endif settings.remove(QLatin1String("language")); } } else if (!currentLanguage().isEmpty()) { setCurrentLanguage(currentLanguage()); } } void LanguageManager::chooseNewLanguage() { #ifdef LANGUAGEMANAGER_DEBUG qDebug() << "LanguageManager::" << __FUNCTION__; #endif loadAvailableLanguages(); if (m_languages.isEmpty()) { QMessageBox messageBox; QLatin1String separator = QLatin1String(", "); messageBox.setText(tr("No translation files are installed at %1.") .arg(m_localeDirectories.join(separator))); messageBox.setStandardButtons(QMessageBox::Ok); messageBox.exec(); return; } QStringList items; int defaultItem = -1; QString current = currentLanguage(); foreach (const QString &name, m_languages) { QLocale locale(name); QString string = QString(QLatin1String("%1, %2 (%3) %4")) .arg(QLocale::languageToString(locale.language())) .arg(QLocale::countryToString(locale.country())) .arg(name) // this is for pretty RTL support .arg(QChar(0x200E)); // LRM = 0x200E if (name == current) defaultItem = items.count(); items << string; } items << QLatin1String("English (en_US)"); if (defaultItem == -1) defaultItem = items.count() - 1; bool ok; QString item = QInputDialog::getItem(0, tr("Choose language"), tr("

    You can run with a different language than
    " "the operating system default.

    " "

    Please choose the language which should be used

    "), items, defaultItem, false, &ok); if (!ok) return; int selection = items.indexOf(item); setCurrentLanguage(m_languages.value(selection)); } /*! Find all *.qm files in the data directory that have a Qt translation. */ void LanguageManager::loadAvailableLanguages() const { if (m_loaded) return; m_loaded = true; #ifdef LANGUAGEMANAGER_DEBUG qDebug() << "LanguageManager::" << __FUNCTION__; #endif foreach (const QString &dir, m_localeDirectories) { QDirIterator it(dir); while (it.hasNext()) { QString fileName = it.next(); if (!fileName.endsWith(QLatin1String(".qm"))) continue; const QFileInfo info = it.fileInfo(); QString language = info.completeBaseName(); m_languages.append(language); } } } arora-0.11.0/src/utils/languagemanager.h000066400000000000000000000052361145000221100201030ustar00rootroot00000000000000/* * Copyright 2008-2009 Diego Iastrubni, elcuco, at, kde.org * Copyright 2008-2009 Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef LANGUAGEMANAGER_H #define LANGUAGEMANAGER_H #include #include class QTranslator; class LanguageManager : public QObject { Q_OBJECT Q_PROPERTY(QString currentLanguage READ currentLanguage WRITE setCurrentLanguage) signals: void languageChanged(const QString &language); public: LanguageManager(QObject *parent = 0); void addLocaleDirectory(const QString &directory); QStringList localeDirectories() const; QString currentLanguage() const; bool setCurrentLanguage(const QString &language); QStringList languages() const; bool isLanguageAvailable(const QString &language) const; public slots: void loadLanguageFromSettings(); void chooseNewLanguage(); private: QString convertStringToLanguageFile(const QString &string) const; void loadAvailableLanguages() const; QString m_currentLanguage; QTranslator *m_sysTranslator; QTranslator *m_appTranslator; mutable bool m_loaded; mutable QStringList m_languages; QStringList m_localeDirectories; }; #endif //LANGUAGEMANAGER_H arora-0.11.0/src/utils/lineedit.cpp000066400000000000000000000157361145000221100171230ustar00rootroot00000000000000/** * Copyright (c) 2008 - 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "lineedit.h" #include "lineedit_p.h" #include #include #include #include #include SideWidget::SideWidget(QWidget *parent) : QWidget(parent) { } bool SideWidget::event(QEvent *event) { if (event->type() == QEvent::LayoutRequest) emit sizeHintChanged(); return QWidget::event(event); } LineEdit::LineEdit(QWidget *parent) : QLineEdit(parent) , m_leftLayout(0) , m_rightLayout(0) { init(); } LineEdit::LineEdit(const QString &contents, QWidget *parent) : QLineEdit(contents, parent) , m_leftWidget(0) , m_rightWidget(0) , m_leftLayout(0) , m_rightLayout(0) { init(); } void LineEdit::init() { m_leftWidget = new SideWidget(this); m_leftWidget->resize(0, 0); m_leftLayout = new QHBoxLayout(m_leftWidget); m_leftLayout->setContentsMargins(0, 0, 0, 0); if (isRightToLeft()) m_leftLayout->setDirection(QBoxLayout::RightToLeft); else m_leftLayout->setDirection(QBoxLayout::LeftToRight); m_leftLayout->setSizeConstraint(QLayout::SetFixedSize); m_rightWidget = new SideWidget(this); m_rightWidget->resize(0, 0); m_rightLayout = new QHBoxLayout(m_rightWidget); if (isRightToLeft()) m_rightLayout->setDirection(QBoxLayout::RightToLeft); else m_rightLayout->setDirection(QBoxLayout::LeftToRight); m_rightLayout->setContentsMargins(0, 0, 0, 0); QSpacerItem *horizontalSpacer = new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum); m_rightLayout->addItem(horizontalSpacer); setWidgetSpacing(3); connect(m_leftWidget, SIGNAL(sizeHintChanged()), this, SLOT(updateTextMargins())); connect(m_rightWidget, SIGNAL(sizeHintChanged()), this, SLOT(updateTextMargins())); } bool LineEdit::event(QEvent *event) { if (event->type() == QEvent::LayoutDirectionChange) { if (isRightToLeft()) { m_leftLayout->setDirection(QBoxLayout::RightToLeft); m_rightLayout->setDirection(QBoxLayout::RightToLeft); } else { m_leftLayout->setDirection(QBoxLayout::LeftToRight); m_rightLayout->setDirection(QBoxLayout::LeftToRight); } } return QLineEdit::event(event); } void LineEdit::addWidget(QWidget *widget, WidgetPosition position) { if (!widget) return; bool rtl = isRightToLeft(); if (rtl) position = (position == LeftSide) ? RightSide : LeftSide; if (position == LeftSide) { m_leftLayout->addWidget(widget); } else { m_rightLayout->insertWidget(1, widget); } } void LineEdit::removeWidget(QWidget *widget) { if (!widget) return; m_leftLayout->removeWidget(widget); m_rightLayout->removeWidget(widget); widget->hide(); } void LineEdit::setWidgetSpacing(int spacing) { m_leftLayout->setSpacing(spacing); m_rightLayout->setSpacing(spacing); updateTextMargins(); } int LineEdit::widgetSpacing() const { return m_leftLayout->spacing(); } int LineEdit::textMargin(WidgetPosition position) const { int spacing = m_rightLayout->spacing(); int w = 0; if (position == LeftSide) w = m_leftWidget->sizeHint().width(); else w = m_rightWidget->sizeHint().width(); if (w == 0) return 0; return w + spacing * 2; } void LineEdit::updateTextMargins() { int left = textMargin(LineEdit::LeftSide); int right = textMargin(LineEdit::RightSide); int top = 0; int bottom = 0; setTextMargins(left, top, right, bottom); updateSideWidgetLocations(); } void LineEdit::updateSideWidgetLocations() { QStyleOptionFrameV2 opt; initStyleOption(&opt); QRect textRect = style()->subElementRect(QStyle::SE_LineEditContents, &opt, this); int spacing = m_rightLayout->spacing(); textRect.adjust(spacing, 0, -spacing, 0); int left = textMargin(LineEdit::LeftSide); int midHeight = textRect.center().y() + 1; if (m_leftLayout->count() > 0) { int leftHeight = midHeight - m_leftWidget->height() / 2; int leftWidth = m_leftWidget->width(); if (leftWidth == 0) leftHeight = midHeight - m_leftWidget->sizeHint().height() / 2; m_leftWidget->move(textRect.x(), leftHeight); } textRect.setX(left); textRect.setY(midHeight - m_rightWidget->sizeHint().height() / 2); textRect.setHeight(m_rightWidget->sizeHint().height()); m_rightWidget->setGeometry(textRect); } void LineEdit::resizeEvent(QResizeEvent *event) { updateSideWidgetLocations(); QLineEdit::resizeEvent(event); } QString LineEdit::inactiveText() const { return m_inactiveText; } void LineEdit::setInactiveText(const QString &text) { m_inactiveText = text; } void LineEdit::paintEvent(QPaintEvent *event) { QLineEdit::paintEvent(event); if (text().isEmpty() && !m_inactiveText.isEmpty() && !hasFocus()) { QStyleOptionFrameV2 panel; initStyleOption(&panel); QRect textRect = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this); int horizontalMargin = 2; textRect.adjust(horizontalMargin, 0, 0, 0); int left = textMargin(LineEdit::LeftSide); int right = textMargin(LineEdit::RightSide); textRect.adjust(left, 0, -right, 0); QPainter painter(this); painter.setPen(palette().brush(QPalette::Disabled, QPalette::Text).color()); painter.drawText(textRect, Qt::AlignLeft | Qt::AlignVCenter, m_inactiveText); } } arora-0.11.0/src/utils/lineedit.h000066400000000000000000000060351145000221100165600ustar00rootroot00000000000000/** * Copyright (c) 2008 - 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef LINEEDIT_H #define LINEEDIT_H #include class QHBoxLayout; /* LineEdit is a subclass of QLineEdit that provides an easy and simple way to add widgets on the left or right hand side of the text. The layout of the widgets on either side are handled by a QHBoxLayout. You can set the spacing around the widgets with setWidgetSpacing(). As widgets are added to the class they are inserted from the outside into the center of the widget. */ class SideWidget; class LineEdit : public QLineEdit { Q_OBJECT Q_PROPERTY(QString inactiveText READ inactiveText WRITE setInactiveText) public: enum WidgetPosition { LeftSide, RightSide }; LineEdit(QWidget *parent = 0); LineEdit(const QString &contents, QWidget *parent = 0); void addWidget(QWidget *widget, WidgetPosition position); void removeWidget(QWidget *widget); void setWidgetSpacing(int spacing); int widgetSpacing() const; int textMargin(WidgetPosition position) const; QString inactiveText() const; void setInactiveText(const QString &text); void paintEvent(QPaintEvent *event); protected: void resizeEvent(QResizeEvent *event); bool event(QEvent *event); protected slots: void updateTextMargins(); private: void init(); void updateSideWidgetLocations(); SideWidget *m_leftWidget; SideWidget *m_rightWidget; QHBoxLayout *m_leftLayout; QHBoxLayout *m_rightLayout; QString m_inactiveText; }; #endif // LINEEDIT_H arora-0.11.0/src/utils/lineedit_p.h000066400000000000000000000034611145000221100170770ustar00rootroot00000000000000/** * Copyright (c) 2008 - 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef LINEEDIT_P_H #define LINEEDIT_P_H #include class SideWidget : public QWidget { Q_OBJECT signals: void sizeHintChanged(); public: SideWidget(QWidget *parent = 0); protected: bool event(QEvent *event); }; #endif // LINEEDIT_P_H arora-0.11.0/src/utils/networkaccessmanagerproxy.cpp000066400000000000000000000067171145000221100226350ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "networkaccessmanagerproxy.h" #include "networkaccessmanagerproxy_p.h" #include "webpageproxy.h" #include #include NetworkAccessManagerProxy *NetworkAccessManagerProxy::m_primaryManager = 0; /* NetworkAccessManagerProxy inserts a pointer to the QWebPage in the QNetworkRequest before passing it on. */ NetworkAccessManagerProxy::NetworkAccessManagerProxy(QObject *parent) : QNetworkAccessManager(parent) , m_webPage(0) { } void NetworkAccessManagerProxy::setWebPage(WebPageProxy *page) { Q_ASSERT(page); m_webPage = page; } void NetworkAccessManagerProxy::setPrimaryNetworkAccessManager(NetworkAccessManagerProxy *manager) { Q_ASSERT(manager); m_primaryManager = manager; setCookieJar(new NetworkCookieJarProxy(this)); connect(this, SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)), m_primaryManager, SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*))); connect(this, SIGNAL(finished(QNetworkReply *)), m_primaryManager, SIGNAL(finished(QNetworkReply *))); connect(this, SIGNAL(proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*)), m_primaryManager, SIGNAL(proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*))); #ifndef QT_NO_OPENSSL connect(this, SIGNAL(sslErrors(QNetworkReply*, const QList&)), m_primaryManager, SIGNAL(sslErrors(QNetworkReply*, const QList&))); #endif } QNetworkReply *NetworkAccessManagerProxy::createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *outgoingData) { if (m_primaryManager && m_webPage) { QNetworkRequest pageRequest = request; m_webPage->populateNetworkRequest(pageRequest); return m_primaryManager->createRequest(op, pageRequest, outgoingData); } return QNetworkAccessManager::createRequest(op, request, outgoingData); } arora-0.11.0/src/utils/networkaccessmanagerproxy.h000066400000000000000000000046031145000221100222720ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef NETWORKACCESSMANAGERPROXY_H #define NETWORKACCESSMANAGERPROXY_H #include class WebPageProxy; class NetworkAccessManagerProxy : public QNetworkAccessManager { Q_OBJECT public: NetworkAccessManagerProxy(QObject *parent = 0); void setPrimaryNetworkAccessManager(NetworkAccessManagerProxy *primaryManager); NetworkAccessManagerProxy *primaryNetworkAccessManager() const { return m_primaryManager; } void setWebPage(WebPageProxy *page); WebPageProxy *webPage() const { return m_webPage; }; protected: QNetworkReply *createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *outgoingData = 0); private: friend class NetworkCookieJarProxy; static NetworkAccessManagerProxy *m_primaryManager; WebPageProxy *m_webPage; }; #endif // NETWORKACCESSMANAGERPROXY_H arora-0.11.0/src/utils/networkaccessmanagerproxy_p.h000066400000000000000000000043701145000221100226120ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef NETWORKACCESSMANAGERPROXY_P_H #define NETWORKACCESSMANAGERPROXY_P_H #include #include "networkaccessmanagerproxy.h" class NetworkCookieJarProxy : public QNetworkCookieJar { Q_OBJECT public: NetworkCookieJarProxy(QObject *parent = 0) : QNetworkCookieJar(parent) { } inline QList cookiesForUrl(const QUrl &url) const { return NetworkAccessManagerProxy::m_primaryManager->cookieJar()->cookiesForUrl(url); } inline bool setCookiesFromUrl(const QList &cookieList, const QUrl &url) { return NetworkAccessManagerProxy::m_primaryManager->cookieJar()->setCookiesFromUrl(cookieList, url); } }; #endif // NETWORKACCESSMANAGERPROXY_P_H arora-0.11.0/src/utils/singleapplication.cpp000066400000000000000000000123351145000221100210230ustar00rootroot00000000000000/** * Copyright (c) 2008-2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "singleapplication.h" #include #include #include #include #include #ifndef Q_OS_WIN #include #else #include #endif // #define SINGALAPPLICATION_DEBUG SingleApplication::SingleApplication(int &argc, char **argv) : QApplication(argc, argv) , m_localServer(0) { } bool SingleApplication::sendMessage(const QByteArray &message, int waitMsecsForReply) { #ifdef SINGALAPPLICATION_DEBUG qDebug() << "SingleApplication::" << __FUNCTION__ << message << waitMsecsForReply; #endif QLocalSocket socket; socket.connectToServer(serverName()); if (!socket.waitForConnected(500)) return false; socket.write(message); socket.flush(); socket.waitForBytesWritten(); bool success = true; if (socket.error() != QLocalSocket::UnknownSocketError) { #ifdef SINGALAPPLICATION_DEBUG qDebug() << "SingleApplication::" << __FUNCTION__ << socket.errorString(); #endif success = false; } if (success) { socket.waitForReadyRead(waitMsecsForReply); if (socket.bytesAvailable() > 0) emit messageReceived(&socket); } return success; } bool SingleApplication::startSingleServer() { if (m_localServer) return false; m_localServer = new QLocalServer(this); connect(m_localServer, SIGNAL(newConnection()), this, SLOT(newConnection())); bool success = false; if (!m_localServer->listen(serverName())) { if (QAbstractSocket::AddressInUseError == m_localServer->serverError()) { // cleanup from a segfaulted server #ifdef Q_OS_UNIX QString fullServerName = QDir::tempPath() + QLatin1String("/") + serverName(); if (QFile::exists(fullServerName)) QFile::remove(fullServerName); #endif if (m_localServer->listen(serverName())) { success = true; } } if (!success) { qWarning() << "SingleApplication: Unable to listen:" << m_localServer->errorString(); } } else { success = true; } if (success) { #ifdef Q_OS_UNIX QFile file(m_localServer->fullServerName()); if (!file.setPermissions(QFile::ReadUser | QFile::WriteUser)) qWarning() << "SingleApplication: Unable to set permissions on:" << file.fileName() << file.errorString(); #endif } if (!success) { delete m_localServer; m_localServer = 0; } return success; } bool SingleApplication::isRunning() const { return (0 != m_localServer); } void SingleApplication::newConnection() { QLocalSocket *socket = m_localServer->nextPendingConnection(); if (!socket) return; socket->waitForReadyRead(); emit messageReceived(socket); delete socket; } QString SingleApplication::serverName() const { QString serverName = QCoreApplication::applicationName(); Q_ASSERT(!serverName.isEmpty()); #ifdef Q_WS_QWS serverName += QLatin1String("_qws"); #endif #ifndef Q_OS_WIN serverName += QString(QLatin1String("_%1_%2")).arg(getuid()).arg(getgid()); #else static QString login; if (login.isEmpty()) { QT_WA({ wchar_t buffer[256]; DWORD bufferSize = sizeof(buffer) / sizeof(wchar_t) - 1; GetUserNameW(buffer, &bufferSize); login = QString::fromUtf16((ushort*)buffer); }, { char buffer[256]; DWORD bufferSize = sizeof(buffer) / sizeof(char) - 1; GetUserNameA(buffer, &bufferSize); login = QString::fromLocal8Bit(buffer); }); } serverName += QString::fromAscii("_%1").arg(login); #endif return serverName; } arora-0.11.0/src/utils/singleapplication.h000066400000000000000000000043251145000221100204700ustar00rootroot00000000000000/** * Copyright (c) 2008-2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef SINGLEAPPLICATION_H #define SINGLEAPPLICATION_H #include /* QApplication subclass that should be used when you only want one instant of the application to exist at a time. */ class QLocalServer; class QLocalSocket; class SingleApplication : public QApplication { Q_OBJECT signals: void messageReceived(QLocalSocket *socket); public: SingleApplication(int &argc, char **argv); bool sendMessage(const QByteArray &message, int waitMsecsForReply = 0); bool startSingleServer(); bool isRunning() const; private slots: void newConnection(); private: QString serverName() const; QLocalServer *m_localServer; }; #endif // SINGLEAPPLICATION_H arora-0.11.0/src/utils/squeezelabel.cpp000066400000000000000000000040141145000221100177720ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "squeezelabel.h" SqueezeLabel::SqueezeLabel(QWidget *parent) : QLabel(parent) { } void SqueezeLabel::paintEvent(QPaintEvent *event) { if (m_SqueezedTextCache != text()) { m_SqueezedTextCache = text(); QFontMetrics fm = fontMetrics(); if (fm.width(m_SqueezedTextCache) > contentsRect().width()) { QString elided = fm.elidedText(text(), Qt::ElideMiddle, width()); setText(elided); } } QLabel::paintEvent(event); } arora-0.11.0/src/utils/squeezelabel.h000066400000000000000000000037041145000221100174440ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef SQUEEZELABEL_H #define SQUEEZELABEL_H #include /* A label that will squeeze the set text to fit within the size of the widget. The text will be elided in the middle. */ class SqueezeLabel : public QLabel { Q_OBJECT public: SqueezeLabel(QWidget *parent = 0); protected: void paintEvent(QPaintEvent *event); private: QString m_SqueezedTextCache; }; #endif // SQUEEZELABEL_H arora-0.11.0/src/utils/treesortfilterproxymodel.cpp000066400000000000000000000040471145000221100225170ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "treesortfilterproxymodel.h" TreeSortFilterProxyModel::TreeSortFilterProxyModel(QObject *parent) : QSortFilterProxyModel(parent) { setFilterCaseSensitivity(Qt::CaseInsensitive); } bool TreeSortFilterProxyModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const { QModelIndex idx = sourceModel()->index(source_row, 0, source_parent); if (sourceModel()->hasChildren(idx)) return true; return QSortFilterProxyModel::filterAcceptsRow(source_row, source_parent); } arora-0.11.0/src/utils/treesortfilterproxymodel.h000066400000000000000000000036321145000221100221630ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef TREESORTFILTERPROXYMODEL_H #define TREESORTFILTERPROXYMODEL_H #include class TreeSortFilterProxyModel : public QSortFilterProxyModel { Q_OBJECT public: TreeSortFilterProxyModel(QObject *parent = 0); protected: bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const; }; #endif // TREESORTFILTERPROXYMODEL_H arora-0.11.0/src/utils/utils.pri000066400000000000000000000013141145000221100164610ustar00rootroot00000000000000INCLUDEPATH += $$PWD DEPENDPATH += $$PWD HEADERS += \ editlistview.h \ edittableview.h \ edittreeview.h \ languagemanager.h \ lineedit.h \ lineedit_p.h \ networkaccessmanagerproxy.h \ networkaccessmanagerproxy_p.h \ singleapplication.h \ squeezelabel.h \ treesortfilterproxymodel.h \ webpageproxy.h SOURCES += \ editlistview.cpp \ edittableview.cpp \ edittreeview.cpp \ languagemanager.cpp \ lineedit.cpp \ networkaccessmanagerproxy.cpp \ singleapplication.cpp \ squeezelabel.cpp \ treesortfilterproxymodel.cpp \ webpageproxy.cpp win32 { HEADERS += explorerstyle.h SOURCES += explorerstyle.cpp LIBS += -lgdi32 } arora-0.11.0/src/utils/webpageproxy.cpp000066400000000000000000000037751145000221100200420ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "webpageproxy.h" #include #include #define ATTRIBUTE_ID QNetworkRequest::User + 100 WebPageProxy::WebPageProxy(QObject *parent) : QWebPage(parent) { } int WebPageProxy::pageAttributeId() { return ATTRIBUTE_ID; } void WebPageProxy::populateNetworkRequest(QNetworkRequest &request) { QVariant variant = qVariantFromValue((void *) this); request.setAttribute((QNetworkRequest::Attribute)(pageAttributeId()), variant); } arora-0.11.0/src/utils/webpageproxy.h000066400000000000000000000036441145000221100175020ustar00rootroot00000000000000/** * Copyright (c) 2009, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the Benjamin Meyer nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef WEBPAGEPROXY_H #define WEBPAGEPROXY_H #include #include class WebPageProxy : public QWebPage { Q_OBJECT public: WebPageProxy(QObject *parent = 0); static int pageAttributeId(); protected: friend class NetworkAccessManagerProxy; virtual void populateNetworkRequest(QNetworkRequest &request); }; #endif // WEBPAGEPROXY_H arora-0.11.0/src/webactionmapper.cpp000066400000000000000000000115351145000221100173370ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "webactionmapper.h" #include WebActionMapper::WebActionMapper(QAction *root, QWebPage::WebAction webAction, QObject *parent) : QObject(parent) , m_currentParent(0) , m_root(root) , m_webAction(webAction) { if (!m_root) return; connect(m_root, SIGNAL(triggered()), this, SLOT(rootTriggered())); connect(root, SIGNAL(destroyed(QObject *)), this, SLOT(rootDestroyed())); root->setEnabled(false); } void WebActionMapper::rootDestroyed() { m_root = 0; } void WebActionMapper::currentDestroyed() { updateCurrent(0); } void WebActionMapper::addChild(QAction *action) { if (!action) return; connect(action, SIGNAL(changed()), this, SLOT(childChanged())); } QWebPage::WebAction WebActionMapper::webAction() const { return m_webAction; } void WebActionMapper::rootTriggered() { if (m_currentParent) { QAction *gotoAction = m_currentParent->action(m_webAction); gotoAction->trigger(); } } void WebActionMapper::childChanged() { if (QAction *source = qobject_cast(sender())) { if (m_root && m_currentParent && source->parent() == m_currentParent) { m_root->setChecked(source->isChecked()); m_root->setEnabled(source->isEnabled()); } } } void WebActionMapper::updateCurrent(QWebPage *currentParent) { if (m_currentParent) disconnect(m_currentParent, SIGNAL(destroyed(QObject *)), this, SLOT(currentDestroyed())); m_currentParent = currentParent; if (!m_root) return; if (!m_currentParent) { m_root->setEnabled(false); m_root->setChecked(false); return; } QAction *source = m_currentParent->action(m_webAction); if (!source) return; m_root->setChecked(source->isChecked()); m_root->setEnabled(source->isEnabled()); connect(m_currentParent, SIGNAL(destroyed(QObject *)), this, SLOT(currentDestroyed())); } arora-0.11.0/src/webactionmapper.h000066400000000000000000000073601145000221100170050ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef WEBACTIONMAPPER_H #define WEBACTIONMAPPER_H #include QT_BEGIN_NAMESPACE class QAction; QT_END_NAMESPACE /*! A proxy object that connects a single browser action to one child webpage action at a time. Example usage: used to keep the main window stop action in sync with the current tabs webview's stop action. */ class WebActionMapper : public QObject { Q_OBJECT public: WebActionMapper(QAction *root, QWebPage::WebAction webAction, QObject *parent); QWebPage::WebAction webAction() const; void addChild(QAction *action); void updateCurrent(QWebPage *currentParent); private slots: void rootTriggered(); void childChanged(); void rootDestroyed(); void currentDestroyed(); private: QWebPage *m_currentParent; QAction *m_root; QWebPage::WebAction m_webAction; }; #endif // WEBACTIONMAPPER_H arora-0.11.0/src/webpage.cpp000066400000000000000000000363061145000221100155740ustar00rootroot00000000000000/* * Copyright 2009 Benjamin C. Meyer * Copyright 2009 Jakub Wieczorek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "webpage.h" #include "browserapplication.h" #include "downloadmanager.h" #include "historymanager.h" #include "networkaccessmanager.h" #include "opensearchengine.h" #include "opensearchmanager.h" #include "tabwidget.h" #include "toolbarsearch.h" #include "webpluginfactory.h" #include "webview.h" #include #include #include #include #include #include #include #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) #include #endif WebPluginFactory *WebPage::s_webPluginFactory = 0; QString WebPage::s_userAgent; JavaScriptExternalObject::JavaScriptExternalObject(QObject *parent) : QObject(parent) { } void JavaScriptExternalObject::AddSearchProvider(const QString &url) { ToolbarSearch::openSearchManager()->addEngine(QUrl(url)); } Q_DECLARE_METATYPE(OpenSearchEngine*) JavaScriptAroraObject::JavaScriptAroraObject(QObject *parent) : QObject(parent) { static const char *translations[] = { QT_TR_NOOP("Welcome to Arora!"), QT_TR_NOOP("Arora Start"), QT_TR_NOOP("Search!"), QT_TR_NOOP("Search results provided by"), QT_TR_NOOP("About Arora") }; Q_UNUSED(translations); qRegisterMetaType("OpenSearchEngine*"); } QString JavaScriptAroraObject::translate(const QString &string) { QString translatedString = trUtf8(string.toUtf8().constData()); // If the translation is the same as the original string // it could not be translated. In that case // try to translate using the QApplication domain if (translatedString != string) return translatedString; else return qApp->trUtf8(string.toUtf8().constData()); } QObject *JavaScriptAroraObject::currentEngine() const { return ToolbarSearch::openSearchManager()->currentEngine(); } QString JavaScriptAroraObject::searchUrl(const QString &string) const { return QString::fromUtf8(ToolbarSearch::openSearchManager()->currentEngine()->searchUrl(string).toEncoded()); } WebPage::WebPage(QObject *parent) : WebPageProxy(parent) , m_openTargetBlankLinksIn(TabWidget::NewWindow) , m_javaScriptExternalObject(0) , m_javaScriptAroraObject(0) { setPluginFactory(webPluginFactory()); NetworkAccessManagerProxy *networkManagerProxy = new NetworkAccessManagerProxy(this); networkManagerProxy->setWebPage(this); networkManagerProxy->setPrimaryNetworkAccessManager(BrowserApplication::networkAccessManager()); setNetworkAccessManager(networkManagerProxy); connect(this, SIGNAL(unsupportedContent(QNetworkReply *)), this, SLOT(handleUnsupportedContent(QNetworkReply *))); connect(this, SIGNAL(frameCreated(QWebFrame *)), this, SLOT(addExternalBinding(QWebFrame *))); addExternalBinding(mainFrame()); loadSettings(); } WebPage::~WebPage() { setNetworkAccessManager(0); } WebPluginFactory *WebPage::webPluginFactory() { if (!s_webPluginFactory) s_webPluginFactory = new WebPluginFactory(BrowserApplication::instance()); return s_webPluginFactory; } QList WebPage::linkedResources(const QString &relation) { QList resources; #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) QUrl baseUrl = mainFrame()->baseUrl(); QWebElementCollection linkElements = mainFrame()->findAllElements(QLatin1String("html > head > link")); foreach (const QWebElement &linkElement, linkElements) { QString rel = linkElement.attribute(QLatin1String("rel")); QString href = linkElement.attribute(QLatin1String("href")); QString type = linkElement.attribute(QLatin1String("type")); QString title = linkElement.attribute(QLatin1String("title")); if (href.isEmpty() || type.isEmpty()) continue; if (!relation.isEmpty() && rel != relation) continue; WebPageLinkedResource resource; resource.rel = rel; resource.type = type; resource.href = baseUrl.resolved(QUrl::fromEncoded(href.toUtf8())); resource.title = title; resources.append(resource); } #else QString baseUrlString = mainFrame()->evaluateJavaScript(QLatin1String("document.baseURI")).toString(); QUrl baseUrl = QUrl::fromEncoded(baseUrlString.toUtf8()); QFile file(QLatin1String(":fetchLinks.js")); if (!file.open(QFile::ReadOnly)) return resources; QString script = QString::fromUtf8(file.readAll()); QVariantList list = mainFrame()->evaluateJavaScript(script).toList(); foreach (const QVariant &variant, list) { QVariantMap map = variant.toMap(); QString rel = map[QLatin1String("rel")].toString(); QString type = map[QLatin1String("type")].toString(); QString href = map[QLatin1String("href")].toString(); QString title = map[QLatin1String("title")].toString(); if (href.isEmpty() || type.isEmpty()) continue; if (!relation.isEmpty() && rel != relation) continue; WebPageLinkedResource resource; resource.rel = rel; resource.type = type; resource.href = baseUrl.resolved(QUrl::fromEncoded(href.toUtf8())); resource.title = title; resources.append(resource); } #endif return resources; } void WebPage::populateNetworkRequest(QNetworkRequest &request) { if (request == lastRequest) { request.setAttribute((QNetworkRequest::Attribute)(pageAttributeId() + 1), lastRequestType); } WebPageProxy::populateNetworkRequest(request); } void WebPage::addExternalBinding(QWebFrame *frame) { #if QT_VERSION < 0x040600 QWebSettings *defaultSettings = QWebSettings::globalSettings(); if (!defaultSettings->testAttribute(QWebSettings::JavascriptEnabled)) return; #endif if (!m_javaScriptExternalObject) m_javaScriptExternalObject = new JavaScriptExternalObject(this); if (frame == 0) { // called from QWebFrame::javaScriptWindowObjectCleared frame = qobject_cast(sender()); if (frame->url().scheme() == QLatin1String("qrc") && frame->url().path() == QLatin1String("/startpage.html")) { if (!m_javaScriptAroraObject) m_javaScriptAroraObject = new JavaScriptAroraObject(this); frame->addToJavaScriptWindowObject(QLatin1String("arora"), m_javaScriptAroraObject); } } else { // called from QWebPage::frameCreated connect(frame, SIGNAL(javaScriptWindowObjectCleared()), this, SLOT(addExternalBinding())); } frame->addToJavaScriptWindowObject(QLatin1String("external"), m_javaScriptExternalObject); } QString WebPage::userAgent() { return s_userAgent; } void WebPage::setUserAgent(const QString &userAgent) { if (userAgent == s_userAgent) return; QSettings settings; if (userAgent.isEmpty()) { settings.remove(QLatin1String("userAgent")); } else { settings.setValue(QLatin1String("userAgent"), userAgent); } s_userAgent = userAgent; } QString WebPage::userAgentForUrl(const QUrl &url) const { if (s_userAgent.isEmpty()) s_userAgent = QWebPage::userAgentForUrl(url); return s_userAgent; } bool WebPage::acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &request, NavigationType type) { lastRequest = request; lastRequestType = type; QString scheme = request.url().scheme(); if (scheme == QLatin1String("mailto") || scheme == QLatin1String("ftp")) { BrowserApplication::instance()->askDesktopToOpenUrl(request.url()); return false; } if (type == QWebPage::NavigationTypeFormResubmitted) { QMessageBox::StandardButton button = QMessageBox::warning(view(), tr("Resending POST request"), tr("In order to display the site, the request along with all the data must be sent once again, " "which may lead to some unexpected behaviour of the site e.g. the same action might be " "performed once again. Do you want to continue anyway?"), QMessageBox::Yes | QMessageBox::No); if (button != QMessageBox::Yes) return false; } TabWidget::OpenUrlIn openIn = frame ? TabWidget::CurrentTab : TabWidget::NewWindow; openIn = TabWidget::modifyWithUserBehavior(openIn); // handle the case where we want to do something different then // what qwebpage would do if (openIn == TabWidget::NewSelectedTab || openIn == TabWidget::NewNotSelectedTab || (frame && openIn == TabWidget::NewWindow)) { if (WebView *webView = qobject_cast(view())) { TabWidget *tabWidget = webView->tabWidget(); if (tabWidget) { WebView *newView = tabWidget->getView(openIn, webView); QWebPage *page = 0; if (newView) page = newView->page(); if (page && page->mainFrame()) page->mainFrame()->load(request); } } return false; } bool accepted = QWebPage::acceptNavigationRequest(frame, request, type); if (accepted && frame == mainFrame()) { m_requestedUrl = request.url(); emit aboutToLoadUrl(request.url()); } return accepted; } void WebPage::loadSettings() { QSettings settings; settings.beginGroup(QLatin1String("tabs")); m_openTargetBlankLinksIn = (TabWidget::OpenUrlIn)settings.value(QLatin1String("openTargetBlankLinksIn"), TabWidget::NewSelectedTab).toInt(); settings.endGroup(); s_userAgent = settings.value(QLatin1String("userAgent")).toString(); } QWebPage *WebPage::createWindow(QWebPage::WebWindowType type) { Q_UNUSED(type); if (WebView *webView = qobject_cast(view())) { TabWidget *tabWidget = webView->tabWidget(); if (tabWidget) { TabWidget::OpenUrlIn openIn = m_openTargetBlankLinksIn; openIn = TabWidget::modifyWithUserBehavior(openIn); return tabWidget->getView(openIn, webView)->page(); } } return 0; } QObject *WebPage::createPlugin(const QString &classId, const QUrl &url, const QStringList ¶mNames, const QStringList ¶mValues) { Q_UNUSED(classId); Q_UNUSED(url); Q_UNUSED(paramNames); Q_UNUSED(paramValues); #if !defined(QT_NO_UITOOLS) QUiLoader loader; return loader.createWidget(classId, view()); #else return 0; #endif } // The chromium guys have documented many examples of incompatibilities that // different browsers have when they mime sniff. // http://src.chromium.org/viewvc/chrome/trunk/src/net/base/mime_sniffer.cc // // All WebKit ports should share a common set of rules to sniff content. // By having this here we are yet another browser that has different behavior :( // But sadly QtWebKit does no sniffing at all so we are forced to do something. static bool contentSniff(const QByteArray &data) { if (data.contains("url(); if (replyUrl.scheme() == QLatin1String("abp")) return; switch (reply->error()) { case QNetworkReply::NoError: if (reply->header(QNetworkRequest::ContentTypeHeader).isValid()) { BrowserApplication::downloadManager()->handleUnsupportedContent(reply); return; } break; case QNetworkReply::ProtocolUnknownError: { QSettings settings; settings.beginGroup(QLatin1String("WebView")); QStringList externalSchemes = settings.value(QLatin1String("externalSchemes")).toStringList(); if (externalSchemes.contains(replyUrl.scheme())) { QDesktopServices::openUrl(replyUrl); return; } break; } default: break; } // Find the frame that has the unsupported content if (replyUrl.isEmpty() || replyUrl != m_requestedUrl) return; QWebFrame *notFoundFrame = mainFrame(); if (!notFoundFrame) return; if (reply->header(QNetworkRequest::ContentTypeHeader).toString().isEmpty()) { // do evil QByteArray data = reply->readAll(); if (contentSniff(data)) { notFoundFrame->setHtml(QLatin1String(data), replyUrl); return; } } // Generate translated not found error page with an image QFile notFoundErrorFile(QLatin1String(":/notfound.html")); if (!notFoundErrorFile.open(QIODevice::ReadOnly)) return; QString title = tr("Error loading page: %1").arg(QString::fromUtf8(replyUrl.toEncoded())); QString html = QLatin1String(notFoundErrorFile.readAll()); QPixmap pixmap = qApp->style()->standardIcon(QStyle::SP_MessageBoxWarning, 0, view()).pixmap(QSize(32, 32)); QBuffer imageBuffer; imageBuffer.open(QBuffer::ReadWrite); if (pixmap.save(&imageBuffer, "PNG")) { html.replace(QLatin1String("IMAGE_BINARY_DATA_HERE"), QLatin1String(imageBuffer.buffer().toBase64())); } html = html.arg(title, reply->errorString(), tr("When connecting to: %1.").arg(QString::fromUtf8(replyUrl.toEncoded())), tr("Check the address for errors such as ww.arora-browser.org instead of www.arora-browser.org"), tr("If the address is correct, try checking the network connection."), tr("If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network.")); notFoundFrame->setHtml(html, replyUrl); // Don't put error pages to the history. BrowserApplication::instance()->historyManager()->removeHistoryEntry(replyUrl, notFoundFrame->title()); } arora-0.11.0/src/webpage.h000066400000000000000000000060141145000221100152320ustar00rootroot00000000000000/* * Copyright 2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef WEBPAGE_H #define WEBPAGE_H #include "webpageproxy.h" #include "tabwidget.h" #include #include class WebPageLinkedResource { public: QString rel; QString type; QUrl href; QString title; }; class OpenSearchEngine; class QNetworkReply; class WebPluginFactory; // See https://developer.mozilla.org/en/adding_search_engines_from_web_pages class JavaScriptExternalObject : public QObject { Q_OBJECT public: JavaScriptExternalObject(QObject *parent = 0); public slots: void AddSearchProvider(const QString &url); }; class JavaScriptAroraObject : public QObject { Q_OBJECT Q_PROPERTY(QObject *currentEngine READ currentEngine) public: JavaScriptAroraObject(QObject *parent = 0); public slots: QString translate(const QString &string); QObject *currentEngine() const; QString searchUrl(const QString &string) const; }; class WebPage : public WebPageProxy { Q_OBJECT signals: void aboutToLoadUrl(const QUrl &url); public: WebPage(QObject *parent = 0); ~WebPage(); void loadSettings(); static WebPluginFactory *webPluginFactory(); QList linkedResources(const QString &relation = QString()); static QString userAgent(); static void setUserAgent(const QString &userAgent); protected: QString userAgentForUrl(const QUrl &url) const; bool acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &request, NavigationType type); QObject *createPlugin(const QString &classId, const QUrl &url, const QStringList ¶mNames, const QStringList ¶mValues); QWebPage *createWindow(QWebPage::WebWindowType type); protected slots: void handleUnsupportedContent(QNetworkReply *reply); void addExternalBinding(QWebFrame *frame = 0); protected: void populateNetworkRequest(QNetworkRequest &request); static QString s_userAgent; static WebPluginFactory *s_webPluginFactory; TabWidget::OpenUrlIn m_openTargetBlankLinksIn; QUrl m_requestedUrl; JavaScriptExternalObject *m_javaScriptExternalObject; JavaScriptAroraObject *m_javaScriptAroraObject; private: QNetworkRequest lastRequest; QWebPage::NavigationType lastRequestType; }; #endif // WEBPAGE_H arora-0.11.0/src/webview.cpp000066400000000000000000000732351145000221100156340ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * Copyright 2008 Jason A. Donenfeld * Copyright 2008 Ariya Hidayat * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include "webview.h" #include "adblockdialog.h" #include "adblockmanager.h" #include "adblockpage.h" #include "autofillmanager.h" #include "addbookmarkdialog.h" #include "bookmarksmanager.h" #include "browserapplication.h" #include "browsermainwindow.h" #include "downloadmanager.h" #include "opensearchengine.h" #include "opensearchengineaction.h" #include "opensearchmanager.h" #include "toolbarsearch.h" #include "webpage.h" #include #include #include #include #include #include #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) #if !defined(QTWEBKIT_VERSION) || QTWEBKIT_VERSION < 0x020000 Q_DECLARE_METATYPE(QWebElement) #endif #include #include #include #include #include #include #include #endif #include WebView::WebView(QWidget *parent) : QWebView(parent) , m_progress(0) , m_currentZoom(100) , m_page(new WebPage(this)) #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) , m_enableAccessKeys(true) , m_accessKeysPressed(false) #endif { setPage(m_page); #if QT_VERSION >= 0x040600 QPalette p; if (p.color(QPalette::Window) != Qt::white) { QWindowsStyle s; p = s.standardPalette(); setPalette(p); } #endif connect(page(), SIGNAL(statusBarMessage(const QString&)), SLOT(setStatusBarText(const QString&))); connect(this, SIGNAL(loadProgress(int)), this, SLOT(setProgress(int))); connect(this, SIGNAL(loadFinished(bool)), this, SLOT(loadFinished())); connect(page(), SIGNAL(aboutToLoadUrl(const QUrl &)), this, SIGNAL(urlChanged(const QUrl &))); connect(page(), SIGNAL(downloadRequested(const QNetworkRequest &)), this, SLOT(downloadRequested(const QNetworkRequest &))); connect(BrowserApplication::instance(), SIGNAL(zoomTextOnlyChanged(bool)), this, SLOT(applyZoom())); page()->setForwardUnsupportedContent(true); setAcceptDrops(true); // the zoom values (in percent) are chosen to be like in Mozilla Firefox 3 m_zoomLevels << 30 << 50 << 67 << 80 << 90; m_zoomLevels << 100; m_zoomLevels << 110 << 120 << 133 << 150 << 170 << 200 << 240 << 300; #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) connect(m_page, SIGNAL(loadStarted()), this, SLOT(hideAccessKeys())); connect(m_page, SIGNAL(scrollRequested(int, int, const QRect &)), this, SLOT(hideAccessKeys())); #endif loadSettings(); } void WebView::loadSettings() { #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) QSettings settings; settings.beginGroup(QLatin1String("WebView")); m_enableAccessKeys = settings.value(QLatin1String("enableAccessKeys"), m_enableAccessKeys).toBool(); if (!m_enableAccessKeys) hideAccessKeys(); #endif m_page->loadSettings(); } #if !(QT_VERSION >= 0x040600) #include // DO NOT CHANGE ANYTHING IN THIS FUNCTION // You want to change TabWidget::guessUrlFromString() // This is a copy of QWebView::guessUrlFromStringis from // QtWebKit and should never be out of sync with that code. // This function is fragile, very easy to break, and tested in QtWebKit. QUrl WebView::guessUrlFromString(const QString &string) { QString trimmedString = string.trimmed(); // Check the most common case of a valid url with scheme and host first QUrl url = QUrl::fromEncoded(trimmedString.toUtf8(), QUrl::TolerantMode); if (url.isValid() && !url.scheme().isEmpty() && !url.host().isEmpty()) return url; // Absolute files that exists if (QDir::isAbsolutePath(trimmedString) && QFile::exists(trimmedString)) return QUrl::fromLocalFile(trimmedString); // If the string is missing the scheme or the scheme is not valid prepend a scheme QString scheme = url.scheme(); if (scheme.isEmpty() || scheme.contains(QLatin1Char('.')) || scheme == QLatin1String("localhost")) { // Do not do anything for strings such as "foo", only "foo.com" int dotIndex = trimmedString.indexOf(QLatin1Char('.')); if (dotIndex != -1 || trimmedString.startsWith(QLatin1String("localhost"))) { const QString hostscheme = trimmedString.left(dotIndex).toLower(); QByteArray scheme = (hostscheme == QLatin1String("ftp")) ? "ftp" : "http"; trimmedString = QLatin1String(scheme) + QLatin1String("://") + trimmedString; } url = QUrl::fromEncoded(trimmedString.toUtf8(), QUrl::TolerantMode); } if (url.isValid()) return url; return QUrl(); } #endif TabWidget *WebView::tabWidget() const { QObject *widget = this->parent(); while (widget) { if (TabWidget *tw = qobject_cast(widget)) return tw; widget = widget->parent(); } return 0; } void WebView::contextMenuEvent(QContextMenuEvent *event) { QMenu *menu = new QMenu(this); QWebHitTestResult r = page()->mainFrame()->hitTestContent(event->pos()); if (!r.linkUrl().isEmpty()) { QAction *newWindowAction = menu->addAction(tr("Open in New &Window"), this, SLOT(openActionUrlInNewWindow())); newWindowAction->setData(r.linkUrl()); QAction *newTabAction = menu->addAction(tr("Open in New &Tab"), this, SLOT(openActionUrlInNewTab())); newTabAction->setData(r.linkUrl()); menu->addSeparator(); menu->addAction(tr("Save Lin&k"), this, SLOT(downloadLinkToDisk())); menu->addAction(tr("&Bookmark This Link"), this, SLOT(bookmarkLink()))->setData(r.linkUrl()); menu->addSeparator(); if (!page()->selectedText().isEmpty()) menu->addAction(pageAction(QWebPage::Copy)); menu->addAction(tr("&Copy Link Location"), this, SLOT(copyLinkToClipboard())); } if (!r.imageUrl().isEmpty()) { if (!menu->isEmpty()) menu->addSeparator(); QAction *newWindowAction = menu->addAction(tr("Open Image in New &Window"), this, SLOT(openActionUrlInNewWindow())); newWindowAction->setData(r.imageUrl()); QAction *newTabAction = menu->addAction(tr("Open Image in New &Tab"), this, SLOT(openActionUrlInNewTab())); newTabAction->setData(r.imageUrl()); menu->addSeparator(); menu->addAction(tr("&Save Image"), this, SLOT(downloadImageToDisk())); menu->addAction(tr("&Copy Image"), this, SLOT(copyImageToClipboard())); menu->addAction(tr("C&opy Image Location"), this, SLOT(copyImageLocationToClipboard()))->setData(r.imageUrl().toString()); menu->addSeparator(); menu->addAction(tr("Block Image"), this, SLOT(blockImage()))->setData(r.imageUrl().toString()); } if (!page()->selectedText().isEmpty()) { if (menu->isEmpty()) { menu->addAction(pageAction(QWebPage::Copy)); } else { menu->addSeparator(); } QMenu *searchMenu = menu->addMenu(tr("Search with...")); QList list = ToolbarSearch::openSearchManager()->allEnginesNames(); for (int i = 0; i < list.count(); ++i) { QString name = list.at(i); OpenSearchEngine *engine = ToolbarSearch::openSearchManager()->engine(name); QAction *action = new OpenSearchEngineAction(engine, searchMenu); searchMenu->addAction(action); action->setData(name); } connect(searchMenu, SIGNAL(triggered(QAction *)), this, SLOT(searchRequested(QAction *))); } #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) QWebElement element = r.element(); if (!element.isNull() && element.tagName().toLower() == QLatin1String("input") && element.attribute(QLatin1String("type"), QLatin1String("text")) == QLatin1String("text")) { if (menu->isEmpty()) { menu->addAction(pageAction(QWebPage::Copy)); } else { menu->addSeparator(); } QVariant variant; variant.setValue(element); menu->addAction(tr("Add to the toolbar search"), this, SLOT(addSearchEngine()))->setData(variant); } #endif if (menu->isEmpty()) { delete menu; menu = page()->createStandardContextMenu(); } else { if (page()->settings()->testAttribute(QWebSettings::DeveloperExtrasEnabled)) menu->addAction(pageAction(QWebPage::InspectElement)); } if (!menu->isEmpty()) { if (BrowserMainWindow::parentWindow(tabWidget())->menuBar()->isHidden()) { menu->addSeparator(); menu->addAction(BrowserMainWindow::parentWindow(tabWidget())->showMenuBarAction()); } menu->exec(mapToGlobal(event->pos())); delete menu; return; } delete menu; QWebView::contextMenuEvent(event); } void WebView::wheelEvent(QWheelEvent *event) { if (event->modifiers() & Qt::ControlModifier) { int numDegrees = event->delta() / 8; int numSteps = numDegrees / 15; m_currentZoom = m_currentZoom + numSteps * 10; applyZoom(); event->accept(); return; } QWebView::wheelEvent(event); } void WebView::resizeEvent(QResizeEvent *event) { int offset = event->size().height() - event->oldSize().height(); int currentValue = page()->mainFrame()->scrollBarValue(Qt::Vertical); setUpdatesEnabled(false); page()->mainFrame()->setScrollBarValue(Qt::Vertical, currentValue - offset); setUpdatesEnabled(true); QWebView::resizeEvent(event); } void WebView::downloadLinkToDisk() { pageAction(QWebPage::DownloadLinkToDisk)->trigger(); } void WebView::copyLinkToClipboard() { pageAction(QWebPage::CopyLinkToClipboard)->trigger(); } void WebView::openActionUrlInNewTab() { if (QAction *action = qobject_cast(sender())) { QWebPage *page = tabWidget()->getView(TabWidget::NewNotSelectedTab, this)->page(); QNetworkRequest request(action->data().toUrl()); request.setRawHeader("Referer", url().toEncoded()); page->mainFrame()->load(request); } } void WebView::openActionUrlInNewWindow() { if (QAction *action = qobject_cast(sender())) { QWebPage *page = tabWidget()->getView(TabWidget::NewWindow, this)->page(); QNetworkRequest request(action->data().toUrl()); request.setRawHeader("Referer", url().toEncoded()); page->mainFrame()->load(request); } } void WebView::openImageInNewWindow() { pageAction(QWebPage::OpenImageInNewWindow)->trigger(); } void WebView::downloadImageToDisk() { pageAction(QWebPage::DownloadImageToDisk)->trigger(); } void WebView::copyImageToClipboard() { pageAction(QWebPage::CopyImageToClipboard)->trigger(); } void WebView::copyImageLocationToClipboard() { if (QAction *action = qobject_cast(sender())) { BrowserApplication::clipboard()->setText(action->data().toString()); } } void WebView::blockImage() { if (QAction *action = qobject_cast(sender())) { QString imageUrl = action->data().toString(); AdBlockDialog *dialog = AdBlockManager::instance()->showDialog(); dialog->addCustomRule(imageUrl); } } void WebView::bookmarkLink() { if (QAction *action = qobject_cast(sender())) { AddBookmarkDialog dialog; dialog.setUrl(QString::fromUtf8(action->data().toUrl().toEncoded())); dialog.exec(); } } void WebView::searchRequested(QAction *action) { QString searchText = page()->selectedText(); if (searchText.isEmpty()) return; QVariant index = action->data(); if (index.canConvert()) { OpenSearchEngine *engine = ToolbarSearch::openSearchManager()->engine(index.toString()); emit search(engine->searchUrl(searchText), TabWidget::NewSelectedTab); } } #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) void WebView::addSearchEngine() { QAction *action = qobject_cast(sender()); if (!action) return; QVariant variant = action->data(); if (!variant.canConvert()) return; QWebElement element = qvariant_cast(variant); QString elementName = element.attribute(QLatin1String("name")); QWebElement formElement = element; while (formElement.tagName().toLower() != QLatin1String("form")) formElement = formElement.parent(); if (formElement.isNull() || formElement.attribute(QLatin1String("action")).isEmpty()) return; QString method = formElement.attribute(QLatin1String("method"), QLatin1String("get")).toLower(); if (method != QLatin1String("get")) { QMessageBox::warning(this, tr("Method not supported"), tr("%1 method is not supported.").arg(method.toUpper())); return; } QUrl searchUrl(page()->mainFrame()->baseUrl().resolved(QUrl(formElement.attribute(QLatin1String("action"))))); QMap searchEngines; QWebElementCollection inputFields = formElement.findAll(QLatin1String("input")); foreach (QWebElement inputField, inputFields) { QString type = inputField.attribute(QLatin1String("type"), QLatin1String("text")); QString name = inputField.attribute(QLatin1String("name")); QString value = inputField.evaluateJavaScript(QLatin1String("this.value")).toString(); if (type == QLatin1String("submit")) { searchEngines.insert(value, name); } else if (type == QLatin1String("text")) { if (inputField == element) value = QLatin1String("{searchTerms}"); searchUrl.addQueryItem(name, value); } else if (type == QLatin1String("checkbox") || type == QLatin1String("radio")) { if (inputField.evaluateJavaScript(QLatin1String("this.checked")).toBool()) { searchUrl.addQueryItem(name, value); } } else if (type == QLatin1String("hidden")) { searchUrl.addQueryItem(name, value); } } QWebElementCollection selectFields = formElement.findAll(QLatin1String("select")); foreach (QWebElement selectField, selectFields) { QString name = selectField.attribute(QLatin1String("name")); int selectedIndex = selectField.evaluateJavaScript(QLatin1String("this.selectedIndex")).toInt(); if (selectedIndex == -1) continue; QWebElementCollection options = selectField.findAll(QLatin1String("option")); QString value = options.at(selectedIndex).toPlainText(); searchUrl.addQueryItem(name, value); } bool ok = true; if (searchEngines.count() > 1) { QString searchEngine = QInputDialog::getItem(this, tr("Search engine"), tr("Choose the desired search engine"), searchEngines.keys(), 0, false, &ok); if (!ok) return; if (!searchEngines[searchEngine].isEmpty()) searchUrl.addQueryItem(searchEngines[searchEngine], searchEngine); } QString engineName; QWebElementCollection labels = formElement.findAll(QString(QLatin1String("label[for=\"%1\"]")).arg(elementName)); if (labels.count() > 0) engineName = labels.at(0).toPlainText(); engineName = QInputDialog::getText(this, tr("Engine name"), tr("Type in a name for the engine"), QLineEdit::Normal, engineName, &ok); if (!ok) return; OpenSearchEngine *engine = new OpenSearchEngine(); engine->setName(engineName); engine->setDescription(engineName); engine->setSearchUrlTemplate(searchUrl.toString()); engine->setImage(icon().pixmap(16, 16).toImage()); ToolbarSearch::openSearchManager()->addEngine(engine); } #endif void WebView::setProgress(int progress) { m_progress = progress; } int WebView::levelForZoom(int zoom) { int i; i = m_zoomLevels.indexOf(zoom); if (i >= 0) return i; for (i = 0 ; i < m_zoomLevels.count(); ++i) if (zoom <= m_zoomLevels[i]) break; if (i == m_zoomLevels.count()) return i - 1; if (i == 0) return i; if (zoom - m_zoomLevels[i-1] > m_zoomLevels[i] - zoom) return i; else return i-1; } void WebView::applyZoom() { setZoomFactor(qreal(m_currentZoom) / 100.0); } void WebView::zoomIn() { int i = levelForZoom(m_currentZoom); if (i < m_zoomLevels.count() - 1) m_currentZoom = m_zoomLevels[i + 1]; applyZoom(); } void WebView::zoomOut() { int i = levelForZoom(m_currentZoom); if (i > 0) m_currentZoom = m_zoomLevels[i - 1]; applyZoom(); } void WebView::resetZoom() { m_currentZoom = 100; applyZoom(); } void WebView::loadFinished() { if (100 != m_progress) { qWarning() << "Received finished signal while progress is still:" << progress() << "Url:" << url(); } m_progress = 0; AdBlockManager::instance()->page()->applyRulesToPage(page()); BrowserApplication::instance()->autoFillManager()->fill(page()); } void WebView::loadUrl(const QUrl &url, const QString &title) { if (url.scheme() == QLatin1String("javascript")) { QString scriptSource = QUrl::fromPercentEncoding(url.toString(Q_FLAGS(QUrl::TolerantMode|QUrl::RemoveScheme)).toAscii()); QVariant result = page()->mainFrame()->evaluateJavaScript(scriptSource); return; } m_initialUrl = url; if (!title.isEmpty()) emit titleChanged(tr("Loading...")); else emit titleChanged(title); load(url); } QString WebView::lastStatusBarText() const { return m_statusBarText; } QUrl WebView::url() const { QUrl url = QWebView::url(); if (!url.isEmpty()) return url; return m_initialUrl; } void WebView::mousePressEvent(QMouseEvent *event) { BrowserApplication::instance()->setEventMouseButtons(event->buttons()); BrowserApplication::instance()->setEventKeyboardModifiers(event->modifiers()); switch (event->button()) { case Qt::XButton1: pageAction(WebPage::Back)->trigger(); break; case Qt::XButton2: pageAction(WebPage::Forward)->trigger(); break; default: QWebView::mousePressEvent(event); break; } } void WebView::dragEnterEvent(QDragEnterEvent *event) { event->acceptProposedAction(); } void WebView::dragMoveEvent(QDragMoveEvent *event) { event->ignore(); if (event->source() != this) { if (!event->mimeData()->urls().isEmpty()) { event->acceptProposedAction(); } else { QUrl url(event->mimeData()->text()); if (url.isValid()) event->acceptProposedAction(); } } if (!event->isAccepted()) { QWebView::dragMoveEvent(event); } } void WebView::dropEvent(QDropEvent *event) { QWebView::dropEvent(event); if (!event->isAccepted() && event->source() != this && event->possibleActions() & Qt::CopyAction) { QUrl url; if (!event->mimeData()->urls().isEmpty()) url = event->mimeData()->urls().first(); if (!url.isValid()) url = event->mimeData()->text(); if (url.isValid()) { loadUrl(url); event->acceptProposedAction(); } } } void WebView::mouseReleaseEvent(QMouseEvent *event) { const bool isAccepted = event->isAccepted(); m_page->event(event); if (!event->isAccepted() && (BrowserApplication::instance()->eventMouseButtons() & Qt::MidButton)) { QUrl url(QApplication::clipboard()->text(QClipboard::Selection)); if (!url.isEmpty() && url.isValid() && !url.scheme().isEmpty()) { BrowserApplication::instance()->setEventMouseButtons(Qt::NoButton); loadUrl(url); } } event->setAccepted(isAccepted); } void WebView::setStatusBarText(const QString &string) { m_statusBarText = string; } void WebView::downloadRequested(const QNetworkRequest &request) { BrowserApplication::downloadManager()->download(request); } void WebView::keyPressEvent(QKeyEvent *event) { #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) if (m_enableAccessKeys) { m_accessKeysPressed = (event->modifiers() == Qt::ControlModifier && event->key() == Qt::Key_Control); if (!m_accessKeysPressed) { if (checkForAccessKey(event)) { hideAccessKeys(); event->accept(); return; } hideAccessKeys(); } else { QTimer::singleShot(300, this, SLOT(accessKeyShortcut())); } } #endif #if QT_VERSION < 0x040600 switch (event->key()) { case Qt::Key_Back: pageAction(WebPage::Back)->trigger(); event->accept(); break; case Qt::Key_Forward: pageAction(WebPage::Forward)->trigger(); event->accept(); break; case Qt::Key_Stop: pageAction(WebPage::Stop)->trigger(); event->accept(); break; case Qt::Key_Refresh: pageAction(WebPage::Reload)->trigger(); event->accept(); break; default: QWebView::keyPressEvent(event); return; } #endif QWebView::keyPressEvent(event); } #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) void WebView::accessKeyShortcut() { if (!hasFocus() || !m_accessKeysPressed || !m_enableAccessKeys) return; if (m_accessKeyLabels.isEmpty()) { showAccessKeys(); } else { hideAccessKeys(); } m_accessKeysPressed = false; } void WebView::keyReleaseEvent(QKeyEvent *event) { if (m_enableAccessKeys) m_accessKeysPressed = event->key() == Qt::Key_Control; QWebView::keyReleaseEvent(event); } void WebView::focusOutEvent(QFocusEvent *event) { if (m_accessKeysPressed) { hideAccessKeys(); m_accessKeysPressed = false; } QWebView::focusOutEvent(event); } bool WebView::checkForAccessKey(QKeyEvent *event) { if (m_accessKeyLabels.isEmpty()) return false; QString text = event->text(); if (text.isEmpty()) return false; QChar key = text.at(0).toUpper(); bool handled = false; if (m_accessKeyNodes.contains(key)) { QWebElement element = m_accessKeyNodes[key]; QPoint p = element.geometry().center(); QWebFrame *frame = element.webFrame(); Q_ASSERT(frame); do { p -= frame->scrollPosition(); frame = frame->parentFrame(); } while (frame && frame != page()->mainFrame()); QMouseEvent pevent(QEvent::MouseButtonPress, p, Qt::LeftButton, 0, 0); qApp->sendEvent(this, &pevent); QMouseEvent revent(QEvent::MouseButtonRelease, p, Qt::LeftButton, 0, 0); qApp->sendEvent(this, &revent); handled = true; } return handled; } void WebView::hideAccessKeys() { if (!m_accessKeyLabels.isEmpty()) { for (int i = 0; i < m_accessKeyLabels.count(); ++i) { QLabel *label = m_accessKeyLabels[i]; label->hide(); label->deleteLater(); } m_accessKeyLabels.clear(); m_accessKeyNodes.clear(); update(); } } void WebView::showAccessKeys() { QStringList supportedElement; supportedElement << QLatin1String("input") << QLatin1String("a") << QLatin1String("area") << QLatin1String("button") << QLatin1String("label") << QLatin1String("legend") << QLatin1String("textarea"); QList unusedKeys; for (char c = 'A'; c <= 'Z'; ++c) unusedKeys << QLatin1Char(c); for (char c = '0'; c <= '9'; ++c) unusedKeys << QLatin1Char(c); QRect viewport = QRect(m_page->mainFrame()->scrollPosition(), m_page->viewportSize()); // Priority first goes to elements with accesskey attributes QList alreadyLabeled; foreach (const QString &elementType, supportedElement) { QList result = page()->mainFrame()->findAllElements(elementType).toList(); foreach (const QWebElement &element, result) { const QRect geometry = element.geometry(); if (geometry.size().isEmpty() || !viewport.contains(geometry.topLeft())) { continue; } QString accessKeyAttribute = element.attribute(QLatin1String("accesskey")).toUpper(); if (accessKeyAttribute.isEmpty()) continue; QChar accessKey; for (int i = 0; i < accessKeyAttribute.count(); i+=2) { const QChar &possibleAccessKey = accessKeyAttribute[i]; if (unusedKeys.contains(possibleAccessKey)) { accessKey = possibleAccessKey; break; } } if (accessKey.isNull()) continue; unusedKeys.removeOne(accessKey); makeAccessKeyLabel(accessKey, element); alreadyLabeled.append(element); } } // Pick an access key first from the letters in the text and then from the // list of unused access keys foreach (const QString &elementType, supportedElement) { QWebElementCollection result = page()->mainFrame()->findAllElements(elementType); foreach (const QWebElement &element, result) { const QRect geometry = element.geometry(); if (unusedKeys.isEmpty() || alreadyLabeled.contains(element) || geometry.size().isEmpty() || !viewport.contains(geometry.topLeft())) { continue; } QChar accessKey; QString text = element.toPlainText().toUpper(); for (int i = 0; i < text.count(); ++i) { const QChar &c = text.at(i); if (unusedKeys.contains(c)) { accessKey = c; break; } } if (accessKey.isNull()) accessKey = unusedKeys.takeFirst(); unusedKeys.removeOne(accessKey); makeAccessKeyLabel(accessKey, element); } } } void WebView::makeAccessKeyLabel(const QChar &accessKey, const QWebElement &element) { QLabel *label = new QLabel(this); label->setText(QString(QLatin1String("%1")).arg(accessKey)); QPalette p = QToolTip::palette(); QColor color(Qt::yellow); color = color.lighter(150); color.setAlpha(175); p.setColor(QPalette::Window, color); label->setPalette(p); label->setAutoFillBackground(true); label->setFrameStyle(QFrame::Box | QFrame::Plain); QPoint point = element.geometry().center(); point -= m_page->mainFrame()->scrollPosition(); label->move(point); label->show(); point.setX(point.x() - label->width() / 2); label->move(point); m_accessKeyLabels.append(label); m_accessKeyNodes[accessKey] = element; } #endif arora-0.11.0/src/webview.h000066400000000000000000000131421145000221100152700ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin C. Meyer * Copyright 2008 Ariya Hidayat * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /**************************************************************************** ** ** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the demonstration applications of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License versions 2.0 or 3.0 as published by the Free Software ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Alternatively you may (at ** your option) use any later version of the GNU General Public ** License if such license has been publicly approved by Trolltech ASA ** (or its successors, if any) and the KDE Free Qt Foundation. In ** addition, as a special exception, Trolltech gives you certain ** additional rights. These rights are described in the Trolltech GPL ** Exception version 1.2, which can be found at ** http://www.trolltech.com/products/qt/gplexception/ and in the file ** GPL_EXCEPTION.txt in this package. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If ** you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** In addition, as a special exception, Trolltech, as the sole ** copyright holder for Qt Designer, grants users of the Qt/Eclipse ** Integration plug-in the right for the Qt/Eclipse Integration to ** link to functionality provided by Qt Designer and its related ** libraries. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly ** granted herein. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef WEBVIEW_H #define WEBVIEW_H #include #include "tabwidget.h" #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) #include class QLabel; #endif class BrowserMainWindow; class TabWidget; class WebPage; class WebView : public QWebView { Q_OBJECT public: WebView(QWidget *parent = 0); WebPage *webPage() const { return m_page; } #if !(QT_VERSION >= 0x040600) static QUrl guessUrlFromString(const QString &url); #endif void loadSettings(); #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) void keyReleaseEvent(QKeyEvent *event); void focusOutEvent(QFocusEvent *event); #endif void loadUrl(const QUrl &url, const QString &title = QString()); QUrl url() const; QString lastStatusBarText() const; inline int progress() const { return m_progress; } TabWidget *tabWidget() const; signals: void search(const QUrl &searchUrl, TabWidget::OpenUrlIn openIn); public slots: void zoomIn(); void zoomOut(); void resetZoom(); void applyZoom(); protected: void mousePressEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event); void contextMenuEvent(QContextMenuEvent *event); void wheelEvent(QWheelEvent *event); void resizeEvent(QResizeEvent *event); void dragEnterEvent(QDragEnterEvent *event); void dragMoveEvent(QDragMoveEvent *event); void dropEvent(QDropEvent *event); void keyPressEvent(QKeyEvent *event); private: int levelForZoom(int zoom); private slots: void setProgress(int progress); void loadFinished(); void setStatusBarText(const QString &string); void downloadRequested(const QNetworkRequest &request); void openActionUrlInNewTab(); void openActionUrlInNewWindow(); void downloadLinkToDisk(); void copyLinkToClipboard(); void openImageInNewWindow(); void downloadImageToDisk(); void copyImageToClipboard(); void copyImageLocationToClipboard(); void blockImage(); void bookmarkLink(); void searchRequested(QAction *action); #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) void addSearchEngine(); void hideAccessKeys(); void accessKeyShortcut(); #endif private: QString m_statusBarText; QUrl m_initialUrl; int m_progress; int m_currentZoom; QList m_zoomLevels; WebPage *m_page; #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) bool m_enableAccessKeys; bool checkForAccessKey(QKeyEvent *event); void showAccessKeys(); void makeAccessKeyLabel(const QChar &accessKey, const QWebElement &element); QList m_accessKeyLabels; QHash m_accessKeyNodes; bool m_accessKeysPressed; #endif }; #endif arora-0.11.0/src/webviewsearch.cpp000066400000000000000000000052071145000221100170140ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "webviewsearch.h" #include #include #include #include #include #include WebViewSearch::WebViewSearch(QWebView *webView, QWidget *parent) : SearchBar(parent) { setSearchObject(webView); #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) ui.highlightAllButton->setVisible(true); connect(ui.highlightAllButton, SIGNAL(toggled(bool)), this, SLOT(highlightAll())); connect(ui.searchLineEdit, SIGNAL(textEdited(const QString &)), this, SLOT(highlightAll())); #endif } void WebViewSearch::findNext() { find(QWebPage::FindWrapsAroundDocument); } void WebViewSearch::findPrevious() { find(QWebPage::FindBackward | QWebPage::FindWrapsAroundDocument); } #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) void WebViewSearch::highlightAll() { webView()->findText(QString(), QWebPage::HighlightAllOccurrences); if (ui.highlightAllButton->isChecked()) find(QWebPage::HighlightAllOccurrences); } #endif void WebViewSearch::find(QWebPage::FindFlags flags) { QString searchString = ui.searchLineEdit->text(); if (!searchObject() || searchString.isEmpty()) return; QString infoString; if (!webView()->findText(searchString, flags)) infoString = tr("Not Found"); ui.searchInfo->setText(infoString); } QWebView *WebViewSearch::webView() const { return qobject_cast(searchObject()); } WebViewWithSearch::WebViewWithSearch(WebView *webView, QWidget *parent) : QWidget(parent) , m_webView(webView) { m_webView->setParent(this); QVBoxLayout *layout = new QVBoxLayout; layout->setSpacing(0); layout->setContentsMargins(0, 0, 0, 0); m_webViewSearch = new WebViewSearch(m_webView, this); layout->addWidget(m_webViewSearch); layout->addWidget(m_webView); setLayout(layout); } arora-0.11.0/src/webviewsearch.h000066400000000000000000000027741145000221100164670ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef WEBVIEWSEARCH_H #define WEBVIEWSEARCH_H #include "searchbar.h" #include QT_BEGIN_NAMESPACE class QWebView; QT_END_NAMESPACE class WebViewSearch : public SearchBar { Q_OBJECT public: WebViewSearch(QWebView *webView, QWidget *parent = 0); public slots: void findNext(); void findPrevious(); #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) void highlightAll(); #endif private: void find(QWebPage::FindFlags flags); QWebView *webView() const; }; #include "webview.h" class WebViewWithSearch : public QWidget { Q_OBJECT public: WebViewWithSearch(WebView *webView, QWidget *parent = 0); WebView *m_webView; WebViewSearch *m_webViewSearch; }; #endif // WEBVIEWSEARCH_H arora-0.11.0/tools/000077500000000000000000000000001145000221100140175ustar00rootroot00000000000000arora-0.11.0/tools/cacheinfo/000077500000000000000000000000001145000221100157365ustar00rootroot00000000000000arora-0.11.0/tools/cacheinfo/.gitignore000066400000000000000000000000201145000221100177160ustar00rootroot00000000000000arora-cacheinfo arora-0.11.0/tools/cacheinfo/cacheinfo.pro000066400000000000000000000011401145000221100203730ustar00rootroot00000000000000TEMPLATE = app TARGET = arora-cacheinfo DEPENDPATH += . INCLUDEPATH += . win32|os2: CONFIG += console mac:CONFIG -= app_bundle QT += network # Input SOURCES += main.cpp RCC_DIR = $$PWD/.rcc UI_DIR = $$PWD/.ui MOC_DIR = $$PWD/.moc OBJECTS_DIR = $$PWD/.obj include(../../install.pri) !mac { unix { INSTALLS += man man-compress man.path = $$DATADIR/man/man1 man.files += data/arora-cacheinfo.1 man-compress.path = $$DATADIR/man/man1 man-compress.extra = "" "gzip -9 -f \$(INSTALL_ROOT)/$$DATADIR/man/man1/arora-cacheinfo.1" "" man-compress.depends = install_man } } arora-0.11.0/tools/cacheinfo/data/000077500000000000000000000000001145000221100166475ustar00rootroot00000000000000arora-0.11.0/tools/cacheinfo/data/arora-cacheinfo.1000066400000000000000000000025661145000221100217630ustar00rootroot00000000000000.TH ARORA-CACHEINFO "1" "July 2009" .SH NAME arora-cacheinfo - a tool for extracting files and metadata out of Arora cache files. .SH SYNOPSIS .B arora-cacheinfo [-o cachefile] [file | url] .SH DESCRIPTION .B Arora-cacheinfo is a tool for extracting files and displaying metadata out of an Arora cache files that are stored on the disk. Every cache file contains both the cached file (sometimes compressed) and metadata associated with it such as expiration date. Cache files names always include the md5sum of the url and passing a url to arora-cacheinfo.1 will automatically determine the correct matching cache file name. .SH OPTIONS .TP .B -o cachefile Write the cached file if it exists to \fBcachefile\fR .TP .B file Specify the file to read from. .TP .B url Specify the url from which to compute the file to read from. .TP .SH BUGS Please report bugs to \fIhttp://code.google.com/p/arora/issues/list\fR. .SH AUTHOR The author of arora-cacheinfo is Benjamin C. Meyer . .PP This manual page was written by Benjamin C. Meyer .PP Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation. .PP On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL. arora-0.11.0/tools/cacheinfo/main.cpp000066400000000000000000000100471145000221100173700ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include class NetworkDiskCache : public QNetworkDiskCache { public: QNetworkCacheMetaData _fileMetaData(const QString &fileName) { return fileMetaData(fileName); } }; int main(int argc, char **argv) { QCoreApplication application(argc, argv); QCoreApplication::setOrganizationDomain(QLatin1String("arora-browser.org")); QCoreApplication::setApplicationName(QLatin1String("Arora")); QStringList args = application.arguments(); args.takeFirst(); if (args.isEmpty()) { QTextStream stream(stdout); stream << "arora-cacheinfo is a tool for viewing and extracting information out of Arora cache files." << endl; stream << "arora-cacheinfo [-o cachefile] [file | url]" << endl; return 0; } NetworkDiskCache diskCache; QString location = QDesktopServices::storageLocation(QDesktopServices::CacheLocation) + QLatin1String("/browser/"); diskCache.setCacheDirectory(location); QNetworkCacheMetaData metaData; QString last = args.takeLast(); if (QFile::exists(last)) { qDebug() << "Reading in from a file and not a URL."; metaData = diskCache._fileMetaData(last); } else { qDebug() << "Reading in from a URL and not a file."; metaData = diskCache.metaData(last); } if (!args.isEmpty() && args.count() >= 1 && args.first() == QLatin1String("-o")) { QUrl url = metaData.url(); QIODevice *device = diskCache.data(url); if (!device) { qDebug() << "Error: data for URL is 0!"; return 1; } QString fileName; if (args.count() == 2) { fileName = args.last(); } else { QFileInfo info(url.path()); fileName = info.fileName(); if (fileName.isEmpty()) { qDebug() << "URL file name is empty, please specify an output file, I wont guess."; return 1; } if (QFile::exists(fileName)) { qDebug() << "File already exists, not overwriting, please specify an output file."; return 1; } } qDebug() << "Saved cache file to:" << fileName; QFile file(fileName); if (!file.open(QFile::ReadWrite)) qDebug() << "Unable to open the output file for writing."; else file.write(device->readAll()); delete device; } QTextStream stream(stdout); stream << "URL: " << metaData.url().toString() << endl; stream << "Expiration Date: " << metaData.expirationDate().toString() << endl; stream << "Last Modified Date: " << metaData.lastModified().toString() << endl; stream << "Save to disk: " << metaData.saveToDisk() << endl; stream << "Headers:" << endl; foreach (const QNetworkCacheMetaData::RawHeader &header, metaData.rawHeaders()) stream << "\t" << header.first << ": " << header.second << endl; QIODevice *device = diskCache.data(metaData.url()); if (device) { stream << "Data Size: " << device->size() << endl; stream << "First line: " << device->readLine(100); } else { stream << "No data? Either the file is corrupt or there is an error." << endl; } delete device; return 0; } arora-0.11.0/tools/htmlToXBel/000077500000000000000000000000001145000221100160415ustar00rootroot00000000000000arora-0.11.0/tools/htmlToXBel/.gitignore000066400000000000000000000000131145000221100200230ustar00rootroot00000000000000htmlToXBel arora-0.11.0/tools/htmlToXBel/data/000077500000000000000000000000001145000221100167525ustar00rootroot00000000000000arora-0.11.0/tools/htmlToXBel/data/htmlToXBel.1000066400000000000000000000021731145000221100210610ustar00rootroot00000000000000.TH HTMLTOXBEL "1" "July 2009" .SH NAME htmlToXBel - a tool to convert bookmarks stored in the html format into the xbel format. .SH SYNOPSIS .B htmlToXBel [stdin|htmlfile] [stdout|-o outFile] .SH DESCRIPTION .B htmlToXBel is a tool to convert bookmarks stored in the html format into the xbel format. Many browser have the ability to export their bookmarks as a html file. htmlToXBel takes that file as an input and will output those bookmarks in the XML Bookmark Exchange Language (XBEL) format. .SH OPTIONS .TP .B -o outFile Write the resulting XBEL to the file \fBoutFile\fR .TP .SH BUGS Please report bugs to \fIhttp://code.google.com/p/arora/issues/list\fR. .SH AUTHOR The author of htmlToXBel is Benjamin C. Meyer . .PP This manual page was written by Benjamin C. Meyer .PP Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation. .PP On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL. arora-0.11.0/tools/htmlToXBel/extract.js000066400000000000000000000027721145000221100200610ustar00rootroot00000000000000 function walk() { var parent = arguments[0]; var indent = arguments[1]; var result = ""; var children = parent.childNodes; var folderName = ""; var folded = ""; for (var i = 0; i < children.length; i++) { var object = children.item(i); if (object.nodeName == "HR") { result += indent + "\n"; } if (object.nodeName == "H3") { folderName = object.innerHTML; folded = object.folded; if (object.folded == undefined) folded = "false"; else folded = "true"; } if (object.nodeName == "A") { result += indent + "\n"; result += indent + indent + "" + object.innerHTML + "\n"; result += indent + "\n"; } var currentIndent = indent; if (object.nodeName == "DL") { result += indent + "\n"; indent += " "; result += indent + "" + folderName + "\n"; } result += walk(object, indent); if (object.nodeName == "DL") { result += currentIndent + "\n"; } } return result; } var xbel = walk(document, " "); if (xbel != "") { xbel = "\n\n\n" + xbel + "\n"; } xbel; arora-0.11.0/tools/htmlToXBel/htmlToXBel.pro000066400000000000000000000012201145000221100206000ustar00rootroot00000000000000TEMPLATE = app TARGET = htmlToXBel DEPENDPATH += . INCLUDEPATH += . win32|os2: CONFIG += console mac:CONFIG -= app_bundle QT += network webkit # Input SOURCES += main.cpp RCC_DIR = $$PWD/.rcc UI_DIR = $$PWD/.ui MOC_DIR = $$PWD/.moc OBJECTS_DIR = $$PWD/.obj RESOURCES += source.qrc include(../../install.pri) include(../../webkittrunk.pri) !mac { unix { INSTALLS += man man-compress man.path = $$DATADIR/man/man1 man.files += data/htmlToXBel.1 man-compress.path = $$DATADIR/man/man1 man-compress.extra = "" "gzip -9 -f \$(INSTALL_ROOT)/$$DATADIR/man/man1/htmlToXBel.1" "" man-compress.depends = install_man } } arora-0.11.0/tools/htmlToXBel/main.cpp000066400000000000000000000055041145000221100174750ustar00rootroot00000000000000/* * Copyright 2008 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include /*! A tool to convert html bookmark files into the xbel format. The html bookmark files should be DOCTYPE: NETSCAPE-Bookmark-file-1 More information about XBel can be found here: http://pyxml.sourceforge.net/topics/xbel/ */ int main(int argc, char **argv) { QApplication application(argc, argv); QFile inFile; QFile outFile; QTextStream in(&inFile); QTextStream out(&outFile); // Either read in from stdin and output to stdout // or read in from a file and output to a file // Example: ./app foo.html -o bar.xbel bool setInput = false; bool setOutput = false; QStringList args = application.arguments(); args.pop_front(); foreach (const QString &arg, args) { if (arg == QLatin1String("-o")) { setOutput = true; } else if (setOutput) { outFile.setFileName(arg); outFile.open(QIODevice::WriteOnly); } else if (QFile::exists(arg)) { setInput = true; inFile.setFileName(arg); inFile.open(QIODevice::ReadOnly); } else { qWarning() << "Usage: htmlToXBel" << "[stdin|htmlfile]" << "[stdout|-o outFile]"; return 1; } } if (!setInput) inFile.open(stdin, QIODevice::ReadOnly); if (!setOutput) outFile.open(stdout, QIODevice::WriteOnly); if (inFile.openMode() == QIODevice::NotOpen || outFile.openMode() == QIODevice::NotOpen) { qWarning() << "Unable to open streams"; return 1; } QWebPage webPage; webPage.mainFrame()->setHtml(inFile.readAll()); QFile jsFile(":/extract.js"); if (!jsFile.open(QFile::ReadOnly)) { qWarning() << "Unable to load javascript to extract bookmarks."; return 1; } QString result = webPage.mainFrame()->evaluateJavaScript(jsFile.readAll()).toString(); if (result.isEmpty()) { qWarning() << "Error while extracting bookmarks."; return 1; } out << result; return 0; } arora-0.11.0/tools/htmlToXBel/source.qrc000066400000000000000000000001371145000221100200510ustar00rootroot00000000000000 extract.js arora-0.11.0/tools/htmlToXBel/tests/000077500000000000000000000000001145000221100172035ustar00rootroot00000000000000arora-0.11.0/tools/htmlToXBel/tests/firefox3-bookmarks.html000066400000000000000000000321651145000221100236130ustar00rootroot00000000000000 Bookmarks

    Bookmarks Menu

    Recently Bookmarked
    Recent Tags
    Get Bookmark Add-ons

    Mozilla Firefox

    Help and Tutorials
    Customize Firefox
    Get Involved
    About Us

    Mozilla Firefox Start Page
    Mozilla Firefox Start Page

    Bookmarks Toolbar

    Add bookmarks to this folder to see them displayed on the Bookmarks Toolbar

    Most Visited

    Smart Bookmarks

    Most Visited
    Recently Bookmarked
    Recent Tags

    Getting Started
    Latest Headlines

    Unfiled Bookmarks

    reddit.com: Apple pushes Windows Safari via iTunes updater
    reddit.com: what's new online!
    xkcd - A webcomic of romance, sarcasm, math, and language - By Randall Munroe

    arora-0.11.0/tools/htmlToXBel/tests/ie7-bookmarks.html000066400000000000000000000051711145000221100225470ustar00rootroot00000000000000 Bookmarks

    Bookmarks

    Links

    Customize Links
    Free Hotmail
    Windows Marketplace
    Windows Media
    Windows

    Microsoft Websites

    IE Add-on site
    IE site on Microsoft.com
    Marketplace
    Microsoft At Home
    Microsoft At Work
    Welcome to IE7

    Yahoo!

    MSN.com
    Radio Station Guide

    arora-0.11.0/tools/htmlToXBel/tests/opera9-bookmarks.html000066400000000000000000000021121145000221100232520ustar00rootroot00000000000000 Bookmarks

    Bookmarks

    Opera

    Download Opera
    Opera Community
    Opera Web Mail
    Support Desk

    Download.com
    Amazon.com
    eBay
    Yahoo!

    arora-0.11.0/tools/placesimport/000077500000000000000000000000001145000221100165215ustar00rootroot00000000000000arora-0.11.0/tools/placesimport/.gitignore000066400000000000000000000000241145000221100205050ustar00rootroot00000000000000arora-placesimport arora-0.11.0/tools/placesimport/data/000077500000000000000000000000001145000221100174325ustar00rootroot00000000000000arora-0.11.0/tools/placesimport/data/arora-placesimport.1000066400000000000000000000015251145000221100233230ustar00rootroot00000000000000.TH HTMLTOXBEL "1" "July 2009" .SH NAME arora-placesimport - a tool for importing browser history from Firefox 3 and up .SH SYNOPSIS .B arora-placesinfo ~/.mozilla/firefox/[profile-dir]/places.sqlite .SH DESCRIPTION .B htmlToXBel is a tool for importing browser history from Firefox 3 and up. .SH BUGS Please report bugs to \fIhttp://code.google.com/p/arora/issues/list\fR. .SH AUTHOR The author of htmlToXBel is Benjamin C. Meyer . .PP This manual page was written by Benjamin C. Meyer .PP Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation. .PP On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL. arora-0.11.0/tools/placesimport/main_placesimport.cpp000066400000000000000000000063631145000221100227430ustar00rootroot00000000000000/* * Copyright 2008-2009 Benjamin K. Stuhl * Copyright 2009 Benjamin C. Meyer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include #include #include #include #include #include #include #include #include #include "singleapplication.h" #include "historymanager.h" static HistoryEntry formatEntry(QByteArray url, QByteArray title, qlonglong prdate) { QDateTime dateTime = QDateTime::fromTime_t(prdate / 1000000); dateTime.addMSecs((prdate % 1000000) / 1000); HistoryEntry entry(url, dateTime, title); return entry; } int main(int argc, char **argv) { SingleApplication application(argc, argv); QCoreApplication::setOrganizationDomain(QLatin1String("arora-browser.org")); QCoreApplication::setApplicationName(QLatin1String("Arora")); if (application.sendMessage(QByteArray())) { qWarning() << "To prevent the loss of any history please exit Arora while this is tool is being run"; return 1; } QStringList args = application.arguments(); args.takeFirst(); if (args.isEmpty()) { QTextStream stream(stdout); stream << "arora-placesimport is a tool for importing browser history from Firefox 3 and up" << endl; stream << "arora-placesinfo ~/.mozilla/firefox/[profile-dir]/places.sqlite" << endl; return 0; } QSqlDatabase placesDatabase = QSqlDatabase::addDatabase("QSQLITE"); placesDatabase.setDatabaseName(args.first()); if (!placesDatabase.open()) { qWarning("Unable to open database: %s", qPrintable(placesDatabase.lastError().text())); return 1; } QSqlQuery historyQuery( "SELECT moz_places.url, moz_places.title, moz_historyvisits.visit_date " "FROM moz_places, moz_historyvisits " "WHERE moz_places.id = moz_historyvisits.place_id;"); historyQuery.setForwardOnly(true); if (!historyQuery.exec()) { qWarning("Unable to extract history: %s. Is Firefox running?", qPrintable(historyQuery.lastError().text())); return 1; } HistoryManager manager; QList history = manager.history(); while (historyQuery.next()) { QByteArray url = historyQuery.value(0).toByteArray(); QByteArray title = historyQuery.value(1).toByteArray(); qlonglong prdate = historyQuery.value(2).toLongLong(); HistoryEntry entry = formatEntry(url, title, prdate); history.append(entry); } manager.setHistory(history); return 0; } arora-0.11.0/tools/placesimport/placesimport.pro000066400000000000000000000012741145000221100217510ustar00rootroot00000000000000TEMPLATE = app TARGET = arora-placesimport DEPENDPATH += . INCLUDEPATH += . win32|os2: CONFIG += console mac:CONFIG -= app_bundle QT += sql # Input SOURCES += main_placesimport.cpp include(../../install.pri) # This can be improved to just include the history manager and utility classes # once the history classes are separated out into individual files. include(../../src/src.pri) !mac { unix { INSTALLS += man man-compress man.path = $$DATADIR/man/man1 man.files += data/arora-placesimport.1 man-compress.path = $$DATADIR/man/man1 man-compress.extra = "" "gzip -9 -f \$(INSTALL_ROOT)/$$DATADIR/man/man1/arora-placesimport.1" "" man-compress.depends = install_man } } arora-0.11.0/tools/tools.pro000066400000000000000000000001231145000221100156750ustar00rootroot00000000000000TEMPLATE = subdirs SUBDIRS = cacheinfo htmlToXBel placesimport CONFIG += ordered arora-0.11.0/webkittrunk.pri000066400000000000000000000026301145000221100157450ustar00rootroot00000000000000# To build Arora against WebKit trunk: # export QT_WEBKIT=webkit_trunk # export WEBKITDIR=$HOME/dev/webkit # # Optional: # export WEBKITOUTPUTDIR=$HOME/build/webkit # export WEBKITBRANCH=some_cool_git_branch_of_webkit # CONFIG += $$(QT_WEBKIT) webkit_trunk { WEBKITDIR = $$(WEBKITDIR) isEmpty(WEBKITDIR): error(Please point WEBKITDIR at the root of your WebKit source tree) OUTPUT_DIR = $$(WEBKITOUTPUTDIR) isEmpty(OUTPUT_DIR): OUTPUT_DIR = $$WEBKITDIR/WebKitBuild WEBKITBRANCH = $$(WEBKITBRANCH) !isEmpty(WEBKITBRANCH) { OUTPUT_DIR = $$OUTPUT_DIR/$$WEBKITBRANCH } # When building in debug try to link to the debug version of webkit # and vice versa in release, but when they can not be paired up # because webkit only has release or debug libs fall back to the other one CONFIG(debug) { exists($$OUTPUT_DIR/Debug) { OUTPUT_DIR = $$OUTPUT_DIR/Debug } else { OUTPUT_DIR = $$OUTPUT_DIR/Release } } else:CONFIG(release) { exists($$OUTPUT_DIR/Release) { OUTPUT_DIR = $$OUTPUT_DIR/Release } else { OUTPUT_DIR = $$OUTPUT_DIR/Debug } } message(Using WebKit Trunk at $$WEBKITDIR) message(Using WebKit Build at $$OUTPUT_DIR) QT -= webkit DEFINES += WEBKIT_TRUNK include($$WEBKITDIR/WebKit.pri) QMAKE_RPATHDIR = $$OUTPUT_DIR/lib $$QMAKE_RPATHDIR } arora-0.11.0/windowsinstaller.nsi000066400000000000000000000075421145000221100170120ustar00rootroot00000000000000; Copyright 2008 Jason A. Donenfeld SetCompressor /SOLID /FINAL lzma !define PRODUCT_NAME "Arora" !define /date PRODUCT_VERSION "0.11.0" ;!define /date PRODUCT_VERSION "Snapshot (%#m-%#d-%#Y)" !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\arora.exe" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_ROOT_KEY "HKLM" !define QTDIR "C:\Qt\qt-all-opensource-src-4.5.3" !include "MUI.nsh" !define MUI_ABORTWARNING !define MUI_ICON ".\src\browser.ico" !define MUI_UNICON ".\src\browser.ico" !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES !define MUI_FINISHPAGE_RUN "$INSTDIR\arora.exe" !insertmacro MUI_PAGE_FINISH !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES !insertmacro MUI_LANGUAGE "English" Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" OutFile "${PRODUCT_NAME} ${PRODUCT_VERSION} Installer.exe" InstallDir "$PROGRAMFILES\${PRODUCT_NAME}" InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" ShowInstDetails show ShowUnInstDetails show Section "Main Components" KillProcDLL::KillProc "arora.exe" Sleep 100 SetOverwrite on SetOutPath "$INSTDIR" File "arora.exe" File "tools\htmlToXbel\release\htmlToXBel.exe" File "tools\cacheinfo\release\arora-cacheinfo.exe" File "tools\placesimport\release\arora-placesimport.exe" File "${QTDIR}\lib\QtCore4.dll" File "${QTDIR}\lib\QtGui4.dll" File "${QTDIR}\lib\QtNetwork4.dll" File "${QTDIR}\lib\QtWebKit4.dll" File "${QTDIR}\lib\QtScript4.dll" File "${QTDIR}\lib\QtSql4.dll" ;File "${QTDIR}\lib\phonon4.dll" File "C:\Qt\openssl-0.9.8j\out32dll\ssleay32.dll" File "C:\Qt\openssl-0.9.8j\out32dll\libeay32.dll" SetOutPath "$INSTDIR\locale" File "src\.qm\locale\*.qm" File "${QTDIR}\translations\qt*.qm" SetOutPath "$INSTDIR\plugins\sqldrivers" File "${QTDIR}\plugins\sqldrivers\qsqlite4.dll" SetOutPath "$INSTDIR\imageformats" File "${QTDIR}\plugins\imageformats\qtiff4.dll" File "${QTDIR}\plugins\imageformats\qsvg4.dll" File "${QTDIR}\plugins\imageformats\qmng4.dll" File "${QTDIR}\plugins\imageformats\qjpeg4.dll" File "${QTDIR}\plugins\imageformats\qico4.dll" File "${QTDIR}\plugins\imageformats\qgif4.dll" SetOutPath "$INSTDIR\iconengines" File "${QTDIR}\plugins\iconengines\qsvgicon4.dll" SetOutPath "$INSTDIR\codecs" File "${QTDIR}\plugins\codecs\qtwcodecs4.dll" File "${QTDIR}\plugins\codecs\qkrcodecs4.dll" File "${QTDIR}\plugins\codecs\qjpcodecs4.dll" File "${QTDIR}\plugins\codecs\qcncodecs4.dll" SetOutPath "$INSTDIR\phonon_backend" ; File "${QTDIR}\plugins\phonon_backend\phonon_ds94.dll" SectionEnd Section Icons CreateShortCut "$SMPROGRAMS\Arora.lnk" "$INSTDIR\arora.exe" SectionEnd Section Uninstaller WriteUninstaller "$INSTDIR\uninst.exe" WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\arora.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\arora.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" SectionEnd Section MSVC InitPluginsDir SetOutPath $PLUGINSDIR File "C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\vcredist_x86.exe" DetailPrint "Installing Visual C++ 2005 Libraries" ExecWait '"$PLUGINSDIR\vcredist_x86.exe" /q:a /c:"msiexec /i vcredist.msi /quiet"' SectionEnd Section Uninstall KillProcDLL::KillProc "arora.exe" Sleep 100 Delete $SMPROGRAMS\Arora.lnk RMDir /r "$INSTDIR" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" SectionEnd BrandingText "arora-browser.org"