Bitcoin Forum
June 16, 2021, 01:04:02 PM *
News: Latest Bitcoin Core release: 0.21.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 [74] 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 »
  Print  
Author Topic: [announce] Namecoin - a distributed naming system based on Bitcoin  (Read 589933 times)
trantute2
Hero Member
*****
Offline Offline

Activity: 784
Merit: 534



View Profile
April 13, 2018, 06:53:47 AM
 #1461

That's the spirit. You can't expect people to do the work for you. If you want a great community you have to start yourself.

True. But I can expect people to help me with information. Four eyes see more than two. And analogously, two brains know more than one.
1623848642
Hero Member
*
Offline Offline

Posts: 1623848642

View Profile Personal Message (Offline)

Ignore
1623848642
Reply with quote  #2

1623848642
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
Willzxxz
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile
April 13, 2018, 09:43:13 AM
 #1462

is there some sort of chat client we can all talk about this coin? like a telegram or slack?
trantute2
Hero Member
*****
Offline Offline

Activity: 784
Merit: 534



View Profile
April 13, 2018, 10:00:52 AM
 #1463

is there some sort of chat client we can all talk about this coin? like a telegram or slack?

There is a specific forum for Namecoin. See

https://forum.namecoin.org/

If you register there, check also out the following message:

https://forum.namecoin.org/viewtopic.php?f=2&t=2691&sid=68679f2b45b976d36abaf55b4331c17a
Lenor5.3090
Member
**
Offline Offline

Activity: 162
Merit: 11


View Profile
April 13, 2018, 10:17:37 AM
Merited by vane91 (1)
 #1464

A long coin is developed. Because of this, it is hard for the project to remain active and hope that the project side will remain passionate.
milkpeace67
Newbie
*
Offline Offline

Activity: 84
Merit: 0


View Profile
April 13, 2018, 10:20:43 AM
 #1465

Any road maps I can check on? Any websites I can find more information?
d5000
Legendary
*
Offline Offline

Activity: 2842
Merit: 2393


Decentralization Maximalist


View Profile
April 13, 2018, 08:20:45 PM
 #1466

Hmm ... I think some "centralized" server is always necessary, otherwise people must download and maintain their own copy of the namecoin blockchain.
Yes, but the IP of the server with the Namecoin daemon being configurable would be better. I haven't still looked into the details, but in the Blockchain DNS Chrome extension there seems no easy way to choose a custom server to do the resolution (e.g. without changing the code). In theory you could configure that "alternative DNS server" address in the browser settings without any extension, but that's already too difficult for most users (otherwise, there would be much more OpenNIC users, for example).

So an extension based on Blockchain DNS with a default server and an easy-to-use interface (e.g. with infographics and explanations, these details are important for usability and mass adoption, I think) to change the server would be the best way to go, for me. The extension could contain a (regularly updated) list of available servers.

Quote
This restricts usability too much. Or is there something like a light client for namecoin which only keeps track of the domain names?
There seems to be an Electrum client for Namecoin, but I never tried it and so I don't know if it is sufficient to keep track of the domain names.

trantute2
Hero Member
*****
Offline Offline

Activity: 784
Merit: 534



View Profile
April 14, 2018, 05:20:44 AM
 #1467

Yes, but the IP of the server with the Namecoin daemon being configurable would be better.

I see.

I haven't still looked into the details, [...]

Me neither. And I feel bad about that. However, it is also important to figure out a reasonable roadmap.

[...] but in the Blockchain DNS Chrome extension there seems no easy way to choose a custom server to do the resolution (e.g. without changing the code). In theory you could configure that "alternative DNS server" address in the browser settings without any extension, but that's already too difficult for most users (otherwise, there would be much more OpenNIC users, for example).

So an extension based on Blockchain DNS with a default server and an easy-to-use interface (e.g. with infographics and explanations, these details are important for usability and mass adoption, I think) to change the server would be the best way to go, for me. The extension could contain a (regularly updated) list of available servers.

