¿ªÔÆÌåÓý

Locked Can't access tables


 

Ken,

According to my documentation, the 0x9B yy (short form AIU status) command is supported by by the V7.x.x/V1.65B combination.

The 0x8A yy (long form AIU status) command is not.

Although I unfortunately don't own an AIU to test with, my V7.3.7/V1.65B Power Cab combination does respond to 0x9B yy with two bytes of data (not surprisingly 00 00). It ignores an 0x8A yy command.

If someone has an AIU and V7.3.7/V1.65B system, they could test this with the NCE Command Monitor and Send NCE Binary Command windows in JMRI. The "yy" is the cab bus (hex) address of the AIU you are interrogating.

Since only the short form is supported, you can get current status, but not whether a particular input has changed since last read.
--
Dave in Australia

The New England Convention 2018

On 7 Mar 2018, at 2:28 PM, 'Ken Cameron' kcameron@... [jmriusers] <jmriusers@...> wrote:

AIU readback isn't supported in the PowerCab/SB3/SB5/Twin series of systems.
There wasn't enough room in the memory for it to hold that information.

Only the PowerPro command station (CS02) supports letting JMRI know what the
AIU devices are seeing.


 

Dave,

I've got that combination of parts, so I can do the test. My understanding
was the buffer inside the command station that exists on the CS02 that
records every turnout command does not exist in the USB series of command
stations. So the area of memory that would support that command doesn't
exist. I will try. It may be that this would work, bypassing the command
station memory and work. But that would mean the USB series is working
different than the PowerPro series and the polling would need to learn that.
It'd be great if that is true. But I thought I had a conversation with Jim
that turned up as a 'we didn't have space' to keep the records in the
command station.

-Ken Cameron, Member JMRI Dev Team
www.jmri.org
www.fingerlakeslivesteamers.org
www.cnymod.com
www.syracusemodelrr.org


 

Dave,

I just setup the test and the replies show it sees the AIU!! So it would
seem that by editing NceSensorManager to use that command instead of reading
the memory block would work for these systems. The question is what speed is
reasonable for this action? The upside is there is a low number of AIU
boards possible (2-PowerCab, 3-5, 8-9, 10-USB) is 5 boards (or is it 6 if
address 7 is valid for a AIU). So polling as a low priority thread on
address every 100ms, you still get under 1s worst case delay. So that's
likely close to what we get from the method of scanning the memory in the
CS02. I'm not reading deeply in the manager right now, but it looks like
part of its polling logic is based on how often things are changing and
other traffic.

I don't know what the effective scan rate we get on the CS02 is, so maybe
somebody else out here knows?

It looks doable but I also see a lot of things in the code that would need
to change so it knows all of the possible changes that might be out there.
Like MINAIU and MAXAIU and the range. The gap in the range. Things like
that. My current task loading isn't able to deal with it, so if somebody
else wants to, I can still do the testing.

-Ken Cameron, Member JMRI Dev Team
www.jmri.org
www.fingerlakeslivesteamers.org
www.cnymod.com
www.syracusemodelrr.org


 

Turnout position memory in the command station memory is only applicable to Accessory Decoders, not to AIUs.

However, the long form AIU command does require command station memory and that would be why it isn't available in the V1.65 series.
--
Dave

On 8 Mar 2018, at 12:19 AM, 'Ken Cameron' kcameron@... [jmriusers] <jmriusers@...> wrote:

I've got that combination of parts, so I can do the test. My understanding
was the buffer inside the command station that exists on the CS02 that
records every turnout command does not exist in the USB series of command
stations. So the area of memory that would support that command doesn't
exist. I will try. It may be that this would work, bypassing the command
station memory and work. But that would mean the USB series is working
different than the PowerPro series and the polling would need to learn that.
It'd be great if that is true. But I thought I had a conversation with Jim
that turned up as a 'we didn't have space' to keep the records in the
command station.


 

I haven't checked the code, but are you saying that the existing AIU code doesn't poll the AIU itself but looks at an AIU memory block (or are you confusing this with the turnout position memory block)?

<>
<>
--
Dave

On 8 Mar 2018, at 1:55 AM, 'Ken Cameron' kcameron@... [jmriusers] <jmriusers@...> wrote:

I just setup the test and the replies show it sees the AIU!! So it would
seem that by editing NceSensorManager to use that command instead of reading
the memory block would work for these systems. The question is what speed is
reasonable for this action? The upside is there is a low number of AIU
boards possible (2-PowerCab, 3-5, 8-9, 10-USB) is 5 boards (or is it 6 if
address 7 is valid for a AIU). So polling as a low priority thread on
address every 100ms, you still get under 1s worst case delay. So that's
likely close to what we get from the method of scanning the memory in the
CS02. I'm not reading deeply in the manager right now, but it looks like
part of its polling logic is based on how often things are changing and
other traffic.

I don't know what the effective scan rate we get on the CS02 is, so maybe
somebody else out here knows?

It looks doable but I also see a lot of things in the code that would need
to change so it knows all of the possible changes that might be out there.
Like MINAIU and MAXAIU and the range. The gap in the range. Things like
that. My current task loading isn't able to deal with it, so if somebody
else wants to, I can still do the testing.


 

I may have mixed up cases here, it has been a while since I was regularly
deep in the NCE code. Now what I did see looks like some of the code is
there for the other command, but I don't think it is getting invoked. Also
the ranges etc... they have nothing in the code to show knowing the
difference.

-Ken Cameron, Member JMRI Dev Team
www.jmri.org
www.fingerlakeslivesteamers.org
www.cnymod.com
www.syracusemodelrr.org


 

Ken,

I just tried adding an NCE Sensor to my Power Cab profile following the instructions at the second link below.

I entered 8:2 into the Hardware Address field of New Sensor, pressed Create and my Command Monitor and NCE USB LEDs showed JMRI happily polling my non-existent AIU 8 (with a 9B 08 command). The polling interval was about 200ms.

So it seems the code is already in place...
--
Dave Heap

The New England Convention 2018

On 8 Mar 2018, at 4:56 AM, Dave Heap <dgheap@...> wrote:

I haven't checked the code, but are you saying that the existing AIU code doesn't poll the AIU itself but looks at an AIU memory block (or are you confusing this with the turnout position memory block)?

<>
<>


 

Dave,

I'm suspecting that is the difference of the two commands. The one in turn
polls the AIU and passes back the data. The other command reads the AIU
buffer in memory. The CS02 has the memory buffer, like the turnout buffer,
to keep track. In the USB version neither buffer exists. The address for the
AIU buffer is FB00h, the turnouts ec00h. Page 11 in the USB shows as the AIU
buffer. There is no page showing for the turnouts.

-Ken Cameron, Member JMRI Dev Team
www.jmri.org
www.fingerlakeslivesteamers.org
www.cnymod.com
www.syracusemodelrr.org


 

Possibly so. I'll check my Power Pro.

Did you try my procedure with a real AIU and whether it detects connection to ground of the nominated pin?
--
Dave

The New England Convention 2018

On 8 Mar 2018, at 6:15 AM, 'Ken Cameron' kcameron@... [jmriusers] <jmriusers@...> wrote:

I'm suspecting that is the difference of the two commands. The one in turn
polls the AIU and passes back the data. The other command reads the AIU
buffer in memory. The CS02 has the memory buffer, like the turnout buffer,
to keep track. In the USB version neither buffer exists. The address for the
AIU buffer is FB00h, the turnouts ec00h. Page 11 in the USB shows as the AIU
buffer. There is no page showing for the turnouts.


 

Dave,

Yes I think I may have mixed up the parts. AIU, ok, accessories no. The
other is that I think the USB version only polls the AIU's it knows about.
So the sensor has to be created first. But the CS02 finds them. I am likely
wrong since it has been a year or two since I was doing testing with a CS02
station. Anything lately has all been USB based. Focusing on memory of
things bites now and then.

-Ken Cameron, Member JMRI Dev Team
www.jmri.org
www.fingerlakeslivesteamers.org
www.cnymod.com
www.syracusemodelrr.org


 

Tried the Power Pro and the only difference was that it used the 0x8A command instead of the 0x9B command and got a 4 byte reply instead of a 2 byte reply.

There were no memory read commands from JMRI.
--
Dave in Australia


The New England Convention 2018

On 8 Mar 2018, at 6:21 AM, Dave Heap <dgheap@...> wrote:

Possibly so. I'll check my Power Pro.

Did you try my procedure with a real AIU and whether it detects connection to ground of the nominated pin?


 

My guess is that the 0x8A command uses the CS Memory Block to compare/store the last polled state for the AIU, hence populating the last two bytes.

It's possible the Power CS does actually poll all known AIUs at the cab bus level and update the memory block. It probably also plays a part in AIU Broadcast mode (which we don't use).
--
Dave

The New England Convention 2018

On 8 Mar 2018, at 6:29 AM, Dave Heap <dgheap@...> wrote:

Tried the Power Pro and the only difference was that it used the 0x8A command instead of the 0x9B command and got a 4 byte reply instead of a 2 byte reply.

There were no memory read commands from JMRI.


 

Dave/Ken,
I'm sure you understand your exchanges but, for me, they may as well be in Chinese!.? The bottom line for me is, once I have v1.65b software in my SB3a, will JMRI receive the signals from my nine IRDOTs and trigger each stage in my shuttle script?? The script controls a DMU sound, horn, throttle and several turnouts at each sensor.
When I approached NCE initially, I told them the purpose of the AIU and sensors, and they did not indicate that there would be any problem.
Thanks,Harold.

On Wednesday, March 7, 2018, 7:32:57 PM GMT, Dave Heap dgheap@... [jmriusers] <jmriusers@...> wrote:

?
Tried the Power Pro and the only difference was that it used the 0x8A command instead of the 0x9B command and got a 4 byte reply instead of a 2 byte reply.

There were no memory read commands from JMRI.
--
Dave in Australia

The New England Convention 2018


On 8 Mar 2018, at 6:21 AM, Dave Heap <dgheap@...> wrote:

Possibly so. I'll check my Power Pro.

Did you try my procedure with a real AIU and whether it detects connection to ground of the nominated pin?



