XXHighEnd - The Ultra HighEnd Audio Player
September 25, 2020, 05:22:14 pm *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: August 6, 2017 : Phasure Webshop open ! Go to the Shop
Search current board structure only !!  
   Home   Help Search Login Register  
Pages: [1]
Author Topic: XXHighEnd Model 1.186a - Your new possibilities for the upcoming Year  (Read 109701 times)
0 Members and 0 Guests are viewing this topic.
High Grade Audiophile
Offline Offline

Posts: 15642

View Profile Email
« on: December 31, 2013, 06:48:35 pm »

Download is is at the bottom.
Activate with your existing 0.9z-7 (and up) Activation Code.
Do NOT throw out your existing 0.9z-7 (and up) version. Install any new version in its own folder (your Activation could be violated otherwise).

With the first version of XXHighEnd being public on May 25 2007, the new version as of now is the 186th version;
Because it is high time to think we're out of beta finally, this will be version 1.186 (1.186-a actually)

Expected SQ changes : Severe and more than ever before.

Supports Windows 7, Windows 8 and 8.1 and the Server versions thereof. Vista and XP are also supported but the Sound Quality (dialing) possibilities of these are significantly less.

Release Notes

(Nobody is expected to read this pile. But please do before you ask questions.)

  • The whole process of Playback vs. Track Loading has been revamped. This in itself already implies SQ changes, but the reason for it has been a "memory leak" (for insideres a handle leak actually) which springs from a Microsoft bug since 2009, still there, and which couldn't be solved otherwise.
    As some may remember it is good habit to reboot the PC each day (when not switched off daily in the first place) and the cause of this was this "leak". This rebooting should not be necessary anymore, and performance and SQ because of that should remain consistent.

  • Q5=1
    In the previous version the Q5 parameter has been re-introduced with another means of SQ control. In the Release Notes of that version it was explicitly advised to not use Q5=1. This advise was there because the value of 1 contained a hidden feature that might or might not work, but is now finished for the current version.
    With Q5=1 a completely different SQ will be perceived with the focus on Windows 8 showing a more normal sound stage.
    Do not worry about two processor cores showing a high cpu usage (also see below subject); this is intentional.

  • New Q4 appliance
    What has been applied to Q5 as described above, now also has been applied to Q4 but now dedicated to Track (Part) Loading. Here too, the setting of 1 implies a special "treatment". Together with Q5 now a "trimming" is possible of how processor cycles interfere with SQ.
    For more on this see the ToolTip on Q4.

  • New Q3 appliance
    Same story, but now about how Q4 really behaves. Here too a setting of 1 is special. It works on itself as well, and this can only work when Q4 is set to 1. See the ToolTip on Q3.

  • Q2 has been eliminated.

  • New Processor Appointment Schemes
    The new Schemes (5 in total) all work totally different, while in the mean time best selections can be made for 2, 3, 4, and 6 core processors. All includes decisions about Hyperthreading or not and that On vs Off may double the functionality of some of the Schemes. See the ToolTip on Processor Appointment Scheme.

  • One of the best changes maybe : The crucial and most used SQ parameters are now obtained in the Q Panel section - all to be erached conveniently (opposed to always searching for them in the scattered Settings Area).

  • The SFS (Split File Size) now has two decimals.
    This is not so much for being able to dial in values like 38.17 (though you could) but merely for being able to use values under 0.1;
    Whether these more than ultra low values really can work for your system depends foremost on the processor speed. But remember, the higher processor speed usually is not the best for SQ to begin with.
    It is almost obligatory to point the Playback Drive to a RAMDisk for these ultra low settings, or otherwise your disk I/O will hold up.
    Important : When the SFS is too low, it will show as sheer stuttering (like 3 or so stops per second).
    More important : It is not allowed to find the limit for normal Playback. Example : 0.08 plays but 0.07 does not. If you now use 0.08 it will go wrong at some stage because all really depends on not a single thing going wrong. But once it does, things go "out of sync" and the stuttering will be your part. Your test for this ? try Alt-u / Alt-d during Unattended Playback. This will not so much incur for the stuttering, but the Volume Change should go smoothless. If it does not, you can still accept that, but at least you know that you actually crossed the limit.

  • The Off button has been removed from the Q Panel, to make place for the Q parameters mentioned above.
    Notice that clicking the blue led in the right border (see picture above) does (always did) the same as the Off button (remove the Sound Engine from memory).

  • Dynamic LAN Connecting
    In previous versions (longer ago) a row of "Persist" buttons existed in Settings, Services section. They were there for future use and got removed again. One is back now : The Persist button next to the Keep LAN Services button;
    With Keep LAN Services active and Persist not active, the LAN Services will be available to Minimized OS Mode, but the LAN will not persist when Unattended Playback starts;
    Each activity which needs the LAN (amongst that e.g. Alt-z for obtaining a track in tge Demo Gallery) will reactivate the LAN to perform the activity concerned, and will shut it down again right after that when (Unattended Playback) is going on.

    Notice : The feature explicitly anticipates
    1. Having a PC with music connected by any means;
    2. Get yourself a new PC and without any change utilize the old PC to obtain the music from.
    This means that also the Gallery Meta Data can happily reside on the old PC.

    Of course when the music resides on a NAS (Network Attached Storage) this works just the same, but the above description is about something else : The move from a Music PC full of electronic noise (because of the disks attached), to a PC that is as bare as possible - that PC now obtaining the music data as you were used to (same drive letters and everything -> make mappings to the now network drives) in a fashion that you really won't know the difference. Also not for speed in obtaining the music data. One requirement about the speed : XXHighEnd as well as the Playback Drive need to be in a RAMDisk.

    In due time a Tutorial will be made on how to set this all up, thinking of changing an existing music PC with music data into a dedicated music PC taking its music data from the old music PC without you noticing a difference.

  • Since one of the last versions 32 bit files did not play anymore. Now they should again, but *notice* this has not been tested.
    To keep in mind : 32 bit files never were supported officially and they still are not. However, with the XXHighEnd Volume at -0dBFS they can play (otherwise an error message tells you).

  • The LAN On button has been moved more upfront. The message "Done" has disappeared and instead when Done the button receives another colour (you will notice automatically).
    Note : The button will *not* receive this colour automatically when the LAN is On in the first place or when other (auto) activities make the LAN go On.

  • There have been some protective messages about certain Buffer Size combinations not working (for Attended Playback and also for Unattended Playback) which now have been removed because the situations concerned should work now.

  • It could happen that the OS reports itself as WIN32NT which has been solved. However, possibly it can not solve all situations and for those :

  • It is now possible to kind of hard-code the running OS by means of creating files like
    Those files are in the XX folder with all the possibilities, but all with the .tss extension. Rename the one wanted to .tst and XXHighEnd will report that particular OS to be active.
    Watch out : Obviously this challenges for problems, because no OS which is XP can behave like e.g. W7. However, W7 can behave like Vista or XP (or W8 like W7 etc.) and in that case the features of the denoted OS will be used.
    Not more than one such file should be renamed to .tst and errors following from denoting e.g. W7 as W8 are for your own risk and understanding.

  • There is official support for W8.1 now (meaning that it really needs this XXHighEnd version to let W8.1 behave optimally).
    W2012 R2 (which is the server version of W8.1) is also supported.

  • Because of a bug W2008 (R1, which is the server version of Vista) never was supported well.
    Same counts for W2012 (which is the server version of W8).

  • There is a new Alt-R shortcut; this activates the Desktop while in Unattended Mode without anything else. So, it now does not need XXHighEnd to be brought forwards to do this.
    When sound is playing, it stops.

  • There's also a new Ctrl-Alt-x which starts XXHighEnd (from Unattended) and which stops sound at the same time (useful for demos/shows because this now allows for faster new track/album selection).

  • There's a new field in Settings (Presets Section) named "Copy Settings to". In there you can denote a folder to which the .XXSI (Preset Settings file) is copied to when XXHighEnd quits. When this folder refers to your XX folder on disk while XXHighEnd resides in a RAMDisk, each changed setting is just saved as usual to disk. Thus, when you start XXHighEnd a next time from disk, or when you after a reboot copy the XX folder to the RAMDisk, you will find your changed Settings preserved while XXHighEnd started from RAMDisk.

  • When a larger bunch of albums etc. are put into a Gallery, it could happen that error messages appeared under way because of something being not right with the original albums (folders). Though the messages were and are inconvenient it could imply a tedious long lasting task to finally put all in the Gallery (because each hiccup had to be corrected before the process wanted to continue). This now has been changed into log entries (XX- log files).
    The same applies for the "Copy To" functions.

  • The Album Compare functionality is now finished (work of years) and a Tutorial will be written for it soon. Edit January 26, this is here now : Album Comparison.
    Supposed someone knows what this is about in the first place : Albums are now detected as equal or different to a degree which is highly reliable and can be trusted enough to let it do its automated work of holding new albums against an existing Library. Notice that when it is run the first time for this version, all ID's will be regenerated which takes a longer time.

  • New to the Album Compare functionality is the facility to now make an export of a Library which comprises of a few 100KB for 10s of thousands of albums, which can be imported elsewhere and compared there.

  • It has always been wacky when or when not the XXHighEnd graphical interface was auto-started when Unattended Playback had finished. This appeared to be a bug and is now solved.

  • Cue Files never allowed for putting individual tracks of them to the Demo- or Nice Stuff Gallery (they were always obtained in full). Now they do.

  • It was found that the Proxy (cache) that should be active and speedily load an album which has been loaded previously for Unattended Playback (think Play - Pause - Play and the like) did not work anymore for the latter version(s) (possibly 0.9z-9 only). Now that is working again.

  • A provision has been included that protects the IMDIsk RAMDisk of getting full without notice (this is an IMDisk failure) and which caused normal memory to overwrite with obviously all sorts of unexpected problems.

  • For W8 (and W8.1) now the Wallpaper Coverart can work for Unattended Playback (this is a W8 inherent problem). Notice though that this goes (relatively) super slow which in itself is harmless.
    Additional remark : When the LAN is dynamically shut off (see subject more above) no Wallpaper can be shown because it is taken from the source location during (always Unattended in this case) Playback, while the source location is cut off (LAN is shut off). Only when Galleries are used to select albums for Playback *and* the Gallery data is kept locally (is on the music PC itself) the Wallpaper Coverart will work because it is taken from the locally present Coverart Data (from the Gallery folders).

  • When an album is double-clicked in the Library Area, it is loaded into the Playlist Area (this has been so always); This has been changed into auto-learing the Playlist Area first before the double-clicked album is loaded into the Playlist Area.
    Compare with just selecting (clicking once) the album and using the Load button, which *adds* to the Playlist Area (like double-clicking the album did so previously).
    Remember : Double-clicking can not ever load more than one album in the Playlist Area whilst using the load button can (and which can load more than one album at one press of it, assumed more albums have been selected (Ctrl-click etc.)).

  • When the set dimensions of the Wallpaper Coverart (Max Height setting in Settings) implied a too large Wallpaper for the monitor's physical dimensions, an error could occur when the Wallpaper was to be shown. Now there is a protection for this.

  • It only now appeared that using Alt-r in Attended Mode most probably never opened Explorer while it was intended to do so. So we can just as well say that "a new shortcut Alt-r now opens Explorer".
    Keep in mind : this is only for Attended Mode, while in Unattended Mode Alt-r does something else (see a subject above).

  • Album Titles which contain the word FLAC (without braces etc.) caused those albums unable to load. This is now solved.

  • Right-clicking the Coverart in the left pane (or clicking the pane when no Coverart shows because it is not available) now shows the path of the album concerned (in the top of the menu appearing). Actually it shows the path to the file name of the track, and to your conveniency you can copy it to the clipboard (just standard Windows functionality - select and Ctrl-c).

  • New Search facilities.
    The Search field (textbox) near the bottom and next to the [ R ] button (Library Area selected) could always be used for typing data which actively limited the albums (or tracks) shown in the Library Area; This has not changed. What has though is that now the words / phrases typed do not need to occur in the exact same concatenated fashion for the albums/tracks in order to obtain them in the result list.
    The ToolTip on the field explains all extensively (use the [ H ] button in the top to read it all in your own pace) and it comes with examples which will show you how powerful this Search function now has become; You can use "and" and "or" and e.g. search for words as they really are in there (meaning : you can search for Bill and are not provided with "Billy".
    Notice : Without explicitly obtaining the Search Operators (like | for "or") all works the same as it did previously and you won't even know it is in there. This is possibly not the most convenient (people won't even know about it) but when not setup like this, people merely wouldn't understand the results anymore. At least that is the idea.

  • The removal of albums from Galleries (and some more in this area) has been improved for decency again. It is now quite reliable and can be used without too many anomalies (meaning : we don't encounter them anymore).

  • The startup time of XXHighEnd has been improved (can be up to half the time of what it was).

  • XXHighEnd always auto-launched after Unattended Playback was finished after 20 seconds; It can be called a bug that this also happened (after only 20 seconds) when no Phase Alignment was in order. So, now XXHighEnd starts right after Playback is finished when no PA is in order (with PA it still does - it has to).

  • Since its introduction, Alt-m shuts off the monitor when e.g. the move of the mouse implied it going on during Unattended Playback. However, this respected the Setting for this (in Settings), meaning that it wouldn't do anything (but flash a bit) when the monitor was set not to shut off at Unattended Playback. This now has been changed into Alt-m always shutting off the monitor when used (during Unattended Playback) which is now just additional functionality (leave on the monitor at first, and when you want shut it off with Alt-m).

  • The Add to Gallery functionalities (left pane Coverart, Tracks in Playlist Area, Items in Library Area) now shows the last Gallery used at the top of its list to choose from, even when this last usage was in a previous XXHighEnd session.

  • Sadly it has been found that none of the ToolTips worked for the On/Off buttons troughout (actually since the new scalable interface). So, want something new to read ? now they all work.

  • Also sadly, over time it has been sneaked in that a more than 8 core processor was not dealt with properly regarding the chosen Appointment Schemes. So, 12 core processors started to emerge and the Scheme settings did not incorporate those cores and things went unexpected.
    Of course this is now history because of the new Schemes anyway (see subject more above), but still it is good to notice that upgading to this version is a must for those with more than 8 core processors.

  • There is formal support now for 20 core processors (they exist for a somewhat longer time now). The leds (now 20) in the top of the screen reflect this.

  • For those using 2 core processors (not Hyperthreaded) it is to be noticed that the "Not Switch during Playback" button in Settings (Processor Settings Section) now utilizes special functionality for those 2 core processors. Obviously nobody could have read the ToolTip on it previously (see subject above) which said "for expirimental use". Anyway, now it is not anymore.
    But and also : Even for more core processors this ToolTip can be read because also for those it can imply different SQ behavior - though this was not tested for its merits over here.

  • Because of some false "intelligence", previously it could easily happen that your preciously dialed in Q1 to other than 14, got reset to 14. This would happen when the DAC was disconnected, so the "intelligence" said that it was better to set it at the default 14 which would work for most audio devices. A nice message would tell you about it. However, when reconnecting the DAC nothing (obviously) would set it back to you earlier setting, and *that* went unnoticed. So days later you would find Q1 being at 14 and you would never know why.
    This resetting to 14 has thus been taken out now.

  • It was found that Alt-m (shut off monitor) reset the Appointment Scheme settings to the "no Playback going on" situation. Not the best ...
    But now solved.

  • When Q5 is set to 1, this puts extremely high demands on the system and although harmless, it may cause stuttering (also see previous subjects). This means that this is not the best for when Phase Alignment is in order, because it will take as many "plops" as stutters occur. Therefore a message will tell you that Phase Alignment is not allowed when Q5 is set to 1 (this message was already there in 0.9z-9). Now though, the message will inform you about a Q5Is1Message.tst file which is in your XX folder, which contents will tell you that when the file is renamed to the .tss extension, Phase Alignment will play (but be careful and obviously first get yourself stutterless playback without PA in order).

  • A new button "Always clear Proxy before Playback" is available in Settings (Memory and Disk utilization Section);
    When active it performs the [ C ] ("Clear Cache") button in the bottom of the main screen for you at each start of Playback. The intention of this is to explicitly clear the "Proxy" (a form of cache) which can be convenient when using a RAMDisk (of always limited size) so it doesn't run full unnecessary.
    Notice that this now will be happening : You start Unattended Playback, bring up XXHighEnd, select another track from the same (!) Playlist and press Play again. Now, normally this will go fast because all has been prepared from the previous Playback session, but with this button active all will be cleared and preparation has to be performed again (and thus takes again the original time for it). And thus the same when you were used to use the [ C ] button right before playback.
    Thus, more slow when such a second Playback attempt is performed, but no reason anymore to have filled up the RAMDisk which can happen otherwise.

  • Following up on the previous subject, the [ C ] button (Clear Cache) now shows an Active/Inactive led and that will show Active when the "Always clear Proxy before Playback" button has been set active. This is your upfront indication that the Proxy will be cleared by standard before Playback starts. However, when this button shows Active, you can deactivate it by means of clicking on it (now shows Inactive) and now the Proxy will NOT be cleared before Playback starts. This status (Inactive) will remain for th XXHighEnd session, so as soon as XXHighEnd is restarted, the Clear Cache [ C ] button will take the status from the Always clear Proxy button in Settings.
    Watch out : Once you have set the Clear Cache button to Inactive, hence it shows Inactive, now pressing it will clear the cache/proxy. And to remember, once the button shows Active, clicking it will not clear the cache/proxy (it only makes it Inactive).
    Notice that from all follows that when the Always clear Proxy button is Active and the Clear Cache button shows Inactive, the only way to reset the latter is to change the button in Settings back and forth or restart XXHighEnd.

  • It was found that Saving or Loading Settings Presets actually destroyed the XXHighEnd screen for its size (it went smaller). Also the colours were not restored according to the Slider setting in the left hand border of the screen.
    This has now been solved.

  • Similarly it was found that the position of the two splitter bars (denoted [ 1 ] and [ 2 ]) did not restore to the saved positions. Thus, while all Settings could be loaded from an earlier saved Settings Preset File, the splitter bars remained where they were and this was not intentional.
    This is now solved.

  • It can happen that the Settings Preset File in use (PresetLoader.XXSI in your XX folder) gets corrupted. This is not so convenient because it can easily cause XXHighEnd to be rendered unusable, also for loading another Preset File;
    When such a situation is detected at startup of XXHighEnd, you will be offered to load another Settings Preset File from earlier saved ones.
    Also see hereunder.

  • Your Settings will now be auto saved to a backup file each day. Look here

    The three files starting with "PresetLoader-" you see there, were saved automatically from the lastly used Settings of the previous day. In the name you see the date obtained when the files were created, and the date/time of the files show from which date/time they actually are (read : at which date/time the original PresetLoader.XXSI was used to save the Settings, which in itself happens at each quit of XXHighEnd).
    Thus, might your current Settings Preset get corrupted, there should always be a backup available from the last time all was still okay.

  • Analoguely to an earlier mentioned subject, when the "Copy Settings to" field (in Settings) is filled, any auto-saved Presets Setting file is copied to that denoted location as well. This is again when working with a RAMDisk, so even the auto-saved Settings won't get lost. But :
    This does not happen when the "Data Location" field in Settings contains a Drive Letter (or Drive referrer) (default it is \XXData\ without Drive) because it is assumed that when a Drive is in there, this is a reference to permanent storage (and no check is performed whether this refers to a RAMDisk after all and which also would not be a logical thing to do).

  • There's a new option at rightclicking an Item in the Library Area : Volume Normalize selected Items :

  • See the Textbox in the top of the screen in above picture ? If you double-click that it disappears and frees the processor core activity leds under it. Notice that this "Active Search" Textbox is the same one (or is beaving/does the same) as the one near the bottom to the right of the [ R ] button.
    When the Library Area is reactivated ([ L ] button in the top) it will be there again.

  • For Windows 8 (not 8.1) an Operating System issue existed of sound stopping after close to 11 minutes after a reboot and pressing Play (avoiding the issue for the boot session by using Alt-u/-d) at least one time). This issue does not exhibit anymore.
  • When a System Preset was used (the 1,2,3,4,5 buttons in the left hand border) the Minimize OS button disappeared (a next startup of XXHighEnd solved that). And, at an initial startup after an upgrade or fresh install, such a System Preset is always used for the first screen settings; so here too the Minimized OS button never showed.
    This has now been solved.

