topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • October 19, 2018, 11:13 AM
  • Proudly celebrating 13 years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

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.


Messages - verszipo [ switch to compact view ]

Pages: [1] 2next
1
FARR Plugins and Aliases / Re: CZB pack
« on: April 11, 2014, 12:19 PM »
I just installed a fresh windows 7 and copied over the portable version I was running on my old system, works just fine now.

Must have just been a problem with my system. No problems now, and my new SSD rocks.

Both were/are windows 7 systems.

Glad you managed to get it running. I for one usually reinstall the system at least once every 6 months (usually sooner) exactly because of this "phantom" problems, it takes more time to find a solution than to reinstall the entire system (specially if you use SSD for the system drive) :D

2
FARR Plugins and Aliases / Re: FarSubScript : Google Translate.
« on: March 31, 2014, 11:12 AM »
Strange, for me it still works correctly, i usually test it with "gt en fr wolf " and it displays correctly (in case you didn't figure it, I love wolfs ;) )

Could you write what version of FARR and SubScript you have ?

I for one have FARR 2.213.01 (portable) and FSubScript 1.10 and am running Win8 64 and Win8.1 64.

3
FARR Plugins and Aliases / Re: CZB pack
« on: March 21, 2014, 03:39 AM »
I just downloaded the latest version of CBZ pack and installed following the instructions,

But i keep getting this error message when typing "fssc"

Find and Run Robot - FARRSubScript Plugin
Plugin has failed on show_fssc:message 'fso' is null or not and object name: Type error

Anyone know how to fix this?

I downloaded the latest version of FARR (in portable format so i don't have to install anything), downloaded the CZB pack and FARRSubScript from the first thread and it works without problems, if i type "fssc" i get the list of installed SubScripts.
I've tested on Windows 8 and Windows 8.1 64bit both (those are the only ones available to me at the moment).

You could try to download the portable version of FARR and see if it works with that one.

4
FARR Plugins and Aliases / Re: Google Translation Plugin
« on: March 21, 2014, 03:31 AM »
In case you're interested, you can find my solution HERE.

You need to have FARRSubScript installed but you should probably already have it installed.
In case you don't have it yet, you can get the FARRSubScript from CZB's pack from HERE (look at the "Requirements" area it has a link to the script).

5
Living Room / Re: Against TED talks
« on: February 27, 2014, 06:42 AM »
I for one consider the Ted talks is just like the Internet : there are a lot of good things there if you know how to filter out the stuff you either don't need or don't care about.

I learned about a lot of interesting things from Ted talks, so i cannot say it's a bad thing, you just need to learn to filter through all the information (this is something you have to do with most information sources anyways).

Also, sometimes you can see things from a different perspective (different from what you're used to anyways) and that is never a bad idea, you pretty soon realize things are usually not black or white but lots of shades of gray (more than 50 :p )

I think a public forum where an idea can be presented, or an argument entertained, is better than no public forum at all.
:Thmbsup:

6
General Software Discussion / Re: Processing Delays!?
« on: February 19, 2014, 02:21 AM »
The problem is that if it's a drive access that causes the delay then the process itself is not using the CPU, so TaskManager won't show it.
You could try with an alternate task manager that shows disk activity too (i believe Process Explorer and Process Hacker both can show the disk activity, it is probably called "I/O activity", "I/O Delta Writes/Reads" or something similar).

In Win7 and Win8 there's a column in the builtin Taskmanager that shows disk activity too, not just CPU activity, don't remember if XP/Vista had the ability to show that data.

7
Well, it can be used "stand alone", but it's intended to be used with other programs, for example with Perfect Suite or with Lightroom, so the "basic image manipulations" (like size/crop) are not supposed to be in it, they are supposed to be done by the other program.

I know that for someone who doesn't intend to use it with Perfect Suite or Lightroom it's annoying, but it would also be annoying for me to have a resize in a program that's supposed to be a plugin/extension to Lightroom.

Also, don't forget that Perfect Effects is supposed to be the last step in the photo manipulation workflow, while resize/cut should be one of the first things you do.

Besides, it's free, what more can you ask from it ? :P

8
Find And Run Robot / Re: Custom memo fixed font
« on: February 14, 2014, 02:05 PM »
I think the option you're looking for is "Settings->Font Overrides->"Set Plugin Memo Font".

9
FARR Plugins and Aliases / FarSubScript : Pixsy
« on: January 15, 2014, 10:23 AM »
I played a little with Pixsy.Net and the Chrome browser addon and i thought it would be interesting to add the functionality to FARR.

Pixsy has a strange way of working, when you search for something it doesn't directly redirect the browser, it returns a string containing instructions on what should be done (I suspect it's in JSON format, but i'm not certain).
Usage :
pix <command><space>
or
pix <command><enter>

For example : pix .g wolf will search for "wolf" using "google.com" while pix .y wolf will search for "wolf" using "yahoo.com", look at Pixsy's Syntax for more info.

There are still some bugs in it, the most notable ones are :
- after pressing Enter at the end of the search string FARR looses focus and the editbox from Pixsy page gets the focus

Note : this script requires FarSubScript, make sure you have it installed and working in FARR.

Install :
extract the content of the archive into a subfolder under the Scripts folder of FARR (for example : plugins\Pixsy) and either write "goreload" in FARR (this will reload all plugins) or restart FARR.

If anybody wants to improve the script feel free to do so.

Note : I didn't include the source in this post (you'll have to download the attached ZIP file) because it's quite long.

10
Living Room / Re: Looking for the title of an Anime
« on: December 29, 2013, 11:15 AM »
Thanx for all the help, i knew it was kind of a stab in the dark specially since i remember very few details.

Thanks to the link provided by Shades I've found another archive of 80's cartoons, it's huge, i'll look over it maybe i can find something similar to what i remember.
In case anybody is interested the address is http://80scartoons.net

If i do manage to find it i'll post another message here.

11
Living Room / Re: Looking for the title of an Anime
« on: December 28, 2013, 03:25 AM »
Thanx for the replies.

I forgot to say that for a long time the kids thought they where in the jungle, then they realize it's a huge island and only later on do they realize that the island is a metal ship covered with vegetation. I think they got on it by mistake, their "transformer car" broke and they never managed to fix it well enough to be able to leave. Also, the kids looked more like the buncs from Peter Pan as there was a big fat one, a tall one, a small kid and a few girls, in total i think there where like 10-12 kids.

On the other hand, looking at the list provided by Shades i just realized how many animes i watched as a kid (i think i had too much time on my hand :p ), so ... i'm starting to doubt my memories, what i think was 1 anime might be the memory from many animes that i saw back in the day.

P.S. the people from Thriller Barc Arc and OnePiece are similar to what i remember, but the island doesn't look like what i remember it.

12
Living Room / Looking for the title of an Anime
« on: December 27, 2013, 04:27 PM »
Hy.

When i was young, i used to watch an anime series on TV, sadly i don't remember much about it (specially not the title)
Here's what i do remember :
- there where some kids that had a big red car that could transform in all kind of things (i think i remember it transforming into a boat, a plane and things like that)
- they where on an island that later turned out to be a huge ship covered by vegetation
- they had to fight with some "grown ups", i think they where pirates but i might be wrong.

I used to watch it on the german television (Pro7 or Sat1) and I don't speak german, so most of what i understood from it was the action :p
I think the animation style was similar to that of Naruto, but since it was over 15 years ago i might remember it wrong.

So, does anybody have any idea what's the title of the anime ?
Anybody got any idea ?

Thanks in advance.

P.S.
i really hope i'm not mixing up the memories from 2 or more animes into one :)

13
General Software Discussion / Re: What's your preferred File Manager
« on: December 08, 2013, 05:22 PM »
Total Commander is as close as you'll get to a console feel in a GUI program  :)  
...
I didn't know it had gone freeware.  But, isn't it a slightly strange hybrid?  I was under the impression that though console mode, it kept its configuration details in the Registry.  That also means it isn't portable.

Well, from my point of view FAR is more like a console application than Total Commander, but it's just my opinion :p
What i don't like in TC are the toolbars and also the fact that it's not freeware :p

Since FAR 3 all settings are stored in MySQL files either in the "Documents & Settings\<username>\FAR3" folder or in a subfolder in FAR3's folder (depends on how configure it in the FAR.exe.ini file), so you can make it completely portable.
The only settings saved in registry are if you use old plugins (made for FAR1 or FAR2) and if you use ConEmu. Conemu had a beta that was portable but for some reason the release versions don't have the portable support.

EDIT :
also, a great feature of FAR is that i was able to connect using an SSH server (installed on my Win computer). SSH only supports text but since FAR uses a text interface i could still have the exact same interface that i'm used too.
On Linux i also use Midnight Commander so i like having 2 programs (FAR and MC) on 2 OSs and still have a very similar interface, this decreases the number of things i have to remember (and lately i seem to have trouble remembering things that i don't use often :p )

14
General Software Discussion / Re: What's your preferred File Manager
« on: December 08, 2013, 07:35 AM »
I for one use FAR Manager 3, i'm probably too used to the console "feel" (i've used Volcov Commander and Norton Commander back in the days).
I'm not very fond of "graphical interfaces" for file managers, that's the reason why i don't like Total Commander.

Since version 3 FAR Manager it is freeware (actually opensource so you can even modify it if you want to), it has a new LUA scripting support and quite a few good plugins/scripts.
I use it in combination with ConEmu which gives me the ability to run multiple sessions of FAR in the same window (with tabs to switch from one to the others). It also gives the posibility to show files in Thumbnails mode (similar to Total Commander). I for one don't use it too often, but it's nice to have the support :)

I also use a lot of portable apps with it for image viewing/editing, development and other stuff, most taken from PortableApps.com

P.S. there is a 64bit version of FAR3 but i still use the 32bit version on Win8 x64 since i use at least 10 compoatibility plugins from FAR1 and FAR2 and they can't be loaded on the 64bit version.

15
Find And Run Robot / Re: FARR help needed!
« on: November 24, 2013, 11:52 AM »
There are 2 ways to achieve what you want.

1. on your home computer stop the local FARR copy and start it from the USB, just like how you do at work, then you'll have exactly the same options
2. copy the configuration file(s) from the USB to your computer, the file that contains the last launched programs/files is called FindAndRunRobot_launchhistory.ini
NOTE : make sure FARR is stopped or the changed files will probably not be read by your local FARR.

Hope this helps.

P.S. there are a few more INI files in the FARR folder, as far as i can tell this is what each one contains :
FindAndRunRobot.ini - the settings for FARR
FindAndRunRobot_launchhistory.ini - the last launched programs/files
FindAndRunRobot_searchhistory.ini - what you have searched for (my file has 21 entries, so i suppose it saves all searches)
FindAndRunUserToolbar.ini - the buttons you added to the toolbar.

16
How exactly did you solve it ?
Somebody else might have the same problem, so if you write your sollution it might be helpfull to others.

p.s. i've never tried paste or sendkeys so i don't know how they work.

17
General Software Discussion / Re: Opera 15 Preview
« on: July 02, 2013, 01:51 PM »
I'll stick with Opera 12 until either they re-add all the missing features into Opera 15 or the current one stops working, in which case i'll search for something else.

As somebody said, if we wanted Chrome we would have used chrome.

18
FARR Plugins and Aliases / Re: CZB pack
« on: June 05, 2013, 03:52 AM »
I had some trouble with the JSCalc plugin from the pack, it triggers everytime i enter a "+" character, even if it's at the start of the command, because of this i could not use folder modifiers (for example the "+music" from the FARR demo video).

I found a solution, I modified the JSCalc's code to ignore the command if it starts with the "+" char but to accept it if it's one of the later characters.
For that, I've changed
Code: Javascript [Select]
  1. var searched = queryraw.search(regexp);
  2. if(settings.special_trigger === "1" && searched !== -1){
with
Code: Javascript [Select]
  1. var searched = queryraw.search(regexp);
  2. var filteraliases = queryraw.match(new RegExp("^[^+]"));
  3. if(settings.special_trigger === "1" && searched !== -1 && filteraliases){
in the CZBPack\JScalc\fsubscript.js file.

I thought maybe some other people might be interested in this fix.

P.S. thanx CZB for the pack, i use the scripts a lot and i learned a lot from the script's code too.

19
FARR Plugins and Aliases / FarSubScript : GoogleSearch
« on: May 27, 2013, 08:22 AM »
I needed a way to do money/unit conversions in FARR and since I usually use Google Search for that i thought I'd make a script to call GoogleSearch inside FARR.

Here's the script
Spoiler
Code: Javascript [Select]
  1. plugins["GoogleSearch"] =
  2. {
  3.         version: "1.0",
  4.         lastChange: new Date(fso.GetFile(currentDirectory+"\\fsubscript.js").DateLastModified).toDateString(),
  5.         displayName: "GoogleSearch",
  6.         directory: currentDirectory,
  7.         icon: currentDirectory + "\\favicon.ico",
  8.         aliasstr: "gs",
  9.         description: "Search using Google (usefull for online conversions)"
  10. };
  11.  
  12. (function ()
  13. {
  14.         var js = plugins["GoogleSearch"];
  15.         var loaded = false;
  16.         var match = false;
  17.         var match2 = false;
  18.         var loadurl = "";
  19.         js.search = function search(querykey, explicit, queryraw, querynokeyword,modifierstring,triggermethod)
  20.         {
  21.                 if(!explicit) return;
  22.  
  23.                 idletime = 0;
  24.                 // first : match when a space is at the end of the string
  25.                 match = queryraw.match(new RegExp("^"+js.aliasstr+" (.+)  $"));
  26.                 // second : match when the user presses enter
  27.                 match2= queryraw.match(new RegExp("^"+js.aliasstr+" (.+)$"));
  28.  
  29.                 if((match && match[1])||
  30.                   (triggermethod && match2 && match2[1]))
  31.                 {
  32.                         loaded = true;
  33.                         // formated HTML must be like this :
  34.                         // http://www.google.ro/search?q=query string
  35.                         // Example : http://www.google.ro/search?q=10$ in euro
  36.                         if (match)
  37.                                 loadurl = "http://www.google.ro/search?q="+match[1];
  38.                         else if (match2)
  39.                                 loadurl = "http://www.google.ro/search?q="+match2[1];
  40.                         else
  41.                                 loadurl = "";
  42.                         htmlViewURL(loadurl);
  43.                         showPleaseWait("Loading..");
  44.                 }
  45.                 else
  46.                 {
  47.                         showHTML("<b>GoogleSearch</b>\
  48.                                 <br>Search using the power of the Google Search service\
  49.                                 <br><br>\
  50.                                 <br>Syntax : <b>"+js.aliasstr+" search string</b>\
  51.                                 <br>(either press ENTER or twice SPACE at the end of the search string)\
  52.                                 <br><br>You can use the special search options of google\
  53.                                 <br><br>Example: <b><br>"+js.aliasstr+" 10$ in euro</b>\
  54.                                 <br>this will show you how much 10$ are in euros\
  55.                                 <br><br>\
  56.                                 <br>For a complete set of supported values look at\
  57.                                 <br><a href=http://www.google.com/insidesearch/tipstricks/all.html>http://www.google.com/insidesearch/tipstricks/all.html</a>\
  58.                         ");
  59.                 }
  60.         };
  61.         js.setStrValue = function onSetStrValue(varname,value)
  62.         {
  63.                 if(varname == "EmbeddedWb.DocumentComplete")
  64.                 {
  65.                         var pl = pluginInCharge();
  66.                         if(pl == "GoogleSearch" && loaded)
  67.                         {
  68.                                 loaded = false;
  69.                                 // hide the "Chrome browser" advertisment
  70.                                 execSafeJS("\
  71. //                                      document.getElementById('gt-bbar').style.display='none';\n\
  72.                                 ");
  73.                                 hidePleaseWait();
  74.                         }
  75.                 }
  76.         }
  77. }());


Usage :
gs search string<space><space>
or
gs search string<enter>

Note : since i usually search for things that contains spaces i made the script to autosearch only when i enter 2 consecutive spaces (otherwise when entering "10$ in euro" it would autosearch after the 10$ and also after in)

There are still some bugs in it, the most notable ones are :
- cannot open the search results in the browser that you set in FARR (the alternate browser setting), the workaround is to copy the link's address and paste it in FARR and press enter (that will open the browser)

Note : this script requires FarSubScript, make sure you have it installed and working in FARR.

Install :
extract the content of the archive into a subfolder under the Scripts folder of FARR (for example : plugins\GoogleSearch) and either write "goreload" in FARR (this will reload all plugins) or restart FARR.

If anybody wants to improve the script feel free to do so.

20
FARR Plugins and Aliases / FarSubScript : Google Translate.
« on: May 27, 2013, 05:55 AM »
Since CZB's Google Translate script doesn't work anymore (because of the Google Api changes) I thought I'd make a script that loads the GoogleTranslate page in FARR with a given word.

So, here's my first attempt at it, I've used the NinjaWords script as a starting point :
Spoiler
Code: Javascript [Select]
  1. plugins["GoogleTranslate"] =
  2. {
  3.         version: "1.0",
  4.         lastChange: new Date(fso.GetFile(currentDirectory+"\\fsubscript.js").DateLastModified).toDateString(),
  5.         displayName: "GoogleTranslate",
  6.         directory: currentDirectory,
  7.         icon: currentDirectory + "\\favicon.ico",
  8.         aliasstr: "gt",
  9.         description: "Translate the word using Google Translate"
  10. };
  11.  
  12. (function ()
  13. {
  14.         var js = plugins["GoogleTranslate"];
  15.         var loaded = false;
  16.         var match = false;
  17.         var match2 = false;
  18.         var loadurl = "";
  19.         js.search = function search(querykey, explicit, queryraw, querynokeyword,modifierstring,triggermethod)
  20.         {
  21.                 if(!explicit) return;
  22.  
  23.                 idletime = 0;
  24.                 // first : match when a space is at the end of the string
  25.                 match = queryraw.match(new RegExp("^"+js.aliasstr+" ([a-z,A-Z,0-9]+) ([a-z,A-Z,0-9]+) (.+) $"));
  26.                 // second : match when the user presses enter
  27.                 match2= queryraw.match(new RegExp("^"+js.aliasstr+" ([a-z,A-Z,0-9]+) ([a-z,A-Z,0-9]+) (.+)$"));
  28.  
  29.                 if((match && match[1] && match[2] && match[3])||
  30.                   (triggermethod && match2 && match2[1] && match2[2] && match2[3]))
  31.                 {
  32.                         loaded = true;
  33.                         // formated HTML must be like this :
  34.                         // http://translate.google.com/#<srclng>/<destlng>/<word>
  35.                         // you can use "auto" as srclng for autodetection
  36.                         // Example : http://translate.google.com/#auto/en/word
  37.                         if (match)
  38.                                 loadurl = "http://translate.google.com/#"+match[1]+"/"+match[2]+"/"+match[3];
  39.                         else if (match2)
  40.                                 loadurl = "http://translate.google.com/#"+match2[1]+"/"+match2[2]+"/"+match2[3];
  41.                         else
  42.                                 loadurl = "";
  43.                         htmlViewURL(loadurl);
  44.                         showPleaseWait("Loading..");
  45.                 }
  46.                 else
  47.                 {
  48.                         showHTML("<b>GoogleTranslate</b>\
  49.                                 <br>Translate a given text using the Google Translate service\
  50.                                 <br><br>\
  51.                                 <br>Syntax : <b>"+js.aliasstr+" srclng destlng word</b>\
  52.                                 <br><b>srclng</b> is the source language\
  53.                                 <br><b>destlng</b> is the destination language\
  54.                                 <br><b>word</b> is the word we want to translate\
  55.                                 <br><br>Example: <b><br>"+js.aliasstr+" en de computer</b>\
  56.                                 <br> this will translate the 'computer' word from english to german\
  57.                                 <br><br>Note : for source language you can type <b>'auto'</b> and Google will try to detect the language\
  58.                         ");
  59.                 }
  60.         };
  61.         js.setStrValue = function onSetStrValue(varname,value)
  62.         {
  63.                 if(varname == "EmbeddedWb.DocumentComplete")
  64.                 {
  65.                         var pl = pluginInCharge();
  66.                         if(pl == "GoogleTranslate" && loaded)
  67.                         {
  68.                                 loaded = false;
  69.                                 // hide the "Chrome browser" advertisment
  70.                                 // hide the "Search | Images |..." toolbar
  71.                                 execSafeJS(
  72.                                         "document.getElementById('gt-bbar').style.display='none';\n\
  73.                                         document.getElementById('gb').style.display='none';\
  74.                                 ");
  75.                                 hidePleaseWait();
  76.                         }
  77.                 }
  78.         }
  79. }());


Usage :
gt source_language destination_language word <space>
or
gt source_language destination_language word <enter>

source_language can be "auto" and then Google Translate will try to detect what language it is from.

There are still some bugs in it, the most notable ones are :
- you need to press space after the word (pressing Enter doesn't do the translation)
- doesn't support multiple word translation
- sometimes the page loads without the word(s), if you delete the space and add it again then it loads correctly
- after pressing Enter at the end of the search string FARR looses focus and the editbox from GoogleTranslate page gets the focus

Note : this script requires FarSubScript, make sure you have it installed and working in FARR.

Install :
extract the content of the archive into a subfolder under the Scripts folder of FARR (for example : plugins\GoogleTranslate) and either write "goreload" in FARR (this will reload all plugins) or restart FARR.

If anybody wants to improve the script feel free to do so.

Update : now supports multiple texts in one line and you can either press space or enter after the word(s) that you want to translate.

21
Thanx mouser for your answer.
I think that the icons are also not read correctly if you use system variables for the "search folders"

Anyways, i just discovered that if i use FARR in portable mode and it's in the "portable" folder then i can just simply add the "search folders" as is and FARR will update it to the correct path on the next PC it is run.
For example at work my portable drive is E and at home it's D, at work i added "e:\tools" in the "search folders" list and at home it automagically transformed into "d:\tools"  :greenclp:
Even the "alternative browser"'s path works the same way :Thmbsup:

So, the environment variable support in the alternative browser would be useful, but it's not something urgent or vital since there's a workaround for it (as long as FARR is on the same drive as the browser itself).

22
I'm having a little bit of problem with the "Custom browser" feature.

I'm using FARR (v2.206.01) in portable mode and I'm trying to use a custom browser instead of the default one.
If I enter the full path to the browser it works OK, but if I enter a system variable then it doesn't work.
For example I have a system variable %PORTABLE% that points to my portable drive where FARR and my browser are located.
If I try to write in the Custom Browser field : "%PORTABLE%\browser\browser.exe $$1" them it doesn't work, but if I write "f:\browser\browser.exe $$1" then it works correctly.
In this case the %PORTABLE% = f:

If I enter %PORTABLE%\browser\browser.exe in FARR's dialog then it starts the browser correctly, so it seems that only the "Custom browser" setting lacks the ability to use system variables.

Is there any workaround ?

Thanx in advance.

23
I've been meaning to post this for a long while now.  Every time I use the ProcessKill plugin, I get the following error (which crashes FARR):
 (see attachment in previous post)
This is a very handy plugin.  Any chance we could see an update?

Sadly i have the same error, any way to get this plugin fixed ?

24
After I've updated FARR now GooglePlus keeps giving me an error and Visual Studio shows me that the line
FARR.setState(1); (from the onSearchBegin function) is incorrect, it says "Microsoft JScript runtime error: Wrong number of arguments or invalid property assignment".

Did something change in FARR's scripting part or why is this error showing up ?

I've managed to fix the problem, i had to change the lines
FARR.setState(1);
to
FARR.setState(querykey, 1);
.
Now i don't get this warning anymore.
So, now the OnSearchBegin function looks like this :
function onSearchBegin(querykey, explicit, queryraw, querynokeyword, modifier, triggermethod) {    

if(!explicit) {
        if(aliasstr.indexOf(queryraw)!=-1) {
            FARR.setState(querykey, 1);
            FARR.emitResult(querykey, aliasstr, aliasstr, iconfilename,ALIAS,IMMEDIATE_DISPLAY,1000);
            FARR.setState(querykey, 0);
        }
        return;
    }

I hope this is helpful for others too.

P.S. why it took this long to fix it ? well, because i wasn't using GP, but now that I've reinstalled FARR and all the plugins I rediscovered GP. I really don't know why i didn't took the time to fix it last time as it's a really great plugin :)

25
After i've updated FARR now GooglePlus keeps giving me an error and Visual Studio shows me that the line
FARR.setState(1); (from the onSearchBegin function) is incorrect, it says "Microsoft JScript runtime error: Wrong number of arguments or invalid property assignment".

Did something change in FARR's scripting part or why is this error showing up ?

Pages: [1] 2next