Jump to content

Recommended Posts

Posted
On 12/28/2024 at 3:01 AM, SnooperNoSnooping said:

Hey Min, I got it working and it's amazing. I got an npc to agree to pay for sex, but they don't actually pay. Is this something your going to integrate, a bug, or what? It seems like the AI can open a trade dialog with npc's who don't normally buy and sell (I sold something to a beggar for his one gold, lol). Doesn't seem to work for 'services' though.

Hey, glad you got it working! Sorry for the  delay, was away on holidays.

 

The LLM will roleplay doing things  like that (Trade for sex, pay for sex, etc), but there's not currently a mechanical implementation for those things. Definitely an area for future expansion. I'd suggest just console'ing yourself the money (add or remove) for the moment, roleplay it. 

Posted
On 12/28/2024 at 5:50 AM, nilead said:

Back to toying with this, and it is rather amazing. While browsing .php files of the plugin, i found that there are in fact commands for equipping and unequipping DDs. Neat, i remember asking if such a thing could be implemented. I do have some questions thou, mostly about this bit of deviousdevices.php:

  Reveal hidden contents

Firstly, it appears that equipping a vibrator is described as locking a gag on the target. Intentional or...? Secondly, does the Narrator have acess to those commands? I normally dont run followers, and never seen the narrtor use those. Would be neat.

 Another question is a bit further from the base mod, Scouring LL i found devious ayleid piercings, cool stuff, it comes with devious earrings. Thats something new allright, but what is devious about them? Well, i thought i could try and make them a tool for devious narrator to use, issue commands and demands player will be "compelled" to follow. Adding description to the item seem to do little in that case, and while im experimenting, id love to hear how would such a thing be done properly. Would adding lines describing such options to deviousnarrator.php suffice?

Edit: Editing php and a description for item seem to do relatively well.

 

That looks like a bug / typo in the description for the vibrator. Will fix. 

 

Generally speaking, the narrator will not have access to most commands. The exception to this is if you're playing one of the quests (Telvanni Mage / Eldritch Horror) from Deviously Accessible, which expands the list of commands available to the LLM.

 

Feel free to send me a PR if you add support for those earrings! :)

 

Posted
16 hours ago, Min said:

Generally speaking, the narrator will not have access to most commands. The exception to this is if you're playing one of the quests (Telvanni Mage / Eldritch Horror) from Deviously Accessible, which expands the list of commands available to the LLM.

 

Feel free to send me a PR if you add support for those earrings!

Devious narrator is the one i meant. Are those command for equipping/unequipping stuff on the player, or NPC using command? And whos inventory is cheched for devices, PC or command user?'

 As for earrings - primitive option works more or less by just adding corresponding description to their script instance and a line of describing their use in deviousnarrator.php. Basic functionality was tested with devious Narrator ordering PC to strip in public place, an option thrown in into his .php. With that said,  its just a normal narrator line, preceeded by "Ominous whisper:" prefix, no actuall functionality there unless player is willing to RP to make it work.

 A proper implementation such as actual scripted stripping for the player. (perhaps bound to DF willpower check?) or using a unique XTTS voice for such lines is far outside my capabilities. I might experiment around, but as it stands, there isnt much to pull.

Posted
3 hours ago, nilead said:

Devious narrator is the one i meant. Are those command for equipping/unequipping stuff on the player, or NPC using command? And whos inventory is cheched for devices, PC or command user?'

 As for earrings - primitive option works more or less by just adding corresponding description to their script instance and a line of describing their use in deviousnarrator.php. Basic functionality was tested with devious Narrator ordering PC to strip in public place, an option thrown in into his .php. With that said,  its just a normal narrator line, preceeded by "Ominous whisper:" prefix, no actuall functionality there unless player is willing to RP to make it work.

 A proper implementation such as actual scripted stripping for the player. (perhaps bound to DF willpower check?) or using a unique XTTS voice for such lines is far outside my capabilities. I might experiment around, but as it stands, there isnt much to pull.

 

Anything after this line will be enabled for the devious narrator:
https://github.com/MinLL/MinAI/blob/main/minai_plugin/functions.php#L93

 

Looking at this, this means that the devious narrator does have access to the devious devices equip/unequip commands. These commands generally work on the PC or NPC's. They don't  require the NPC to have them in their inventory.