Reminder for Windows 8 users : Don't forget to install the Windows 7 Shell provided with XXHighEnd. See the Windows7_Shell folder in your XX folder and don't forget to read the readme's in there !
Notice that this Windows 7 Shell does not work for Windows 8.1.

Please report different issues on the Forum in their own topic.

Just start the XXHighEnd.exe file; no explicit Install as such is needed. Notice that at the very first start a "has stopped working" of XXEngine3.exe can happen; just click that away.

Edit : January 2, 2014 : The original 1.186 version has been replaced with 1.186-a due to a confusing Title Bar issue.

* XXHighEnd-1.186a.rar (14513.45 KB - downloaded 6366 times.)
« Last Edit: January 26, 2014, 05:30:54 pm by PeterSt » Logged

For the Stealth III LPS PC :
W10-14393.0 - April 1, 2020 (2.11)
XXHighEnd Mach III Stealth LPS PC -> Xeon Scalable 14/28 core with Hyperthreading On (set to *14/28* cores in BIOS and set to 10/20 cores via Boot Menu) @~660MHz, 48GB, Windows 10 Pro 64 bit build 14393.0 from RAM, music on LAN / Engine#4 Adaptive Mode / Q1/-/3/4/5 = *14*/-/1/1/1/ Q1Factor = *1* / Dev.Buffer = 4096 / ClockRes = 15ms / Memory = Straight Contiguous / Include Garbage Collect / SFS = *10.19*  (max *10.19*) / not Invert / Phase Alignment Off / Playerprio = Low / ThreadPrio = Realtime / Scheme = Core 3-5 / Not Switch Processors during Playback = Off/ Playback Drive none (see OS from RAM) / UnAttended (Just Start) / Always Copy to XX Drive (see OS from RAM) / Stop Desktop, Remaining, WASAPI and W10 services / Use Remote Desktop / Keep LAN - Not Persist / WallPaper On / OSD Off (!) / Running Time Off / Minimize OS / XTweaks : Balanced Load = *52* / Nervous Rate = 10 / Cool when Idle = n.a / Provide Stable Power = 0 / Utilize Cores always = 1 / Time Performance Index = Optimal / Time Stability = Stable / *Arc Prediction Filtering (16x)* / Always Clear Proxy before Playback = On -> USB3 from MoBo -> Lush^2*A:B-W-Y-R, B:B-W-R* USB 1m00 -> Phisolator 24/768 Phasure NOS1a/G3 75B (BNC Out) async USB DAC, Driver v1.0.4b (16ms) -> B'ASS Current Amplifier -> *Blaxius^2 A:B-R, B:B-R* Interlink -> Orelo MKII Active Open Baffle Horn Speakers. *ET^2* Ethernet from Mach III to Music Server PC (RDC Control).
Removed Switching Supplies from everywhere (also from the PC).

