Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 375C5200B6D for ; Tue, 9 Aug 2016 00:33:36 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 36070160AB3; Mon, 8 Aug 2016 22:33:36 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 085E7160A91 for ; Tue, 9 Aug 2016 00:33:34 +0200 (CEST) Received: (qmail 52082 invoked by uid 500); 8 Aug 2016 22:33:34 -0000 Mailing-List: contact dev-help@systemml.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@systemml.incubator.apache.org Delivered-To: mailing list dev@systemml.incubator.apache.org Received: (qmail 52071 invoked by uid 99); 8 Aug 2016 22:33:33 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 08 Aug 2016 22:33:33 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 5A329180BCD for ; Mon, 8 Aug 2016 22:33:33 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.299 X-Spam-Level: * X-Spam-Status: No, score=1.299 tagged_above=-999 required=6.31 tests=[HTML_MESSAGE=2, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, TVD_FW_GRAPHIC_NAME_MID=0.001] autolearn=disabled Received: from mx2-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id cyxdVVFNDlUP for ; Mon, 8 Aug 2016 22:33:29 +0000 (UTC) Received: from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with ESMTPS id 5611B5F230 for ; Mon, 8 Aug 2016 22:33:29 +0000 (UTC) Received: from pps.filterd (m0098419.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.11/8.16.0.11) with SMTP id u78MSEuO139532 for ; Mon, 8 Aug 2016 18:33:28 -0400 Received: from e35.co.us.ibm.com (e35.co.us.ibm.com [32.97.110.153]) by mx0b-001b2d01.pphosted.com with ESMTP id 24n8tyg7f2-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Mon, 08 Aug 2016 18:33:28 -0400 Received: from localhost by e35.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 8 Aug 2016 16:33:27 -0600 Received: from d03dlp03.boulder.ibm.com (9.17.202.179) by e35.co.us.ibm.com (192.168.1.135) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Mon, 8 Aug 2016 16:33:24 -0600 X-IBM-Helo: d03dlp03.boulder.ibm.com X-IBM-MailFrom: gweidner@us.ibm.com Received: from b01cxnp23033.gho.pok.ibm.com (b01cxnp23033.gho.pok.ibm.com [9.57.198.28]) by d03dlp03.boulder.ibm.com (Postfix) with ESMTP id 0F8C619D801C for ; Mon, 8 Aug 2016 16:32:56 -0600 (MDT) Received: from b01ledav005.gho.pok.ibm.com (b01ledav005.gho.pok.ibm.com [9.57.199.110]) by b01cxnp23033.gho.pok.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u78MXOBh2687262 for ; Mon, 8 Aug 2016 22:33:24 GMT Received: from b01ledav005.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E30B7AE051 for ; Mon, 8 Aug 2016 18:33:22 -0400 (EDT) Received: from d50lp03.ny.us.ibm.com (unknown [146.89.104.211]) by b01ledav005.gho.pok.ibm.com (Postfix) with ESMTPS id CE013AE03C for ; Mon, 8 Aug 2016 18:33:22 -0400 (EDT) Received: from localhost by d50lp03.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 8 Aug 2016 18:33:22 -0400 Received: from smtp.notes.na.collabserv.com (192.155.248.81) by d50lp03.ny.us.ibm.com (158.87.18.22) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128/128) Mon, 8 Aug 2016 18:33:21 -0400 X-IBM-Helo: smtp.notes.na.collabserv.com X-IBM-MailFrom: gweidner@us.ibm.com Received: from localhost by smtp.notes.na.collabserv.com with smtp.notes.na.collabserv.com ESMTP for from ; Mon, 8 Aug 2016 22:33:20 -0000 Received: from us1a3-smtp02.a3.dal06.isc4sb.com (10.106.154.159) by smtp.notes.na.collabserv.com (10.106.227.88) with smtp.notes.na.collabserv.com ESMTP; Mon, 8 Aug 2016 22:33:16 -0000 X-IBM-Helo: us1a3-smtp02.a3.dal06.isc4sb.com X-IBM-MailFrom: gweidner@us.ibm.com Received: from us1a3-mail52.a3.dal06.isc4sb.com ([10.146.77.168]) by us1a3-smtp02.a3.dal06.isc4sb.com with ESMTP id 2016080822331653-509606 ; Mon, 8 Aug 2016 22:33:16 +0000 MIME-Version: 1.0 In-Reply-To: Subject: Re: [DISCUSS] Migration to Spark 2.0.0 To: dev@systemml.incubator.apache.org From: "Glenn Weidner" Date: Mon, 8 Aug 2016 15:33:13 -0700 References: X-KeepSent: BED983A2:1373E599-00258009:0078C189; type=4; name=$KeepSent X-Mailer: IBM Notes Release 9.0.1FP5 SHF190 February 24, 2016 X-LLNOutbound: False X-Disclaimed: 54179 X-TNEFEvaluated: 1 Content-type: multipart/related; Boundary="0__=8FBB0A9ADFEB47198f9e8a93df938690918c8FBB0A9ADFEB4719" x-cbid: 16080822-0012-0000-0000-00001059FDDE X-IBM-ISS-SpamDetectors: Score=0.387138; BY=0; FL=0; FP=0; FZ=0; HX=0; KW=0; PH=0; SC=0.387138; ST=0; TS=0; UL=0; ISC= X-IBM-ISS-DetailInfo: BY=3.00005568; HX=3.00000240; KW=3.00000007; PH=3.00000004; SC=3.00000178; SDB=6.00741927; UDB=6.00349169; UTC=2016-08-08 22:33:18 x-cbparentid: 16080822-7094-0000-0000-000000E6A76A X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused X-TM-AS-GCONF: 00 X-Content-Scanned: Fidelis XPS MAILER X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00005568; HX=3.00000240; KW=3.00000007; PH=3.00000004; SC=3.00000178; SDB=6.00741927; UDB=6.00349169; IPR=6.00514485; BA=6.00004651; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009; ZB=6.00000000; ZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00012254; XFM=3.00000011; UTC=2016-08-08 22:33:25 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused Message-Id: X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-08-08_15:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=1 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1604210000 definitions=main-1608080242 archived-at: Mon, 08 Aug 2016 22:33:36 -0000 --0__=8FBB0A9ADFEB47198f9e8a93df938690918c8FBB0A9ADFEB4719 Content-type: multipart/alternative; Boundary="1__=8FBB0A9ADFEB47198f9e8a93df938690918c8FBB0A9ADFEB4719" --1__=8FBB0A9ADFEB47198f9e8a93df938690918c8FBB0A9ADFEB4719 Content-Transfer-Encoding: quoted-printable Content-type: text/plain; charset=US-ASCII As a preliminary experiment in attempt to compile against both Spark 2.0.0 and Spark 1.6.2 from same code base, I made another set of changes for comparison against previous proposed changes for [SYSTEMML-776]. This experimental set can be viewed here: https://github.com/gweidner/incubator-systemml/commit/0611f0c197e4a0e816b33= 25093168bc5162d62c0 This compiles against Spark 2.0.0 and Spark 1.6.2 except for fit/transform overrides in LogisticRegression.scala due to: SPARK-14500 Accept Dataset[] instead of DataFrame in MLlib APIs Detailed code comments and suggestions to try out can be made in the branch commit instead of this mail thread. Thanks, Glenn From: Deron Eriksson To: dev@systemml.incubator.apache.org Date: 08/05/2016 02:02 PM Subject: Re: [DISCUSS] Migration to Spark 2.0.0 I am open to the idea of supporting Spark 2 and Spark<2 concurrently if someone shows that it can be accomplished with minimal inconvenience. However, I would lean towards Fred's approach (Spark 1.6 release followed shortly by a Spark 2 release). If possible, I want to be able to focus most of our efforts towards the future rather than the past. Deron On Thu, Aug 4, 2016 at 10:59 AM, Luciano Resende wrote: > That was going to be my suggestion... In Zeppelin, we just introduced > support for different versions of scala and added support for spark 2.0 > based on profiles and a bit of reflections... > > Do we have to do anything related to Scala versions as well ? > > On Thursday, August 4, 2016, Matthias Boehm wrote: > > > I would recommend to start an investigation if we could support both the > > 1.x and 2.x lines with a single code base. It seems feasible to refactor > > the code a bit, compile against 2.0 (or with profiles), and run on either > > 1.6 or 2.0. For example, by creating a wrapper that implements both > > Iterable and Iterator, we could overcome the Iterator API change as shown > > by our LazyIterableIterator which did not require any change in related > > functions. Btw, we did the same for MRv1 and Yarn by ensuring that on > MRv1, > > we don't touch Yarn related APIs. Similarly on Spark, we already support > > both legacy and >=3D1.6 memory management. I think this kind of platform > > independence is really valuable but it obviously adds complexity. > > > > Regards, > > Matthias > > > > > > [image: Inactive hide details for Niketan Pansare---08/03/2016 05:15:21 > > PM---I am in favor of having one more release against Spark 1.6]Niketan > > Pansare---08/03/2016 05:15:21 PM---I am in favor of having one more > release > > against Spark 1.6. Since default scala version for Spark 1. > > > > From: Niketan Pansare/Almaden/IBM@IBMUS > > To: dev@systemml.incubator.apache.org > > > > Date: 08/03/2016 05:15 PM > > Subject: Re: [DISCUSS] Migration to Spark 2.0.0 > > ------------------------------ > > > > > > > > I am in favor of having one more release against Spark 1.6. Since default > > scala version for Spark 1.6 is 2.10, I recommend either having SystemML > > compiled and released with Scala 2.10 profile or having two release > > candidates. > > > > Thanks, > > > > Niketan Pansare > > IBM Almaden Research Center > > E-mail: npansar At us.ibm.com > > *http://researcher.watson.ibm.com/researcher/view.php?person=3Dus-npansar* > > > > > > Frederick R Reiss---08/03/2016 03:58:17 PM---While I agree that getting > > onto Spark 2.0 quickly ought to be a priority, there are existing early u > > > > From: Frederick R Reiss/Almaden/IBM@IBMUS > > To: dev@systemml.incubator.apache.org > > > > Date: 08/03/2016 03:58 PM > > Subject: Re: [DISCUSS] Migration to Spark 2.0.0 > > ------------------------------ > > > > > > > > While I agree that getting onto Spark 2.0 quickly ought to be a priority, > > there are existing early users of SystemML who are likely stuck on Spark > > 1.6.x for the next few months. Those users could want some of the new > > experimental features since 0.10 (specifically frames, the prototype > Python > > DSL, and the new MLContext) and it would be good to have a Spark 1.6 > branch > > of our version tree where we can backport the debugged versions of these > > features if needed. > > > > I would recommend that we do one more SystemML release against Spark 1.6, > > then switch the head version of SystemML over to Spark 2.0, then > > immediately perform a second SystemML release. Thoughts? > > > > Fred > > > > Deron Eriksson ---08/02/2016 12:13:07 PM---I would definitely be in favor > > of moving to Spark 2.0 as early as possible. This will allow SystemML > > > > From: Deron Eriksson > > > > To: dev@systemml.incubator.apache.org > > > > Date: 08/02/2016 12:13 PM > > Subject: Re: [DISCUSS] Migration to Spark 2.0.0 > > ------------------------------ > > > > > > > > I would definitely be in favor of moving to Spark 2.0 as early as > possible. > > This will allow SystemML to be current with cutting edge Spark. It would > be > > nice to focus our efforts on the latest Spark. > > > > Deron > > > > > > On Tue, Aug 2, 2016 at 12:05 PM, > > wrote: > > > > > I'm in favor of moving to Spark 2.0 now, meaning that our upcoming > > release > > > would include both new features and 2.0 support. 0.10 has plenty of > > > functionality for any existing 1.x users. > > > > > > -Mike > > > > > > -- > > > > > > Mike Dusenberry > > > GitHub: github.com/dusenberrymw > > > LinkedIn: linkedin.com/in/mikedusenberry > > > > > > Sent from my iPhone. > > > > > > > > > > On Aug 2, 2016, at 11:44 AM, Glenn Weidner > > wrote: > > > > > > > > > > > > > > > > In the "[DISCUSS] SystemML 0.11 release" thread, native frame support > > and > > > > API updates such as new MLContext were identified as main new > features > > > for > > > > the release. In addition, support for Spark 2.0.0 was targeted. > > > > Note code changes required for Spark 2.0.0 are not backward > compatible > > to > > > > earlier Spark versions (e.g., 1.6.2) so starting separate mail thread > > for > > > > anyone to raise objections/alternatives for migrating to Spark 2.0.0. > > > > > > > > One possible option is to do a release to include the new Apache > > SystemML > > > > features before migrating to Spark 2.0.0. However, it seems better > to > > > have > > > > the next Apache SystemML release compatible with latest Spark version > > > > 2.0.0. The Apache SystemML 0.10 release from June can be used with > > > earlier > > > > versions of Spark. > > > > > > > > Regards, > > > > Glenn > > > > > > > > > > > > > > > > > > > -- > Sent from my Mobile device > --1__=8FBB0A9ADFEB47198f9e8a93df938690918c8FBB0A9ADFEB4719 Content-Transfer-Encoding: quoted-printable Content-type: text/html; charset=US-ASCII Content-Disposition: inline

