Patel
Legendary
Offline
Activity: 1320
Merit: 1007
|
|
February 02, 2014, 12:15:09 AM Last edit: February 02, 2014, 12:38:31 AM by Patel |
|
Can someone explain how to match an order?
I placed an order for the exact opposite of someones order, but it didn't fill.
edit: also there was an order that got filled (not mine) but a negative balance remains
2872 0.5 MPTSTOCK 1014.90909091 XCP 0.000492654962378634 MPTSTOCK/XCP 10 -0.00000909 XCP remain
|
|
|
|
jl777
Legendary
Offline
Activity: 1176
Merit: 1134
|
|
February 02, 2014, 12:15:33 AM |
|
Hello XCP peoples!
I am James, active member of the NXT community and I really like what you are doing. Burned some BTC so I am also one of the XCP peoples.
I believe there is room in the growing crypto world for many different solutions to succeed. Of course, XCP must dominate mastercoin!
I just wanted to reach out and maybe there are ways we can help each other. NXT is already on many exchanges and has close to 20,000 accounts. Maybe it makes sense for XCP to be listed in NXT Asset Exchange? This would create a market for XCP and avoid all the fiat hassles as there is also a path from NXT -> ripple -> fiat.
I am busy managing the NXTcommunityfund, which just received over 2 million NXT so I personally don't have the time, but I am sure I can find somebody over in NXT community who would love to help or become an XCP gateway into the NXT Asset Exchange.
Still getting up to speed with XCP, so not sure if it is possible to get NXT listed within counterparty. If it is possible, I am interested in seeing how that can be done, etc.
James
James, Thank you for your interest in Counterparty! Getting NXT listed within Counterparty would be a bit tricky. Even if someone created asset REALNXT in Counterparty and sold them, he would have to 'back' REALNXT with NXT, and make a sort-of IOU out of it, such that REALNXT can be redeemed for NXT. The mechanism by which the latter happens will have to be determined by the issuer of REALNXT, of course, though I do have some ideas as to how this could be done. It would be great if XCP could be sold on NXT Asset Exchange, though I do not know whether this is possible. If you are interested in further discussing things further, please PM me or have someone from the NXT community PM me. Let's do this! It will be a huge boost for both projects, they share many things in common. Maybe I'm wrong but I think that there is a relatively easy way to do this: Say Alice is a Counterparty user and Bob is a NXT user. Alice and Bob want to get their respective tokens "into" each others systems. They can set up a multisig address (2 of 2) on each system to which they both have 1 of the keys. They can both add some amount (say $10,000 worth) of their tokens into the multisig addresses. So now the NXT address has say 20,000 NXT and the Counterparty address has 4,000 XCP. Both Alice and Bob can define the appropriate assets/colored coins. They are effectively performing escrow for each other. In this manner you are actually "backing" NXT assets with NXT and XCP assets with XCP. Of course there are all sorts of potential issues with this such as - how do you know that Alice and Bob aren't the same person. In the long-term that doesn't matter because both Alice and Bob will be DACs. You could technically trade between an "XCP colored NXT" and an "NXT colored XCP" via "Alice and Bob". So there's an answer to your earlier question James: The most valuable DACs? - How about one which facilitates interoperability between decentralized exchanges. Another neat way of doing this would be to extend the Counterparty Protocol across both Bitcoin and NXT (using the arbitrary message system)! This would mean the NXT system could have colored coins on top of colored coins. "This coin represents a Counterparty token which represents my deeds to this house". OK, I am in generalist mode so all these nesting of coins on assets on coins is making my head spin. However, from my ripple experience, I know that the biggest barrier to making it useful is the gateways. gateways that issue the IOU by and large suck. They are slow, or buggy or get hacked and go out of business (happened already!), etc. Now forgive me if I am totally wrong on the details I am speaking generally. What I would like to see is a TOTALLY automated way to make trades of the actual NXT and XCP. Within counterparty you can trade real XCP for ... not sure, but what if you could directly trade real XCP for real NXT without any actual gateway. It just automagically worked? Similarily if in NXT if you could trade real XCP for real NXT, automagically. If technically this is a DAC, then I think I can make executive decision and authorized 100,000 NXT bounty for a working implementation. James P.S. I will cross post this on NXT forum. Very cool if this is actually possible.
|
|
|
|
PhantomPhreak (OP)
Sr. Member
Offline
Activity: 476
Merit: 300
Counterparty Chief Scientist and Co-Founder
|
|
February 02, 2014, 12:30:37 AM |
|
Hello XCP peoples!
I am James, active member of the NXT community and I really like what you are doing. Burned some BTC so I am also one of the XCP peoples.
I believe there is room in the growing crypto world for many different solutions to succeed. Of course, XCP must dominate mastercoin!
I just wanted to reach out and maybe there are ways we can help each other. NXT is already on many exchanges and has close to 20,000 accounts. Maybe it makes sense for XCP to be listed in NXT Asset Exchange? This would create a market for XCP and avoid all the fiat hassles as there is also a path from NXT -> ripple -> fiat.
I am busy managing the NXTcommunityfund, which just received over 2 million NXT so I personally don't have the time, but I am sure I can find somebody over in NXT community who would love to help or become an XCP gateway into the NXT Asset Exchange.
Still getting up to speed with XCP, so not sure if it is possible to get NXT listed within counterparty. If it is possible, I am interested in seeing how that can be done, etc.
James
James, Thank you for your interest in Counterparty! Getting NXT listed within Counterparty would be a bit tricky. Even if someone created asset REALNXT in Counterparty and sold them, he would have to 'back' REALNXT with NXT, and make a sort-of IOU out of it, such that REALNXT can be redeemed for NXT. The mechanism by which the latter happens will have to be determined by the issuer of REALNXT, of course, though I do have some ideas as to how this could be done. It would be great if XCP could be sold on NXT Asset Exchange, though I do not know whether this is possible. If you are interested in further discussing things further, please PM me or have someone from the NXT community PM me. Let's do this! It will be a huge boost for both projects, they share many things in common. Maybe I'm wrong but I think that there is a relatively easy way to do this: Say Alice is a Counterparty user and Bob is a NXT user. Alice and Bob want to get their respective tokens "into" each others systems. They can set up a multisig address (2 of 2) on each system to which they both have 1 of the keys. They can both add some amount (say $10,000 worth) of their tokens into the multisig addresses. So now the NXT address has say 20,000 NXT and the Counterparty address has 4,000 XCP. Both Alice and Bob can define the appropriate assets/colored coins. They are effectively performing escrow for each other. In this manner you are actually "backing" NXT assets with NXT and XCP assets with XCP. Of course there are all sorts of potential issues with this such as - how do you know that Alice and Bob aren't the same person. In the long-term that doesn't matter because both Alice and Bob will be DACs. You could technically trade between an "XCP colored NXT" and an "NXT colored XCP" via "Alice and Bob". So there's an answer to your earlier question James: The most valuable DACs? - How about one which facilitates interoperability between decentralized exchanges. Another neat way of doing this would be to extend the Counterparty Protocol across both Bitcoin and NXT (using the arbitrary message system)! This would mean the NXT system could have colored coins on top of colored coins. "This coin represents a Counterparty token which represents my deeds to this house". OK, I am in generalist mode so all these nesting of coins on assets on coins is making my head spin. However, from my ripple experience, I know that the biggest barrier to making it useful is the gateways. gateways that issue the IOU by and large suck. They are slow, or buggy or get hacked and go out of business (happened already!), etc. Now forgive me if I am totally wrong on the details I am speaking generally. What I would like to see is a TOTALLY automated way to make trades of the actual NXT and XCP. Within counterparty you can trade real XCP for ... not sure, but what if you could directly trade real XCP for real NXT without any actual gateway. It just automagically worked? Similarily if in NXT if you could trade real XCP for real NXT, automagically. If technically this is a DAC, then I think I can make executive decision and authorized 100,000 NXT bounty for a working implementation. James P.S. I will cross post this on NXT forum. Very cool if this is actually possible. There aren't any gateways in Counterparty, and the issuers of assets won't every be slow, buggy or get hacked. NXT and XCP, as far as I know, are simply not compatible. I don't think it's possible, with current technology, to trade one for the other directly. (Cross-chain atomic trades *are* possible, but the devil is in the details, there.)
|
|
|
|
schwillyshill
Newbie
Offline
Activity: 25
Merit: 0
|
|
February 02, 2014, 12:46:36 AM |
|
Another rounding issue that these don't match? 0.013 | BTC | 10.0 | XCP | 0.0013 | BTC/XCP | 0.0001 | 420 | dd122ee0...c74fe09c | | 2248.0 | XCP | 3.0 | BTC | 0.0013 | BTC/XCP | 0.001 | 247 | aff5a8d5...311b7e46 |
|
|
|
|
Patel
Legendary
Offline
Activity: 1320
Merit: 1007
|
|
February 02, 2014, 12:50:49 AM Last edit: February 02, 2014, 01:08:23 AM by Patel |
|
Another rounding issue that these don't match? 0.013 | BTC | 10.0 | XCP | 0.0013 | BTC/XCP | 0.0001 | 420 | dd122ee0...c74fe09c | | 2248.0 | XCP | 3.0 | BTC | 0.0013 | BTC/XCP | 0.001 | 247 | aff5a8d5...311b7e46 |
2873 | 0.025 BTC | 25 XCP | 0.001 BTC/XCP | 5 | 25 XCP remain
2865 | 25 XCP | 0.025 BTC | 1000 XCP/BTC | 420 | 0.025 BTC remain
Same, trying to figure out why those orders didn't fill each other
|
|
|
|
Patel
Legendary
Offline
Activity: 1320
Merit: 1007
|
|
February 02, 2014, 01:06:10 AM |
|
Could this be a floating point issue with the division of XCP amount by BTC amount?
If so maybe it could be resolved by checking for price >= threshold instead of trying to find exact matches?
I believe it is. Thats why there is an order with a negative balance remaining. Its a rounding issue.
|
|
|
|
jimhsu
|
|
February 02, 2014, 02:27:59 AM |
|
Hi,
Need more guidance on how to actually use the bet/feed system.
What I think I'm trying to do: Enter a bet from 1Fz5idgemYfsszRMmaQNd2Anvm2JytAoU (my XCP account) to feed 1QBPsB2ea61vWTNA9nGUhaHqPQB4SXF4fN (super bowl feed) to bet 1 XCP that Denver (2) will win at or before block 290000 (random estimate in future).
What I entered:
C:\counterpartyd>python counterpartyd.py bet --from 1Fz5idgemYfsszRMmaQNd2Anvm2J ytAoU --feed-address 1QBPsB2ea61vWTNA9nGUhaHqPQB4SXF4fN --bet-type Equal --deadl ine 290000 --wager 1 --counterwager 1 --target-value 2 --expiration 2 Traceback (most recent call last): File "counterpartyd.py", line 564, in <module> deadline = round(datetime.timestamp(dateutil.parser.parse(args.deadline))) AttributeError: type object 'datetime.datetime' has no attribute 'timestamp'
Don't know what to put in expiration because anything is giving me errors.
That error message sure isn't very helpful! The problem is that deadlines are specified in actual times, not block numbers, and moreover in human-readable formats, such as 'Mon Feb 3 10:00:00 UTC 2014'. (I actually haven't figured out myself exactly what datetime will accept, yet... it won't take Unix time, for no reason.) The expiration is the maximum number of blocks that you want your bet to be available to be matched for. What is the correct syntax? C:\counterpartyd>python counterpartyd.py bet --from 1Fz5idgemYfsszRMmaQNd2Anvm2J ytAoU --feed-address 1QBPsB2ea61vWTNA9nGUhaHqPQB4SXF4fN --bet-type Equal --deadl ine "Mon Feb 3 10:00:00 UTC 2014" --wager 1 --counterwager 1 --target-value 2 -- expiration 1000 Traceback (most recent call last): File "counterpartyd.py", line 564, in <module> deadline = round(datetime.timestamp(dateutil.parser.parse(args.deadline))) AttributeError: type object 'datetime.datetime' has no attribute 'timestamp' Tried ' ' (get counterpartyd: error: unrecognized arguments: Feb 3 10:00:00 UTC 2014'), " ", and "' '".
|
Dans les champs de l'observation le hasard ne favorise que les esprits préparé
|
|
|
prophetx
Legendary
Offline
Activity: 1666
Merit: 1010
he who has the gold makes the rules
|
|
February 02, 2014, 02:34:26 AM |
|
Hey guys I'm getting ready to make professional style interview based commercial for counterparty. I'm starting a small fund to pay the cinematographer nothing too crazy donate xcp and BTC if you can. I'm gonna have some examples of his work including my interview and writing skills
Just for my own curiosity but how do you plan to accomplish conducting a video interview of a dev team that is anon? Perhaps people need to spend some time researching the project.
|
|
|
|
Patel
Legendary
Offline
Activity: 1320
Merit: 1007
|
|
February 02, 2014, 02:39:07 AM |
|
Hey guys I'm getting ready to make professional style interview based commercial for counterparty. I'm starting a small fund to pay the cinematographer nothing too crazy donate xcp and BTC if you can. I'm gonna have some examples of his work including my interview and writing skills
Just for my own curiosity but how do you plan to accomplish conducting a video interview of a dev team that is anon? Perhaps people need to spend some time researching the project. He never said anything about interviewing the dev team..
|
|
|
|
jimhsu
|
|
February 02, 2014, 02:43:40 AM |
|
Did anyone happen to interview Satoshi?
|
Dans les champs de l'observation le hasard ne favorise que les esprits préparé
|
|
|
PhantomPhreak (OP)
Sr. Member
Offline
Activity: 476
Merit: 300
Counterparty Chief Scientist and Co-Founder
|
|
February 02, 2014, 03:06:32 AM |
|
Hi,
Need more guidance on how to actually use the bet/feed system.
What I think I'm trying to do: Enter a bet from 1Fz5idgemYfsszRMmaQNd2Anvm2JytAoU (my XCP account) to feed 1QBPsB2ea61vWTNA9nGUhaHqPQB4SXF4fN (super bowl feed) to bet 1 XCP that Denver (2) will win at or before block 290000 (random estimate in future).
What I entered:
C:\counterpartyd>python counterpartyd.py bet --from 1Fz5idgemYfsszRMmaQNd2Anvm2J ytAoU --feed-address 1QBPsB2ea61vWTNA9nGUhaHqPQB4SXF4fN --bet-type Equal --deadl ine 290000 --wager 1 --counterwager 1 --target-value 2 --expiration 2 Traceback (most recent call last): File "counterpartyd.py", line 564, in <module> deadline = round(datetime.timestamp(dateutil.parser.parse(args.deadline))) AttributeError: type object 'datetime.datetime' has no attribute 'timestamp'
Don't know what to put in expiration because anything is giving me errors.
That error message sure isn't very helpful! The problem is that deadlines are specified in actual times, not block numbers, and moreover in human-readable formats, such as 'Mon Feb 3 10:00:00 UTC 2014'. (I actually haven't figured out myself exactly what datetime will accept, yet... it won't take Unix time, for no reason.) The expiration is the maximum number of blocks that you want your bet to be available to be matched for. What is the correct syntax? C:\counterpartyd>python counterpartyd.py bet --from 1Fz5idgemYfsszRMmaQNd2Anvm2J ytAoU --feed-address 1QBPsB2ea61vWTNA9nGUhaHqPQB4SXF4fN --bet-type Equal --deadl ine "Mon Feb 3 10:00:00 UTC 2014" --wager 1 --counterwager 1 --target-value 2 -- expiration 1000 Traceback (most recent call last): File "counterpartyd.py", line 564, in <module> deadline = round(datetime.timestamp(dateutil.parser.parse(args.deadline))) AttributeError: type object 'datetime.datetime' has no attribute 'timestamp' Tried ' ' (get counterpartyd: error: unrecognized arguments: Feb 3 10:00:00 UTC 2014'), " ", and "' '". It looks like you may be having the same problem that BiggestFish was seeing: try wrapping the date in another set of single quotes.
|
|
|
|
PhantomPhreak (OP)
Sr. Member
Offline
Activity: 476
Merit: 300
Counterparty Chief Scientist and Co-Founder
|
|
February 02, 2014, 03:16:06 AM |
|
Could this be a floating point issue with the division of XCP amount by BTC amount?
If so maybe it could be resolved by checking for price >= threshold instead of trying to find exact matches?
I believe it is. Thats why there is an order with a negative balance remaining. Hmm. Maybe a better solution: instead of using --get-quantity and --give quantity and making counterpartyd do a division, what about using --give-quantity and --price, where --price is the price per unit (1) of the asset you are giving? counterpartyd can then calculate the --get-quantity by doing a multiply...no divisions required. This way the price you submit is completely explicit instead of calculated. Just another reminder this software is still in ALPHA...let's not get carried away speculating on aftermarket valuation while there are still floating-point bugs to iron out I'll get into this again, and I'll solve the problem once and for all. Stay tuned.
|
|
|
|
doitnow
Member
Offline
Activity: 86
Merit: 10
|
|
February 02, 2014, 03:35:37 AM |
|
Hi guys. Can you please explain me how to make a bet and deal with it on http://www.blockscan.com/broadcast.aspx ? I was wondering to create some bets at oncoming winter olympic in Sochi. I'd like to get some people involved in betting that don't have a clue in all command promps. It would be wonderful to create something with user friendly GUI similar to this table/schedule from official olympic website: http://www.sochi2014.com/en but I guess it may be to early for some advanced features Edit: link did't work
|
|
|
|
jimhsu
|
|
February 02, 2014, 03:58:15 AM |
|
Hi,
Need more guidance on how to actually use the bet/feed system.
What I think I'm trying to do: Enter a bet from 1Fz5idgemYfsszRMmaQNd2Anvm2JytAoU (my XCP account) to feed 1QBPsB2ea61vWTNA9nGUhaHqPQB4SXF4fN (super bowl feed) to bet 1 XCP that Denver (2) will win at or before block 290000 (random estimate in future).
What I entered:
C:\counterpartyd>python counterpartyd.py bet --from 1Fz5idgemYfsszRMmaQNd2Anvm2J ytAoU --feed-address 1QBPsB2ea61vWTNA9nGUhaHqPQB4SXF4fN --bet-type Equal --deadl ine 290000 --wager 1 --counterwager 1 --target-value 2 --expiration 2 Traceback (most recent call last): File "counterpartyd.py", line 564, in <module> deadline = round(datetime.timestamp(dateutil.parser.parse(args.deadline))) AttributeError: type object 'datetime.datetime' has no attribute 'timestamp'
Don't know what to put in expiration because anything is giving me errors.
That error message sure isn't very helpful! The problem is that deadlines are specified in actual times, not block numbers, and moreover in human-readable formats, such as 'Mon Feb 3 10:00:00 UTC 2014'. (I actually haven't figured out myself exactly what datetime will accept, yet... it won't take Unix time, for no reason.) The expiration is the maximum number of blocks that you want your bet to be available to be matched for. What is the correct syntax? C:\counterpartyd>python counterpartyd.py bet --from 1Fz5idgemYfsszRMmaQNd2Anvm2J ytAoU --feed-address 1QBPsB2ea61vWTNA9nGUhaHqPQB4SXF4fN --bet-type Equal --deadl ine "Mon Feb 3 10:00:00 UTC 2014" --wager 1 --counterwager 1 --target-value 2 -- expiration 1000 Traceback (most recent call last): File "counterpartyd.py", line 564, in <module> deadline = round(datetime.timestamp(dateutil.parser.parse(args.deadline))) AttributeError: type object 'datetime.datetime' has no attribute 'timestamp' Tried ' ' (get counterpartyd: error: unrecognized arguments: Feb 3 10:00:00 UTC 2014'), " ", and "' '". It looks like you may be having the same problem that BiggestFish was seeing: try wrapping the date in another set of single quotes. Bet submitted, have at it (Seahawks fans). Should appear in 10 minutes or so. Implementing xibejian's fix as documented here fixed the problem (quotes or no). Problem also documented here: http://stackoverflow.com/questions/12906402/type-object-datetime-datetime-has-no-attribute-datetime----- Another bug report Quote Traceback (most recent call last): File "./counterpartyd.py", line 465, in <module> deadline = round(datetime.timestamp(dateutil.parser.parse(args.deadline))) AttributeError: type object 'datetime.datetime' has no attribute 'timestamp' I have a patch for this Quote diff --git a/counterpartyd.py b/counterpartyd.py index 779ee12..1bbf2bd 100755 --- a/counterpartyd.py +++ b/counterpartyd.py @@ -15,7 +15,8 @@ from prettytable import PrettyTable import time import dateutil.parser -from datetime import datetime +import datetime +import calendar from lib import (config, util, exceptions, bitcoin, blocks) from lib import (send, order, btcpay, issuance, broadcast, bet, dividend, burn, cancel, util) @@ -462,7 +463,7 @@ if __name__ == '__main__': json_print(bitcoin.transmit(unsigned_tx_hex)) elif args.action == 'bet': - deadline = round(datetime.timestamp(dateutil.parser.parse(args.deadline))) + deadline = calendar.timegm(dateutil.parser.parse(args.deadline).utctimetuple()) Look ok?
|
Dans les champs de l'observation le hasard ne favorise que les esprits préparé
|
|
|
ddink7
Legendary
Offline
Activity: 1120
Merit: 1000
|
|
February 02, 2014, 04:28:23 AM |
|
Well, it looks like the burn period should end in just less than 24 hours!
|
|
|
|
becherovka
Newbie
Offline
Activity: 29
Merit: 0
|
|
February 02, 2014, 06:09:45 AM |
|
I have some press contacts that would be interested in the Counterparty story after the burn period has ended. With Wwat press story should we lead? - Counterparty and the end of Proof of Burn.
- Counterparty and creating your own currency without mining
- Counterparty: Satoshi Nakamoto is back with a new shadowy group
I am curious and seeking new ideas from the community.
|
|
|
|
jimhsu
|
|
February 02, 2014, 06:54:35 AM |
|
I have some press contacts that would be interested in the Counterparty story after the burn period has ended. With Wwat press story should we lead? - Counterparty and the end of Proof of Burn.
- Counterparty and creating your own currency without mining
- Counterparty: Satoshi Nakamoto is back with a new shadowy group
I am curious and seeking new ideas from the community. From a professional standpoint, I like 2. From a "sensationalism sells" standpoint, 3 sells.
|
Dans les champs de l'observation le hasard ne favorise que les esprits préparé
|
|
|
becherovka
Newbie
Offline
Activity: 29
Merit: 0
|
|
February 02, 2014, 07:00:14 AM |
|
I have some press contacts that would be interested in the Counterparty story after the burn period has ended. With Wwat press story should we lead? - Counterparty and the end of Proof of Burn.
- Counterparty and creating your own currency without mining
- Counterparty: Satoshi Nakamoto is back with a new shadowy group
I am curious and seeking new ideas from the community. From a professional standpoint, I like 2. From a "sensationalism sells" standpoint, 3 sells. Thanks for feedback. I feel the same as well. I will continue working on ideas around those two you pointed out.
|
|
|
|
jl777
Legendary
Offline
Activity: 1176
Merit: 1134
|
|
February 02, 2014, 07:05:09 AM |
|
I have some press contacts that would be interested in the Counterparty story after the burn period has ended. With Wwat press story should we lead? - Counterparty and the end of Proof of Burn.
- Counterparty and creating your own currency without mining
- Counterparty: Satoshi Nakamoto is back with a new shadowy group
I am curious and seeking new ideas from the community. From a professional standpoint, I like 2. From a "sensationalism sells" standpoint, 3 sells. XCP is most differentiated by its proof of burn origins. It is the first ever crypto that did this isn't it? The other things are stuff other crypto can claim and with limited PR ammunition, I would think it best to go with strongest point. Proof of Burn is so radical, just getting that out there should get a lot of coverage. Once people find out about proof of burn and they want to dig deeper, then all the other stuff can be presented. James
|
|
|
|
becherovka
Newbie
Offline
Activity: 29
Merit: 0
|
|
February 02, 2014, 07:15:32 AM |
|
I have some press contacts that would be interested in the Counterparty story after the burn period has ended. With Wwat press story should we lead? - Counterparty and the end of Proof of Burn.
- Counterparty and creating your own currency without mining
- Counterparty: Satoshi Nakamoto is back with a new shadowy group
I am curious and seeking new ideas from the community. From a professional standpoint, I like 2. From a "sensationalism sells" standpoint, 3 sells. XCP is most differentiated by its proof of burn origins. It is the first ever crypto that did this isn't it? The other things are stuff other crypto can claim and with limited PR ammunition, I would think it best to go with strongest point. Proof of Burn is so radical, just getting that out there should get a lot of coverage. Once people find out about proof of burn and they want to dig deeper, then all the other stuff can be presented. James Yes and thank you. So you're looking at #1. The Proof of Burn idea is the first evert for a project of this size. The Proof of Burn story can have radical perspective and the coverage would be interesting. Yes, the bait will bring more eyes to the project and more work with XCP. Your thoughts are helping here. Good work.
|
|
|
|
|