For a general PC :
W10-10586.0 - May 2016 (2.05+)
*XXHighEnd PC -> I7 3930k with Hyperthreading On (12 cores)* @~500MHz, 16GB, Windows 10 Pro 64 bit build 10586.0 from RAM, music on LAN / Engine#4 Adaptive Mode / Q1/-/3/4/5 = 14/-/1/1/1 / Q1Factor = 1 / Dev.Buffer = 4096 / ClockRes = 1ms / Memory = Straight Contiguous / Include Garbage Collect / SFS = 0.10  (max 60) / not Invert / Phase Alignment Off / Playerprio = Low / ThreadPrio = Realtime / Scheme = Core 3-5 / Not Switch Processors during Playback = Off/ Playback Drive none (see OS from RAM) / UnAttended (Just Start) / Always Copy to XX Drive (see OS from RAM) / All Services Off / Keep LAN - Not Persist / WallPaper On / OSD On / Running Time Off / Minimize OS / XTweaks : Balanced Load = *43* / Nervous Rate = 1 / Cool when Idle = 1 / Provide Stable Power = 1 / Utilize Cores always = 1 / Time Performance Index = *Optimal* / Time Stability = *Stable* / Custom Filter *Low* 705600 / -> USB3 *from MoBo* -> Clairixa USB 15cm -> Intona Isolator -> Clairixa USB 1m80 -> 24/768 Phasure NOS1a 75B (BNC Out) async USB DAC, Driver v1.0.4b (4ms) -> Blaxius BNC interlink *-> B'ASS Current Amplifier /w Level4 -> Blaxius Interlink* -> Orelo MKII Active Open Baffle Horn Speakers.
Removed Switching Supplies from everywhere.

Global Moderator
Pages: [1]
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1 RC2 | SMF © 2001-2005, Lewis Media Valid XHTML 1.0! Valid CSS!
Page created in 0.037 seconds with 19 queries.