Okay. Then let's conclude: We do not need to develop an addon from scratch. We can use blockchain-dns as a starting point. Convincing the developer(s) of this addon to do the work for us would be most efficient. Alternatively, I could fork the github-repository and we introduce the corresponding changes. Which is clearly more work, but I think the hardest part is to get used to new concepts.

But firstly, we should contact the developer(s). The project looks alive. I can do this via github. I am traveling this weekend and could contact them Sunday evening.

Is this a plan?
d5000
Legendary
*
Offline Offline

Activity: 2842
Merit: 2393


Decentralization Maximalist


View Profile
April 15, 2018, 01:34:13 AM
 #1468

Is this a plan?
Looks very good for me.

The second part could be to investigate if the Electrum client is capable to resolve NMC addresses for "a little bit more advanced" users. I think however that this wouldn't be a very easy task, as I just looked into Electrum-NMC's github repo, and it seems to be 1) a bit old (its codebase is older than the "big vulnerability fix" earlier this year) and 2) is not marked as "ready for the end user".

So likely it needs the attention of skilled developers.

PS: Just saw that there is an actively developed light client called ConsensusJ. It seems to be still experimental, but I'll look at it.

trantute2
Hero Member
*****
Offline Offline

Activity: 784
Merit: 534



View Profile
April 15, 2018, 06:19:50 PM
 #1469

Is this a plan?
Looks very good for me.

Done.

https://github.com/B-DNS/Firefox/issues/5

Now we have to wait. I am not sure anymore, whether the project is alive or not. Last code changes were done 5 months ago.

I would recommend, that we wait for a week or two and then fork the project.
trantute2
Hero Member
*****
Offline Offline

Activity: 784
Merit: 534



View Profile
April 15, 2018, 06:23:57 PM
 #1470

PS: Just saw that there is an actively developed light client called ConsensusJ. It seems to be still experimental, but I'll look at it.

A light client would be perfect. But what about this:

Quote
It synchronizes faster and uses less storage than Namecoin Core, but trusts Namecoin miners more than Namecoin Core does.

Does a light client not fully depend on the set of full nodes?

 Huh
vsrocks
Newbie
*
Offline Offline

Activity: 62
Merit: 0


View Profile
April 15, 2018, 06:55:57 PM
 #1471

Namecoin (NMC) all-in-one info now added here:

https://chatoncrypto.com/Crypto/C/31-NMC-Namecoin


Thanks.
BtcVolcano
Sr. Member
****
Offline Offline

Activity: 672
Merit: 250


View Profile
April 15, 2018, 07:00:29 PM
 #1472

Namecoin has many useful functions, therefore it is impossible to consider it simply as an ordinary coin. It is an innovation that will show itself to the world. I read information about the Safinus project as an investment platform. I also see a lot of revolutionary innovations there

Namecoin also has an incredible history in the crypto space. I hope it can go back up again as it is one of the oldest coins out there!
I agree in many respects with you and your opinion. Now probably have to still look and technology that will be in demand in the future. But this coin test of time and I think it is still manifest themselves in the future.
d5000
Legendary
*
Offline Offline

Activity: 2842
Merit: 2393


Decentralization Maximalist


View Profile
April 15, 2018, 08:53:02 PM
 #1473

A light client would be perfect. But what about this:
Quote
It synchronizes faster and uses less storage than Namecoin Core, but trusts Namecoin miners more than Namecoin Core does.

Does a light client not fully depend on the set of full nodes?
You're right. I think this is the general problem light clients have (see Thin Client Security, I think you may know it already). As ConsensusJ seems to be based on BitcoinJ, it seems to feature a different security model than Electrum (it selects a set of full nodes and compares their data, instead of selecting one single "trustworthy" node).

In the case of Namecoin name registrations, there is less potential for attacks to occur for the average user (although there may be so when the project becomes really popular). Additionally, the light client, as far as I understand this documentation website  does only support name lookups but not registrations of new names. (I'm starting with that and still haven't installed it, so I may be wrong with this; the installation procedure seems to be still no "one-click-procedure", that is other usability challenge to improve ...)

