Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Maze of Ith

Pages: [1]
1
Dead Souls Support / Unable to Log in to DS3.6 mud
« on: June 19, 2013, 01:25:41 pm »
To make a long story short, power went out and after getting servers back online and my mud started, I am unable to log in. I can telnet to it, the log in screen displays, but after entering a username it just hangs indefinitely. I have a fairly recent backup so can restore files if needed, but I don't know what would cause this behavior specifically. Even if I enter a name for an account that does not yet exist it hangs.

I fired up the mud and attempted a single log in, and this is what was generated in the catch log:
Code: [Select]

--- Looney II
2013.06.19-12.20,27
*restore_object(): Illegal array format while restoring Nameservers.
Object: /daemon/intermud (/<driver>) at line 0

'heart_beat' at /secure/daemon/ping at line 90
'CheckOK' at /secure/daemon/ping at line 21
'update' at /secure/sefun/sefun at /secure/sefun/load_object.c:58
'CATCH' at /secure/sefun/sefun at /secure/sefun/load_object.c:58
'create' at /daemon/intermud at line 55
'RestoreObject' at /daemon/intermud (/lib/props/save.c) at line 72
'unguarded' at /secure/sefun/sefun at /secure/sefun/security.c:104
'apply_unguarded' at /secure/daemon/master at line 606
'CATCH' at /secure/daemon/master at line 606
'<fake>' at /daemon/intermud (/<driver>) at line 0

--- Looney II
2013.06.19-12.20,27
**restore_object(): Illegal array format while restoring Nameservers.
Object: /secure/daemon/master at line 608

'heart_beat' at /secure/daemon/ping at line 90
'CheckOK' at /secure/daemon/ping at line 21
'update' at /secure/sefun/sefun at /secure/sefun/load_object.c:58
'CATCH' at /secure/sefun/sefun at /secure/sefun/load_object.c:58
'create' at /daemon/intermud at line 55
'RestoreObject' at /daemon/intermud (/lib/props/save.c) at line 72
'unguarded' at /secure/sefun/sefun at /secure/sefun/security.c:104
'apply_unguarded' at /secure/daemon/master at line 608

--- Looney II
2013.06.19-12.20,37
*call_other() couldn't find object
Object: /secure/sefun/sefun at /secure/sefun/load_object.c:35

'heart_beat' at /secure/daemon/portal at line 117
'CheckPortals' at /secure/daemon/portal at line 16
'CATCH' at /secure/daemon/portal at line 16
'load_object' at /secure/sefun/sefun at /secure/sefun/load_object.c:35
'CATCH' at /secure/sefun/sefun at /secure/sefun/load_object.c:35

--- Looney II
2013.06.19-12.20,37
*call_other() couldn't find object
Object: /secure/sefun/sefun at /secure/sefun/load_object.c:35

'heart_beat' at /secure/daemon/portal at line 117
'CheckPortals' at /secure/daemon/portal at line 18
'load_object' at /secure/sefun/sefun at /secure/sefun/load_object.c:35
'CATCH' at /secure/sefun/sefun at /secure/sefun/load_object.c:35

--- Looney II
2013.06.19-12.20,37
*call_other() couldn't find object
Object: /secure/sefun/sefun at /secure/sefun/load_object.c:35

'heart_beat' at /secure/daemon/portal at line 117
'CheckPortals' at /secure/daemon/portal at line 20
'CATCH' at /secure/daemon/portal at line 20
'load_object' at /secure/sefun/sefun at /secure/sefun/load_object.c:35
'CATCH' at /secure/sefun/sefun at /secure/sefun/load_object.c:35

--- Looney II
2013.06.19-12.20,37
*call_other() couldn't find object
Object: /secure/sefun/sefun at /secure/sefun/load_object.c:35

'heart_beat' at /secure/daemon/portal at line 117
'CheckPortals' at /secure/daemon/portal at line 22
'load_object' at /secure/sefun/sefun at /secure/sefun/load_object.c:35
'CATCH' at /secure/sefun/sefun at /secure/sefun/load_object.c:35

--- Looney II
2013.06.19-12.20,37
*call_other() couldn't find object
Object: /secure/sefun/sefun at /secure/sefun/load_object.c:35

