Rafael,

I saw that page about CODI @Advanced. :)

I tried CODI @Advanced, but CDI managed bean was not injected voa @Inject,
and then I tried to inject Stateless EJB via @Inject, and that stateless
EJB was not injected either.

Thanks,
Howard

On Tue, Nov 20, 2012 at 9:02 AM, Rafael Pestano <rmpest...@yahoo.com.br>wrote:

> you can also use CODI @Advanced and then inject "anything" in the
> converter, see [1].
>
> i hope it helps.
>
> [1]:
> https://cwiki.apache.org/EXTCDI/jsf-usage.html#JSFUsage-DependencyInjection
>
>
> Att,
>
> Rafael M. Pestano
>
> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
> Graduando em Ciência da Computação UFRGS
> http://conventionsframework.org
>
> http://rpestano.wordpress.com/
> @realpestano
>
>
> ________________________________
>  De: "Howard W. Smith, Jr." <smithh032...@gmail.com>
> Para: Mark Struberg <strub...@yahoo.de>; MyFaces Discussion <
> users@myfaces.apache.org>
> Cc: "us...@openejb.apache.org" <us...@openejb.apache.org>
> Enviadas: Terça-feira, 20 de Novembro de 2012 11:37
> Assunto: Re: Migrating to CDI: injecting stateless/facade in Converter via
> facescontext
>
> Interesting and noted, thanks. Yes, I did hear JSF 2.2 will allow CDI in
> facesconverter. Thanks.
> On Nov 20, 2012 8:34 AM, "Mark Struberg" <strub...@yahoo.de> wrote:
>
> > you could also have used CODI BeanManagerProvider#getReference to get
> > access to the bean.
> >
> > The support you need out of the box will come in JSF-2.2.
> >
> >
> > LieGrue,
> > strub
> >
> >
> >
> > ----- Original Message -----
> > > From: "Howard W. Smith, Jr." <smithh032...@gmail.com>
> > > To: us...@openejb.apache.org; MyFaces Discussion <
> > users@myfaces.apache.org>
> > > Cc:
> > > Sent: Tuesday, November 20, 2012 1:56 PM
> > > Subject: Re: Migrating to CDI: injecting stateless/facade in Converter
> > via facescontext
> > >
> > >T he goal was to inject bean in facesconverter via CDI, but I don't have
> > > this need anymore, since faces converter is not an eligible injection
> > > point, so I opted to use request scoped JSF managed beans that have
> > > facesconverter defined within the bean. That's working fine. Thanks.
> > >
> > > Okay, I can cc myfaces user group as well, going forward. :-)
> > > On Nov 20, 2012 7:37 AM, "Romain Manni-Bucau"
> > > <rmannibu...@gmail.com>
> > > wrote:
> > >
> > >>  i'm still not clear about your goal and where you need injection
> > >>
> > >>  maybe share a (runnable) sample to show us what you are talking about
> > >>
> > >>  side note: myfaces list can help you a lot about it too
> > >>
> > >>  *Romain Manni-Bucau*
> > >>  *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> > >>  *Blog: **http://rmannibucau.wordpress.com/*<
> > >>  http://rmannibucau.wordpress.com/>
> > >>  *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> > >>  *Github: https://github.com/rmannibucau*
> > >>
> > >>
> > >>
> > >>
> > >>  2012/11/20 Howard W. Smith, Jr. <smithh032...@gmail.com>
> > >>
> > >>  > Interesting, that will allow you to get instance of beans, if
> already
> > >>  > instantiated, and that could have helped in converter, only if
> beans
> > >>  > already injected earlier?
> > >>  > On Nov 20, 2012 7:11 AM, "Romain Manni-Bucau"
> > > <rmannibu...@gmail.com>
> > >>  > wrote:
> > >>  >
> > >>  > > was thinking to
> > >>  > >
> > >>  >
> > >>
> >
> http://docs.oracle.com/javaee/6/api/javax/faces/context/FacesContext.html
> > >>  > > getAttributes()
> > >>  > > method (depend a bit on your real need)
> > >>  > >
> > >>  > > *Romain Manni-Bucau*
> > >>  > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> > >>  > > *Blog: **http://rmannibucau.wordpress.com/*<
> > >>  > > http://rmannibucau.wordpress.com/>
> > >>  > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> > >>  > > *Github: https://github.com/rmannibucau*
> > >>  > >
> > >>  > >
> > >>  > >
> > >>  > >
> > >>  > > 2012/11/20 Howard W. Smith, Jr. <smithh032...@gmail.com>
> > >>  > >
> > >>  > > > Faces context? Please explain.
> > >>  > > >  On Nov 20, 2012 1:56 AM, "Romain Manni-Bucau"
> > > <
> > >>  rmannibu...@gmail.com>
> > >>  > > > wrote:
> > >>  > > >
> > >>  > > > > You cant use faces context?
> > >>  > > > > Le 20 nov. 2012 03:01, "Howard W. Smith, Jr."
> > > <
> > >>  > smithh032...@gmail.com>
> > >>  > > a
> > >>  > > > > écrit :
> > >>  > > > >
> > >>  > > > > > For minimal changes, I'm adding FacesConverter
> > > to JSF
> > >>  requestscoped
> > >>  > > > > > managedBean's as per the Stackoverflow answer
> > > below:
> > >>  > > > > >
> > >>  > > > > > How can I inject in @FacesConverter?<
> > >>  > > > > > http://stackoverflow.com/a/13156834/933054>
> > >>  > > > > >
> > >>  > > > > > Yes, this means more classes in the project, but
> > > honestly, I have
> > >>  > not
> > >>  > > > had
> > >>  > > > > > to spend much time 'maintaining' my
> > > Converter classes at all. I
> > >>  > just
> > >>  > > > > tested
> > >>  > > > > > this concept, and I'm not experiencing this
> > > exceptioin any more.
> > >>  > > > > >
> > >>  > > > > > While testing the above, I see more exceptions to
> > > resolve related
> > >>  > to
> > >>  > > > > > migrating to CDI. Will let you all know, if I have
> > > any more
> > >>  > > questions.
> > >>  > > > > >
> > >>  > > > > > Thanks for all the responses/help, so far. :)
> > >>  > > > > >
> > >>  > > > > >
> > >>  > > > > >
> > >>  > > > > > On Mon, Nov 19, 2012 at 7:20 PM, Romain
> > > Manni-Bucau
> > >>  > > > > > <rmannibu...@gmail.com>wrote:
> > >>  > > > > >
> > >>  > > > > > > If it is a nested class you need it otherwise
> > > (class foo in
> > >>  > > foo.java
> > >>  > > > > > file)
> > >>  > > > > > > you dont need it
> > >>  > > > > > > Le 20 nov. 2012 01:16, "Howard W. Smith,
> > > Jr." <
> > >>  > > > smithh032...@gmail.com>
> > >>  > > > > a
> > >>  > > > > > > écrit :
> > >>  > > > > > >
> > >>  > > > > > > > Good question. I removed
> > > 'static', because I didn't see it in
> > >>  > the
> > >>  > > > > code
> > >>  > > > > > at
> > >>  > > > > > > > following URLs:
> > >>  > > > > > > >
> > >>  > > > > > > >
> > >>  > > > > > > >
> > >>  > > > > > >
> > >>  > > > > >
> > >>  > > > >
> > >>  > > >
> > >>  > >
> > >>  >
> > >>
> > >
> >
> https://cwiki.apache.org/confluence/display/EXTCDI/JSF+Usage#JSFUsage-DependencyInjection
> > >>  > > > > > > >
> > >>  > > > > > > >
> > >>  > > > > > > >
> > >>  > > > > > >
> > >>  > > > > >
> > >>  > > > >
> > >>  > > >
> > >>  > >
> > >>  >
> > >>
> > >
> >
> http://stackoverflow.com/questions/7531449/cdi-injection-into-a-facesconverter
> > >>  > > > > > > >
> > >>  > > > > > > >
> > > https://issues.apache.org/jira/browse/EXTCDI-127
> > >>  > > > > > > >
> > >>  > > > > > > >
> > >>  > > > > > > > On Mon, Nov 19, 2012 at 4:30 PM, Romain
> > > Manni-Bucau
> > >>  > > > > > > > <rmannibu...@gmail.com>wrote:
> > >>  > > > > > > >
> > >>  > > > > > > > > Why removing static? It means it is
> > > no more manageable by
> > >>  cdi
> > >>  > > > (cdi
> > >>  > > > > > cant
> > >>  > > > > > > > do
> > >>  > > > > > > > > a new on it)
> > >>  > > > > > > > > Le 19 nov. 2012 22:13, "Howard
> > > W. Smith, Jr." <
> > >>  > > > > > smithh032...@gmail.com>
> > >>  > > > > > > a
> > >>  > > > > > > > > écrit :
> > >>  > > > > > > > >
> > >>  > > > > > > > > > @Advanced was found in the
> > > following:
> > >>  > > > > > > > > >
> > >>  > > > > > > > > > import
> > >>  org.apache.myfaces.extensions.cdi.core.api.Advanced;
> > >>  > > > > > > > > >
> > >>  > > > > > > > > > After some tinkering, I
> > > removed 'static' from the
> > >>  following
> > >>  > > > > > > definition,
> > >>  > > > > > > > > >
> > >>  > > > > > > > > > public static class
> > > AddressTypeControllerConverter
> > >>  > implements
> > >>  > > > > > > > Converter {
> > >>  > > > > > > > > >
> > >>  > > > > > > > > > I also added @Advanced to the
> > > FacesConverter/Converter,
> > >>  and
> > >>  > > > > latest
> > >>  > > > > > > > error
> > >>  > > > > > > > > is
> > >>  > > > > > > > > > the following:
> > >>  > > > > > > > > >
> > >>  > > > > > > > > > Nov 19, 2012 4:08:21 PM
> > >>  > > > > > javax.faces.component._ExternalSpecifications
> > >>  > > > > > > > > > isBeanValidationAvailable
> > >>  > > > > > > > > > INFO: MyFaces Bean Validation
> > > support enabled
> > >>  > > > > > > > > > Nov 19, 2012 4:08:21 PM
> > >>  > > > > > >
> > > org.apache.myfaces.application.ApplicationImpl
> > >>  > > > > > > > > > internalCreateConverter
> > >>  > > > > > > > > > SEVERE: Could not instantiate
> > > converter class
> > >>  > > > > > > > > >
> > >>  > > > >
> > > jsf.address.pf_AddressTypeController$AddressTypeControllerConverter
> > >>  > > > > > > > > >
> > > java.lang.InstantiationException:
> > >>  > > > > > > > > >
> > >>  > > > >
> > > jsf.address.pf_AddressTypeController$AddressTypeControllerConverter
> > >>  > > > > > > > > >
> > >>  > > > > > > > > >
> > >>  > > > > > > > > >
> > >>  > > > > > > > > > On Mon, Nov 19, 2012 at 3:07
> > > PM, Howard W. Smith, Jr. <
> > >>  > > > > > > > > > smithh032...@gmail.com>
> > > wrote:
> > >>  > > > > > > > > >
> > >>  > > > > > > > > > > I searched google, found
> > > the following:
> > >>  > > > > > > > > > >
> > >>  > > > > > > > > > > CDI Injection into a
> > > FacesConverter<
> > >>  > > > > > > > > >
> > >>  > > > > > > > >
> > >>  > > > > > > >
> > >>  > > > > > >
> > >>  > > > > >
> > >>  > > > >
> > >>  > > >
> > >>  > >
> > >>  >
> > >>
> > >
> >
> http://stackoverflow.com/questions/7531449/cdi-injection-into-a-facesconverter
> > >>  > > > > > > > > > >
> > >>  > > > > > > > > > >
> > >>  > > > > > > > > > > which lead me to:
> > >>  > > > > > > > > > >
> > >>  > > > > > > > > > > MyFaces Extensions CDI
> > >>  JSF Usage > Dependency
> > >>  > Injection<
> > >>  > > > > > > > > >
> > >>  > > > > > > > >
> > >>  > > > > > > >
> > >>  > > > > > >
> > >>  > > > > >
> > >>  > > > >
> > >>  > > >
> > >>  > >
> > >>  >
> > >>
> > >
> >
> https://cwiki.apache.org/confluence/display/EXTCDI/JSF+Usage#JSFUsage-DependencyInjection
> > >>  > > > > > > > > > >
> > >>  > > > > > > > > > >
> > >>  > > > > > > > > > > but I don't which
> > > library to import for @Advanced.
> > >>  > > > > > > > > > >
> > >>  > > > > > > > > > > If @Advanced can be used
> > > (since I am using CODI), then
> > >>  > this
> > >>  > > > > would
> > >>  > > > > > > be
> > >>  > > > > > > > > > great.
> > >>  > > > > > > > > > >
> > >>  > > > > > > > > > >
> > >>  > > > > > > > > > > On Mon, Nov 19, 2012 at
> > > 2:56 PM, Romain Manni-Bucau <
> > >>  > > > > > > > > > rmannibu...@gmail.com
> > >>  > > > > > > > > > > > wrote:
> > >>  > > > > > > > > > >
> > >>  > > > > > > > > > >> Maybe use
> > > BeanProvider of deltaspike
> > >>  > > > > > > > > > >> Le 19 nov. 2012
> > > 20:50, "Howard W. Smith, Jr." <
> > >>  > > > > > > > smithh032...@gmail.com
> > >>  > > > > > > > > >
> > >>  > > > > > > > > > a
> > >>  > > > > > > > > > >> écrit :
> > >>  > > > > > > > > > >>
> > >>  > > > > > > > > > >> > Hmmm... after
> > > thinking about it, I remembered to use
> > >>  > > > @Inject
> > >>  > > > > > on
> > >>  > > > > > > > the
> > >>  > > > > > > > > > bean
> > >>  > > > > > > > > > >> > which I want to
> > > inject. So, I did the following:
> > >>  > > > > > > > > > >> >
> > >>  > > > > > > > > > >> >
> > > @FacesConverter(forClass = AddressType.class)
> > >>  > > > > > > > > > >> >     public
> > > static class
> > >>  AddressTypeControllerConverter
> > >>  > > > > > > implements
> > >>  > > > > > > > > > >> Converter
> > >>  > > > > > > > > > >> > {
> > >>  > > > > > > > > > >> >
> > >>  > > > > > > > > > >> >         @Inject
> > >>  > > > > > > > > > >> >         private
> > > pf_AddressTypeController controller;
> > >>  > > > > > > > > > >> >
> > >>  > > > > > > > > > >> >         public
> > > Object getAsObject(FacesContext
> > >>  > > > facesContext,
> > >>  > > > > > > > > > UIComponent
> > >>  > > > > > > > > > >> > component,
> > > String value) {
> > >>  > > > > > > > > > >> >             if
> > > (value == null || value.length() ==
> > >>  0)
> > >>  > {
> > >>  > > > > > > > > > >> >
> > > return null;
> > >>  > > > > > > > > > >> >             }
> > >>  > > > > > > > > > >> >
> > > return
> > >>  > > > controller.ejbFacade.find(getKey(value));
> > >>  > > > > > > > > > >> >         }
> > >>  > > > > > > > > > >> >
> > >>  > > > > > > > > > >> > but
> > > 'controller' is still not being injected. I even
> > >>  > > tried
> > >>  > > > > the
> > >>  > > > > > > > same
> > >>  > > > > > > > > > for
> > >>  > > > > > > > > > >> the
> > >>  > > > > > > > > > >> > actual
> > > 'ejbFacade' (which is a stateless bean), but
> > >>  > > that,
> > >>  > > > > too,
> > >>  > > > > > > > > > resulted
> > >>  > > > > > > > > > >> in
> > >>  > > > > > > > > > >> > a
> > > NullPointerException, which tells me that @Inject
> > >>  is
> > >>  > > not
> > >>  > > > > > > > injecting
> > >>  > > > > > > > > > >> >
> > > pf_AddressTypeController (@sessionscoped bean) OR
> > >>  > > > ejbFacade
> > >>  > > > > > > > > > (@Stateless
> > >>  > > > > > > > > > >> > bean instance of
> > > AddressTypeFacade).
> > >>  > > > > > > > > > >> >
> > >>  > > > > > > > > > >> >
> > >>  > > > > > > > > > >> > Is there a
> > > general practice used for injecting beans
> > >>  > in
> > >>  > > > > > > > Converters..
> > >>  > > > > > > > > > >> >
> > >>  > > > > > > > > > >> >
> > >>  > > > > > > > > > >> >
> > >>  > > > > > > > > > >> > On Mon, Nov 19,
> > > 2012 at 2:38 PM, Romain Manni-Bucau
> > >>  > > > > > > > > > >> >
> > > <rmannibu...@gmail.com>wrote:
> > >>  > > > > > > > > > >> >
> > >>  > > > > > > > > > >> > > Can you
> > > reproduce it in a sample? What is on the
> > >>  npe
> > >>  > > > line?
> > >>  > > > > > > > > > >> > > Le 19 nov.
> > > 2012 20:25, "Howard W. Smith, Jr." <
> > >>  > > > > > > > > > smithh032...@gmail.com>
> > >>  > > > > > > > > > >> a
> > >>  > > > > > > > > > >> > > écrit :
> > >>  > > > > > > > > > >> > >
> > >>  > > > > > > > > > >> > > > I am
> > > still migrating my app from JSF Managed
> > >>  beans
> > >>  > > to
> > >>  > > > > CDI
> > >>  > > > > > > > > managed
> > >>  > > > > > > > > > >> > beans,
> > >>  > > > > > > > > > >> > > so
> > >>  > > > > > > > > > >> > > > I am
> > > (regression) testing, and I came across the
> > >>  > > > > exception
> > >>  > > > > > > > below
> > >>  > > > > > > > > > >> when
> > >>  > > > > > > > > > >> > > >
> > > attempting to add a record into the database on
> > >>  > one
> > >>  > > of
> > >>  > > > > the
> > >>  > > > > > > > xhtml
> > >>  > > > > > > > > > >> pages.
> > >>  > > > > > > > > > >> > > >
> > >>  > > > > > > > > > >> > > > Caused
> > > by: java.lang.NullPointerException
> > >>  > > > > > > > > > >> > > >
> > > at
> > >>  > > > > > > > > > >> > > >
> > >>  > > > > > > > > > >> > >
> > >>  > > > > > > > > > >> >
> > >>  > > > > > > > > > >>
> > >>  > > > > > > > > >
> > >>  > > > > > > > >
> > >>  > > > > > > >
> > >>  > > > > > >
> > >>  > > > > >
> > >>  > > > >
> > >>  > > >
> > >>  > >
> > >>  >
> > >>
> > >
> >
> jsf.address.pf_AddressTypeController$AddressTypeControllerConverter.getAsObject(pf_AddressTypeController.java:283)
> > >>  > > > > > > > > > >> > > >
> > >>  > > > > > > > > > >> > > >
> > >>  > > > > > > > > > >> > > > The
> > > exception is caused by this line below.
> > >>  > > > *ejbFacade*
> > >>  > > > > > is a
> > >>  > > > > > > > > > >> stateless
> > >>  > > > > > > > > > >> > > bean
> > >>  > > > > > > > > > >> > > >
> > > injected by @Inject.
> > >>  > > > > > > > > > >> > > >
> > >>  > > > > > > > > > >> > > >
> > >      return
> > >>  > > > > > > controller.*ejbFacade*.find(getKey(value));
> > >>  > > > > > > > > > >> > > >
> > >>  > > > > > > > > > >> > > >
> > >>  > > > > > > > > > >> > > > The
> > > code below is as-is using JSF Managed Beans.
> > >>  > > > Please
> > >>  > > > > > > advise
> > >>  > > > > > > > > on
> > >>  > > > > > > > > > >> how I
> > >>  > > > > > > > > > >> > > > should
> > > update the following code, so it will
> > >>  work
> > >>  > > well
> > >>  > > > > > with
> > >>  > > > > > > > CDI.
> > >>  > > > > > > > > > >> > > >
> > >>  > > > > > > > > > >> > > >
> > > @FacesConverter(forClass =
> > >>  AddressType.class)
> > >>  > > > > > > > > > >> > > >
> > > public static class
> > >>  > > AddressTypeControllerConverter
> > >>  > > > > > > > > implements
> > >>  > > > > > > > > > >> > > Converter
> > >>  > > > > > > > > > >> > > > {
> > >>  > > > > > > > > > >> > > >
> > >>  > > > > > > > > > >> > > >
> > > public Object getAsObject(FacesContext
> > >>  > > > > > facesContext,
> > >>  > > > > > > > > > >> > UIComponent
> > >>  > > > > > > > > > >> > > >
> > > component, String value) {
> > >>  > > > > > > > > > >> > > >
> > >      if (value == null || value.length()
> > >>  ==
> > >>  > > 0)
> > >>  > > > {
> > >>  > > > > > > > > > >> > > >
> > >          return null;
> > >>  > > > > > > > > > >> > > >
> > >      }
> > >>  > > > > > > > > > >> > > >
> > >      pf_AddressTypeController controller
> > >>  =
> > >>  > > > > > > > > > >> > > >
> > > (pf_AddressTypeController)
> > >>  > > > > > > > > > >> >
> > > facesContext.getApplication().getELResolver().
> > >>  > > > > > > > > > >> > > >
> > >>  > > > > getValue(facesContext.getELContext(),
> > >>  > > > > > > > null,
> > >>  > > > > > > > > > >> > > >
> > > "pf_addressTypeController");
> > >>  > > > > > > > > > >> > > >
> > >      return
> > >>  > > > > > controller.ejbFacade.find(getKey(value));
> > >>  > > > > > > > > > >> > > >
> > > }
> > >>  > > > > > > > > > >> > > >
> > >>  > > > > > > > > > >> > > >
> > > java.lang.Integer getKey(String value) {
> > >>  > > > > > > > > > >> > > >
> > >      java.lang.Integer key;
> > >>  > > > > > > > > > >> > > >
> > >      key = Integer.valueOf(value);
> > >>  > > > > > > > > > >> > > >
> > >      return key;
> > >>  > > > > > > > > > >> > > >
> > > }
> > >>  > > > > > > > > > >> > > >
> > >>  > > > > > > > > > >> > > >
> > > String getStringKey(java.lang.Integer
> > >>  > > value) {
> > >>  > > > > > > > > > >> > > >
> > >      StringBuffer sb = new
> > >>  StringBuffer();
> > >>  > > > > > > > > > >> > > >
> > >      sb.append(value);
> > >>  > > > > > > > > > >> > > >
> > >      return sb.toString();
> > >>  > > > > > > > > > >> > > >
> > > }
> > >>  > > > > > > > > > >> > > >
> > >>  > > > > > > > > > >> > > >
> > > public String getAsString(FacesContext
> > >>  > > > > > facesContext,
> > >>  > > > > > > > > > >> > UIComponent
> > >>  > > > > > > > > > >> > > >
> > > component, Object object) {
> > >>  > > > > > > > > > >> > > >
> > >      if (object == null) {
> > >>  > > > > > > > > > >> > > >
> > >          return null;
> > >>  > > > > > > > > > >> > > >
> > >      }
> > >>  > > > > > > > > > >> > > >
> > >      if (object instanceof AddressType) {
> > >>  > > > > > > > > > >> > > >
> > >          AddressType o = (AddressType)
> > >>  > > object;
> > >>  > > > > > > > > > >> > > >
> > >          return
> > >>  > > > > getStringKey(o.getAddressTypeId());
> > >>  > > > > > > > > > >> > > >
> > >      } else {
> > >>  > > > > > > > > > >> > > >
> > >          throw new
> > >>  > > > > IllegalArgumentException("object
> > >>  > > > > > > " +
> > >>  > > > > > > > > > >> object
> > >>  > > > > > > > > > >> > + "
> > >>  > > > > > > > > > >> > > > is of
> > > type " + object.getClass().getName() + ";
> > >>  > > > expected
> > >>  > > > > > > type:
> > >>  > > > > > > > > " +
> > >>  > > > > > > > > > >> > > >
> > > pf_AddressTypeController.class.getName());
> > >>  > > > > > > > > > >> > > >
> > >      }
> > >>  > > > > > > > > > >> > > >
> > > }
> > >>  > > > > > > > > > >> > > >     }
> > >>  > > > > > > > > > >> > > > }
> > >>  > > > > > > > > > >> > > >
> > >>  > > > > > > > > > >> > >
> > >>  > > > > > > > > > >> >
> > >>  > > > > > > > > > >>
> > >>  > > > > > > > > > >
> > >>  > > > > > > > > > >
> > >>  > > > > > > > > >
> > >>  > > > > > > > >
> > >>  > > > > > > >
> > >>  > > > > > >
> > >>  > > > > >
> > >>  > > > >
> > >>  > > >
> > >>  > >
> > >>  >
> > >>
> > >
> >
>

Reply via email to