Posted (edited)
On 12/29/2024 at 5:32 PM, Min said:

 

No, I'm not planning on adding support for Yamete, since Yamete doesn't support VR. There are, to BigOnes' point, a ton of defeat mods. There is currently basic support for Sexlab Defeat (I'm using Baka Edition).

 

Hey there Min! Thank you for responding to my question.

 

How exactly would I go about enabling this basic Sexlab Defeat functionality? And what can I expect it to be able to do? I do apologize if these questions are a bit simplistic, I just happen to have very little experience when it comes to tinkering with Skyrim mods. I really appreciate your help!

Edited by GottaMakeALogin
Posted (edited)
2 hours ago, GottaMakeALogin said:

 

Hey there Min! Thank you for responding to my question.

 

How exactly would I go about enabling this basic Sexlab Defeat functionality? And what can I expect it to be able to do? I do apologize if these questions are a bit simplistic, I just happen to have very little experience when it comes to tinkering with Skyrim mods. I really appreciate your help!

Check the "Add support for defeat mods" option in the web UI. Enemies will be aware when they, a follower, or the player is defeated in combat, and factor it into their dialogue / responses.

Edited by Min
Posted
7 hours ago, Min said:

Check the "Add support for defeat mods" option in the web UI. Enemies will be aware when they, a follower, or the player is defeated in combat, and factor it into their dialogue / responses.

Gotcha!

 

Thank you for the assistance!

Posted (edited)
18 hours ago, Min said:

Check the "Add support for defeat mods" option in the web UI. Enemies will be aware when they, a follower, or the player is defeated in combat, and factor it into their dialogue / responses.

Nice! I didn't realize it had that option.

Edit: Hmmmm, having trouble locating it...

Edit: Yeah, I cannot find this option in the web UI.

Edit: NM, I finally found it. :)

Edited by SnooperNoSnooping
Posted
On 12/30/2024 at 8:49 PM, Min said:

Looking at this, this means that the devious narrator does have access to the devious devices equip/unequip commands. These commands generally work on the PC or NPC's. They don't  require the NPC to have them in their inventory.

 Well, tried to make it work, so far no go, even when directly telling Devious Narrator to do it.

From previous testing, explicitly telling LLM to perform a particular action via keyword use,  like *Use -grope- keyword now* allows to consistently trigger available commands with most LLMs. So far , testing both Grok2 and Hermes 405, i was not able to get a single trigger of equipping/unequipping plugs. Going to test with actuall follower, but Devious Narrator straight up does not react to direct instructions to use -equipvibrator- command.

Posted
54 minutes ago, nilead said:

 Well, tried to make it work, so far no go, even when directly telling Devious Narrator to do it.

From previous testing, explicitly telling LLM to perform a particular action via keyword use,  like *Use -grope- keyword now* allows to consistently trigger available commands with most LLMs. So far , testing both Grok2 and Hermes 405, i was not able to get a single trigger of equipping/unequipping plugs. Going to test with actuall follower, but Devious Narrator straight up does not react to direct instructions to use -equipvibrator- command.

 

I'm confused. "-equipvibrator-" is Mantella syntax. CHIM doesn't use this syntax. CHIM provides the narrator, so I assume that's what you're using (and prior conversational context) . :D 

 

Follow the "Actions Troubleshooting" section of the FAQ for seeing what commands are exposed to the LLM.

Posted
17 hours ago, Min said:

I'm confused. "-equipvibrator-" is Mantella syntax. CHIM doesn't use this syntax. CHIM provides the narrator, so I assume that's what you're using (and prior conversational context) 

 You are correct, i just have no idea of what proper syntax for CHIM is, so i persisted using old one, and given it was working, evidently commands are mostly the same, at least close enough for LLM to understand what is asked of it. 

If some of them are different, that would explain a good deal why i cant trigger those, albeit given the number of attempts, id wager LLM would get what is asked of it even with the wrong one as is. AI Log unfortunately is barely readable for me, either using openCSV or last office LTS. Probably consequence of my long term hatered to .csv files.

 Anyhow, using test LLM connection in troubleshooting also produces a list of available actions..
 List for Aela, for example:

Spoiler


