Chat log from the meeting on 2020-04-28

From OpenSimulator

Jump to: navigation, search


[11:04] Andrew Hellershanks: Hello, everyone.
[11:04] Ubit Umarov: well hope its plugh not the car
[11:04] Ubit Umarov: cat
[11:05] Selby.Evans @grid.kitely.com:8002: Hi Andrew
[11:05] Ubit Umarov: ahh seems the human
[11:05] Arielle Popstar: i looked earlier in the catty for a dollhouse themed house
[11:05] Andrew Hellershanks: The cat hasn't learned to spell
[11:05] Arielle Popstar: oops wrong window :)
[11:05] Ubit Umarov: :)
[11:05] Ubit Umarov: well loking to commits neither did i gezz
[11:06] Ubit Umarov: that right in place of write was 2 much :p
[11:06] Arielle Popstar: :)
[11:06] Ubit Umarov: i tried to change that, but git refused .. bad git :)
[11:07] Ubit Umarov: well.. so andrew , whats new on opensim ?
[11:07] Ubit Umarov: hm gavin is late today
[11:08] Andrew Hellershanks: Ubit, you would know better than me. :)
[11:08] Ubit Umarov: btw did finished looking to those 3000 commits?
[11:08] Andrew Hellershanks checks the change log
[11:09] Ubit Umarov: from 0.900 :)
[11:09] Andrew Hellershanks: I haven't gotten back to that yet. I still have 2,000 or so entries to go through.
[11:09] Ubit Umarov: :)
[11:09] Kayaker Magic: So many changelogs, so little time....
[11:10] Andrew Hellershanks: I may have to be less picky about what I pull out. Just look for the more major items.
[11:10] Ubit Umarov: well guess a lot of those outdated now
[11:10] Kayaker Magic: Any thoughts Ubit about that mantus of mine last week? Any hope the llGetVel call can be correct in on_rez?
[11:10] Andrew Hellershanks: Kayaker, in an ideal world a summary file would be updated as the changes are being made.
[11:11] Ubit Umarov: not really, as i said on rez is a bad place to get vel
[11:11] Arielle Popstar: when did the iar formatting change/? I looked for that on the wikki as it would be important to people updating
[11:11] Ubit Umarov: ages since i looked to iar code
[11:11] Gavin.Hird @grid.xmir.org:8002: evening everyone
[11:12] Arielle Popstar: it changed between .8.2 and .9.0?
[11:12] Kayaker Magic whispers: Welcome Gavin!
[11:12] Ubit Umarov: i have some changes on disk.. but don't even remember what they where about
[11:12] Andrew Hellershanks: Kayaker, can you use the rezzing tool to set the initial velocity?
[11:12] Ubit Umarov: yeah guess last changes where back then
[11:12] Andrew Hellershanks: Welcome, Gavin.
[11:12] Ubit Umarov: kayaker scripts and physics are async
[11:12] Kayaker Magic: What rezzing tool? I'm rezzing with llRezObject in a script.
[11:13] Ubit Umarov: vel will not be reliable on_rez
[11:13] Ubit Umarov: hi gavin.Hird
[11:13] Andrew Hellershanks: Kayaker, the third parameter of llRezObject is velocity.
[11:13] Arielle Popstar: been hearing and seeing about a lot of missing and corrupted assets coming from Iar's
[11:14] Ubit Umarov: well also depends on iar sources
[11:14] Ubit Umarov: same mb old
[11:14] Andrew Hellershanks: Ubit, you can't reliably set an initial velocity from llRezObject()?
[11:14] Ubit Umarov: can.. but not read at that point
[11:14] Andrew Hellershanks: ok.
[11:14] Kayaker Magic: Yes, I rez with a velocity, the rezzed object calls llGetVel in on_rez, and Ubit says that will never be correct. You can set the velocity, just not know what it is for a while.
[11:15] Ubit Umarov: kayker wants to read it on the on_rez
[11:15] Andrew Hellershanks: I was suggesting that if the initial velocity is specified in the call then you know what it is in on_rez() without having to ask for it.
[11:15] Ubit Umarov: that that currently may run before physics ready etc
[11:15] Kayaker Magic: The rezzer knows what velocity it asked for, the rezzee does not.
[11:16] Ubit Umarov: consiquence of opensim idea of "lets run all in paralell"
[11:16] Kayaker Magic: Unless the two of them arrange a communication channel, which is also async....
[11:16] Andrew Hellershanks: brb. RL is calling.
[11:17] System Test:
Simulator Version: OpenSim 0.9.2.0 Yeti Dev 07:42:36 04-18-2020 (Unix/Mono)
Physics Engine Name: ubODE 1.0
Script Engine Name: YEngine
[11:17] Ubit Umarov: well on code changes.. nothing new
[11:17] Andrew Hellershanks: back
[11:17] Ubit Umarov: in terms of features
[11:17] Ubit Umarov: as far i can remember :)
[11:18] Physics Test:
Simulator Version: OpenSim 0.9.2.0 Yeti Dev 07:42:36 04-18-2020 (Unix/Mono)
Physics Engine Name: ubODE 1.0
Script Engine Name: YEngine
[11:18] Ubit Umarov: just changes on how http is handle
[11:18] Script Test:
Simulator Version: OpenSim 0.9.2.0 Yeti Dev 07:42:36 04-18-2020 (Unix/Mono)
Physics Engine Name: ubODE 1.0
Script Engine Name: YEngine
[11:18] Andrew Hellershanks: You could pass the info via the start up param but that is also not ideal.
[11:18] Kayaker Magic: Only 32 bits
[11:19] Ubit Umarov: well lsl floats are 64b.. don't ask why
[11:19] Kayaker Magic: you can send a com channel number over that, wait until you get messages back and forth, by then llFetVel works, but drag has slowed the velocity down a bit.
[11:19] Ubit Umarov: someone in lost past decided floats should be doubles
[11:19] Kayaker Magic: *llGetVel
[11:20] Kayaker Magic: Sombody in recent past decided we should use floats,
[11:21] Ubit Umarov: every thing else is floats since ever
[11:21] Ubit Umarov: and lsl floats are still double
[11:21] Andrew Hellershanks: Sounds like a nice mess.
[11:22] Ubit Umarov: and that is incoerent bc lsl is sent to the framework, or get from there
[11:22] Ubit Umarov: but well just some precision issues ( and waste of memory )
[11:22] Kayaker Magic: I seem to recall noticing that one of the libraries used doubles, but I assume you castrated that by now
[11:22] Kayaker Magic: *fixed
[11:22] Gavin.Hird @grid.xmir.org:8002: could it have to do with the object creep we used to see back in the old L days, whihc was aid to be due to lack of precision
[11:22] Gavin.Hird @grid.xmir.org:8002: said*
[11:23] Gavin.Hird @grid.xmir.org:8002: over time prims moved apart
[11:23] Ubit Umarov: everything else is 32b..
[11:23] Ubit Umarov: no idea why ppl made lsl doubles
[11:24] Gavin.Hird @grid.xmir.org:8002: if you have roundingissues in single precision floats, it might contribute to that position creeps over time
[11:24] Andrew Hellershanks: Rotating doors use to result in the doors shifting position slightly. The trick was to get the position before starting movement and after the end of movement set the original pos again.
[11:24] Ubit Umarov: yeah but irrelevant to this talk.. all simulation is done in 32b since ever also
[11:25] Ubit Umarov: so lsl doubles are just a waste
[11:25] Gavin.Hird @grid.xmir.org:8002: yes, not only doors, but for bigger builds or smaller for that sake you have to re-stack the prims as they moved over time
[11:25] Ubit Umarov: that was a reason why i reduce max region size to 4km
[11:25] Ubit Umarov: still a bit large
[11:26] Ubit Umarov: one may expect some precision issues close the the 4k,4k corner
[11:26] Ubit Umarov: and viewers only use 32b so.. they also add things
[11:27] Ubit Umarov: also a reason why ll limits things to z=4k
[11:27] Kayaker Magic: I try and convince people to keep vars at 1024 or smaller, nobody listens. Smaller vars are easier on the viewer also.
[11:27] Andrew Hellershanks: 4k is big enough. That equates to a 16x16 and it isn't recommended to use a var that large.
[11:28] Ubit Umarov: yeha guess 1km is ok
[11:28] Ubit Umarov: more than that.. may work :p
[11:28] Andrew Hellershanks: I've seen a 10x10 var being used but nothing larger than that.
[11:28] Kayaker Magic: Just issues like waiting for the terrain to load, storing all the terrain. I am surprized the viewer works at all on big vars.
[11:29] Kayaker Magic: Seems to me it needs more memory than my PC has....
[11:29] Ubit Umarov: well several regions per instance could be a option
[11:29] Ubit Umarov: devs never did like that option, so it did acumulate issues
[11:30] Ubit Umarov: but seems better now
[11:30] Ubit Umarov: just for some odd reason crossings aren't as fast as one could expect
[11:30] Ubit Umarov: on my test grid i see now and then crossings btw linux and win faster than on same instance
[11:31] Ubit Umarov: odd thing.. guess locking issues somewhere
[11:31] Gavin.Hird @grid.xmir.org:8002: crossinb between simulator instances are faster than between regions running on the same instance
[11:31] Ubit Umarov: bc inside same isntance its objects copy from one region to the other
[11:31] Ubit Umarov: yeah
[11:32] Ubit Umarov: its odd
[11:32] Gavin.Hird @grid.xmir.org:8002: but even on the PI I have 11 regions running happily in 2 instances
[11:32] Gavin.Hird @grid.xmir.org:8002: standard regions that is
[11:32] Ubit Umarov: btw instances its TCP blablabla
[11:32] Ubit Umarov: as i said, guess some locking issues slowing things down
[11:33] Ubit Umarov: but several regions on same instance should provide fast crossings
[11:33] Ubit Umarov: without the precision issues..
[11:33] Gavin.Hird @grid.xmir.org:8002: well, even on an instance the regions have to communicate over a network connection
[11:33] Ubit Umarov: it they where fast :)
[11:33] Ubit Umarov: no they don't
[11:33] Gavin.Hird @grid.xmir.org:8002: if they could communicate over a unix socket on the instance they probalby would work better
[11:34] Ubit Umarov: there is some confusing code to do copies etc in stead of communications
[11:35] Gavin.Hird @grid.xmir.org:8002: unix socket on mono of course, dunno about win
[11:35] Ubit Umarov: as i said, several regions per instance was forgotten.. ive been improving that case a bit
[11:35] Ubit Umarov: y test regions are 2 per instance
[11:35] Ubit Umarov: one 1km other 256m
[11:35] Andrew Hellershanks: My test set up has two standard size regions in one instance.
[11:35] Ubit Umarov: one set on win, other on linux.. when needed
[11:36] Ubit Umarov: wellit does puzzle me why btw 2 instances is faster..
[11:36] Ubit Umarov: that is on same box, or same network
[11:37] Ubit Umarov: not across the world :)
[11:37] Ubit Umarov: on my internal 100MBps, win<->linux is sometimes faster than inside some instance
[11:38] Ubit Umarov: oen day i may try to debug that
[11:38] Ubit Umarov: bc we are wasting tons of code to make that fast
[11:38] Gavin.Hird @grid.xmir.org:8002: could have to do with how the two instances are scheduled on the CPU
[11:40] Kayaker Magic: I'm giving away these three prims here: They change color depending on which OpenSim, physics or script engine is up.
[11:40] Ubit Umarov: well the new regions code needs testing :)
[11:41] Ubit Umarov: ty
[11:41] Kayaker Magic: They upgrade on region restart, crossing, on rez, or a touch. These should be copyable.
[11:41] Andrew Hellershanks: wow. That was odd. I had to do a git pull twice before it worked. It wasn't showing any of the changes made this past week at first.
[11:41] Script Test:
Simulator Version: OpenSim 0.9.2.0 Yeti Dev 07:42:36 04-18-2020 (Unix/Mono)
Physics Engine Name: ubODE 1.0
Script Engine Name: YEngine
[11:42] Physics Test:
Simulator Version: OpenSim 0.9.2.0 Yeti Dev 07:42:36 04-18-2020 (Unix/Mono)
Physics Engine Name: ubODE 1.0
Script Engine Name: YEngine
[11:42] Andrew Hellershanks: Ubit was busy. Lots of commits were made this past week.
[11:42] Ubit Umarov: just a few changes :p
[11:42] Kayaker Magic: Time to re-build my copy of OpenSim I guess...
[11:43] Gavin.Hird @grid.xmir.org:8002: but does it do the same
[11:43] Gavin.Hird @grid.xmir.org:8002: ...from the viewer standpoint I mean
[11:43] Ubit Umarov: im changind all the http handling code
[11:43] Andrew Hellershanks: A number of the changes related to http stuff.
[11:43] Ubit Umarov: almost all :)
[11:44] Gavin.Hird @grid.xmir.org:8002: almost?
[11:44] Ubit Umarov: have bad mem, don't remember if made any unrelated to http :p
[11:44] Andrew Hellershanks: A bunch of stuff was moved to simpleStreamHandler. A (minor?) performance improvement over what it previously used?
[11:44] Ubit Umarov: well on some i changed more than just http
[11:45] Gavin.Hird @grid.xmir.org:8002: see...
[11:45] Ubit Umarov: for example a module is now a shared one
[11:45] Ubit Umarov: ( only one loaded per instance )
[11:45] Kayaker Magic: Recent versions of Mono are FAST! I just re-compiled all of OpenSIm in less than one minute.
[11:45] Ubit Umarov: feachinventory2 i think
[11:46] Andrew Hellershanks: bbiab. I need to check on something happening in the kitchen.
[11:46] Ubit Umarov: im still on 6.0.0.319
[11:46] Gavin.Hird @grid.xmir.org:8002: did the cat start eating something it was not supposed to?
[11:46] Kayaker Magic: I'm on 6.8.0.105
[11:47] Ubit Umarov: some ppl report mempry leaks on libgdi plus
[11:47] Gavin.Hird @grid.xmir.org:8002: 6.6.0.161
[11:47] Ubit Umarov: ( used on warp3d map and dynamic textures )
[11:47] Gavin.Hird @grid.xmir.org:8002: 6.8.x completely breaks postgres
[11:48] Ubit Umarov: the db connectors are not bem updated
[11:48] Gavin.Hird @grid.xmir.org:8002: not even sure there is any point trying to fix it a this stage
[11:48] Ubit Umarov: the new for mysql is for -net4.5 if not older
[11:49] Gavin.Hird @grid.xmir.org:8002: npgsql does not work with 6.8 wthout a lot of development work on the postgres support code
[11:49] Ubit Umarov: well it should
[11:49] Ubit Umarov: if wokrs on win
[11:49] Gavin.Hird @grid.xmir.org:8002: did you test it on 6.8?
[11:50] Ubit Umarov: im happy on 6.0.0.319 for now ty, and i don't have postgres
[11:50] Ubit Umarov: leave that for you :p
[11:50] Gavin.Hird @grid.xmir.org:8002: ok, so don't say it works if you have not tested it. because it does not work
[11:51] Ubit Umarov: i said should.. not does ..
[11:51] Gavin.Hird @grid.xmir.org:8002: the npgsql version we use are 2 major revisions behind the latest
[11:51] Ubit Umarov: and things have bugs.. not only opensim :)
[11:51] Gavin.Hird @grid.xmir.org:8002: so it is simply not supported on 6.8 at all
[11:51] Andrew Hellershanks: Gavin, :)
[11:52] Gavin.Hird @grid.xmir.org:8002: did the cat eat something?
[11:52] Ubit Umarov: dunno ages since i looke to mono changelogs
[11:52] Andrew Hellershanks: A family member in the house has back problems. I need to help them with things. I was surprised to hear some activity from them so I wanted to see what they were up to to avoid them making their back worse.
[11:52] Ubit Umarov: but ms and all are rushing to .netcore
[11:53] Ubit Umarov: break things on the way
[11:53] Andrew Hellershanks: I have mono 6.8 after I updated the Linux distro running on my machine a couple of weeks ago.
[11:53] Gavin.Hird @grid.xmir.org:8002: I remember we had a family dog, and once to managed to open a kitchen cupboard, and had in secret eaten half a birthday cake stored in there
[11:54] Ubit Umarov: weel we had that -net4.8 Jit problem on win.. still unfixed
[11:54] Ubit Umarov: wonder what more.. gezz
[11:54] Andrew Hellershanks: Gavin, :) My previous cat would try opening the kitchen cupboards. Sometimes he succeeded.
[11:54] Gavin.Hird @grid.xmir.org:8002: they are creative
[11:56] Ubit Umarov: that http things i called Simple* have to do how http data is moved around
[11:57] Ubit Umarov: till not, everything that arrives from the lower level of the http server, was converted into intermediat hasttables or hashsoemthing...
[11:57] Ubit Umarov: the reponse data, was on those format also, and then converted to what the lower level understands
[11:57] Ubit Umarov: the "Simple" means killing all those interdiate representations
[11:58] Andrew Hellershanks: Sounds good.
[11:58] Ubit Umarov: handling code reads directly from the http server data, and writes( not rights) directly on that format
[11:59] Gavin.Hird @grid.xmir.org:8002: the S in SMTP also means simple and it manages to move mail around the planet pretty good, so simple is OK with me :-)
[11:59] Ubit Umarov: that should mean some cpu saving and less work on gc
[11:59] Ubit Umarov: well im always good naming thigs
[11:59] Ubit Umarov: the "simple" did come from that simplification
[12:00] Ubit Umarov: remove excess garbage
[12:00] Andrew Hellershanks: There is an API function in GIMP for flipping an image. It used to be simple. The function now called simple takes about a half dozen parameters. I don't call that simple any more.
[12:00] Ubit Umarov: since im looking to code areas, some other changes do happen like that Shared module
[12:00] Andrew Hellershanks: You only need one argument for the simple case: horizontal, or vertical.
[12:02] Ubit Umarov: bf that as i said on last meeting, i did replace the http_server dll, placing its code directly on our sources
[12:02] Ubit Umarov: now changed :)
[12:02] Ubit Umarov: again goal it to remove excess garbage
[12:02] Ubit Umarov: there only burning cpu, for nothing
[12:02] Gavin.Hird @grid.xmir.org:8002: you could simplify that to remove garbage
[12:03] Andrew Hellershanks: That should result in some improvement in performance as the http server stuff is used in many places.
[12:03] Ubit Umarov: well dunno most time i removed things to improve performance, i see nothing
[12:04] Ubit Umarov: guess the cpu takes the time to go get a coffe ;)
[12:04] Andrew Hellershanks: There could be other factors hiding the improvement. Even reduce CPU load would be an improvement.
[12:04] Kayaker Magic: Questoin: on one of my regions I get this error every time I shut down:
[12:04] Ubit Umarov: uff atill a lot to go
[12:04] Kayaker Magic: 12:03:53 - [WATCHDOG]: Requested to remove thread with ID 29 but this is not being monitored
[12:05] Gavin.Hird @grid.xmir.org:8002: if the cpus I have got a coffe, they would probalby short out
[12:05] Kayaker Magic: But not on other regions, what does that mean?
[12:05] Gavin.Hird @grid.xmir.org:8002: I see those on and off too
[12:05] Ubit Umarov: yeha there is that message at shutdown kayaker
[12:05] Ubit Umarov: minor
[12:06] Kayaker Magic: I'v got nearly identical ini files for all my regions in OSGrid, so I don't think it is my ini
[12:06] Ubit Umarov: htat watchdog is a nice instrumentation thing.. but a lot useless most the time
[12:06] Ubit Umarov: no its code somewhere
[12:06] Gavin.Hird @grid.xmir.org:8002: are thread taken down randomly at shutdown
[12:06] Ubit Umarov: yeap
[12:07] Gavin.Hird @grid.xmir.org:8002: so they could generate spurious messages
[12:07] Ubit Umarov: in some cases there is even a hard error
[12:07] Ubit Umarov: i get it in debug.. you may not see it
[12:07] Ubit Umarov: (and win)
[12:08] Ubit Umarov: as gavin said, threads been kiiled.. somehow
[12:08] Ubit Umarov: Sleby.. any news on scengate?
[12:08] Ubit Umarov: and Selby.Evans
[12:09] Ubit Umarov: err scenegate :)
[12:09] Andrew Hellershanks: If the same thread number appears every time it might be possible to work out what thread had the problem.
[12:09] Ubit Umarov: btw gavin i told what was that dayturn strange sit?
[12:09] Gavin.Hird @grid.xmir.org:8002: you sure did :-)
[12:09] Ubit Umarov: physics sit fail at lbsa
[12:09] Ubit Umarov: ok
[12:10] Ubit Umarov: if we want to sit on a full transparent prim we need to change the transparency to 99
[12:10] Ubit Umarov: or it will not be selected by the "sit here"
[12:11] Ubit Umarov: fs has is as a option it seems
[12:11] Ubit Umarov: by default does select 100 transp prims
[12:11] Ubit Umarov: well more news?
[12:12] Ubit Umarov: all sleeping
[12:12] Gavin.Hird @grid.xmir.org:8002: nope
[12:13] Andrew Hellershanks: We are quarter past the hour so it is about time to start wrapping up todays gathering.
[12:13] Gavin.Hird @grid.xmir.org:8002: I suppose there is not a lot of news
[12:13] Kayaker Magic: I've re-built OpenSim with latest from git and updated 5 instances here on OSGrid just now.
[12:13] Gavin.Hird @grid.xmir.org:8002: all viewer devs are struggling ti implement eep in their viewers
[12:13] Ubit Umarov: yeah
[12:13] Ubit Umarov: im still not looking
[12:14] Ubit Umarov: well having trouble to not let my code on it to get into git for now
[12:14] Gavin.Hird @grid.xmir.org:8002: I have taken some changes that LL have not published yet that has helped immensely on uploading mesh
[12:14] Andrew Hellershanks: I need to start up one of my standalones to import an old IAR file. I have some objects I want to test in the latest code.
[12:14] Ubit Umarov: i need a working TPV (and sources) bf looking to it again
[12:14] Gavin.Hird @grid.xmir.org:8002: so I might release it to the public even if not feature complete
[12:14] Andrew Hellershanks: Ubit, use a branch to avoid any unintentional pushing of EEP code.
[12:15] Andrew Hellershanks: Unless you want to intentionally unintentionally push some of that code. :)
[12:15] Ubit Umarov: some already pushed :)
[12:15] Andrew Hellershanks: :)
[12:16] Ubit Umarov: i need to reduce the diff btw my code and git one
[12:16] Gavin.Hird @grid.xmir.org:8002: enough to start take the changes
[12:16] Ubit Umarov: also have the keyframe code changes waiting
[12:16] Ubit Umarov: have some issues with compatibilty with old code.. yeack
[12:17] Ubit Umarov: the way we did serielize it.. not flexible
[12:17] Gavin.Hird @grid.xmir.org:8002: LL "invented" server side stored user settings, and now they use them eferywhere
[12:17] Gavin.Hird @grid.xmir.org:8002: everywhere*
[12:17] Ubit Umarov: they call settings to the eep things
[12:18] Ubit Umarov: daycycles, skies and water
[12:18] Gavin.Hird @grid.xmir.org:8002: also for stuff that is not released yet
[12:18] Gavin.Hird @grid.xmir.org:8002: like cam settings
[12:18] Ubit Umarov: uff
[12:18] Ubit Umarov: yeak
[12:19] Ubit Umarov: well we will not follow them on all
[12:19] Ubit Umarov: eep is not a compromise.. i may giveup on it
[12:19] Ubit Umarov: or parts of it
[12:19] Gavin.Hird @grid.xmir.org:8002: my intention is to take the render changes only
[12:20] Ubit Umarov: i did nothing about parcels
[12:20] Gavin.Hird @grid.xmir.org:8002: which does not require any server side changes
[12:20] Kayaker Magic: ?What keyframe code changes are you talking about Ubit?
[12:20] Gavin.Hird @grid.xmir.org:8002: but even that is hairy enough
[12:20] Ubit Umarov: i changed how they work
[12:20] Ubit Umarov: i spoke about that here, some months ago
[12:21] Ubit Umarov: im just leting the code get dust since then :)
[12:21] Kayaker Magic: But what is waiting? You made changes but didn't update them into Master?
[12:21] Ubit Umarov: nd one mode will not be as sl
[12:22] Ubit Umarov: i don't understand the crap sl does on it
[12:22] Ubit Umarov: yeap
[12:22] Ubit Umarov: i need to hack interop with older regions
[12:22] Ubit Umarov: on crossings
[12:23] Selby.Evans @grid.kitely.com:8002: must go -- bye all
[12:23] Gavin.Hird @grid.xmir.org:8002: bye Selby
[12:24] Gavin.Hird @grid.xmir.org:8002: I am so looking forward to getting a haircut again tomorrow after they re-opened from the covid-coma
[12:24] Andrew Hellershanks: It is almost half past. Time to put a bow on this meeting.
[12:24] Andrew Hellershanks: Thank you all for coming. See you again next week.

Personal tools
General
About This Wiki