#yiv7971564803 #yiv7971564803 -- #yiv7971564803ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv7971564803 #yiv7971564803ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv7971564803 #yiv7971564803ygrp-mkp #yiv7971564803hd {color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;}#yiv7971564803 #yiv7971564803ygrp-mkp #yiv7971564803ads {margin-bottom:10px;}#yiv7971564803 #yiv7971564803ygrp-mkp .yiv7971564803ad {padding:0 0;}#yiv7971564803 #yiv7971564803ygrp-mkp .yiv7971564803ad p {margin:0;}#yiv7971564803 #yiv7971564803ygrp-mkp .yiv7971564803ad a {color:#0000ff;text-decoration:none;}#yiv7971564803 #yiv7971564803ygrp-sponsor #yiv7971564803ygrp-lc {font-family:Arial;}#yiv7971564803 #yiv7971564803ygrp-sponsor #yiv7971564803ygrp-lc #yiv7971564803hd {margin:10px 0px;font-weight:700;font-size:78%;line-height:122%;}#yiv7971564803 #yiv7971564803ygrp-sponsor #yiv7971564803ygrp-lc .yiv7971564803ad {margin-bottom:10px;padding:0 0;}#yiv7971564803 #yiv7971564803actions {font-family:Verdana;font-size:11px;padding:10px 0;}#yiv7971564803 #yiv7971564803activity {background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv7971564803 #yiv7971564803activity span {font-weight:700;}#yiv7971564803 #yiv7971564803activity span:first-child {text-transform:uppercase;}#yiv7971564803 #yiv7971564803activity span a {color:#5085b6;text-decoration:none;}#yiv7971564803 #yiv7971564803activity span span {color:#ff7900;}#yiv7971564803 #yiv7971564803activity span .yiv7971564803underline {text-decoration:underline;}#yiv7971564803 .yiv7971564803attach {clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 0;width:400px;}#yiv7971564803 .yiv7971564803attach div a {text-decoration:none;}#yiv7971564803 .yiv7971564803attach img {border:none;padding-right:5px;}#yiv7971564803 .yiv7971564803attach label {display:block;margin-bottom:5px;}#yiv7971564803 .yiv7971564803attach label a {text-decoration:none;}#yiv7971564803 blockquote {margin:0 0 0 4px;}#yiv7971564803 .yiv7971564803bold {font-family:Arial;font-size:13px;font-weight:700;}#yiv7971564803 .yiv7971564803bold a {text-decoration:none;}#yiv7971564803 dd.yiv7971564803last p a {font-family:Verdana;font-weight:700;}#yiv7971564803 dd.yiv7971564803last p span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv7971564803 dd.yiv7971564803last p span.yiv7971564803yshortcuts {margin-right:0;}#yiv7971564803 div.yiv7971564803attach-table div div a {text-decoration:none;}#yiv7971564803 div.yiv7971564803attach-table {width:400px;}#yiv7971564803 div.yiv7971564803file-title a, #yiv7971564803 div.yiv7971564803file-title a:active, #yiv7971564803 div.yiv7971564803file-title a:hover, #yiv7971564803 div.yiv7971564803file-title a:visited {text-decoration:none;}#yiv7971564803 div.yiv7971564803photo-title a, #yiv7971564803 div.yiv7971564803photo-title a:active, #yiv7971564803 div.yiv7971564803photo-title a:hover, #yiv7971564803 div.yiv7971564803photo-title a:visited {text-decoration:none;}#yiv7971564803 div#yiv7971564803ygrp-mlmsg #yiv7971564803ygrp-msg p a span.yiv7971564803yshortcuts {font-family:Verdana;font-size:10px;font-weight:normal;}#yiv7971564803 .yiv7971564803green {color:#628c2a;}#yiv7971564803 .yiv7971564803MsoNormal {margin:0 0 0 0;}#yiv7971564803 o {font-size:0;}#yiv7971564803 #yiv7971564803photos div {float:left;width:72px;}#yiv7971564803 #yiv7971564803photos div div {border:1px solid #666666;min-height:62px;overflow:hidden;width:62px;}#yiv7971564803 #yiv7971564803photos div label {color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv7971564803 #yiv7971564803reco-category {font-size:77%;}#yiv7971564803 #yiv7971564803reco-desc {font-size:77%;}#yiv7971564803 .yiv7971564803replbq {margin:4px;}#yiv7971564803 #yiv7971564803ygrp-actbar div a:first-child {margin-right:2px;padding-right:5px;}#yiv7971564803 #yiv7971564803ygrp-mlmsg {font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv7971564803 #yiv7971564803ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv7971564803 #yiv7971564803ygrp-mlmsg select, #yiv7971564803 input, #yiv7971564803 textarea {font:99% Arial, Helvetica, clean, sans-serif;}#yiv7971564803 #yiv7971564803ygrp-mlmsg pre, #yiv7971564803 code {font:115% monospace;}#yiv7971564803 #yiv7971564803ygrp-mlmsg * {line-height:1.22em;}#yiv7971564803 #yiv7971564803ygrp-mlmsg #yiv7971564803logo {padding-bottom:10px;}#yiv7971564803 #yiv7971564803ygrp-msg p a {font-family:Verdana;}#yiv7971564803 #yiv7971564803ygrp-msg p#yiv7971564803attach-count span {color:#1E66AE;font-weight:700;}#yiv7971564803 #yiv7971564803ygrp-reco #yiv7971564803reco-head {color:#ff7900;font-weight:700;}#yiv7971564803 #yiv7971564803ygrp-reco {margin-bottom:20px;padding:0px;}#yiv7971564803 #yiv7971564803ygrp-sponsor #yiv7971564803ov li a {font-size:130%;text-decoration:none;}#yiv7971564803 #yiv7971564803ygrp-sponsor #yiv7971564803ov li {font-size:77%;list-style-type:square;padding:6px 0;}#yiv7971564803 #yiv7971564803ygrp-sponsor #yiv7971564803ov ul {margin:0;padding:0 0 0 8px;}#yiv7971564803 #yiv7971564803ygrp-text {font-family:Georgia;}#yiv7971564803 #yiv7971564803ygrp-text p {margin:0 0 1em 0;}#yiv7971564803 #yiv7971564803ygrp-text tt {font-size:120%;}#yiv7971564803 #yiv7971564803ygrp-vital ul li:last-child {border-right:none !important;}#yiv7971564803

[Non-text portions of this message have been removed]


 

Dave,