AVAILABLE ACTION: Inspect (Inspects target character's OUTFIT and GEAR. JUST REPLY something like 'Let me see' and wait)
AVAILABLE ACTION: InspectSurroundings (Looks for beings or enemies nearby)
AVAILABLE ACTION: ExchangeItems (Initiates trading or exchange items with Ariel.)
AVAILABLE ACTION: Attack (Attacks actor, npc or being.)(available targets: Ariel)
AVAILABLE ACTION: Hunt (Try to hunt/kill ar animal)
AVAILABLE ACTION: ListInventory (Search in Aela the Huntress\'s inventory, backpack or pocket. List inventory)
AVAILABLE ACTION: LetsRelax (Stop questing. Relax and rest.)
AVAILABLE ACTION: LeadTheWayTo (Only use if Ariel explicitly orders it. Guide Ariel to a Town o City. )
AVAILABLE ACTION: ReadQuestJournal (Only use if Ariel explicitly ask for a quest. Get info about current quests)
AVAILABLE ACTION: IncreaseWalkSpeed (Increase Aela the Huntress speed when moving or travelling)
AVAILABLE ACTION: DecreaseWalkSpeed (Decrease Aela the Huntress speed when moving or travelling)
AVAILABLE ACTION: SetCurrentTask (Set the current plan of action or task or quest)
AVAILABLE ACTION: WaitHere (Aela the Huntress waits and stands at the current place)
AVAILABLE ACTION: Heal (Heals target using magic spell)
AVAILABLE ACTION: StartLooting (Start looting the area)
AVAILABLE ACTION: StopLooting (Stop looting the area)
AVAILABLE ACTION: BeginTrading (Trade with, or buy/sell items to Ariel)
AVAILABLE ACTION: TrainSkill (Give Ariel a lesson at a skill that you are good at)
AVAILABLE ACTION: IncreaseArousal (Use this if you are getting more aroused)
AVAILABLE ACTION: DecreaseArousal (Use this if you are getting less aroused)
AVAILABLE ACTION: Masturbate (Immediately begin masturbating)
AVAILABLE ACTION: StartThreesome (Immediately start threesome sex with Ariel and target)
AVAILABLE ACTION: StartOrgy (Immediately engage in an orgy with multiple participants)
AVAILABLE ACTION: StartVaginal (Immediately engage in vaginal sex with the target)
AVAILABLE ACTION: StartAnal (Immediately engage in anal sex with the target)
AVAILABLE ACTION: StartBlowjob (Immediately engage in oral sex with the target by either giving or receiving a blowjob)
AVAILABLE ACTION: StartHandjob (Immediately engage in manual stimulation with the target by either giving or receiving a handjob)
AVAILABLE ACTION: StartCunnilingus (Immediately engage in cunnilingus with target)
AVAILABLE ACTION: StartFingering (Immediately engage in manual stimulation with the target by fingering the vagina)
AVAILABLE ACTION: RemoveClothes (Remove all of your clothes and armor)
AVAILABLE ACTION: PutOnClothes (Put on your clothes and armor)
AVAILABLE ACTION: FollowTarget (Begin following the target to another location)
AVAILABLE ACTION: Hug (Hug the target)
AVAILABLE ACTION: Kiss (Kiss the target)
AVAILABLE ACTION: Molest (Force yourself on the target sexually)
AVAILABLE ACTION: SpankAss (Spank the targets ass)
AVAILABLE ACTION: SpankTits (Spank the targets tits)
AVAILABLE ACTION: Grope (Grope the target)
AVAILABLE ACTION: PinchNipples (Pinch the targets nipples)
AVAILABLE ACTION: Talk

 

 MinAI actions are present, and DD actions, at least tease type certainly work in game. Me being dim as i am, i cant figure out how to view a list of actually available action to a particular actor in game at the time. Evidently DD ation availability depends on them being present, but i cant figure out a way how to check for that. Searching entire log.scv shows no "Available action" phrase present in it at all.

Posted

This addon for CHIM is amazing. I really enjoys the time spending with this mod, the only thing is lack of functionality for now. I wish we have more mods integration and action to added. Btw where I can support the mod authors of this beauty? I really want somehow help in developing this mod, at least with money, he-he)

Posted
4 hours ago, nilead said:

 You are correct, i just have no idea of what proper syntax for CHIM is, so i persisted using old one, and given it was working, evidently commands are mostly the same, at least close enough for LLM to understand what is asked of it. 

If some of them are different, that would explain a good deal why i cant trigger those, albeit given the number of attempts, id wager LLM would get what is asked of it even with the wrong one as is. AI Log unfortunately is barely readable for me, either using openCSV or last office LTS. Probably consequence of my long term hatered to .csv files.

 Anyhow, using test LLM connection in troubleshooting also produces a list of available actions..
 List for Aela, for example:

  Hide contents

 

 

AVAILABLE ACTION: Inspect (Inspects target character's OUTFIT and GEAR. JUST REPLY something like 'Let me see' and wait)
AVAILABLE ACTION: InspectSurroundings (Looks for beings or enemies nearby)
AVAILABLE ACTION: ExchangeItems (Initiates trading or exchange items with Ariel.)
AVAILABLE ACTION: Attack (Attacks actor, npc or being.)(available targets: Ariel)
AVAILABLE ACTION: Hunt (Try to hunt/kill ar animal)
AVAILABLE ACTION: ListInventory (Search in Aela the Huntress\'s inventory, backpack or pocket. List inventory)
AVAILABLE ACTION: LetsRelax (Stop questing. Relax and rest.)
AVAILABLE ACTION: LeadTheWayTo (Only use if Ariel explicitly orders it. Guide Ariel to a Town o City. )
AVAILABLE ACTION: ReadQuestJournal (Only use if Ariel explicitly ask for a quest. Get info about current quests)
AVAILABLE ACTION: IncreaseWalkSpeed (Increase Aela the Huntress speed when moving or travelling)
AVAILABLE ACTION: DecreaseWalkSpeed (Decrease Aela the Huntress speed when moving or travelling)
AVAILABLE ACTION: SetCurrentTask (Set the current plan of action or task or quest)
AVAILABLE ACTION: WaitHere (Aela the Huntress waits and stands at the current place)
AVAILABLE ACTION: Heal (Heals target using magic spell)
AVAILABLE ACTION: StartLooting (Start looting the area)
AVAILABLE ACTION: StopLooting (Stop looting the area)
AVAILABLE ACTION: BeginTrading (Trade with, or buy/sell items to Ariel)
AVAILABLE ACTION: TrainSkill (Give Ariel a lesson at a skill that you are good at)
AVAILABLE ACTION: IncreaseArousal (Use this if you are getting more aroused)
AVAILABLE ACTION: DecreaseArousal (Use this if you are getting less aroused)
AVAILABLE ACTION: Masturbate (Immediately begin masturbating)
AVAILABLE ACTION: StartThreesome (Immediately start threesome sex with Ariel and target)
AVAILABLE ACTION: StartOrgy (Immediately engage in an orgy with multiple participants)
AVAILABLE ACTION: StartVaginal (Immediately engage in vaginal sex with the target)
AVAILABLE ACTION: StartAnal (Immediately engage in anal sex with the target)
AVAILABLE ACTION: StartBlowjob (Immediately engage in oral sex with the target by either giving or receiving a blowjob)
AVAILABLE ACTION: StartHandjob (Immediately engage in manual stimulation with the target by either giving or receiving a handjob)
AVAILABLE ACTION: StartCunnilingus (Immediately engage in cunnilingus with target)
AVAILABLE ACTION: StartFingering (Immediately engage in manual stimulation with the target by fingering the vagina)
AVAILABLE ACTION: RemoveClothes (Remove all of your clothes and armor)
AVAILABLE ACTION: PutOnClothes (Put on your clothes and armor)
AVAILABLE ACTION: FollowTarget (Begin following the target to another location)
AVAILABLE ACTION: Hug (Hug the target)
AVAILABLE ACTION: Kiss (Kiss the target)
AVAILABLE ACTION: Molest (Force yourself on the target sexually)
AVAILABLE ACTION: SpankAss (Spank the targets ass)
AVAILABLE ACTION: SpankTits (Spank the targets tits)
AVAILABLE ACTION: Grope (Grope the target)
AVAILABLE ACTION: PinchNipples (Pinch the targets nipples)
AVAILABLE ACTION: Talk

 

 

 MinAI actions are present, and DD actions, at least tease type certainly work in game. Me being dim as i am, i cant figure out how to view a list of actually available action to a particular actor in game at the time. Evidently DD ation availability depends on them being present, but i cant figure out a way how to check for that. Searching entire log.scv shows no "Available action" phrase present in it at all.

There's a log file that's easier to read, "context_sent_to_llm.log" in the HerikaServer logs folder as well that will have this information. Do you have the device actions enabled in the MCM?

Posted
33 minutes ago, Min said:

There's a log file that's easier to read, "context_sent_to_llm.log" in the HerikaServer logs folder as well that will have this information. Do you have the device actions enabled in the MCM?

 Oh. this is priceless. It is quite literally the first time i realized MinAI has an MCM that is separate from CHIM, and that answers so many questions....One day ill properly read change logs, one day.  Anyhow, thanks for your patience in trying to troubleshoot an issue that  A) Does not exist and B) Is intentionally made into an MCM toggle. 

 

Posted (edited)

Thoughts on MythoMax 13B? I have no idea how to tell if a LLM is uncensored or not from the openrouter.ai site :/ 

Edited by Neyri LL
Posted

does anyone know if when using either of the AI mods this requires, can I exclude certain npcs from being controlled/voiced by the AI? I'm considering using this with martimius's Serana Dialogue Addon and Ashe mods, in VR. but would need them unvoiced by anything other than their voice actors. along with any npcs they add to the game from those 2 mods. I'd love to try this in my VR modlist I'm working on setting up, but would need these questions answered first.

Posted
40 minutes ago, deathtome1998 said:

does anyone know if when using either of the AI mods this requires, can I exclude certain npcs from being controlled/voiced by the AI? I'm considering using this with martimius's Serana Dialogue Addon and Ashe mods, in VR. but would need them unvoiced by anything other than their voice actors. along with any npcs they add to the game from those 2 mods. I'd love to try this in my VR modlist I'm working on setting up, but would need these questions answered first.

Spoiler

MinAI Factions

MinAI exposes 3 different factions you can use to control the actions that it adds to NPC's.

  1. minai_NoActionsFaction - Disables all MinAI added actions except mod added ones for the specified actor.
  2. minai_NoSexActionsFaction - Disables sex actions specifically for the specified actor.
  3. minai_NoNSFWActionsFaction - Disables all NSFW actions for the specified actor.

The exact faction is not a requirement in order to avoid the need to have a hard dependency on MinAI. The bolded part of each faction above must be present in a faction name on the actor in order for the specified faction to be applied. For example, if you wanted to disable Sex actions from being exposed to an actor, you could create your own faction with the name NoSexActionsFaction.

It will take a little tinkering but you should be able to create a new esp with these custom factions added to the NPC's you want to restrict.

Posted
24 minutes ago, isee said:
  Reveal hidden contents

MinAI Factions

MinAI exposes 3 different factions you can use to control the actions that it adds to NPC's.

  1. minai_NoActionsFaction - Disables all MinAI added actions except mod added ones for the specified actor.
  2. minai_NoSexActionsFaction - Disables sex actions specifically for the specified actor.
  3. minai_NoNSFWActionsFaction - Disables all NSFW actions for the specified actor.

The exact faction is not a requirement in order to avoid the need to have a hard dependency on MinAI. The bolded part of each faction above must be present in a faction name on the actor in order for the specified faction to be applied. For example, if you wanted to disable Sex actions from being exposed to an actor, you could create your own faction with the name NoSexActionsFaction.

It will take a little tinkering but you should be able to create a new esp with these custom factions added to the NPC's you want to restrict.

absolutely no clue how to do what you're saying, would you happen to have links to resources that would tell/show me how to do this? sorry for the potentially unknowledgeable (not really a word but this isn't a forum where I'm going to care all that much,) question, but I don't recall if I've ever done what you're saying to do before, and if I have it's been so long ago I've forgotten how to.

Posted
6 hours ago, deathtome1998 said:

absolutely no clue how to do what you're saying, would you happen to have links to resources that would tell/show me how to do this? sorry for the potentially unknowledgeable (not really a word but this isn't a forum where I'm going to care all that much,) question, but I don't recall if I've ever done what you're saying to do before, and if I have it's been so long ago I've forgotten how to.

It should be fairly easy, as long as you are able to download and set up the creation kit. After that just tell it to load the mods that have the NPC's you're looking for and go to the factions tab, then create a new faction spelled exactly like one of the above names because Min set scripts to look for them. Once done go through the actor list and find the NPC's you're looking for by name and go to the tab on each of them that is listed 'faction' add the new faction to them that you just created. Then save.

 

As for videos? This is old, but should work. You shouldn't really have to go beyond this.

Spoiler

 

 

Posted
On 1/3/2025 at 7:59 AM, SIKguy said:

This addon for CHIM is amazing. I really enjoys the time spending with this mod, the only thing is lack of functionality for now. I wish we have more mods integration and action to added. Btw where I can support the mod authors of this beauty? I really want somehow help in developing this mod, at least with money, he-he)