wiked1
Sr. Member
****
Offline Offline

Activity: 418
Merit: 265


View Profile
April 17, 2018, 09:11:00 AM
 #1474

The only reason I never bought namecoin is because there is no electrum.Not too many peeps want to spend all day downloading a whole blockchain and less want to leave coins sitting on an exchange either.
Payportal
Copper Member
Newbie
*
Offline Offline

Activity: 112
Merit: 0

You never knows until you try


View Profile WWW
April 17, 2018, 09:18:57 AM
 #1475

The only reason I never bought namecoin is because there is no electrum.Not too many peeps want to spend all day downloading a whole blockchain and less want to leave coins sitting on an exchange either.
agree, usually it takes few hours, even not few Wink

Payportal: Bill payments and MoneyTransfers
▨ ∿∿ ICO CLOSED. ∿∿ ▨
➤ Video ➤ Twitter ➤ Telegram
d5000
Legendary
*
Offline Offline

Activity: 2842
Merit: 2393


Decentralization Maximalist


View Profile
April 17, 2018, 02:08:06 PM
 #1476

I installed the ConsensusJ light client now, and it runs (instructions are here). But I run into a problem.

When I try to access the RPC server via curl, I get an HTTP error 500 ("Internal Server Error"). I used the example in the documentation:

Code:
curl --user user:pass --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"name_show","params":["d/domob"]}' -H 'content-type:text/plain;' http://127.0.0.1:8080

and the error I got was:

Code:
{"jsonrpc":"1.0","id":"curltext","error":{"code":0,"message":"Server returned HTTP response code: 500 for URL: https://namecoin.webbtc.com/name/d/nf.json?history&with_height&with_rawtx&with_mrkl_branch&with_tx_idx&raw","data":{"exceptionTypeName":"java.io.IOException","message":"Server returned HTTP response code: 500 for URL: https://namecoin.webbtc.com/name/d/nf.json?history&with_height&with_rawtx&with_mrkl_branch&with_tx_idx&raw"}}}

It's strange that it connects to a "webbtc.com" domain (a block explorer), and when I enter the URL mentioned in the error in a browser, I also get the Internal Server Error. So I think there's some configuration step I missed ... it should use my own client and not a block explorer to lookup a name, or not?