My understand of the command station cycle is it polls all cab addresses
either fast (ones it has got responses before) and those that didn't respond
(infrequent to see something get added). So it will have read the AIU. What
I don't see in the memory of the system is the extra mapping of how it knows
a bit has changed or not. So I suspect that isn't in the USB memory space
and why the other command, but that is a guess.

Key is we get AIU with the USB and it seems to work.

-Ken Cameron, Member JMRI Dev Team
www.jmri.org
www.fingerlakeslivesteamers.org
www.cnymod.com
www.syracusemodelrr.org


 

We've now come to the conclusion that you will be fine.
--
Dave in Australia


The New England Convention 2018

On 8 Mar 2018, at 7:00 AM, Harold Thompson haroldthompson157@... [jmriusers] <jmriusers@...> wrote:

I'm sure you understand your exchanges but, for me, they may as well be in Chinese!. The bottom line for me is, once I have v1.65b software in my SB3a, will JMRI receive the signals from my nine IRDOTs and trigger each stage in my shuttle script? The script controls a DMU sound, horn, throttle and several turnouts at each sensor.
When I approached NCE initially, I told them the purpose of the AIU and sensors, and they did not indicate that there would be any problem.
Thanks,Harold.


 

Harold,

The only thing is you will have to create the sensors first for the AIU's to
be seen.

-Ken Cameron, Member JMRI Dev Team
www.jmri.org
www.fingerlakeslivesteamers.org
www.cnymod.com
www.syracusemodelrr.org


 

Thanks Dave/Ken for looking into it.
Sounds like good news.? I will report back of course when I have received and fitted the update to the SB3a.? My sensors are already created, with NS prefixes so, fingers crossed!
Kind regards,Harold.

On Wednesday, March 7, 2018, 9:12:39 PM GMT, 'Ken Cameron' kcameron@... [jmriusers] <jmriusers@...> wrote:

?
Harold,

The only thing is you will have to create the sensors first for the AIU's to
be seen.

-Ken Cameron, Member JMRI Dev Team
www.jmri.org
www.fingerlakeslivesteamers.org
www.cnymod.com
www.syracusemodelrr.org