Thanks! I think I'll set up a Patreon for folks that want to contribute. I'll get back to you.

Posted
6 hours ago, deathtome1998 said:

absolutely no clue how to do what you're saying, would you happen to have links to resources that would tell/show me how to do this? sorry for the potentially unknowledgeable (not really a word but this isn't a forum where I'm going to care all that much,) question, but I don't recall if I've ever done what you're saying to do before, and if I have it's been so long ago I've forgotten how to.

 

28 minutes ago, isee said:

It should be fairly easy, as long as you are able to download and set up the creation kit. After that just tell it to load the mods that have the NPC's you're looking for and go to the factions tab, then create a new faction spelled exactly like one of the above names because Min set scripts to look for them. Once done go through the actor list and find the NPC's you're looking for by name and go to the tab on each of them that is listed 'faction' add the new faction to them that you just created. Then save.

 

As for videos? This is old, but should work. You shouldn't really have to go beyond this.

  Reveal hidden contents

 

 

Yeah, this will work - but, there's an easier way actually.  In the MinAI_DISTR.ini file, you can distribute a keyword out to NPC's that will make Sapience ignore them (They won't be automatically added). I'm doing this for Lucien already. Example:

Keyword = 0x920~MinAI.esp|Lucien Flavius

 

See this page for the syntax on how you can do this sort of targeting. You could apply it to every NPC in the mod pretty easily: https://www.nexusmods.com/skyrimspecialedition/articles/6617

Posted (edited)
15 hours ago, Neyri LL said:

Thoughts on MythoMax 13B? I have no idea how to tell if a LLM is uncensored or not from the openrouter.ai site :/ 

 

@Min Incredibly cheap, incredibly fast LLM that has gotten popular on openrouter.

 

EDIT: Nvm, it's definitely uncensored! I don't have time to test in-game as my exams are pressing on, but I would love to hear your opinions since I haven't had time to test the others you suggested in the FAQ! 🥹

Edited by Neyri LL
Posted (edited)
40 minutes ago, Min said:

 

See this page for the syntax on how you can do this sort of targeting. You could apply it to every NPC in the mod pretty easily: https://www.nexusmods.com/skyrimspecialedition/articles/6617

That is a fair bit easier. In my defense it was late and the first thing I found. It's been so long since I've messed with any of the settings of CHIM or Minai that I honestly forgot that was an option. : )

 

The most I really do these days is periodically reset it when the AI starts getting trapped in a loop.

 

"Well Raven, I really like that outfit you're wearing it really brings out your...assets, but now let's go see Jon and see what he thinks about it."

 

"You killed Jon."

 

"Oh Raven, always such a tease, but now lets go see what Jon thinks about that outfit."

 

...And now to clear the word Jon from the AI's memory so that I don't have to keep hearing about him.

Edited by isee
Posted
1 hour ago, Min said:

 

 

Yeah, this will work - but, there's an easier way actually.  In the MinAI_DISTR.ini file, you can distribute a keyword out to NPC's that will make Sapience ignore them (They won't be automatically added). I'm doing this for Lucien already. Example:

Keyword = 0x920~MinAI.esp|Lucien Flavius

 

See this page for the syntax on how you can do this sort of targeting. You could apply it to every NPC in the mod pretty easily: https://www.nexusmods.com/skyrimspecialedition/articles/6617

thanks for the tip. I'll take a look later. I'm heading to lunch soon and am also running on being awake for around somewhere between 28-30 or more hours straight. I hate not being able to sleep every so often.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...