'heart_beat' at /secure/daemon/portal at line 117
'CheckPortals' at /secure/daemon/portal at line 49
'CATCH' at /secure/daemon/portal at line 49
'clone_object' at /secure/sefun/sefun at line 120
'create' at /secure/obj/portal_blue#3259 at line 24
'GetOrangePortal' at /secure/daemon/portal at line 110
'CheckPortals' at /secure/daemon/portal at line 16
'CATCH' at /secure/daemon/portal at line 16
'load_object' at /secure/sefun/sefun at /secure/sefun/load_object.c:35
'CATCH' at /secure/sefun/sefun at /secure/sefun/load_object.c:35

--- Looney II
2013.06.19-12.20,37
*call_other() couldn't find object
Object: /secure/sefun/sefun at /secure/sefun/load_object.c:35

'heart_beat' at /secure/daemon/portal at line 117
'CheckPortals' at /secure/daemon/portal at line 49
'CATCH' at /secure/daemon/portal at line 49
'clone_object' at /secure/sefun/sefun at line 120
'create' at /secure/obj/portal_blue#3259 at line 24
'GetOrangePortal' at /secure/daemon/portal at line 110
'CheckPortals' at /secure/daemon/portal at line 18
'load_object' at /secure/sefun/sefun at /secure/sefun/load_object.c:35
'CATCH' at /secure/sefun/sefun at /secure/sefun/load_object.c:35

--- Looney II
2013.06.19-12.20,37
*call_other() couldn't find object
Object: /secure/sefun/sefun at /secure/sefun/load_object.c:35

'heart_beat' at /secure/daemon/portal at line 117
'CheckPortals' at /secure/daemon/portal at line 49
'CATCH' at /secure/daemon/portal at line 49
'clone_object' at /secure/sefun/sefun at line 120
'create' at /secure/obj/portal_blue#3259 at line 24
'GetOrangePortal' at /secure/daemon/portal at line 110
'CheckPortals' at /secure/daemon/portal at line 20
'CATCH' at /secure/daemon/portal at line 20
'load_object' at /secure/sefun/sefun at /secure/sefun/load_object.c:35
'CATCH' at /secure/sefun/sefun at /secure/sefun/load_object.c:35

--- Looney II
2013.06.19-12.20,37
*call_other() couldn't find object
Object: /secure/sefun/sefun at /secure/sefun/load_object.c:35

'heart_beat' at /secure/daemon/portal at line 117
'CheckPortals' at /secure/daemon/portal at line 49
'CATCH' at /secure/daemon/portal at line 49
'clone_object' at /secure/sefun/sefun at line 120
'create' at /secure/obj/portal_blue#3259 at line 24
'GetOrangePortal' at /secure/daemon/portal at line 110
'CheckPortals' at /secure/daemon/portal at line 22
'load_object' at /secure/sefun/sefun at /secure/sefun/load_object.c:35
'CATCH' at /secure/sefun/sefun at /secure/sefun/load_object.c:35

--- Looney II
2013.06.19-12.20,37
*call_other() couldn't find object
Object: /secure/sefun/sefun at /secure/sefun/load_object.c:35

'heart_beat' at /secure/daemon/portal at line 117
'CheckPortals' at /secure/daemon/portal at line 49
'CATCH' at /secure/daemon/portal at line 49
'clone_object' at /secure/sefun/sefun at line 120
'create' at /secure/obj/portal_blue#3259 at line 24
'GetOrangePortal' at /secure/daemon/portal at line 110
'CheckPortals' at /secure/daemon/portal at line 52
'CATCH' at /secure/daemon/portal at line 52
'clone_object' at /secure/sefun/sefun at line 120
'create' at /secure/obj/portal_orange#3260 at line 24
'GetBluePortal' at /secure/daemon/portal at line 105
'CheckPortals' at /secure/daemon/portal at line 16
'CATCH' at /secure/daemon/portal at line 16
'load_object' at /secure/sefun/sefun at /secure/sefun/load_object.c:35
'CATCH' at /secure/sefun/sefun at /secure/sefun/load_object.c:35

--- Looney II
2013.06.19-12.20,37
*call_other() couldn't find object
Object: /secure/sefun/sefun at /secure/sefun/load_object.c:35