#yiv8020622056 #yiv8020622056 -- #yiv8020622056ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv8020622056 #yiv8020622056ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv8020622056 #yiv8020622056ygrp-mkp #yiv8020622056hd {color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;}#yiv8020622056 #yiv8020622056ygrp-mkp #yiv8020622056ads {margin-bottom:10px;}#yiv8020622056 #yiv8020622056ygrp-mkp .yiv8020622056ad {padding:0 0;}#yiv8020622056 #yiv8020622056ygrp-mkp .yiv8020622056ad p {margin:0;}#yiv8020622056 #yiv8020622056ygrp-mkp .yiv8020622056ad a {color:#0000ff;text-decoration:none;}#yiv8020622056 #yiv8020622056ygrp-sponsor #yiv8020622056ygrp-lc {font-family:Arial;}#yiv8020622056 #yiv8020622056ygrp-sponsor #yiv8020622056ygrp-lc #yiv8020622056hd {margin:10px 0px;font-weight:700;font-size:78%;line-height:122%;}#yiv8020622056 #yiv8020622056ygrp-sponsor #yiv8020622056ygrp-lc .yiv8020622056ad {margin-bottom:10px;padding:0 0;}#yiv8020622056 #yiv8020622056actions {font-family:Verdana;font-size:11px;padding:10px 0;}#yiv8020622056 #yiv8020622056activity {background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv8020622056 #yiv8020622056activity span {font-weight:700;}#yiv8020622056 #yiv8020622056activity span:first-child {text-transform:uppercase;}#yiv8020622056 #yiv8020622056activity span a {color:#5085b6;text-decoration:none;}#yiv8020622056 #yiv8020622056activity span span {color:#ff7900;}#yiv8020622056 #yiv8020622056activity span .yiv8020622056underline {text-decoration:underline;}#yiv8020622056 .yiv8020622056attach {clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 0;width:400px;}#yiv8020622056 .yiv8020622056attach div a {text-decoration:none;}#yiv8020622056 .yiv8020622056attach img {border:none;padding-right:5px;}#yiv8020622056 .yiv8020622056attach label {display:block;margin-bottom:5px;}#yiv8020622056 .yiv8020622056attach label a {text-decoration:none;}#yiv8020622056 blockquote {margin:0 0 0 4px;}#yiv8020622056 .yiv8020622056bold {font-family:Arial;font-size:13px;font-weight:700;}#yiv8020622056 .yiv8020622056bold a {text-decoration:none;}#yiv8020622056 dd.yiv8020622056last p a {font-family:Verdana;font-weight:700;}#yiv8020622056 dd.yiv8020622056last p span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv8020622056 dd.yiv8020622056last p span.yiv8020622056yshortcuts {margin-right:0;}#yiv8020622056 div.yiv8020622056attach-table div div a {text-decoration:none;}#yiv8020622056 div.yiv8020622056attach-table {width:400px;}#yiv8020622056 div.yiv8020622056file-title a, #yiv8020622056 div.yiv8020622056file-title a:active, #yiv8020622056 div.yiv8020622056file-title a:hover, #yiv8020622056 div.yiv8020622056file-title a:visited {text-decoration:none;}#yiv8020622056 div.yiv8020622056photo-title a, #yiv8020622056 div.yiv8020622056photo-title a:active, #yiv8020622056 div.yiv8020622056photo-title a:hover, #yiv8020622056 div.yiv8020622056photo-title a:visited {text-decoration:none;}#yiv8020622056 div#yiv8020622056ygrp-mlmsg #yiv8020622056ygrp-msg p a span.yiv8020622056yshortcuts {font-family:Verdana;font-size:10px;font-weight:normal;}#yiv8020622056 .yiv8020622056green {color:#628c2a;}#yiv8020622056 .yiv8020622056MsoNormal {margin:0 0 0 0;}#yiv8020622056 o {font-size:0;}#yiv8020622056 #yiv8020622056photos div {float:left;width:72px;}#yiv8020622056 #yiv8020622056photos div div {border:1px solid #666666;min-height:62px;overflow:hidden;width:62px;}#yiv8020622056 #yiv8020622056photos div label {color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv8020622056 #yiv8020622056reco-category {font-size:77%;}#yiv8020622056 #yiv8020622056reco-desc {font-size:77%;}#yiv8020622056 .yiv8020622056replbq {margin:4px;}#yiv8020622056 #yiv8020622056ygrp-actbar div a:first-child {margin-right:2px;padding-right:5px;}#yiv8020622056 #yiv8020622056ygrp-mlmsg {font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv8020622056 #yiv8020622056ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv8020622056 #yiv8020622056ygrp-mlmsg select, #yiv8020622056 input, #yiv8020622056 textarea {font:99% Arial, Helvetica, clean, sans-serif;}#yiv8020622056 #yiv8020622056ygrp-mlmsg pre, #yiv8020622056 code {font:115% monospace;}#yiv8020622056 #yiv8020622056ygrp-mlmsg * {line-height:1.22em;}#yiv8020622056 #yiv8020622056ygrp-mlmsg #yiv8020622056logo {padding-bottom:10px;}#yiv8020622056 #yiv8020622056ygrp-msg p a {font-family:Verdana;}#yiv8020622056 #yiv8020622056ygrp-msg p#yiv8020622056attach-count span {color:#1E66AE;font-weight:700;}#yiv8020622056 #yiv8020622056ygrp-reco #yiv8020622056reco-head {color:#ff7900;font-weight:700;}#yiv8020622056 #yiv8020622056ygrp-reco {margin-bottom:20px;padding:0px;}#yiv8020622056 #yiv8020622056ygrp-sponsor #yiv8020622056ov li a {font-size:130%;text-decoration:none;}#yiv8020622056 #yiv8020622056ygrp-sponsor #yiv8020622056ov li {font-size:77%;list-style-type:square;padding:6px 0;}#yiv8020622056 #yiv8020622056ygrp-sponsor #yiv8020622056ov ul {margin:0;padding:0 0 0 8px;}#yiv8020622056 #yiv8020622056ygrp-text {font-family:Georgia;}#yiv8020622056 #yiv8020622056ygrp-text p {margin:0 0 1em 0;}#yiv8020622056 #yiv8020622056ygrp-text tt {font-size:120%;}#yiv8020622056 #yiv8020622056ygrp-vital ul li:last-child {border-right:none !important;}#yiv8020622056