I don't know also how to set up the RPC user and password. Normally there should be a "$coin.conf" file to setup these things, but simply placing a "namecoin.conf" in the directory doesn't change anything (I also didn't really expect that to work, haha).

trantute2
Hero Member
*****
Offline Offline

Activity: 784
Merit: 534



View Profile
April 17, 2018, 02:24:03 PM
 #1477

I installed the ConsensusJ light client now, and it runs (instructions are here). But I run into a problem.

I will also try it in the evening and will come back to you.  Smiley
trantute2
Hero Member
*****
Offline Offline

Activity: 784
Merit: 534



View Profile
April 17, 2018, 07:01:12 PM
 #1478

Hmm ... I get a similar error:

Code:
{"jsonrpc":"1.0","id":"curltext","error":{"code":0,"message":"Server returned HTTP response code: 500 for URL: https://namecoin.webbtc.com/name/d/domob.json?history&with_height&with_rawtx&with_mrkl_branch&with_tx_idx&raw","data":{"exceptionTypeName":"java.io.IOException","message":"Server returned HTTP response code: 500 for URL: https://namecoin.webbtc.com/name/d/domob.json?history&with_height&with_rawtx&with_mrkl_branch&with_tx_idx&raw"}}}

Check the terminal, where namecoinj is running while the curl command is executed. There might be an exception, including "HTTP response code: 500" (see below), which in my case correlates with the curl command. I think, there lies the dog buried.

Code:
java.lang.reflect.InvocationTargetException: null
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_162]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_162]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_162]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_162]
at com.googlecode.jsonrpc4j.JsonRpcServer.invoke(JsonRpcServer.java:513) [jsonrpc4j-1.1.jar!/:na]
at com.googlecode.jsonrpc4j.JsonRpcServer.handleObject(JsonRpcServer.java:384) [jsonrpc4j-1.1.jar!/:na]
at com.googlecode.jsonrpc4j.JsonRpcServer.handleNode(JsonRpcServer.java:293) [jsonrpc4j-1.1.jar!/:na]
at com.googlecode.jsonrpc4j.JsonRpcServer.handle(JsonRpcServer.java:230) [jsonrpc4j-1.1.jar!/:na]
at com.googlecode.jsonrpc4j.JsonRpcServer.handle(JsonRpcServer.java:207) [jsonrpc4j-1.1.jar!/:na]
at com.googlecode.jsonrpc4j.spring.JsonServiceExporter.handleRequest(JsonServiceExporter.java:40) [jsonrpc4j-1.1.jar!/:na]
at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:51) [spring-webmvc-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967) [spring-webmvc-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) [spring-webmvc-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) [spring-webmvc-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) [spring-webmvc-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:661) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) [spring-webmvc-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-embed-websocket-8.5.15.jar!/:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) [spring-web-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:105) [spring-web-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81) [spring-web-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) [spring-web-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.9.RELEASE.jar!/:4.3.9.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_162]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_162]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-8.5.15.jar!/:8.5.15]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_162]
Caused by: java.io.IOException: Server returned HTTP response code: 500 for URL: https://namecoin.webbtc.com/name/d/domob.json?history&with_height&with_rawtx&with_mrkl_branch&with_tx_idx&raw
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1894) ~[na:1.8.0_162]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) ~[na:1.8.0_162]
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:263) ~[na:1.8.0_162]
at java.net.URL.openStream(URL.java:1045) ~[na:1.8.0_162]
at com.fasterxml.jackson.core.JsonFactory._optimizedStreamFromURL(JsonFactory.java:1547) ~[jackson-core-2.8.8.jar!/:2.8.8]
at com.fasterxml.jackson.core.JsonFactory.createParser(JsonFactory.java:783) ~[jackson-core-2.8.8.jar!/:2.8.8]
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2797) ~[jackson-databind-2.8.8.jar!/:2.8.8]
at org.libdohj.names.NameLookupLatestRestMerkleApi.getUntrustedNameHistory(NameLookupLatestRestMerkleApi.java:130) ~[libdohj-namecoin-0.14-SNAPSHOT.jar!/:na]
at org.libdohj.names.NameLookupLatestRestMerkleApi.getLatestUntrustedNameData(NameLookupLatestRestMerkleApi.java:103) ~[libdohj-namecoin-0.14-SNAPSHOT.jar!/:na]
at org.libdohj.names.NameLookupLatestRestMerkleApi.getNameTransaction(NameLookupLatestRestMerkleApi.java:63) ~[libdohj-namecoin-0.14-SNAPSHOT.jar!/:na]
at org.namecoin.bitcoinj.spring.service.NameLookupService.name_show(NameLookupService.java:157) ~[bitcoinj-server-0.2.7-SNAPSHOT.jar!/:na]
... 55 common frames omitted

I did not set the environment variable as recommended in the instructions. And I used OpendJDK.
trantute2
Hero Member
*****
Offline Offline

Activity: 784
Merit: 534



View Profile
April 17, 2018, 07:07:52 PM
 #1479

Okay ...

Code:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

... makes no difference.

I will stop here for today since I have to get up early in the morning tomorrow. And two beers are waiting ...

Maybe we should also try Oracle's java?
trantute2
Hero Member
*****
Offline Offline

Activity: 784
Merit: 534



View Profile
April 17, 2018, 07:30:28 PM
 #1480

One last thing for today: See

https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

for the 500 error. It says:

Quote
500 Internal Server Error
    A generic error message, given when an unexpected condition was encountered and no more specific message is suitable.

(also compare it with https://de.wikipedia.org/wiki/HTTP-Statuscode)

Maybe it is not our fault. Maybe the server, the curl command is aiming for, is down or similar. But this is only one hypothesis.

And I have to admit, that I do not understand the curl command yet.
Pages: « 1 ... 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 [74] 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!