actually, i looked at the stack again, and yeah, it looks like you run out of memory while processing a tile that maps to the VVS (note the TilesRequestProcessor.doForward).
you might try just requesting the tile template directly. but of course, if you must have 66000 html table rows in a tile, then you may very well have to modify your ImportSupport and/or TilesTool and/or VelocityViewServlet in order to avoid use of a StringWriter. if you come up with a good patch that still works and makes good sense in more typical uses (i.e. html with less than 66000 table rows) as well as your case, then please consider sharing. :) On 5/10/05, Nathan Bubna <[EMAIL PROTECTED]> wrote: > if you are using the TilesTool, note that it extends ImportSupport > which uses a custom HttpServletResponseWrapper (an internal class > called ImportResponseWrapper). if the getWriter() method is called on > that wrapper instead of getOutputStream(), then the wrapper will use a > StringWriter to hold the content being imported. i believe the > VelocityViewServlet does indeed try to use getWriter() before trying > getOutputStream(). so import requests via the TilesTool that are > mapped to the VVS, will use a StringWriter. > > i'm not sure if this helps, but i seem to recall mention of the > TilesTool early in the thread and that use of a StringWriter seems to > be the problem. > > On 5/10/05, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > > The TufteViewServlet overrides mergeTemplate only to print out some various > > memory statistics. I'll try playing around with setBufferSize(), but I'm > > close to giving up =\. > > > > -L > > > > On Tue, May 10, 2005 at 09:19:33AM +0300, Ilkka Priha wrote: > > > Maybe not the tiles tool, but some other filter or processor along the > > > trace may have wrapped the response with a caching one. And you have > > > TufteViewServlet calling mergeTemplate and actually deciding the writer to > > > apply, not VelocityViewServlet... > > > > > > You can set the buffer size of the response before any output with > > > response.setBufferSize() (or check its current size with > > > response.getBufferSize()). That should set the buffer size for > > > ServletOutputStream correspondingly. > > > > > > -- Ilkka > > > > > > BTW. Are browsers capable of viewing an HTML page of 100-200 MB in size > > > and > > > how long does it take to load such a monster through the net? > > > > > > > > > [EMAIL PROTECTED] wrote: > > > >The stack trace makes it seem like the problem still originates from the > > > >VelocityViewServlet, and not the TilesTool: > > > > > > > >org.apache.velocity.exception.MethodInvocationException: Invocation of > > > >method 'get' in class org.apache.velocity.tools.struts.TilesTool threw > > > >exception class java.lang.OutOfMemoryError : null > > > > at > > > > > > > > org.apache.velocity.runtime.parser.node.ASTIdentifier.execute(ASTIdentifier.java:193) > > > > at > > > > > > > > org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:175) > > > > at > > > > > > > > org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:220) > > > > at > > > > > > > > org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:230) > > > > at org.apache.velocity.Template.merge(Template.java:256) > > > > at > > > > > > > > tufte.controller.tools.servlet.TufteViewServlet.mergeTemplate(TufteViewServlet.java:106) > > > > at > > > > > > > > org.apache.velocity.tools.view.servlet.VelocityViewServlet.doRequest(Unknown > > > > Source) > > > > at > > > > > > > > org.apache.velocity.tools.view.servlet.VelocityViewServlet.doGet(Unknown > > > > Source) > > > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) > > > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > > > > at > > > > > > > > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684) > > > > at > > > > > > > > org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:432) > > > > at > > > > > > > > org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356) > > > > at > > > > > > > > org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1097) > > > > at > > > > > > > > org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:302) > > > > at > > > > > > > > org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:278) > > > > at > > > > > > > > org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:341) > > > > at > > > > > > > > org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:272) > > > > at > > > > > > > > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1187) > > > > at > > > > org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:433) > > > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) > > > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > > > > at > > > > > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) > > > > at > > > > > > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) > > > > at > > > > > > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) > > > > at > > > > > > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) > > > > at > > > > > > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) > > > > at > > > > > > > > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > > > at > > > > > > > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > > > > at > > > > > > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) > > > > at > > > > > > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) > > > > at > > > > > > > > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > > > at > > > > > > > > org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415) > > > > at > > > > > > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) > > > > at > > > > > > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) > > > > at > > > > > > > > org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) > > > > at > > > > > > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) > > > > at > > > > > > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172) > > > > at > > > > > > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) > > > > at > > > > > > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) > > > > at > > > > > > > > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > > > at > > > > > > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) > > > > at > > > > > > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) > > > > at > > > > > > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) > > > > at > > > > > > > > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > > > at > > > > > > > > org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) > > > > at > > > > > > > > org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:261) > > > > at > > > > org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:360) > > > > at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:604) > > > > at > > > > > > > > org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:562) > > > > at > > > > org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:679) > > > > at > > > > > > > > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619) > > > > at java.lang.Thread.run(Thread.java:534) > > > > > > > >So I suppose the question is, how effecient is ServletOutputStream? When > > > >I use an FileOutputStream, very little memory is required. > > > > > > > >-L > > > > > > > >On Sat, May 07, 2005 at 11:43:03AM +0300, Ilkka Priha wrote: > > > > > > > >>Maybe you are not referring to this memory eating template directly from > > > >>VelocityServlet, but through some tool, #include, etc., which uses a > > > >>nested StringWriter and not the servlet's OutputStreamWriter directly. > > > >>According to your first post, the original oom exception was thrown by > > > >>the Velocity Struts Tiles tool... > > > >> > > > >>-- Ilkka > > > >> > > > >> > > > >>[EMAIL PROTECTED] wrote: > > > >> > > > >>>Ok now I'm confused (suprise, suprise!). I looked at the source for > > > >>>VelocityServlet, and mergeTemplate has: > > > >>> > > > >>>vw = (VelocityWriter) writerPool.get(); > > > >>> > > > >>>if (vw == null) > > > >>>{ > > > >>> vw = new VelocityWriter(new OutputStreamWriter(output, encoding),4 * > > > >>> 1024, true); > > > >>>} > > > >>>else > > > >>>{ > > > >>> vw.recycle(new OutputStreamWriter(output, encoding)); > > > >>>} > > > >>>template.merge(context, vw); > > > >>> > > > >>>=== > > > >>> > > > >>>So the VelocityServlet DOES use OutputStreamWriter already ... so then > > > >>>why does it still utilize so much memory? > > > >>> > > > >>>-L > > > >>> > > > >>>On Fri, May 06, 2005 at 02:02:07PM -0700, [EMAIL PROTECTED] wrote: > > > >>> > > > >>> > > > >>>>Alright, I changed the Writer to be: > > > >>>> > > > >>>>OutputStreamWriter w = new OutputStreamWriter(new > > > >>>>FileOutputStream("test.html")); > > > >>>> > > > >>>>And this fixes the memory problem. > > > >>>> > > > >>>>However, my application is running Velocity as a servlet, how should I > > > >>>>extend the VelocityServlet to use an OutputStreamWriter intead of a > > > >>>>StringWriter? Should I post a different email thread about this? > > > >>>> > > > >>>>-L > > > >>>> > > > >>>>On Fri, May 06, 2005 at 01:59:19PM -0700, David You wrote: > > > >>>> > > > >>>> > > > >>>>>Well, Open a file, use a FileWriter. > > > >>>>> > > > >>>>>David > > > >>>>> > > > >>>>> > > > >>>>>-----Original Message----- > > > >>>>>From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > > > >>>>>Sent: Friday, May 06, 2005 1:48 PM > > > >>>>>To: Velocity Users List > > > >>>>>Subject: Re: OutOfMemoryException Processing Velocity Template > > > >>>>> > > > >>>>>I printed out the available memory before and after I call > > > >>>>>"mergeTemplate": > > > >>>>> > > > >>>>>Free memory before merge: 217393352 > > > >>>>>Free memory after merge: 16271392 > > > >>>>> > > > >>>>>so I would assume the StringWriter is approximately 200MB after the > > > >>>>>merge. What should I use/do instead? > > > >>>>> > > > >>>>>-Lawrence > > > >>>>> > > > >>>>>On Fri, May 06, 2005 at 01:43:50PM -0700, David You wrote: > > > >>>>> > > > >>>>> > > > >>>>>>Why do you use StringWriter? That is cached in the memory. > > > >>>>>>How big is the StringWriter after the merge? > > > >>>>>> > > > >>>>>>David > > > >>>>>> > > > >>>>>> > > > >>>>>>-----Original Message----- > > > >>>>>>From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > > > >>>>>>Sent: Friday, May 06, 2005 1:22 PM > > > >>>>>>To: Velocity Users List > > > >>>>>>Subject: Re: OutOfMemoryException Processing Velocity Template > > > >>>>>> > > > >>>>>>Alright, I ran this little piece of code: > > > >>>>>> > > > >>>>>>public static void main( String args[] ) throws Exception > > > >>>>>> { > > > >>>>>> /* first, we init the runtime engine. Defaults are fine. */ > > > >>>>>> > > > >>>>>> Velocity.init(); > > > >>>>>> > > > >>>>>> /* lets make a Context and put data into it */ > > > >>>>>> > > > >>>>>> VelocityContext context = new VelocityContext(); > > > >>>>>> > > > >>>>>> List results = ReportBean.runLargeReport(); > > > >>>>>> > > > >>>>>> context.put("List", results); > > > >>>>>> > > > >>>>>> /* lets render a template */ > > > >>>>>> > > > >>>>>> StringWriter w = new StringWriter(); > > > >>>>>> > > > >>>>>> Velocity.mergeTemplate("/myfile.vm", context, w ); > > > >>>>>> System.out.println(" template : " + w ); > > > >>>>>> > > > >>>>>> /* lets make our own string to render */ > > > >>>>>> } > > > >>>>>> > > > >>>>>>results is a List of 66000 objects and requires about 8megs of > > > >>>>>>memory. > > > >>>>>>The "mergeTemplate" requires at least 230 MB of memory. Any > > > >>>>>>suggestions? > > > >>>>>> > > > >>>>>>-L > > > >>>>>> > > > >>>>>>On Fri, May 06, 2005 at 11:53:30AM -0700, jian chen wrote: > > > >>>>>> > > > >>>>>> > > > >>>>>>>Hi, > > > >>>>>>> > > > >>>>>>>I guess the writer Ilkka talked about is when using Velocity as a > > > >>>>>>>standalone template engine. > > > >>>>>>> > > > >>>>>>>Right now I don't have a good clue, could you run Velocity as a > > > >>>>>>>standalone template engine and render the page to see if there is a > > > >>>>>>>huge memory usage? > > > >>>>>>> > > > >>>>>>>Cheers, > > > >>>>>>> > > > >>>>>>>Jian > > > >>>>>>> > > > >>>>>>>On 5/6/05, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > > > >>>>>>> > > > >>>>>>> > > > >>>>>>>>Sorry, I'm not sure what you mean by what "kind of writer" I'm > > > >>>>>> > > > >>>>>>using. Where would I find out? How would I change this (to > > > >>>>>>maybe a > > > >>>>>>StringBuffer writer?) > > > >>>>>> > > > >>>>>> > > > >>>>>>>>Also, each column contains a String that is at most, 200 > > > >>>>> > > > >>>>>characters, > > > >>>>> > > > >>>>> > > > >>>>>>most are closer to 10-20. There are a total of 10 columns. > > > >>>>>> > > > >>>>>> > > > >>>>>>>>Thanks. > > > >>>>>>>> > > > >>>>>>>>-Lawrence > > > >>>>>>>> > > > >>>>>>>>On Fri, May 06, 2005 at 09:11:13PM +0300, Ilkka Priha wrote: > > > >>>>>>>> > > > >>>>>>>> > > > >>>>>>>>>What kind of writer are you using and how long are the items? 66 > > > >>>>>> > > > >>>>>>000 HTML > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>table rows with 5 numeric columns consumes about 32 MB when > > > >>>>>> > > > >>>>>>buffered into a > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>string writer. If the items are longer, it takes much more > > > >>>>> > > > >>>>>memory. > > > >>>>> > > > >>>>> > > > >>>>>>>>>-- Ilkka > > > >>>>>>>>> > > > >>>>>>>>> > > > >>>>>>>>>[EMAIL PROTECTED] wrote: > > > >>>>>>>>> > > > >>>>>>>>> > > > >>>>>>>>>>I tried putting static HTML in the #foreach loop, same problem. > > > >>>>>> > > > >>>>>>Then I > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>tried setting the large list as a "local" varible: > > > >>>>>>>>>> > > > >>>>>>>>>>#set ($localList = $List) > > > >>>>>>>>>>#foreach($row in $localList) > > > >>>>>>>>>>... > > > >>>>>>>>>> > > > >>>>>>>>>>but that didnt help either. I don't see why velocity should > > > >>>>> > > > >>>>>use > > > >>>>> > > > >>>>> > > > >>>>>>250+ MB > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>of memory iterating over a list ~8MB in size... > > > >>>>>>>>>>-L > > > >>>>>>>>>> > > > >>>>>>>>>>On Thu, May 05, 2005 at 02:56:28PM -0700, jian chen wrote: > > > >>>>>>>>>> > > > >>>>>>>>>> > > > >>>>>>>>>> > > > >>>>>>>>>>>Well, I don't have a good clue now. > > > >>>>>>>>>>> > > > >>>>>>>>>>>What about do the debugging step by step, i.e., use just > > > >>>>> > > > >>>>>static > > > >>>>> > > > >>>>> > > > >>>>>>html > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>>in your #foreach loop? Will that blow up the memory? > > > >>>>>>>>>>> > > > >>>>>>>>>>>Cheers, > > > >>>>>>>>>>> > > > >>>>>>>>>>>Jian > > > >>>>>>>>>>> > > > >>>>>>>>>>> > > > >>>>>>>>>>> > > > >>>>>>>>>>>On 5/5/05, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > > > >>>>>>>>>>> > > > >>>>>>>>>>> > > > >>>>>>>>>>> > > > >>>>>>>>>>>>Thanks for the suggestion. I tried putting that, along with > > > >>>>>>>>>>>> > > > >>>>>>>>>>>>file.resource.loader.cache = true > > > >>>>>>>>>>>> > > > >>>>>>>>>>>>in my velocity.properties file. Both did not work. Any > > > >>>>>> > > > >>>>>>other > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>>>suggestions? > > > >>>>>>>>>>>> > > > >>>>>>>>>>>>Thanks! > > > >>>>>>>>>>>> > > > >>>>>>>>>>>>-L > > > >>>>>>>>>>>> > > > >>>>>>>>>>>>On Thu, May 05, 2005 at 02:11:28PM -0700, jian chen wrote: > > > >>>>>>>>>>>> > > > >>>>>>>>>>>> > > > >>>>>>>>>>>> > > > >>>>>>>>>>>>>Hi, > > > >>>>>>>>>>>>> > > > >>>>>>>>>>>>>This maybe because you haven't turned on template caching. I > > > >>>>>> > > > >>>>>>had > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>>>>similar problem before, and even if I only used > > > >>>>> > > > >>>>>evaluate(...) > > > >>>>> > > > >>>>> > > > >>>>>>method > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>>>>and load the template using my own java program, it happened > > > >>>>>> > > > >>>>>>when the > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>>>>for loop is lot of iterations. > > > >>>>>>>>>>>>> > > > >>>>>>>>>>>>>The bottom line for my problem is I need to turn on template > > > >>>>>> > > > >>>>>>caching, > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>>>>so, velocity will not try to cache the objects it parsed > > > >>>>>> > > > >>>>>>during each > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>>>>time of the iteration. > > > >>>>>>>>>>>>> > > > >>>>>>>>>>>>>I did: > > > >>>>>>>>>>>>>ri.setProperty(RuntimeConstants.FILE_RESOURCE_LOADER_CACHE, > > > >>>>>> > > > >>>>>>"true"); > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>>>>where ri is a runtime instance. > > > >>>>>>>>>>>>> > > > >>>>>>>>>>>>>Will this fix your issue? > > > >>>>>>>>>>>>> > > > >>>>>>>>>>>>>Cheers, > > > >>>>>>>>>>>>> > > > >>>>>>>>>>>>>Jian > > > >>>>>>>>>>>>> > > > >>>>>>>>>>>>> > > > >>>>>>>>>>>>>On 5/5/05, [EMAIL PROTECTED] <[EMAIL PROTECTED]> > > > >>>>> > > > >>>>>wrote: > > > >>>>> > > > >>>>> > > > >>>>>>>>>>>>>>I am getting an OutOfMemoryException: > > > >>>>>>>>>>>>>> > > > >>>>>>>>>>>>>>org.apache.velocity.exception.MethodInvocationException: > > > >>>>>> > > > >>>>>>Invocation of > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>>>>>method 'get' in class > > > >>>>>> > > > >>>>>>org.apache.velocity.tools.struts.TilesTool > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>>>>>threw exception class java.lang.OutOfMemoryError : null > > > >>>>>>>>>>>>>> > > > >>>>>>>>>>>>>>when I am creating a large velocity file. The vm file > > > >>>>> > > > >>>>>itself > > > >>>>> > > > >>>>> > > > >>>>>>is > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>>>>>fairly small, but this piece of velocity is causing the > > > >>>>>> > > > >>>>>>exception: > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>>>>>#foreach($row in $List) > > > >>>>>>>>>>>>>><tr> > > > >>>>>>>>>>>>>><td height="20" class="tbltxt">$!row.item1</td> > > > >>>>>>>>>>>>>><td class="tbltxt">$!row.item2</td> > > > >>>>>>>>>>>>>><td class="tbltxt">$!row.item3</td> > > > >>>>>>>>>>>>>><td class="tbltxt">$!row.item4</td> > > > >>>>>>>>>>>>>><td class="tbltxt">$!number.format('currency', > > > >>>>>> > > > >>>>>>$!row.item5)</td> > > > >>>>>> > > > >>>>>>>>>>>>>></tr> > > > >>>>>>>>>>>>>>#end > > > >>>>>>>>>>>>>> > > > >>>>>>>>>>>>>>List is a list of relatively small objects (5-6 Strings, a > > > >>>>>> > > > >>>>>>couple of > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>>>>>BigDecimals), but the List itself contains approximately > > > >>>>>> > > > >>>>>>66,000 > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>>>>>entries. Unfortunately, unless I set the tomcat JVM to use > > > >>>>> > > > >>>>>a > > > >>>>> > > > >>>>> > > > >>>>>>heap > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>>>>>size of at least 256M, this velocity template throws an > > > >>>>>>>>>>>>>>OutOfMemoryException when it is being processed. > > > >>>>>>>>>>>>>> > > > >>>>>>>>>>>>>>Any suggestions? > > > >>>>>>>>>>>>>> > > > >>>>>>>>>>>>>>Thanks. > > > >>>>>>>>>>>>>> > > > >>>>>>>>>>>>>>-L > > > >>>>>>>>>>>>>> > > > >>>>>>>>> > > > >>>>>>>>>>------------------------------------------------------------------- > > > >>>>>> > > > >>>>>>-- > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>>>>>To unsubscribe, e-mail: > > > >>>>>> > > > >>>>>>[EMAIL PROTECTED] > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>>>>>For additional commands, e-mail: > > > >>>>>> > > > >>>>>>[EMAIL PROTECTED] > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>-------------------------------------------------------------------- > > > >>>>>> > > > >>>>>>- > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>>>>To unsubscribe, e-mail: > > > >>>>>> > > > >>>>>>[EMAIL PROTECTED] > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>>>>For additional commands, e-mail: > > > >>>>>> > > > >>>>>>[EMAIL PROTECTED] > > > >>>>>> > > > >>>>>> > > > >>>>>>>>--------------------------------------------------------------------- > > > >>>>>>>> > > > >>>>>>>> > > > >>>>>>>>>>>>To unsubscribe, e-mail: > > > >>>>>> > > > >>>>>>[EMAIL PROTECTED] > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>>>For additional commands, e-mail: > > > >>>>>> > > > >>>>>>[EMAIL PROTECTED] > > > >>>>>> > > > >>>>>> > > > >>>>>>>--------------------------------------------------------------------- > > > >>>>>>> > > > >>>>>>> > > > >>>>>>>>>>>To unsubscribe, e-mail: > > > >>>>>> > > > >>>>>>[EMAIL PROTECTED] > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>>For additional commands, e-mail: > > > >>>>>> > > > >>>>>>[EMAIL PROTECTED] > > > >>>>>> > > > >>>>>> > > > >>>>>>>--------------------------------------------------------------------- > > > >>>>>>> > > > >>>>>>> > > > >>>>>>>>>>To unsubscribe, e-mail: > > > >>>>>> > > > >>>>>>[EMAIL PROTECTED] > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>For additional commands, e-mail: > > > >>>>>> > > > >>>>>>[EMAIL PROTECTED] > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>>. > > > >>>>>>>>>> > > > >>>>>>>>> > > > >>>>>>>>> > > > >>>>>>>>> > > > >>>>>>--------------------------------------------------------------------- > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>To unsubscribe, e-mail: > > > >>>>>> > > > >>>>>>[EMAIL PROTECTED] > > > >>>>>> > > > >>>>>> > > > >>>>>>>>>For additional commands, e-mail: > > > >>>>>> > > > >>>>>>[EMAIL PROTECTED] > > > >>>>>> > > > >>>>>> > > > >>>>>>--------------------------------------------------------------------- > > > >>>>>> > > > >>>>>> > > > >>>>>>>>To unsubscribe, e-mail: > > > >>>>> > > > >>>>>[EMAIL PROTECTED] > > > >>>>> > > > >>>>> > > > >>>>>>>>For additional commands, e-mail: > > > >>>>>> > > > >>>>>>[EMAIL PROTECTED] > > > >>>>>> > > > >>>>>> > > > >>>>>--------------------------------------------------------------------- > > > >>>>> > > > >>>>> > > > >>>>>>>To unsubscribe, e-mail: [EMAIL PROTECTED] > > > >>>>>>>For additional commands, e-mail: > > > >>>>> > > > >>>>>[EMAIL PROTECTED] > > > >>>>> > > > >>>>> > > > >>>>>>--------------------------------------------------------------------- > > > >>>>>>To unsubscribe, e-mail: [EMAIL PROTECTED] > > > >>>>>>For additional commands, e-mail: [EMAIL PROTECTED] > > > >>>>>> > > > >>>>>> > > > >>>>>>--------------------------------------------------------------------- > > > >>>>>>To unsubscribe, e-mail: [EMAIL PROTECTED] > > > >>>>>>For additional commands, e-mail: [EMAIL PROTECTED] > > > >>>>> > > > >>>>>--------------------------------------------------------------------- > > > >>>>>To unsubscribe, e-mail: [EMAIL PROTECTED] > > > >>>>>For additional commands, e-mail: [EMAIL PROTECTED] > > > >>>>> > > > >>>>> > > > >>>>>--------------------------------------------------------------------- > > > >>>>>To unsubscribe, e-mail: [EMAIL PROTECTED] > > > >>>>>For additional commands, e-mail: [EMAIL PROTECTED] > > > >>>> > > > >>>>--------------------------------------------------------------------- > > > >>>>To unsubscribe, e-mail: [EMAIL PROTECTED] > > > >>>>For additional commands, e-mail: [EMAIL PROTECTED] > > > >>> > > > >>> > > > >>>--------------------------------------------------------------------- > > > >>>To unsubscribe, e-mail: [EMAIL PROTECTED] > > > >>>For additional commands, e-mail: [EMAIL PROTECTED] > > > >>> > > > >>>. > > > >>> > > > >> > > > >> > > > >>--------------------------------------------------------------------- > > > >>To unsubscribe, e-mail: [EMAIL PROTECTED] > > > >>For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > >--------------------------------------------------------------------- > > > >To unsubscribe, e-mail: [EMAIL PROTECTED] > > > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > >. > > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]