'heart_beat' at /secure/daemon/portal at line 117
'CheckPortals' at /secure/daemon/portal at line 49
'CATCH' at /secure/daemon/portal at line 49
'clone_object' at /secure/sefun/sefun at line 120
'create' at /secure/obj/portal_blue#3259 at line 24
'GetOrangePortal' at /secure/daemon/portal at line 110
'CheckPortals' at /secure/daemon/portal at line 52
'CATCH' at /secure/daemon/portal at line 52
'clone_object' at /secure/sefun/sefun at line 120
'create' at /secure/obj/portal_orange#3260 at line 24
'GetBluePortal' at /secure/daemon/portal at line 105
'CheckPortals' at /secure/daemon/portal at line 18
'load_object' at /secure/sefun/sefun at /secure/sefun/load_object.c:35
'CATCH' at /secure/sefun/sefun at /secure/sefun/load_object.c:35

--- Looney II
2013.06.19-12.20,37
*call_other() couldn't find object
Object: /secure/sefun/sefun at /secure/sefun/load_object.c:35

'heart_beat' at /secure/daemon/portal at line 117
'CheckPortals' at /secure/daemon/portal at line 49
'CATCH' at /secure/daemon/portal at line 49
'clone_object' at /secure/sefun/sefun at line 120
'create' at /secure/obj/portal_blue#3259 at line 24
'GetOrangePortal' at /secure/daemon/portal at line 110
'CheckPortals' at /secure/daemon/portal at line 52
'CATCH' at /secure/daemon/portal at line 52
'clone_object' at /secure/sefun/sefun at line 120
'create' at /secure/obj/portal_orange#3260 at line 24
'GetBluePortal' at /secure/daemon/portal at line 105
'CheckPortals' at /secure/daemon/portal at line 20
'CATCH' at /secure/daemon/portal at line 20
'load_object' at /secure/sefun/sefun at /secure/sefun/load_object.c:35
'CATCH' at /secure/sefun/sefun at /secure/sefun/load_object.c:35

--- Looney II
2013.06.19-12.20,37
*call_other() couldn't find object
Object: /secure/sefun/sefun at /secure/sefun/load_object.c:35

'heart_beat' at /secure/daemon/portal at line 117
'CheckPortals' at /secure/daemon/portal at line 49
'CATCH' at /secure/daemon/portal at line 49
'clone_object' at /secure/sefun/sefun at line 120
'create' at /secure/obj/portal_blue#3259 at line 24
'GetOrangePortal' at /secure/daemon/portal at line 110
'CheckPortals' at /secure/daemon/portal at line 52
'CATCH' at /secure/daemon/portal at line 52
'clone_object' at /secure/sefun/sefun at line 120
'create' at /secure/obj/portal_orange#3260 at line 24
'GetBluePortal' at /secure/daemon/portal at line 105
'CheckPortals' at /secure/daemon/portal at line 22
'load_object' at /secure/sefun/sefun at /secure/sefun/load_object.c:35
'CATCH' at /secure/sefun/sefun at /secure/sefun/load_object.c:35

--- Looney II
2013.06.19-12.20,37
*call_other() couldn't find object
Object: /secure/sefun/sefun at /secure/sefun/load_object.c:35

'<fake>' at /secure/obj/portal_orange#3260 (/<driver>) at line 0
'RegisterPortal' at /secure/obj/portal_orange#3260 at line 44
'GetBluePortal' at /secure/daemon/portal at line 105
'CheckPortals' at /secure/daemon/portal at line 16
'CATCH' at /secure/daemon/portal at line 16
'load_object' at /secure/sefun/sefun at /secure/sefun/load_object.c:35
'CATCH' at /secure/sefun/sefun at /secure/sefun/load_object.c:35

--- Looney II
2013.06.19-12.20,37
*call_other() couldn't find object
Object: /secure/sefun/sefun at /secure/sefun/load_object.c:35

'<fake>' at /secure/obj/portal_orange#3260 (/<driver>) at line 0
'RegisterPortal' at /secure/obj/portal_orange#3260 at line 44
'GetBluePortal' at /secure/daemon/portal at line 105
'CheckPortals' at /secure/daemon/portal at line 18
'load_object' at /secure/sefun/sefun at /secure/sefun/load_object.c:35
'CATCH' at /secure/sefun/sefun at /secure/sefun/load_object.c:35