As a preliminary experiment in attempt to compile against bo= th Spark 2.0.0 and Spark 1.6.2 from same code base, I made another set of c= hanges for comparison against previous proposed changes for [SYSTEMML-776].=
This experimental set can be viewed here:
https://github.com/gweidner/incubator-systemml/commit/0611f0c197e4a0e= 816b3325093168bc5162d62c0

This compiles against Spark 2.0.0 and = Spark 1.6.2 except for fit/transform overrides in LogisticRegression.scala = due to:
SPARK-14500 Accept Dataset[] instead of DataFrame in MLlib APIs<= br>
Detailed code comments and suggestions to try out can be made in the= branch commit instead of this mail thread.

Thanks,
Glenn

= 3D"InactiveDeron Eriksson ---08/05/2016 = 02:02:10 PM---I am open to the idea of supporting Spark 2 and Spark<2 co= ncurrently if someone shows that it can be

From: Deron Eriksson <de= roneriksson@gmail.com>
To: = dev@systemml.incubator.apache.org
= Date: 08/= 05/2016 02:02 PM
Subject: = Re: [DISCUSS] Migration to Spark 2.0.0





I am open to the idea of supporting Spark 2 and Spark&= lt;2 concurrently if
someone shows that it can be accomplished with mini= mal inconvenience.

