Board ArchivesSite FeaturesActiveworlds SupportHistoric Archives |
edward sumerfield // User Search
edward sumerfield // User Searchcant find build number of aw.dllNov 8, 1998, 4:50pm
Look in aw.h for the define AW_BUILD.
You should ever need it though. When you call aw_init pass the define AW_BUILD. The reason this is in there is to protect against people running executable programs that are built against an old version of the library. Edward Sumerfield [View Quote] > ooohh, you wre after the *number*. . . it's build 7 as far as i know =) > [View Quote] aw_wait modificationNov 8, 1998, 4:55pm
You can set flags in your callback functions that are checked in the main
program loop. bool finish = 0; main() { while (aw_wait(1000)) { if (finish == 1) break; } } void chat_callback() { if (chat message == "quit") finish = 1; } Make sure that the finish flag is global or at least addressable by both functions. Edward Sumerfield. [View Quote] > Hello, > > I wrote a bot program that is supposed to shutdown himself when a specific > avatar tells him 'bot14 close'. > > But it seems that because the aw_wait function is still active during this > time my prgram bugs ! > > I was thinking about maybe Roland could implement a function that stops > waiting, or is there another way to face my problem ? > > thank you RC VersionNov 9, 1998, 12:31am
Make sure you are passing AW_BUILD to aw_init. The aw.h file and the aw.dll file must
be the same version. Edward Sumerfield [View Quote] > Hi, > You're using a differnt version of the dll than the header and lib files. > My advice would be to download the SDK from the SDK webpage and just > recompile using that, then use the aw.dll file you downloaded :) > > Dalthan <annette at hiwaay.net> wrote in article > <3646371F.5EBB5624 at hiwaay.net>... RC VersionNov 10, 1998, 4:17pm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML> Post the code dude. <P>Edward Sumerfield. [View Quote] I need a C Compiler!!Nov 10, 1998, 4:21pm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML> The aforementioned compiler is available at <P> <A HREF="http://www.cygnus.com">http://www.cygnus.com</A> <P>Some prewriting code using the GNU compiler is available at <P> <A HREF="http://members.xoom.com/esumerfd/">http://members.xoom.com/esumerfd/</A> /* it is down at the moment as the upgrade machines */ <P>Edward Sumerfield [View Quote] Re: how do you goto another universe?Aug 6, 1999, 1:27pm
You have to edit your aworld.ini configuration file.
Here is the configuration information for some universes. My notes are a little old so they may not all work now. City4All was a free one last I was there. AW on auth.activeworlds.com 5670 Galileo on auth.activeworlds.com 5675 Ultraworld on auth.activeworlds.com 5671 City4All on 193.186.168.162 5670 Add these lines to your configuration file and change the IP and port as appropriate. [universe] host=193.186.168.162 port=5670 [View Quote] > How do you go to another universe....and can someone tell me how to get to > that free universe??? Oops - Build 9 now availableNov 13, 1998, 4:16pm
--------------6C8D2F6312C34E1A4B116371
Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <BODY BACKGROUND="cid:part1.364C776A.33B3D70 at poboxes.com"> 454 means RC_VERSION_MISMATCH according to <A HREF="http://www.activeworlds.com/sdk/reason.htm">http://www.activeworlds.com/sdk/reason.htm</A> <P>Either you haven't compiled this code again or the new aw.h file with AW_BUILD set to 9 is not being picked up or Roland forgot to compile the code that does the check before releasing. <P>Edward Sumerfield. [View Quote] </BODY> </HTML> --------------6C8D2F6312C34E1A4B116371 Content-Type: image/gif Content-ID: <part1.364C776A.33B3D70 at poboxes.com> Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="C:\TEMP\nsmailG7.gif" R0lGODdhgACAAPcAAPr37/307/r08fr07/r07P3y6/f07Prx7/rx7Pfy7/rx6ffx7Pfx6frv 7PTx7Prv6ffv7Pfv6ffv5vrt5vrs6fTv6vfs5vbs6ffs5PTs5vfp5PTp5PHo5PXm4PHl4O/c 16qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqiwAAAAAgACAAAAI/wAfIBh4gMDAAggeYHhgYQJD Cw8eTKBgoSHBgRgjPBgw4MAAAhxDcjyAwGBEgQMhLFiAgOWCji5dMlgAYSaECAskWIgQoYPP DhYWTnAo4YHGCAqSKniwFIHSBwhLotS4QUMHDBssQECgYUODCAOZnqRw1SeGihCDQhTYdCDS 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 --------------6C8D2F6312C34E1A4B116371-- Help pleaseNov 16, 1998, 1:52pm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML> If you code with this sample make sure to remove the "#define AW_BUILD 5" from the .c file. This define exists in the aw.h file which is the one that should be used. <P>Further GNU information exists at <A HREF="http://members.xoom.com/esumerfd/ActiveWorlds/AWSDK.htm">http://members.xoom.com/esumerfd/ActiveWorlds/AWSDK.htm</A> <P>Edward Sumerfield. [View Quote] <A HREF="http://www.activeworlds.com/sdk/">www.activeworlds.com/sdk/</A> Roland Vilett has done his utmost to make these pages as understandable as possible.... [View Quote] STATUS_ACCESS_VIOLATIONNov 16, 1998, 2:01pm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML> Further to Walter's comments. It is your operating system giving you this error. Your program is trying to write to memory that it is not allowed to. It was kind enough to create you a core file which can be used to work out where in your code the problem occurs (as long as the corruption was not to bad). <P>Bottom line, as Walter said, your code is wrong, post it and we will take a look. <P>Edward Sumerfield [View Quote] Bot BusinessNov 16, 1998, 2:10pm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML> I think your concern about people running others bot programs is unfounded. AW has had a number of robot type programs in the past which a large number of people have used with little fear of viruses. I agree the the possibility exists but if I can get the source then I, as a programmer, would feel much more comfortable. <P>I don't like the idea of giving away the priv password for the reasons that you mentioned. <P>So, for me, the open source, free bot with lots of disclaimers is where it should stay for awhile. <P>Edward Sumerfield. [View Quote] Bot BusinessNov 20, 1998, 11:34pm
First, we need an official statement from COF stating whether this paragraph is understood and/or enforced. It should be
removed from the license if it is not appropriate. Second, I don't think we have to worry. COF release a beta product that we are testing for them. They are not about to start suing people for breach of contract. Edward Sumerfield. [View Quote] > I did--an *.exe is an application, mere code is not (an application is code in a form that users can execute on their > computers). I just want to make sure that SDK programmers really could exchange code, as happens here on the newsgroup > all the time, or post their source where other programmers could see it. We can also run our own SDK applications. But > we can't distribute them: that's all that is currently forbidden. > [View Quote] SDK for linuxNov 17, 1998, 2:33am
Your SDK program does not have to run on the same machine as the World server.
If you have a spare windows machine available I would dive right in. Edward Sumerfield. [View Quote] > Hello Roland, and hello all, > I've been away for awhile, and am glad to hear about the new SDK. > I'd really like to start playing with it, but currently my world is > running on > a linux server. I'd like some input on whether it would make more sense > > to wait for the unix version of the SDK, or to move my world back to > a PC. Do you have a general sense of when there might be a linux > version > of the SDK? If it's less than a month or two, I'd be inclined to wait. > If it's > a long way off, I suppose it would be better to just move my world. > > Thanks, > Dave(latenite) Finding a Bot's OwnerNov 17, 1998, 9:02pm
Interesting scenario you are setting up. I see you are driven to make this a
financial environment aren't you. A couple of comments. 1. Why do you need a bot to deposit money into a VBank. Wouldn't real people be doing that? 2. The depositors name is not enough to identify the depositor. I assume that a VBank customer must open an account in order to deposit money? If that is the case then the opening of an account can result in a new password for the back account. When the depositor wishes to interact with a teller they must whisper the password to the teller and therefore gain access to deposit or withdraw from the account. Edward Sumerfield. [View Quote] > I'm trying to develop a Bank Teller Bot that will accept virtual > deposits and withdrawals from another Bot that has been sent to the > Bank. What method should the Teller Bot use to identify the Bot's Owner? > The Bot's Session can be gotten from AW_EVENT_AVATAR_ADD, but this > doesn't lead me to the Owner that is running the depositing avatar's > Session. Doing a read of aw_login_owner seems to give me the Teller > Bot's owner. Will I get from the depositor avatar's Name to its owner's > Number (by way of aw_citizen_attributes_by_name) if I start from > AW_AVATAR_NAME, even though the avatar is the avatar of a bot and not > the avatar of a citizen? AWCPP version 0.3 release.Nov 19, 1998, 2:28am
Not too many significant changes in this release. It ended up being more of a
object model redesign. You can find all the info at http://members.xoom.com/esumerfd/ActiveWorlds/AWCPP.htm However there are a couple of things: 1. Implemented doxygen auto documentation style comments. Almost all classes are now fully documented and you can find the output at http://members.xoom.com/esumerfd/ActiveWorlds/doc/ This page also points you to the object models diagrams I have been creating to design this framework. 2. Added avatar tracking. This class intercepts all the avatar add, change and delete callbacks from the SDK and stores all the avatar information into a memory map indexed with instance. It also adds two more avatar events "eventDistLess" is triggered when an avatar move within a specified distance from you and "eventDistMore" is triggered when an avatar is added or moves a specified distance away from you. I needed this for my deer to be able to react when someone got too close. 3. Three files to download. It seems like there is one extra file to download each time I release this thing. Well now we have a binary, a source and a documentation zip file. All unzip into the same dir so there is no difference in the installation steps. Next release will contain: 1. A command architecture. Built-in commands for aquire, and release a bot plus a standard interface for you to implement to add your own commands. 2. Maybe, finally, a deer robot. Known Bugs. 1. A memory leak in the AvatarMe class destructor. 2. Incorrect scale used to calculate distance in Convert class for METER. It is actually calculating centi-meters instead of milli-meters as it should be. So the difference between 1 and 1.5 is 5 meters instead of half a meter. Doh. This actually is equivalent to the teleport command. 100N 100W is actually 1000 meters north and 1000 meters west. 3. Documentation notes the release as 3.0 instead of 0.3. Edward Sumerfield. Cygwin32Nov 19, 1998, 10:30am
Not that we know of.
However, you know you don't have to put this into every program right? Once its written and added to a library you don't have to fuss with it again. My implementation of the AWSDK class does not contain all the AW methods yet but as I implement it will grow. http://members.xoom.com/esumerfd/ActiveWorlds/AWCPP.htm Edward Sumerfield. [View Quote] > Hi all, is there anyway to compile with cygwin32 other than having to > put in all that complicated stuff so it will compile with the dll? Cygwin32Nov 19, 1998, 2:44pm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML> The development process involves taking C code, compiling it to objects then linking them into exe files. You can put multiple object files into a single exe file. You can also put multiple objects into a .lib file like the aw.lib. Then when you link to create the exe file you can tell it to use the objects plus any objects that it might find in a .lib. <P>C -> objects --------> exe <BR>C -> objects -> lib --> exe <BR>C -> objects --------> dll < just added for completeness. > <BR>C -> objects -> lib --> dll < just added for completeness. > <P>In the case of the AWCPP you will notice that I am creating a file called awcpp.lib. This file contains all the objects that I have written and want to be part of my AW utilities. When I create a robot I just link this lib file into the same exe. <P>So the bottom line is that you only have to write all this code once. <P>Edward Sumerfield. [View Quote] Cygwin32Nov 19, 1998, 3:35pm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML> Exactly. <P>You are find an example in the file AWSDK.C at <P> <A HREF="http://members.xoom.com/esumerfd/ActiveWorlds/AWCPP.htm">http://members.xoom.com/esumerfd/ActiveWorlds/AWCPP.htm</A> <P>With the AWSDK class you can write code like this. <P> main() { <P> AWSDK aw; <P> AWSDK::aw_init(); <BR> AWSDK::aw_create(); <P> etc <BR> } <P>Edward Sumerfield. [View Quote] Cygwin32Nov 20, 1998, 10:01am
--------------93075CE1B3CFA22F48F74510
Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit My implementation is in C++ as opposed to straight C. So, yes you would have to access the functions using the class name in front. You can still use the same concept in C. Look at the Makefile in the awcpp directory and it will show you the ar command that is used to create the awcpp.lib. josh.lib: josh.o ar ru josh.lib josh.o Create yourself a josh.c file with the wrapper aw_init, aw_create etc functions in it, much like AWSDK.C but without the class stuff, and run this makefile and it will compile the .c into a .o and create a josh.lib file from it. ANYONE: HEY, COULD SOME NICE PERSON WITH AN IMPLIB COMMAND CREATE JOSH A DLL WRAPPER FILE? Now you can create a bot.c file and add the make lines as follows: bot.exe : bot.o josh.lib g++ bot.o josh.lib -o bot.exe Of coarse, you don't even have to put it in a lib file if you don't want to. Just link the existing object into the each exe file. bot.exe: bot.o josh.o g++ bot.o josh.o -o bot.exe Its as simple as that. [View Quote] > So with that I'd have to put AWSDK:: in front of all the commands? > [View Quote] --------------93075CE1B3CFA22F48F74510 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> My implementation is in C++ as opposed to straight C. So, yes you would have to access the functions using the class name in front. <p>You can still use the same concept in C. Look at the Makefile in the awcpp directory and it will show you the ar command that is used to create the awcpp.lib. <p> josh.lib: josh.o <br> ar ru josh.lib josh.o <p>Create yourself a josh.c file with the wrapper aw_init, aw_create etc functions in it, much like AWSDK.C but without the class stuff, and run this makefile and it will compile the .c into a .o and create a josh.lib file from it. <p> <font color="#3333FF">ANYONE: HEY, COULD SOME NICE PERSON WITH AN IMPLIB</font> <br><font color="#3333FF"> COMMAND CREATE JOSH A DLL WRAPPER FILE?</font> <p>Now you can create a bot.c file and add the make lines as follows: <p> bot.exe : bot.o josh.lib <br> g++ bot.o josh.lib -o bot.exe <p>Of coarse, you don't even have to put it in a lib file if you don't want to. Just link the existing object into the each exe file. <p> bot.exe: bot.o josh.o <br> g++ bot.o josh.o -o bot.exe <p>Its as simple as that. [View Quote] --------------93075CE1B3CFA22F48F74510-- Cygwin32Nov 21, 1998, 12:27am
Of coarse, you are right.
I did some more looking and found that GNU does not have a formal tool for this work but does have a work around. I'll will lay it out here but haven't been able to make it work myself yet. Maybe someone else will have more luck. URL reference: http://sourceware.cygnus.com/cygwin/cygwin-ug-net/dll308.html Commands: echo EXPORTS > foo.def nm foo.dll | grep ' T _' | sed 's/.* T _//' >> foo.def dlltool --def foo.def --dllname foo.dll --output-lib foo.a When I do the "nm aw.dll" I get the response No symbols in "aw.dll". So, I will keep trying. Edward Sumerfield. [View Quote] > Edward, > > implib programms are compiler specific nowadays. they collect the neccessary > information for dynamic linking, but don't really create a standard libary > with actual code in it anymore, so that the compiler can use the collected > information to create dynamic linking code on the fly as needed. > > so that kind of library would have to be coded manually, using c only, > released in source, and compiled by the one going to use it. > > On the other hand it's hard to believe that the Cygwin32 DLL support is that > poor. a windows development is NOTHING with at least plain DLL import > library support, so i wonder if CygWin32 does have an implib.exe equivalent > which we do not know and which would have prevented a lot of work and > thought. > > Walter > > Edward Sumerfield schrieb in Nachricht > <36555A27.5CCCA932 at poboxes.com>... > ANYONE: HEY, COULD SOME NICE PERSON WITH AN IMPLIB > COMMAND CREATE JOSH A DLL WRAPPER FILE? Cygwin32Nov 21, 1998, 2:01am
I think I may have found a solution.
There is a utility called "impdef" (apparently the same name as a similar Borland tool) that lists the methods in a dll file. You can find it at http://www.geocities.com/Tokyo/Towers/6162/gcc-extra.html Once you have this you must run it from a DOS prompt. Doesn't work from a bash shell. impdef aw.dll > awsdk.def This generates an awsdk.def file which is just a text file that lists the functions in the dll file. Now you can use the Cygwin utility dlltool to read this def file and the dll file and create a new Cygwin compatible lib file. dlltool --def awsdk.def --dllname ${AWSDK}/aw.dll --output-lib awsdk.lib I compiled a little program with it that just called aw_init and it seemed to work fine. I added a second post with the awsdk.def file that I generated and the awsdk.lib file that you should be able to link with. Now bare in mind that the output lib file is just a stub for the dll. It is not a copy of the functions in the dll. So when you run a program that is linked with awsdk.lib is will still need to have aw.dll in the path. [View Quote] > Of coarse, you are right. > > I did some more looking and found that GNU does not have a formal tool for this > work but does have a work around. I'll will lay it out here but haven't been > able to make it work myself yet. Maybe someone else will have more luck. > > URL reference: http://sourceware.cygnus.com/cygwin/cygwin-ug-net/dll308.html > Commands: > > echo EXPORTS > foo.def > nm foo.dll | grep ' T _' | sed 's/.* T _//' >> foo.def > dlltool --def foo.def --dllname foo.dll --output-lib foo.a > > When I do the "nm aw.dll" I get the response > > No symbols in "aw.dll". > > So, I will keep trying. > > Edward Sumerfield. > [View Quote] Cygwin32Nov 21, 1998, 2:05am
This is a multi-part message in MIME format.
--------------89CB085191CAE404F9C516E5 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Attached files: awsdk.def Output from the impdef command on the aw.dll awsdk.lib Output from the dlltool from the awsdk.def and aw.dll. bot.C Sample program to see if the awsdk.lib would link. Makefile Makefile used to create the bot.exe program. Note that the impdef command is not included because that must be run from DOS. Edward Sumerfield. --------------89CB085191CAE404F9C516E5 Content-Type: text/plain; charset=us-ascii; name="Makefile" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="Makefile" CPPFLAGS=-g -I. -I${AWSDK} all: bot.exe bot.exe: awsdk.lib bot.o g++ bot.o awsdk.lib -o $ at awsdk.lib: dlltool --def awsdk.def --dllname ${AWSDK}/aw.dll --output-lib awsdk.lib clean: \rm *~ *.exe *.o awsdk.def awsdk.lib --------------89CB085191CAE404F9C516E5 Content-Type: application/octet-stream; name="awsdk.lib" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="awsdk.lib" ITxhcmNoPgovICAgICAgICAgICAgICAgOTExNjIwMzU1ICAgMCAgICAgMCAgICAgMCAgICAg ICAyMjk0ICAgICAgYAoAAABkAAAJOgAAC8YAAA6sAAAOrAAAEU4AABFOAAAT9gAAE/YAABbC AAAWwgAAGV4AABleAAAb5gAAG+YAAB6qAAAeqgAAIXwAACF8AAAkBAAAJAQAACamAAAmpgAA KTwAACk8AAAr5gAAK+YAAC6CAAAuggAAMTgAADE4AAAzwAAAM8AAADZWAAA2VgAAOOoAADjq AAA7lgAAO5YAAD5CAAA+QgAAQOQAAEDkAABDeAAAQ3gAAEYuAABGLgAASNgAAEjYAABLhgAA S4YAAE40AABONAAAUO4AAFDuAABTlgAAU5YAAFYyAABWMgAAWLoAAFi6AABbZAAAW2QAAF4C AABeAgAAYIoAAGCKAABjEgAAYxIAAGWyAABlsgAAaEYAAGhGAABq2gAAatoAAG12AABtdgAA cCoAAHAqAABywAAAcsAAAHV2AAB1dgAAeCAAAHggAAB6zgAAes4AAH18AAB9fAAAgFYAAIBW AACDKAAAgygAAIXQAACF0AAAiHoAAIh6AACLGAAAixgAAI22AACNtl9fYXdzZGtfbGliX2lu YW1lAF9faGVhZF9hd3Nka19saWIAX2F3X3dvcmxkX2xpc3QAX19faW1wX2F3X3dvcmxkX2xp c3QAX2F3X3dvcmxkX2VqZWN0AF9fX2ltcF9hd193b3JsZF9lamVjdABfYXdfd29ybGRfYXR0 cmlidXRlc19jaGFuZ2UAX19faW1wX2F3X3dvcmxkX2F0dHJpYnV0ZXNfY2hhbmdlAF9hd193 aGlzcGVyAF9fX2ltcF9hd193aGlzcGVyAF9hd193YWl0AF9fX2ltcF9hd193YWl0AF9hd191 bml2ZXJzZV9lamVjdGlvbl9hZGQAX19faW1wX2F3X3VuaXZlcnNlX2VqZWN0aW9uX2FkZABf YXdfdW5pdmVyc2VfYXR0cmlidXRlc19jaGFuZ2UAX19faW1wX2F3X3VuaXZlcnNlX2F0dHJp YnV0ZXNfY2hhbmdlAF9hd190ZXJtAF9fX2ltcF9hd190ZXJtAF9hd19zdHJpbmdfc2V0AF9f X2ltcF9hd19zdHJpbmdfc2V0AF9hd19zdHJpbmcAX19faW1wX2F3X3N0cmluZwBfYXdfc3Rh dGVfY2hhbmdlAF9fX2ltcF9hd19zdGF0ZV9jaGFuZ2UAX2F3X3Nlc3Npb24AX19faW1wX2F3 X3Nlc3Npb24AX2F3X3NlY3Rvcl9mcm9tX2NlbGwAX19faW1wX2F3X3NlY3Rvcl9mcm9tX2Nl bGwAX2F3X3NheQBfX19pbXBfYXdfc2F5AF9hd19yYW5kb20AX19faW1wX2F3X3JhbmRvbQBf YXdfcXVlcnkAX19faW1wX2F3X3F1ZXJ5AF9hd19vYmplY3RfZGVsZXRlAF9fX2ltcF9hd19v YmplY3RfZGVsZXRlAF9hd19vYmplY3RfY2hhbmdlAF9fX2ltcF9hd19vYmplY3RfY2hhbmdl AF9hd19vYmplY3RfYWRkAF9fX2ltcF9hd19vYmplY3RfYWRkAF9hd19sb2dpbgBfX19pbXBf YXdfbG9naW4AX2F3X2xpY2Vuc2VfcHJldmlvdXMAX19faW1wX2F3X2xpY2Vuc2VfcHJldmlv dXMAX2F3X2xpY2Vuc2VfbmV4dABfX19pbXBfYXdfbGljZW5zZV9uZXh0AF9hd19saWNlbnNl X2RlbGV0ZQBfX19pbXBfYXdfbGljZW5zZV9kZWxldGUAX2F3X2xpY2Vuc2VfY2hhbmdlAF9f X2ltcF9hd19saWNlbnNlX2NoYW5nZQBfYXdfbGljZW5zZV9hdHRyaWJ1dGVzAF9fX2ltcF9h d19saWNlbnNlX2F0dHJpYnV0ZXMAX2F3X2xpY2Vuc2VfYWRkAF9fX2ltcF9hd19saWNlbnNl X2FkZABfYXdfaW50X3NldABfX19pbXBfYXdfaW50X3NldABfYXdfaW50AF9fX2ltcF9hd19p bnQAX2F3X2luc3RhbmNlX3NldABfX19pbXBfYXdfaW5zdGFuY2Vfc2V0AF9hd19pbnN0YW5j ZQBfX19pbXBfYXdfaW5zdGFuY2UAX2F3X2luaXQAX19faW1wX2F3X2luaXQAX2F3X2V4aXQA X19faW1wX2F3X2V4aXQAX2F3X2V2ZW50X3NldABfX19pbXBfYXdfZXZlbnRfc2V0AF9hd19l dmVudABfX19pbXBfYXdfZXZlbnQAX2F3X2VudGVyAF9fX2ltcF9hd19lbnRlcgBfYXdfZGVz dHJveQBfX19pbXBfYXdfZGVzdHJveQBfYXdfY3JlYXRlX3Jlc29sdmVkAF9fX2ltcF9hd19j cmVhdGVfcmVzb2x2ZWQAX2F3X2NyZWF0ZQBfX19pbXBfYXdfY3JlYXRlAF9hd19jaXRpemVu X3ByZXZpb3VzAF9fX2ltcF9hd19jaXRpemVuX3ByZXZpb3VzAF9hd19jaXRpemVuX25leHQA X19faW1wX2F3X2NpdGl6ZW5fbmV4dABfYXdfY2l0aXplbl9kZWxldGUAX19faW1wX2F3X2Np dGl6ZW5fZGVsZXRlAF9hd19jaXRpemVuX2NoYW5nZQBfX19pbXBfYXdfY2l0aXplbl9jaGFu Z2UAX2F3X2NpdGl6ZW5fYXR0cmlidXRlc19ieV9udW1iZXIAX19faW1wX2F3X2NpdGl6ZW5f YXR0cmlidXRlc19ieV9udW1iZXIAX2F3X2NpdGl6ZW5fYXR0cmlidXRlc19ieV9uYW1lAF9f X2ltcF9hd19jaXRpemVuX2F0dHJpYnV0ZXNfYnlfbmFtZQBfYXdfY2l0aXplbl9hZGQAX19f aW1wX2F3X2NpdGl6ZW5fYWRkAF9hd19jYWxsYmFja19zZXQAX19faW1wX2F3X2NhbGxiYWNr X3NldABfYXdfY2FsbGJhY2sAX19faW1wX2F3X2NhbGxiYWNrAF9hd19ib29sX3NldABfX19p bXBfYXdfYm9vbF9zZXQAX2F3X2Jvb2wAX19faW1wX2F3X2Jvb2wAAGR0Lm8vICAgICAgICAg ICA5MTE2MjAzNTEgICA1NDQgICA1MTMgICAxMDA2NjYgIDU5MiAgICAgICBgCkwBBgAAAAAA LAEAAA8AAAAAAAUBLnRleHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAYC5k YXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMAuYnNzAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAACAAADALmlkYXRhJDQAAAAAAAAAAAQAAAAEAQAAAAAAAAAA AAAAAAAAAAAAQC5pZGF0YSQ1AAAAAAAAAAAEAAAACAEAAAAAAAAAAAAAAAAAAAAAAEAuaWRh dGEkNwAAAAAAAAAAIAAAAAwBAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAABmOi9lZHdhcmQv cHJvZHVjdHMvYXdzZGsvYXcuZGxsAC5maWxlAAAAAAAAAP7/AABnAWZha2UAAAAAAAAAAAAA AAAAAC50ZXh0AAAAAAAAAAEAAAADAQAAAAAAAAAAAAAAAAAAAAAAAC5kYXRhAAAAAAAAAAIA AAADAQAAAAAAAAAAAAAAAAAAAAAAAC5ic3MAAAAAAAAAAAMAAAADAQAAAAAAAAAAAAAAAAAA AAAAAC5pZGF0YSQ0AAAAAAQAAAADAQQAAAAAAAAAAAAAAAAAAAAAAC5pZGF0YSQ1AAAAAAUA AAADAQQAAAAAAAAAAAAAAAAAAAAAAC5pZGF0YSQ3AAAAAAYAAAADASAAAAAAAAAAAAAAAAAA AAAAAAAAAAAEAAAAAAAAAAYAAAACABYAAABfX2F3c2RrX2xpYl9pbmFtZQBkaC5vLyAgICAg ICAgICAgOTExNjIwMzUxICAgNTQ0ICAgNTEzICAgMTAwNjY2ICA2ODEgICAgICAgYApMAQYA AAAAAD4BAAASAAAAAAAEAS50ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAA AGAuZGF0YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAADALmJzcwAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAwC5pZGF0YSQyAAAAAAAAAAAUAAAABAEAACAB AAAAAAAAAwAAAAAAAEAuaWRhdGEkNQAAAAAAAAAABAAAABgBAAAAAAAAAAAAAAAAAAAAAABA LmlkYXRhJDQAAAAAAAAAAAQAAAAcAQAAAAAAAAAAAAAAAAAAAAAAQAQAAAAAAAAAAAAAAAAA AAAEAAAAAAAAAAAAAAAAAAAADgAAAAcADAAAABEAAAAHABAAAAAMAAAABwAuZmlsZQAAAAAA AAD+/wAAZwFmYWtlAAAAAAAAAAAAAAAAAABobmFtZQAAAAQAAAAGAAAAAwBmdGh1bmsAAAQA AAAFAAAAAwAudGV4dAAAAAAAAAABAAAAAwEAAAAAAAAAAAAAAAAAAAAAAAAuZGF0YQAAAAAA AAACAAAAAwEAAAAAAAAAAAAAAAAAAAAAAAAuYnNzAAAAAAAAAAADAAAAAwEAAAAAAAAAAAAA AAAAAAAAAAAuaWRhdGEkMgAAAAAEAAAAAwEUAAAAAwAAAAAAAAAAAAAAAAAuaWRhdGEkNQAA AAAFAAAAAwEEAAAAAAAAAAAAAAAAAAAAAAAuaWRhdGEkNAAAAAAGAAAAAwEEAAAAAAAAAAAA AAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAgAAAAAAFQAAAAAAAAAAAAAAAgAnAAAAX19oZWFk X2F3c2RrX2xpYgBfX2F3c2RrX2xpYl9pbmFtZQAKZHM0OC5vLyAgICAgICAgIDkxMTYyMDM1 NCAgIDU0NCAgIDUxMyAgIDEwMDY2NiAgNjEzICAgICAgIGAKTAEHAAAAAAB4AQAACgAAAAAA BAEudGV4dAAAAAAAAAAAAAAACAAAACwBAABQAQAAAAAAAAEAAAAgAABgLmRhdGEAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAwC5ic3MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAIAAAMAuaWRhdGEkNwAAAAAAAAAABAAAADQBAABaAQAAAAAAAAEAAAAAAABA LmlkYXRhJDUAAAAAAAAAAAQAAAA4AQAAZAEAAAAAAAABAAAAAAAAQC5pZGF0YSQ0AAAAAAAA AAAEAAAAPAEAAG4BAAAAAAAAAQAAAAAAAEAuaWRhdGEkNgAAAAAAAAAAEAAAAEABAAAAAAAA AAAAAAAAAAAAAABA/yUAAAAAkJAAAAAAAAAAAAAAAAAwAGF3X3dvcmxkX2xpc3QAAgAAAAQA AAAGAAAAAAAJAAAABwAAAAAABgAAAAcAAAAAAAYAAAAHAC50ZXh0AAAAAAAAAAEAAAADAC5k YXRhAAAAAAAAAAIAAAADAC5ic3MAAAAAAAAAAAMAAAADAC5pZGF0YSQ3AAAAAAQAAAADAC5p ZGF0YSQ1AAAAAAUAAAADAC5pZGF0YSQ0AAAAAAYAAAADAC5pZGF0YSQ2AAAAAAcAAAADAAAA AAAEAAAAAAAAAAEAAAACAAAAAAATAAAAAAAAAAUAAAACAAAAAAAoAAAAAAAAAAAAAAACADkA AABfYXdfd29ybGRfbGlzdABfX19pbXBfYXdfd29ybGRfbGlzdABfX2hlYWRfYXdzZGtfbGli AApkczQ3Lm8vICAgICAgICAgOTExNjIwMzU0ICAgNTQ0ICAgNTEzICAgMTAwNjY2ICA2MTkg ICAgICAgYApMAQcAAAAAAHwBAAAKAAAAAAAEAS50ZXh0AAAAAAAAAAAAAAAIAAAALAEAAFQB AAAAAAAAAQAAACAAAGAuZGF0YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAADA LmJzcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAwC5pZGF0YSQ3AAAAAAAA AAAEAAAANAEAAF4BAAAAAAAAAQAAAAAAAEAuaWRhdGEkNQAAAAAAAAAABAAAADgBAABoAQAA AAAAAAEAAAAAAABALmlkYXRhJDQAAAAAAAAAAAQAAAA8AQAAcgEAAAAAAAABAAAAAAAAQC5p ZGF0YSQ2AAAAAAAAAAASAAAAQAEAAAAAAAAAAAAAAAAAAAAAAED/JQAAAACQkAAAAAAAAAAA AAAAAC8AYXdfd29ybGRfZWplY3QAAAAAAgAAAAQAAAAGAAAAAAAJAAAABwAAAAAABgAAAAcA AAAAAAYAAAAHAC50ZXh0AAAAAAAAAAEAAAADAC5kYXRhAAAAAAAAAAIAAAADAC5ic3MAAAAA AAAAAAMAAAADAC5pZGF0YSQ3AAAAAAQAAAADAC5pZGF0YSQ1AAAAAAUAAAADAC5pZGF0YSQ0 AAAAAAYAAAADAC5pZGF0YSQ2AAAAAAcAAAADAAAAAAAEAAAAAAAAAAEAAAACAAAAAAAUAAAA AAAAAAUAAAACAAAAAAAqAAAAAAAAAAAAAAACADsAAABfYXdfd29ybGRfZWplY3QAX19faW1w X2F3X3dvcmxkX2VqZWN0AF9faGVhZF9hd3Nka19saWIACmRzNDYuby8gICAgICAgICA5MTE2 MjAzNTQgICA1NDQgICA1MTMgICAxMDA2NjYgIDY1NSAgICAgICBgCkwBBwAAAAAAiAEAAAoA AAAAAAQBLnRleHQAAAAAAAAAAAAAAAgAAAAsAQAAYAEAAAAAAAABAAAAIAAAYC5kYXRhAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMAuYnNzAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAACAAADALmlkYXRhJDcAAAAAAAAAAAQAAAA0AQAAagEAAAAAAAABAAAA AAAAQC5pZGF0YSQ1AAAAAAAAAAAEAAAAOAEAAHQBAAAAAAAAAQAAAAAAAEAuaWRhdGEkNAAA AAAAAAAABAAAADwBAAB+AQAAAAAAAAEAAAAAAABALmlkYXRhJDYAAAAAAAAAAB4AAABAAQAA AAAAAAAAAAAAAAAAAAAAQP8lAAAAAJCQAAAAAAAAAAAAAAAALgBhd193b3JsZF9hdHRyaWJ1 dGVzX2NoYW5nZQAAAAACAAAABAAAAAYAAAAAAAkAAAAHAAAAAAAGAAAABwAAAAAABgAAAAcA LnRleHQAAAAAAAAAAQAAAAMALmRhdGEAAAAAAAAAAgAAAAMALmJzcwAAAAAAAAAAAwAAAAMA LmlkYXRhJDcAAAAABAAAAAMALmlkYXRhJDUAAAAABQAAAAMALmlkYXRhJDQAAAAABgAAAAMA LmlkYXRhJDYAAAAABwAAAAMAAAAAAAQAAAAAAAAAAQAAAAIAAAAAACAAAAAAAAAABQAAAAIA AAAAAEIAAAAAAAAAAAAAAAIAUwAAAF9hd193b3JsZF9hdHRyaWJ1dGVzX2NoYW5nZQBfX19p bXBfYXdfd29ybGRfYXR0cmlidXRlc19jaGFuZ2UAX19oZWFkX2F3c2RrX2xpYgAKZHM0NS5v LyAgICAgICAgIDkxMTYyMDM1NCAgIDU0NCAgIDUxMyAgIDEwMDY2NiAgNjA3ICAgICAgIGAK TAEHAAAAAAB4AQAACgAAAAAABAEudGV4dAAAAAAAAAAAAAAACAAAACwBAABQAQAAAAAAAAEA AAAgAABgLmRhdGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAwC5ic3MAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAMAuaWRhdGEkNwAAAAAAAAAABAAAADQB AABaAQAAAAAAAAEAAAAAAABALmlkYXRhJDUAAAAAAAAAAAQAAAA4AQAAZAEAAAAAAAABAAAA AAAAQC5pZGF0YSQ0AAAAAAAAAAAEAAAAPAEAAG4BAAAAAAAAAQAAAAAAAEAuaWRhdGEkNgAA AAAAAAAADgAAAEABAAAAAAAAAAAAAAAAAAAAAABA/yUAAAAAkJAAAAAAAAAAAAAAAAAtAGF3 X3doaXNwZXIAAAAAAgAAAAQAAAAGAAAAAAAJAAAABwAAAAAABgAAAAcAAAAAAAYAAAAHAC50 ZXh0AAAAAAAAAAEAAAADAC5kYXRhAAAAAAAAAAIAAAADAC5ic3MAAAAAAAAAAAMAAAADAC5p ZGF0YSQ3AAAAAAQAAAADAC5pZGF0YSQ1AAAAAAUAAAADAC5pZGF0YSQ0AAAAAAYAAAADAC5p ZGF0YSQ2AAAAAAcAAAADAAAAAAAEAAAAAAAAAAEAAAACAAAAAAAQAAAAAAAAAAUAAAACAAAA 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 AAAAAAAABQAAAAIAAAAAACgAAAAAAAAAAAAAAAIAOQAAAF9hd19vYmplY3RfYWRkAF9fX2lt cF9hd19vYmplY3RfYWRkAF9faGVhZF9hd3Nka19saWIACmRzMjkuby8gICAgICAgICA5MTE2 MjAzNTIgICA1NDQgICA1MTMgICAxMDA2NjYgIDU5OSAgICAgICBgCkwBBwAAAAAAdAEAAAoA AAAAAAQBLnRleHQAAAAAAAAAAAAAAAgAAAAsAQAATAEAAAAAAAABAAAAIAAAYC5kYXRhAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMAuYnNzAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAACAAADALmlkYXRhJDcAAAAAAAAAAAQAAAA0AQAAVgEAAAAAAAABAAAA AAAAQC5pZGF0YSQ1AAAAAAAAAAAEAAAAOAEAAGABAAAAAAAAAQAAAAAAAEAuaWRhdGEkNAAA AAAAAAAABAAAADwBAABqAQAAAAAAAAEAAAAAAABALmlkYXRhJDYAAAAAAAAAAAwAAABAAQAA AAAAAAAAAAAAAAAAAAAAQP8lAAAAAJCQAAAAAAAAAAAAAAAAHQBhd19sb2dpbgAAAgAAAAQA AAAGAAAAAAAJAAAABwAAAAAABgAAAAcAAAAAAAYAAAAHAC50ZXh0AAAAAAAAAAEAAAADAC5k YXRhAAAAAAAAAAIAAAADAC5ic3MAAAAAAAAAAAMAAAADAC5pZGF0YSQ3AAAAAAQAAAADAC5p ZGF0YSQ1AAAAAAUAAAADAC5pZGF0YSQ0AAAAAAYAAAADAC5pZGF0YSQ2AAAAAAcAAAADAAAA AAAEAAAAAAAAAAEAAAACAAAAAAAOAAAAAAAAAAUAAAACAAAAAAAeAAAAAAAAAAAAAAACAC8A AABfYXdfbG9naW4AX19faW1wX2F3X2xvZ2luAF9faGVhZF9hd3Nka19saWIACmRzMjguby8g ICAgICAgICA5MTE2MjAzNTIgICA1NDQgICA1MTMgICAxMDA2NjYgIDYzMyAgICAgICBgCkwB BwAAAAAAgAEAAAoAAAAAAAQBLnRleHQAAAAAAAAAAAAAAAgAAAAsAQAAWAEAAAAAAAABAAAA IAAAYC5kYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMAuYnNzAAAAAAAA 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 Y2Vuc2VfZGVsZXRlAF9fX2ltcF9hd19saWNlbnNlX2RlbGV0ZQBfX2hlYWRfYXdzZGtfbGli AApkczI1Lm8vICAgICAgICAgOTExNjIwMzUyICAgNTQ0ICAgNTEzICAgMTAwNjY2ICA2MjUg ICAgICAgYApMAQcAAAAAAHwBAAAKAAAAAAAEAS50ZXh0AAAAAAAAAAAAAAAIAAAALAEAAFQB AAAAAAAAAQAAACAAAGAuZGF0YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAADA LmJzcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAwC5pZGF0YSQ3AAAAAAAA AAAEAAAANAEAAF4BAAAAAAAAAQAAAAAAAEAuaWRhdGEkNQAAAAAAAAAABAAAADgBAABoAQAA AAAAAAEAAAAAAABALmlkYXRhJDQAAAAAAAAAAAQAAAA8AQAAcgEAAAAAAAABAAAAAAAAQC5p ZGF0YSQ2AAAAAAAAAAAUAAAAQAEAAAAAAAAAAAAAAAAAAAAAAED/JQAAAACQkAAAAAAAAAAA AAAAABkAYXdfbGljZW5zZV9jaGFuZ2UAAgAAAAQAAAAGAAAAAAAJAAAABwAAAAAABgAAAAcA AAAAAAYAAAAHAC50ZXh0AAAAAAAAAAEAAAADAC5kYXRhAAAAAAAAAAIAAAADAC5ic3MAAAAA AAAAAAMAAAADAC5pZGF0YSQ3AAAAAAQAAAADAC5pZGF0YSQ1AAAAAAUAAAADAC5pZGF0YSQ0 AAAAAAYAAAADAC5pZGF0YSQ2AAAAAAcAAAADAAAAAAAEAAAAAAAAAAEAAAACAAAAAAAXAAAA AAAAAAUAAAACAAAAAAAwAAAAAAAAAAAAAAACAEEAAABfYXdfbGljZW5zZV9jaGFuZ2UAX19f aW1wX2F3X2xpY2Vuc2VfY2hhbmdlAF9faGVhZF9hd3Nka19saWIACmRzMjQuby8gICAgICAg ICA5MTE2MjAzNTIgICA1NDQgICA1MTMgICAxMDA2NjYgIDYzNyAgICAgICBgCkwBBwAAAAAA gAEAAAoAAAAAAAQBLnRleHQAAAAAAAAAAAAAAAgAAAAsAQAAWAEAAAAAAAABAAAAIAAAYC5k YXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMAuYnNzAAAAAAAAAAAAAAAA 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 ZHMxMC5vLyAgICAgICAgIDkxMTYyMDM1MiAgIDU0NCAgIDUxMyAgIDEwMDY2NiAgNjMzICAg ICAgIGAKTAEHAAAAAACAAQAACgAAAAAABAEudGV4dAAAAAAAAAAAAAAACAAAACwBAABYAQAA AAAAAAEAAAAgAABgLmRhdGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAwC5i c3MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAMAuaWRhdGEkNwAAAAAAAAAA BAAAADQBAABiAQAAAAAAAAEAAAAAAABALmlkYXRhJDUAAAAAAAAAAAQAAAA4AQAAbAEAAAAA AAABAAAAAAAAQC5pZGF0YSQ0AAAAAAAAAAAEAAAAPAEAAHYBAAAAAAAAAQAAAAAAAEAuaWRh dGEkNgAAAAAAAAAAFgAAAEABAAAAAAAAAAAAAAAAAAAAAABA/yUAAAAAkJAAAAAAAAAAAAAA AAAKAGF3X2NpdGl6ZW5fcHJldmlvdXMAAAACAAAABAAAAAYAAAAAAAkAAAAHAAAAAAAGAAAA BwAAAAAABgAAAAcALnRleHQAAAAAAAAAAQAAAAMALmRhdGEAAAAAAAAAAgAAAAMALmJzcwAA AAAAAAAAAwAAAAMALmlkYXRhJDcAAAAABAAAAAMALmlkYXRhJDUAAAAABQAAAAMALmlkYXRh JDQAAAAABgAAAAMALmlkYXRhJDYAAAAABwAAAAMAAAAAAAQAAAAAAAAAAQAAAAIAAAAAABkA AAAAAAAABQAAAAIAAAAAADQAAAAAAAAAAAAAAAIARQAAAF9hd19jaXRpemVuX3ByZXZpb3Vz AF9fX2ltcF9hd19jaXRpemVuX3ByZXZpb3VzAF9faGVhZF9hd3Nka19saWIACmRzOS5vLyAg ICAgICAgICA5MTE2MjAzNTIgICA1NDQgICA1MTMgICAxMDA2NjYgIDYyMSAgICAgICBgCkwB BwAAAAAAfAEAAAoAAAAAAAQBLnRleHQAAAAAAAAAAAAAAAgAAAAsAQAAVAEAAAAAAAABAAAA IAAAYC5kYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMAuYnNzAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAADALmlkYXRhJDcAAAAAAAAAAAQAAAA0AQAA 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 ICAgICAgICAgIDkxMTYyMDM1MSAgIDU0NCAgIDUxMyAgIDEwMDY2NiAgNjY5ICAgICAgIGAK TAEHAAAAAACMAQAACgAAAAAABAEudGV4dAAAAAAAAAAAAAAACAAAACwBAABkAQAAAAAAAAEA AAAgAABgLmRhdGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAwC5ic3MAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAMAuaWRhdGEkNwAAAAAAAAAABAAAADQB AABuAQAAAAAAAAEAAAAAAABALmlkYXRhJDUAAAAAAAAAAAQAAAA4AQAAeAEAAAAAAAABAAAA AAAAQC5pZGF0YSQ0AAAAAAAAAAAEAAAAPAEAAIIBAAAAAAAAAQAAAAAAAEAuaWRhdGEkNgAA AAAAAAAAIgAAAEABAAAAAAAAAAAAAAAAAAAAAABA/yUAAAAAkJAAAAAAAAAAAAAAAAAGAGF3 X2NpdGl6ZW5fYXR0cmlidXRlc19ieV9udW1iZXIAAAACAAAABAAAAAYAAAAAAAkAAAAHAAAA AAAGAAAABwAAAAAABgAAAAcALnRleHQAAAAAAAAAAQAAAAMALmRhdGEAAAAAAAAAAgAAAAMA LmJzcwAAAAAAAAAAAwAAAAMALmlkYXRhJDcAAAAABAAAAAMALmlkYXRhJDUAAAAABQAAAAMA LmlkYXRhJDQAAAAABgAAAAMALmlkYXRhJDYAAAAABwAAAAMAAAAAAAQAAAAAAAAAAQAAAAIA AAAAACUAAAAAAAAABQAAAAIAAAAAAEwAAAAAAAAAAAAAAAIAXQAAAF9hd19jaXRpemVuX2F0 dHJpYnV0ZXNfYnlfbnVtYmVyAF9fX2ltcF9hd19jaXRpemVuX2F0dHJpYnV0ZXNfYnlfbnVt YmVyAF9faGVhZF9hd3Nka19saWIACmRzNS5vLyAgICAgICAgICA5MTE2MjAzNTEgICA1NDQg ICA1MTMgICAxMDA2NjYgIDY2MSAgICAgICBgCkwBBwAAAAAAiAEAAAoAAAAAAAQBLnRleHQA AAAAAAAAAAAAAAgAAAAsAQAAYAEAAAAAAAABAAAAIAAAYC5kYXRhAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAEAAAMAuYnNzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AACAAADALmlkYXRhJDcAAAAAAAAAAAQAAAA0AQAAagEAAAAAAAABAAAAAAAAQC5pZGF0YSQ1 AAAAAAAAAAAEAAAAOAEAAHQBAAAAAAAAAQAAAAAAAEAuaWRhdGEkNAAAAAAAAAAABAAAADwB AAB+AQAAAAAAAAEAAAAAAABALmlkYXRhJDYAAAAAAAAAACAAAABAAQAAAAAAAAAAAAAAAAAA AAAAQP8lAAAAAJCQAAAAAAAAAAAAAAAABQBhd19jaXRpemVuX2F0dHJpYnV0ZXNfYnlfbmFt ZQACAAAABAAAAAYAAAAAAAkAAAAHAAAAAAAGAAAABwAAAAAABgAAAAcALnRleHQAAAAAAAAA AQAAAAMALmRhdGEAAAAAAAAAAgAAAAMALmJzcwAAAAAAAAAAAwAAAAMALmlkYXRhJDcAAAAA BAAAAAMALmlkYXRhJDUAAAAABQAAAAMALmlkYXRhJDQAAAAABgAAAAMALmlkYXRhJDYAAAAA BwAAAAMAAAAAAAQAAAAAAAAAAQAAAAIAAAAAACMAAAAAAAAABQAAAAIAAAAAAEgAAAAAAAAA AAAAAAIAWQAAAF9hd19jaXRpemVuX2F0dHJpYnV0ZXNfYnlfbmFtZQBfX19pbXBfYXdfY2l0 aXplbl9hdHRyaWJ1dGVzX2J5X25hbWUAX19oZWFkX2F3c2RrX2xpYgAKZHM0Lm8vICAgICAg ICAgIDkxMTYyMDM1MSAgIDU0NCAgIDUxMyAgIDEwMDY2NiAgNjE5ICAgICAgIGAKTAEHAAAA AAB8AQAACgAAAAAABAEudGV4dAAAAAAAAAAAAAAACAAAACwBAABUAQAAAAAAAAEAAAAgAABg LmRhdGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAwC5ic3MAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAMAuaWRhdGEkNwAAAAAAAAAABAAAADQBAABeAQAA AAAAAAEAAAAAAABALmlkYXRhJDUAAAAAAAAAAAQAAAA4AQAAaAEAAAAAAAABAAAAAAAAQC5p ZGF0YSQ0AAAAAAAAAAAEAAAAPAEAAHIBAAAAAAAAAQAAAAAAAEAuaWRhdGEkNgAAAAAAAAAA EgAAAEABAAAAAAAAAAAAAAAAAAAAAABA/yUAAAAAkJAAAAAAAAAAAAAAAAAEAGF3X2NpdGl6 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 --------------89CB085191CAE404F9C516E5 Content-Type: application/x-unknown-content-type-c_auto_file; name="bot.C" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="bot.C" I2luY2x1ZGUgPGlvc3RyZWFtLmg+DQoNCiNpbmNsdWRlIDxhdy5oPg0KDQptYWluKCkgew0K DQogIGF3X2luaXQoQVdfQlVJTEQpOw0KfQ0K --------------89CB085191CAE404F9C516E5 Content-Type: text/plain; charset=us-ascii; name="awsdk.def" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="awsdk.def" EXPORTS aw_init aw_term aw_create aw_destroy aw_login aw_wait aw_int aw_int_set aw_string aw_string_set aw_event aw_event_set aw_callback aw_callback_set aw_instance aw_instance_set aw_enter aw_state_change aw_say aw_whisper aw_object_add aw_object_change aw_object_delete aw_query aw_random aw_license_attributes aw_license_add aw_license_change aw_license_delete aw_license_next aw_license_previous aw_bool aw_bool_set aw_citizen_attributes_by_name aw_citizen_attributes_by_number aw_citizen_add aw_citizen_change aw_citizen_delete aw_citizen_next aw_citizen_previous aw_session aw_world_list aw_create_resolved aw_world_attributes_change aw_universe_attributes_change aw_world_eject aw_exit aw_universe_ejection_add aw_sector_from_cell --------------89CB085191CAE404F9C516E5-- Cygwin32Nov 21, 1998, 7:10pm
I found that out when I moved my dll. The dlltool puts a full path name in the
awsdk.lib file. I assume it is adding code that does a LoadLibrary("full path name"); You will have to recreate the awsdk.lib from the dlltool command so that it find the aw.dll in the correct place. [View Quote] > awsdk.lib wont work for me it compiles but ti says I need a aw.dll on f:\ > drive which is my cd-rom I think its the way the compiler made the dll > directory specific... > [View Quote] Moving the botsNov 21, 1998, 2:39am
--------------2177A608EA2C86C1B6B1E676
Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit You are asking for a couple of different concepts. 1. avatar distance from robot. I implemented this using Pythagarous in the code in the AWCPP - Avatar.C, distanceFrom() method. Here is an excerpt // Convert all positions to their absolute values. No negatives. if (delta_x < 0) delta_x = -delta_x; if (delta_y < 0) delta_y = -delta_y; if (delta_z < 0) delta_z = -delta_z; // Work out the horizontal hypotenuse using Pythagarous theorem. // // hypotenuse squared = opposite squared + adjacent squared; float hor_h = sqrt(((delta_x * delta_x) + (delta_z * delta_z))); // The vertical hypotenuse is the the actual distance between the // the avatars. float distance_from_avatar = sqrt(((hor_h * hor_h) + (delta_y * delta_y))); 2. x, z follow position. I implemented this using old fashioned trig (haven't worked out the matrix math yet) in AWCPP - Movement.C in the follow() method. Another excerpt // Set my yaw to the same direction that the avatar is facing. We must // do this now because we are going to turn the avatar yaw around for the // direction calculation. my_yaw = avatar_yaw; // Because we will be facing the avatar from behind we can set our // yaw to the same as the avatars. However, the new position is // calculated as some distance in the opposite direction from where // the avatar is facing so we must add 180 degrees for the trig // equation. avatar_yaw += (CIRCLE_AW / 2); // This is 3600/2 mod_float(&avatar_yaw, CIRCLE_AW); // Just a modulus function on a float type. // Convert the degrees to radians for use with the cos and // sin functions. This may not be necessary depending on your // development language. float yaw_radians = Convert::DegreesToRadians(avatar_yaw); // Calculate the delta changes in position for each of the // x, y and z axes. float delta_x_coord = distance * sin(yaw_radians); float delta_z_coord = distance * cos(yaw_radians); // Apply the delta changes to the existing position. Checking for the world boundaries. my_x_coord += delta_x_coord; if (my_x_coord > MAX_X_COORD) { my_x_coord = MAX_X_COORD; } else if (my_x_coord < MIN_X_COORD) { my_x_coord = MIN_X_COORD; } my_z_coord += delta_z_coord; if (my_z_coord > MAX_Z_COORD) { my_z_coord = MAX_Z_COORD; } else if (my_z_coord < MIN_Z_COORD) { my_z_coord = MIN_Z_COORD; } // Altitude stays the same. my_altitude = avatar_altitude; Program structure. aw_event_set(AW_AVATAR_CHANGE, avatar_change); timer = 0; avatar_session = -1; robot_state = WAITING; while (aw_wait(1000)) { if (robot_state == FOLLOWING) { get position of avatar with avatar_session move robot position using following function above. timer--; if (timer <= 0) { state = WAITING; avatar_session = -1; } } } void avatar_change() { // Called when avatar moves. calculate distance using distance calculation above. if (distance < SOME DISTANCE) { state = FOLLOWING; timer = 60; // Represents 60 loops around the 1 second loop. Follow or a minute avatar_session = aw_int(AW_AVATAR_SESSION); } } The only caveat I would add is that I have tested distanceFrom code but never tested the follow code. Let me know if it works. Hope this helps. Good luck. Edward Sumerfield. [View Quote] > I want to know how I can get the bot to respond to avatars within a > certain radius of himself, and follow them for a distance, then return > to his original position... any takers? --------------2177A608EA2C86C1B6B1E676 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> You are asking for a couple of different concepts. <p><b>1. avatar distance from robot.</b> <p>I implemented this using Pythagarous in the code in the AWCPP - Avatar.C, distanceFrom() method. Here is an excerpt <p> // Convert all positions to their absolute values. No negatives. <p> if (delta_x < 0) delta_x = -delta_x; <br> if (delta_y < 0) delta_y = -delta_y; <br> if (delta_z < 0) delta_z = -delta_z; <p> // Work out the horizontal hypotenuse using Pythagarous theorem. <br> // <br> // hypotenuse squared = opposite squared + adjacent squared; <p> float hor_h = sqrt(((delta_x * delta_x) + (delta_z * delta_z))); <p> // The vertical hypotenuse is the the actual distance between the <br> // the avatars. <p> float <b>distance_from_avatar</b> = sqrt(((hor_h * hor_h) + (delta_y * delta_y))); <p><b>2. x, z follow position.</b> <p>I implemented this using old fashioned trig (haven't worked out the matrix math yet) in AWCPP - Movement.C in the follow() method. Another excerpt <p> // Set my yaw to the same direction that the avatar is facing. We must <br> // do this now because we are going to turn the avatar yaw around for the <br> // direction calculation. <p> my_yaw = avatar_yaw; <p> // Because we will be facing the avatar from behind we can set our <br> // yaw to the same as the avatars. However, the new position is <br> // calculated as some distance in the opposite direction from where <br> // the avatar is facing so we must add 180 degrees for the trig <br> // equation. <p> avatar_yaw += (CIRCLE_AW / 2); // This is 3600/2 <br> mod_float(&avatar_yaw, CIRCLE_AW); // Just a modulus function on a float type. <p> // Convert the degrees to radians for use with the cos and <br> // sin functions. <b>This may not be necessary depending on your</b> <br><b> // development language.</b> <p> float yaw_radians = Convert::DegreesToRadians(avatar_yaw); <p> // Calculate the delta changes in position for each of the <br> // x, y and z axes. <p> float delta_x_coord = distance * sin(yaw_radians); <br> float delta_z_coord = distance * cos(yaw_radians); <p> // Apply the delta changes to the existing position. Checking for the world boundaries. <p> my_x_coord += delta_x_coord; <br> if (my_x_coord > MAX_X_COORD) { <p> my_x_coord = MAX_X_COORD; <br> } <br> else if (my_x_coord < MIN_X_COORD) { <p> my_x_coord = MIN_X_COORD; <br> } <p> my_z_coord += delta_z_coord; <br> if (my_z_coord > MAX_Z_COORD) { <p> my_z_coord = MAX_Z_COORD; <br> } <br> else if (my_z_coord < MIN_Z_COORD) { <p> my_z_coord = MIN_Z_COORD; <br> } <p> // Altitude stays the same. <p> my_altitude = avatar_altitude; <p>Program structure. <p> aw_event_set(AW_AVATAR_CHANGE, avatar_change); <p> timer = 0; <br> avatar_session = -1; <br> robot_state = WAITING; <br> while (aw_wait(1000)) { <br> if (robot_state == FOLLOWING) { <br> get position of avatar with avatar_session <br> move robot position using following function above. <br> timer--; <br> if (timer <= 0) { <br> state = WAITING; <br> avatar_session = -1; <br> } <br> } <br> } <br> void avatar_change() { // Called when avatar moves. <br> calculate distance using distance calculation above. <br> if (distance < SOME DISTANCE) { <br> state = FOLLOWING; <br> timer = 60; // Represents 60 loops around the 1 second loop. Follow or a minute <br> avatar_session = aw_int(AW_AVATAR_SESSION); <br> } <br> } <p>The only caveat I would add is that I have tested distanceFrom code but never tested the follow code. Let me know if it works. <p>Hope this helps. Good luck. <p>Edward Sumerfield. [View Quote] --------------2177A608EA2C86C1B6B1E676-- Moving the botsNov 21, 1998, 12:52pm
Robots don't have session number they have instance numbers.
Likewise other avatars wandering around only have session numbers. So for you two robot problem you would need an array on session numbers for each instance number. Edward Sumerfield. [View Quote] > 1. BTW, I'm not sure if AW_AVATAR_SESSION refers to the bot or the > avatar, you also have AW_AVATAR_NAME, the login name of the avatar - > my bot is deaf in visual basic. > > 2. Can anyone clarify this: how do I know for which bot an event is > triggered? Supposing I have bots in different worlds, how do I know in > which world the trapped avatar is? If one can't use threads, one > should be able to identify a relation between event and bot, methinks. > > XelaG Moving the botsNov 21, 1998, 1:04pm
--------------D9FAD9029313D38C91C2DB76
Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Xelag said it. AWCPP is implemented entirely in GNU G++. The version implemented by Cygnus at http://www.cygnus.com You can find the source I referenced at http://members.xoom.com/esumerfd/ActiveWorlds/AWCPP/ Infact, I just released version 0.3 that supports a complete Avatar tracking model. The one thing I might modify in Xelags write-up is the design approach and this depends entirely on where you are coming from as a developer. Xelag mentioned the idea of multiple robots and how to keep track of the appropriate positions. That is a C design problem. With the AWCPP design in C++ we already have all that encapsulation. This is an excellent example of why OO design is so powerful. So, if you are learning C I would recommend learning C++ straight away and forget C. If you are a C programmer I would recommend getting into C++ fast. It has taken me, a veteran C programmer, 5 years now to feel comfortable working with OO design concepts. It seems to be an industry problem for procedural programmers (C) to reenginner their thinking processes to become OO programmers (C++). Good luck. Roland, thanks for the tip. I didn't spot that one. Edward Sumerfield. [View Quote] > I am not sure I see what you are going for. I am using the GNU, which I > think is of somwhat difference from the AWCPP. I don't know what the > delta_x, z variables represent in the programming source. > I also want to understand what each of the values represent (ie, what sets > the react range, and the follow distance) so I can modify the code myself > once I get successfull implementation. Also, where in the source of the bot > would these lines take place? I am not sure if you would need to call > another event header or what... > [View Quote] --------------D9FAD9029313D38C91C2DB76 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <body bgcolor="#FFFFFF"> Xelag said it. <p>AWCPP is implemented entirely in GNU G++. The version implemented by Cygnus at <A HREF="http://www.cygnus.com">http://www.cygnus.com</A> <p>You can find the source I referenced at <p> <A HREF="http://members.xoom.com/esumerfd/ActiveWorlds/AWCPP/">http://members.xoom.com/esumerfd/ActiveWorlds/AWCPP/</A> <p>Infact, I just released version 0.3 that supports a complete Avatar tracking model. <p>The one thing I might modify in Xelags write-up is the design approach and this depends entirely on where you are coming from as a developer. Xelag mentioned the idea of multiple robots and how to keep track of the appropriate positions. That is a C design problem. With the AWCPP design in C++ we already have all that encapsulation. This is an excellent example of why OO design is so powerful. <p>So, if you are learning C I would recommend learning C++ straight away and forget C. If you are a C programmer I would recommend getting into C++ fast. It has taken me, a veteran C programmer, 5 years now to feel comfortable working with OO design concepts. <p>It seems to be an industry problem for procedural programmers (C) to reenginner their thinking processes to become OO programmers (C++). Good luck. <p>Roland, thanks for the tip. I didn't spot that one. <p>Edward Sumerfield. [View Quote] </body> </html> --------------D9FAD9029313D38C91C2DB76-- Moving the botsNov 21, 1998, 7:03pm
You are correct. You are using the instance to id the bot that received the
event. However, you didn't describe in your model what happens when two or more avatars approach your bot at the same time. Each avatar that approaches will have a separate session number (AW_AVATAR_SESSION). For example, I use the session number to identify an object that keeps track of conversation information with a specific avatar. You can track the same conversation with different approaching avatars at the same time. Of coarse the chat window looks a little crazy. [bot] Hello A A: What's up [bot] A, do you want something? [bot] Hello B A: What is the time? B: Robot dude. What's happenin. [bot] B, do you want something? [bot] A, it is 10 am. B: No go away. [bot] B, see ya. And so it goes on, and so on. If you look at my AvatarTrackerIF class if defines the callback as receiving AvatarThem* and void* as parameters. The AvatarThem represents the avatar that is chatting/moving and the void* represents a context object that I created and stored with the avatar information when the the avatar was added. The Nervous sample program implements this. Edward Sumerfield. [View Quote] > Edward > > Edward Sumerfield schrieb in Nachricht <3656D39C.9D01AB at poboxes.com>... > > Really ? I never needed the session numbers. In every event callback i have > the instance, and then pass all the event information the the c++ bot object > responsible for that bot instance. doing it this way a bot object does only > get the information related to him. If an avatar comes close to more than > one bot at a time, i get the event twice, once for each bot instance, so > that approach works just fine. > > i still have no idea for what the session number is needed outside the > aw.dll. > > Walter > Moving the botsNov 21, 1998, 7:06pm
--------------0FDF5ACF3EB4D242E50707D6
Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit GNU C++. [View Quote] > What is G++ compared to C++ ? :) Walter > > Edward Sumerfield schrieb in Nachricht > <3656D683.B846DB09 at poboxes.com>...Xelag said it. > > AWCPP is implemented entirely in GNU G++. The version implemented > by Cygnus at http://www.cygnus.com > > > --------------0FDF5ACF3EB4D242E50707D6 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <body bgcolor="#FFFFFF"> GNU C++. [View Quote] </body> </html> --------------0FDF5ACF3EB4D242E50707D6-- Moving the botsNov 21, 1998, 7:08pm
--------------B73AD52D3543021FCD4E9763
Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit There is full source, documentation and binary downloads on the download page. [View Quote] > I went to your AWCPP page, but I haven't been able to make much sense of it. > In part, because I haven't done much in C++, just normal C.... The page says > you have examples, but at the moment, if I'm to get started in this thing, > it would be a great deal easier if I could just see the straight source of > an example... like Rolland Vilett has on his SDK documentation... > [View Quote] --------------B73AD52D3543021FCD4E9763 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <body bgcolor="#FFFFFF"> There is full source, documentation and binary downloads on the download page. [View Quote] </body> </html> --------------B73AD52D3543021FCD4E9763-- Moving the botsNov 22, 1998, 2:01pm
I just did an experiment. Enter a world, spot a tourist, select Login->Tourist
and enter the same name. You can login just fine. This would not work for citizens of coarse. Now, session ids have this funky recovery problem, where the world can hit a glitch and reassign a session number to an avatar. I haven't coded around this yet. I just assume there will be no glitches. [View Quote] > One more thing. i noticed that i am able to have my bot program run 3 bots, > all with the same name. i don't know for avatars, but if 2 avatars have the > same name, like my bots, but if they differ in session id's, then i see the > real advantage over my approach outlined below. > > Walter > > Walter Knupe schrieb in Nachricht <3657f6d1.0 at homer>... > of > the Moving the botsNov 24, 1998, 11:32am
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML> So the movements are not ignored, but recorded for your robot, its just that other users will only see the new positions once every second? <P>Edward Sumerfield. [View Quote] |