--- Looney II
2013.06.19-12.20,37
*call_other() couldn't find object
Object: /secure/sefun/sefun at /secure/sefun/load_object.c:35

'<fake>' at /secure/obj/portal_orange#3260 (/<driver>) at line 0
'RegisterPortal' at /secure/obj/portal_orange#3260 at line 44
'GetBluePortal' at /secure/daemon/portal at line 105
'CheckPortals' at /secure/daemon/portal at line 20
'CATCH' at /secure/daemon/portal at line 20
'load_object' at /secure/sefun/sefun at /secure/sefun/load_object.c:35
'CATCH' at /secure/sefun/sefun at /secure/sefun/load_object.c:35

--- Looney II
2013.06.19-12.20,37
*call_other() couldn't find object
Object: /secure/sefun/sefun at /secure/sefun/load_object.c:35

'<fake>' at /secure/obj/portal_orange#3260 (/<driver>) at line 0
'RegisterPortal' at /secure/obj/portal_orange#3260 at line 44
'GetBluePortal' at /secure/daemon/portal at line 105
'CheckPortals' at /secure/daemon/portal at line 22
'load_object' at /secure/sefun/sefun at /secure/sefun/load_object.c:35
'CATCH' at /secure/sefun/sefun at /secure/sefun/load_object.c:35

--- Looney II
2013.06.19-12.20,37
*call_other() couldn't find object
Object: /secure/sefun/sefun at /secure/sefun/load_object.c:35

'<fake>' at /secure/obj/portal_blue#3259 (/<driver>) at line 0
'RegisterPortal' at /secure/obj/portal_blue#3259 at line 44
'GetOrangePortal' at /secure/daemon/portal at line 110
'CheckPortals' at /secure/daemon/portal at line 16
'CATCH' at /secure/daemon/portal at line 16
'load_object' at /secure/sefun/sefun at /secure/sefun/load_object.c:35
'CATCH' at /secure/sefun/sefun at /secure/sefun/load_object.c:35

--- Looney II
2013.06.19-12.20,37
*call_other() couldn't find object
Object: /secure/sefun/sefun at /secure/sefun/load_object.c:35

'<fake>' at /secure/obj/portal_blue#3259 (/<driver>) at line 0
'RegisterPortal' at /secure/obj/portal_blue#3259 at line 44
'GetOrangePortal' at /secure/daemon/portal at line 110
'CheckPortals' at /secure/daemon/portal at line 18
'load_object' at /secure/sefun/sefun at /secure/sefun/load_object.c:35
'CATCH' at /secure/sefun/sefun at /secure/sefun/load_object.c:35

--- Looney II
2013.06.19-12.20,37
*call_other() couldn't find object
Object: /secure/sefun/sefun at /secure/sefun/load_object.c:35

'<fake>' at /secure/obj/portal_blue#3259 (/<driver>) at line 0
'RegisterPortal' at /secure/obj/portal_blue#3259 at line 44
'GetOrangePortal' at /secure/daemon/portal at line 110
'CheckPortals' at /secure/daemon/portal at line 20
'CATCH' at /secure/daemon/portal at line 20
'load_object' at /secure/sefun/sefun at /secure/sefun/load_object.c:35
'CATCH' at /secure/sefun/sefun at /secure/sefun/load_object.c:35

--- Looney II
2013.06.19-12.20,37
*call_other() couldn't find object
Object: /secure/sefun/sefun at /secure/sefun/load_object.c:35

'<fake>' at /secure/obj/portal_blue#3259 (/<driver>) at line 0
'RegisterPortal' at /secure/obj/portal_blue#3259 at line 44
'GetOrangePortal' at /secure/daemon/portal at line 110
'CheckPortals' at /secure/daemon/portal at line 22
'load_object' at /secure/sefun/sefun at /secure/sefun/load_object.c:35
'CATCH' at /secure/sefun/sefun at /secure/sefun/load_object.c:35

Any advice would be much appreciated, and if I need to provide more info, I can and will.

Thanks!
zed\ith

2
General / Moving a command to a daemon
« on: June 04, 2013, 04:58:43 pm »
I wrote a command for changing the title and position of users, and it works fine, but when I move the function from the command to a daemon I receive the following error:
Code: [Select]
*Illegal type of index
Here is the code of the working function in the command:
Code: [Select]
#include <globals.h>