However, I would lean towards Fred's approach (Sp= ark 1.6 release followed
shortly by a Spark 2 release). If possible, I w= ant to be able to focus most
of our efforts towards the future rather th= an the past.

Deron


On Thu, Aug 4, 2016 at 10:59 AM, Lucia= no Resende <luckbr1975@gmail.com>
wrote:

> That was goin= g to be my suggestion... In Zeppelin, we just introduced
> support fo= r different versions of scala and added support for spark 2.0
> based= on profiles and a bit of reflections...
>
> Do we have to do a= nything related to Scala versions as well ?
>
> On Thursday, Au= gust 4, 2016, Matthias Boehm <mboehm@us.ibm.com> wrote:
>
&g= t; > I would recommend to start an investigation if we could support bot= h the
> > 1.x and 2.x lines with a single code base. It seems feas= ible to refactor
> > the code a bit, compile against 2.0 (or with = profiles), and run on either
> > 1.6 or 2.0. For example, by creat= ing a wrapper that implements both
> > Iterable and Iterator, we c= ould overcome the Iterator API change as shown
> > by our LazyIter= ableIterator which did not require any change in related
> > funct= ions. Btw, we did the same for MRv1 and Yarn by ensuring that on
> MR= v1,
> > we don't touch Yarn related APIs. Similarly on Spark, we a= lready support
> > both legacy and >=3D1.6 memory management. I= think this kind of platform
> > independence is really valuable b= ut it obviously adds complexity.
> >
> > Regards,
>= > Matthias
> >
> >
> > [image: Inactive hide= details for Niketan Pansare---08/03/2016 05:15:21
> > PM---I am i= n favor of having one more release against Spark 1.6]Niketan
> > P= ansare---08/03/2016 05:15:21 PM---I am in favor of having one more
> = release
> > against Spark 1.6. Since default scala version for Spa= rk 1.
> >
> > From: Niketan Pansare/Almaden/IBM@IBMUS
= > > To: dev@systemml.incubator.apache.org
> > <
<= a href=3D"javascript:=5Fe(%7B%7D,'cvml','dev@systemml.incubator.apache.org'= )">javascript:=5Fe(%7B%7D,'cvml','dev@systemml.incubator.apache.org');>
> > Date: 08/03/2016 05:15 PM
> > Subject: R= e: [DISCUSS] Migration to Spark 2.0.0
> > ------------------------= ------
> >
> >
> >
> > I am in favor of= having one more release against Spark 1.6. Since default
> > scal= a version for Spark 1.6 is 2.10, I recommend either having SystemML
>= > compiled and released with Scala 2.10 profile or having two release> > candidates.
> >
> > Thanks,
> >
&= gt; > Niketan Pansare
> > IBM Almaden Research Center
> &= gt; E-mail: npansar At us.ibm.com
> > *http://researcher.watson.ib= m.com/researcher/view.php?person=3Dus-npansar*
> > <
http://researcher.watson.ibm.com/researcher/view.php?person=3Dus-np= ansar>
> >
> > Frederick R Reiss---08/03/= 2016 03:58:17 PM---While I agree that getting
> > onto Spark 2.0 q= uickly ought to be a priority, there are existing early u
> >
&= gt; > From: Frederick R Reiss/Almaden/IBM@IBMUS
> > To: dev@sys= temml.incubator.apache.org
> > <
javascript:=5Fe(%7= B%7D,'cvml','dev@systemml.incubator.apache.org');>
> = > Date: 08/03/2016 03:58 PM
> > Subject: Re: [DISCUSS] Migratio= n to Spark 2.0.0
> > ------------------------------
> >> >
> >
> > While I agree that getting onto Spark= 2.0 quickly ought to be a priority,
> > there are existing early = users of SystemML who are likely stuck on Spark
> > 1.6.x for the = next few months. Those users could want some of the new
> > experi= mental features since 0.10 (specifically frames, the prototype
> Pyth= on
> > DSL, and the new MLContext) and it would be good to have a = Spark 1.6
> branch
> > of our version tree where we can back= port the debugged versions of these
> > features if needed.
>= ; >
> > I would recommend that we do one more SystemML release = against Spark 1.6,
> > then switch the head version of SystemML ov= er to Spark 2.0, then
> > immediately perform a second SystemML re= lease. Thoughts?
> >
> > Fred
> >
> > D= eron Eriksson ---08/02/2016 12:13:07 PM---I would definitely be in favor> > of moving to Spark 2.0 as early as possible. This will allow Sys= temML
> >
> > From: Deron Eriksson <deroneriksson@gmai= l.com
> > <
javascript:=5Fe(%7B%7D,'cvml','deroneriksson@gmai= l.com');>>
> > To: dev@systemml.incubator.apach= e.org
> > <
javascript:=5Fe(%7B%7D,'cvml','dev@syst= emml.incubator.apache.org');>
> > Date: 08/02/2016= 12:13 PM
> > Subject: Re: [DISCUSS] Migration to Spark 2.0.0
&= gt; > ------------------------------
> >
> >
> &= gt;
> > I would definitely be in favor of moving to Spark 2.0 as e= arly as
> possible.
> > This will allow SystemML to be curre= nt with cutting edge Spark. It would
> be
> > nice to focus = our efforts on the latest Spark.
> >
> > Deron
> &g= t;
> >
> > On Tue, Aug 2, 2016 at 12:05 PM, <dusenberr= ymw@gmail.com
> > <
javascript:=5Fe(%7B%7D,'cvml','dusenberrym= w@gmail.com');>> wrote:
> >
> > > I= 'm in favor of moving to Spark 2.0 now, meaning that our upcoming
> &= gt; release
> > > would include both new features and 2.0 suppo= rt.  0.10 has plenty of
> > > functionality for any existi= ng 1.x users.
> > >
> > > -Mike
> > >> > > --
> > >
> > > Mike Dusenberry
= > > > GitHub: github.com/dusenberrymw
> > > LinkedIn: = linkedin.com/in/mikedusenberry
> > >
> > > Sent fro= m my iPhone.
> > >
> > >
> > > > On = Aug 2, 2016, at 11:44 AM, Glenn Weidner <gweidner@us.ibm.com
> >= ; <
javascript:=5Fe(%7B%7D,'cvml','gweidner@us.ibm.com');>= > wrote:
> > > >
> > > >
> > >= >
> > > > In the "[DISCUSS] SystemML 0.11 release&q= uot; thread, native frame support
> > and
> > > > A= PI updates such as new MLContext were identified as main new
> featur= es
> > > for
> > > > the release.  In addit= ion, support for Spark 2.0.0 was targeted.
> > > > Note code= changes required for Spark 2.0.0 are not backward
> compatible
&g= t; > to
> > > > earlier Spark versions (e.g., 1.6.2) so s= tarting separate mail thread
> > for
> > > > anyone= to raise objections/alternatives for migrating to Spark 2.0.0.
> >= ; > >
> > > > One possible option is to do a release t= o include the new Apache
> > SystemML
> > > > featu= res before migrating to Spark 2.0.0.  However, it seems better
>= to
> > > have
> > > > the next Apache SystemML = release compatible with latest Spark version
> > > > 2.0.0. =  The Apache SystemML 0.10 release from June can be used with
> &= gt; > earlier
> > > > versions of Spark.
> > >= ; >
> > > > Regards,
> > > > Glenn
>= > >
> >
> >
> >
> >
> >=
> >
> >
>
> --
> Sent from my Mobile d= evice
>



--1__=8FBB0A9ADFEB47198f9e8a93df938690918c8FBB0A9ADFEB4719-- --0__=8FBB0A9ADFEB47198f9e8a93df938690918c8FBB0A9ADFEB4719--