mapping accts = ([]);
void change_title(string user, string title, int i) {
    string temp = capitalize(user);
    if(file_exists(ACCT_DATA) {
        restore_object(ACCT_DATA);
    }

    accts[temp]["position"] = i;
    accts[temp]["title"] = title;
    save_object(ACCT_DATA);
}

The above code works, but when I move the function to my daemon, and pass the daemon the same values, I receive the above error. I am sure I am missing something small, but I am not sure at this point. Any ideas?

Thanks!

3
Other / Lil Development
« on: March 20, 2013, 03:50:21 pm »
I am curious if anyone is currently working on anything regarding Lil now, or if there is any interest. I am starting some dev work on it to help me better understand the driver\lib relationship as a way to get a better understanding of the driver. Like Crat points out, it is as bare bones as it can be and still be functional. I have a few things lined out and updated a few things, and so far so good. More than anything, I am checking to see if anyone else is working with it currently, or has any desire to.

Cheers!
Zed\Ith

4
Dead Souls Support / cathch_tell not working
« on: March 04, 2013, 07:47:37 pm »
As per the discussion with Cratylus and Goose, here is the code we have been working with that is not responding to eventPrints from objects...
Code: [Select]
#include <lib.h>
inherit LIB_SENTIENT;
void catch_tell(string str);

static void create(){
    ::create();
    SetKeyName("butler");
    SetId(({"butler"}));
    SetAdjectives(({"simple","neat"}));
    SetGender("male");
    SetShort("test butler");
    SetLong("a test butler");
    SetInventory(([
                ]));
    SetMelee(1);
    SetPolyglot(1);
    SetLevel(99);
    SetRace("human");
    set_heart_beat(1);
    SetLanguage("common",100);
    SetDefaultLanguage("common");
}

void catch_tell(string str) {
    string who;
    find_living("zed")->eventPrint("Somethings firing");
    tell_room(environment(this_object()), "something has fired");
}

void init(){
    ::init();
}

Basically, it does not respond to any tells, says, or eventPrints in its' environment.

5
Dead Souls Support / DS 3.6 Crash
« on: October 13, 2011, 12:46:01 pm »
After upgrading to DS3.6 from 3.2 the crashes stopped that I was receiving every 6-8 hours. Just a few moments ago though, the 3.6 crashed as well with the same error as before:
Code: [Select]
Looney II crashed Thu Oct 13 11:35:40 2011 with error couldn't find object Ą
in obj_table.

0:OBJ(/secure/sefun/sefun), file: /secure/sefun/sefun.c, fun: get_stack,
origin: simul
1:OBJ(/secure/daemon/master), file: /secure/daemon/master.c, fun: crash,
origin: driver
2:OBJ(/secure/sefun/sefun), file: /secure/sefun/sefun.c, fun: CATCH, origin:
simul
3:OBJ(/secure/sefun/sefun), file: /secure/sefun/sefun.c, fun: socket_names,
origin: simul
4:OBJ(/secure/daemon/instances), file: /secure/daemon/instances.c, fun:
CheckConnections, origin: local
5:OBJ(/secure/daemon/instances), file: /secure/daemon/instances.c, fun:
heart_beat, origin: driver
({ OBJ(/secure/sefun/sefun), OBJ(/secure/daemon/instances) })
---

I am not completely sure where to start checking into this problem, but maybe the driver? Maybe upgrade FluffOS? I am not sure right now, and hope for some recommendations.

It is basically a stock 3.6 lib with minor changes to exit colors for rooms, and some channel colors, but those changes were in place prior to this crash coming back. What other information can I provide that may be useful?

Thanks!

ith

6
Dead Souls Support / DS 3.2 Default Install Crashes VERY Frequently
« on: May 23, 2011, 12:35:30 pm »
After installing DS 3.2 with default settings I began seeing the server crash about every 12-24 hours with almost identical errors each time. Any assistance in resolving this would be greatly appreciated.
Running on Ubuntu 9. Below is a tail of the /log/crashes:
Code: [Select]
Looney II: The Wumpire Strikes Back crashed Sat May 21 00:31:38 2011 with error Segmentation fault.

0:OBJ(/secure/sefun/sefun), file: /secure/sefun/sefun.c, fun: get_stack, origin: simul
1:OBJ(/secure/daemon/master), file: /secure/daemon/master.c, fun: crash, origin: driver
2:OBJ(/secure/sefun/sefun), file: /secure/sefun/sefun.c, fun: CATCH, origin: simul
3:OBJ(/secure/sefun/sefun), file: /secure/sefun/sefun.c, fun: socket_names, origin: simul
4:OBJ(/secure/daemon/instances), file: /secure/daemon/instances.c, fun: CheckConnections, origin: local
5:OBJ(/secure/daemon/instances), file: /secure/daemon/instances.c, fun: heart_beat, origin: driver
({ OBJ(/secure/sefun/sefun), OBJ(/secure/daemon/instances) })
---
Looney II: The Wumpire Strikes Back crashed Sun May 22 01:31:47 2011 with error couldn't find object wZ in obj_table.

0:OBJ(/secure/sefun/sefun), file: /secure/sefun/sefun.c, fun: get_stack, origin: simul
1:OBJ(/secure/daemon/master), file: /secure/daemon/master.c, fun: crash, origin: driver
2:OBJ(/secure/sefun/sefun), file: /secure/sefun/sefun.c, fun: CATCH, origin: simul
3:OBJ(/secure/sefun/sefun), file: /secure/sefun/sefun.c, fun: socket_names, origin: simul
4:OBJ(/secure/daemon/instances), file: /secure/daemon/instances.c, fun: CheckConnections, origin: local
5:OBJ(/secure/daemon/instances), file: /secure/daemon/instances.c, fun: heart_beat, origin: driver
({ OBJ(/secure/sefun/sefun), OBJ(/secure/daemon/instances) })
---
Looney II: The Wumpire Strikes Back crashed Sun May 22 01:36:56 2011 with error couldn't find object ŠPI in obj_table.

0:OBJ(/secure/sefun/sefun), file: /secure/sefun/sefun.c, fun: get_stack, origin: simul
1:OBJ(/secure/daemon/master), file: /secure/daemon/master.c, fun: crash, origin: driver
2:OBJ(/secure/sefun/sefun), file: /secure/sefun/sefun.c, fun: CATCH, origin: simul
3:OBJ(/secure/sefun/sefun), file: /secure/sefun/sefun.c, fun: socket_names, origin: simul
4:OBJ(/secure/daemon/instances), file: /secure/daemon/instances.c, fun: CheckConnections, origin: local
5:OBJ(/secure/daemon/instances), file: /secure/daemon/instances.c, fun: heart_beat, origin: driver
({ OBJ(/secure/sefun/sefun), OBJ(/secure/daemon/instances) })
---
Looney II: The Wumpire Strikes Back crashed Sun May 22 19:49:55 2011 with error couldn't find object& in obj_table.

0:OBJ(/secure/sefun/sefun), file: /secure/sefun/sefun.c, fun: get_stack, origin: simul
1:OBJ(/secure/daemon/master), file: /secure/daemon/master.c, fun: crash, origin: driver
2:OBJ(/secure/sefun/sefun), file: /secure/sefun/sefun.c, fun: CATCH, origin: simul
3:OBJ(/secure/sefun/sefun), file: /secure/sefun/sefun.c, fun: socket_names, origin: simul
4:OBJ(/secure/daemon/instances), file: /secure/daemon/instances.c, fun: CheckConnections, origin: local
5:OBJ(/secure/daemon/instances), file: /secure/daemon/instances.c, fun: heart_beat, origin: driver
({ OBJ(/secure/sefun/sefun), OBJ(/secure/daemon/instances) })
---

7
General / add_action error
« on: January 11, 2009, 02:34:36 pm »
The following code is in an object
Code: [Select]
int vortex() {
    this_player()->eventMove("/realms/ith/area/room/vortex");
}

and:
Code: [Select]
void init() {
::init();
add_action("vortex", "vortex");
}


The error is as follows:
Code: [Select]
*Illegal to move or destruct an object (/realms/ith/workroom) defining actions from a
verb function which returns zero.
Object: <none> (0) at /?\???`]???:1

Trace written to /log/runtime

/log/runtime:
Code: [Select]
2009.01.11-13.38,32
*Illegal to move or destruct an object (/realms/ith/workroom) defining actions from a
verb function which returns zero.
Object: <none> (0) at /?\???`]???:1

Pages: [1]