Hi Sébastien
I also encouter this dilemma, could you help me?
I want to connect saiku with kylin :
configure in saiku:
URL:jdbc:kylin://MACHINE-NAME:PORT/KYLINPROJECT
jdbc Driver:org.apache.kylin.jdbc.Driver
username:ADMIN
password:KYLIN
the error log:
driver:mondrian.olap4j.MondrianOlap4jDriver
url:jdbc:mondrian:Jdbc=jdbc:kylin://machinename:8080//user;Catalog=mondrian:///datasources/user.xml;JdbcDrivers=org.apache.kylin.jdbc.Driver
17:23:32,131 ERROR [SecurityAwareConnectionManager] Error connecting: kylin
mondrian.olap.MondrianException: Mondrian Error:Internal error: Error while
creating SQL connection: Jdbc=jdbc:kylin://machinename:8080//user;
JdbcUser=ADMIN; JdbcPassword=KYLIN
at
mondrian.resource.MondrianResource$_Def0.ex(MondrianResource.java:992)
at mondrian.olap.Util.newInternal(Util.java:2543)
at mondrian.olap.Util.newError(Util.java:2559)
at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:239)
at mondrian.rolap.RolapSchema.<init>(RolapSchema.java:191)
at
mondrian.rolap.RolapSchemaLoader.loadStage1(RolapSchemaLoader.java:313)
at
mondrian.rolap.RolapSchemaLoader.loadStage0(RolapSchemaLoader.java:272)
at
mondrian.rolap.RolapSchemaLoader.createSchema(RolapSchemaLoader.java:4303)
2015-06-09 19:40 GMT+08:00 divye sheth <[email protected]>:
> Hi Sebastian,
>
> I am using the sample.sh script provided by Kylin to build the cube. I just
> checked that the type of join used while building the cube is infact INNER.
> I am also creating another cube with my own data to check with the inner
> join.
>
> Thanks
> Divye Sheth
>
> On Tue, Jun 9, 2015 at 3:37 PM, Sébastien Jelsch <
> [email protected]
> > wrote:
>
> > @Divye:
> > I got the same error at the beginning.
> > Take a look at your SQL statement. It uses „join“, which is equivalent to
> > an inner join. However, build your cube with inner joins instead of left
> or
> > right join, this should fix your problem.
> >
> > @Li Yang
> > Thank you!
> >
> > @Julian Hyde:
> > Yeah, Mondrian 4 rocks! First tests are very promising.
> >
> > @Luke Han:
> > Thanks, I’ll write a howto in the coming days.
> >
> > Best regards,
> > Sébastien Jelsch
> >
> >
> >
> > > Am 09.06.2015 um 07:58 schrieb divye sheth <[email protected]>:
> > >
> > > Hi Sebastian,
> > >
> > > After using your jar I was able to remove the eigenbase exception. But
> > then
> > > it gives me another exception below is the summary of the same.
> > >
> > > Caused by: java.lang.RuntimeException: Failed to query kylin server
> with
> > > exception {"url":"http://localhost:7070/kylin/api/query
> > ","exception":"Can't
> > > find any realization. Please confirm with providers. SQL digest: fact
> > table
> > > DEFAULT.KYLIN_SALES,group by
> > > [DEFAULT.KYLIN_CATEGORY_GROUPINGS.META_CATEG_NAME],filter on [],with
> > > aggregates[].\nwhile executing SQL: \"select
> > > \"KYLIN_CATEGORY_GROUPINGS\".\"META_CATEG_NAME\" as \"c0\" from
> > > \"KYLIN_SALES\" as \"KYLIN_SALES\" join \"KYLIN_CATEGORY_GROUPINGS\" as
> > > \"KYLIN_CATEGORY_GROUPINGS\" on \"KYLIN_SALES\".\"LEAF_CATEG_ID\" =
> > > \"KYLIN_CATEGORY_GROUPINGS\".\"LEAF_CATEG_ID\" group by
> > > \"KYLIN_CATEGORY_GROUPINGS\".\"META_CATEG_NAME\" order by CASE WHEN
> > > \"KYLIN_CATEGORY_GROUPINGS\".\"META_CATEG_NAME\" IS NULL THEN 1 ELSE 0
> > END,
> > > \"KYLIN_CATEGORY_GROUPINGS\".\"META_CATEG_NAME\" ASC\""}
> > >
> > > Am I missing something here? I am trying to access Kylin via Java. I
> have
> > > made sure that the latest mondrian and kylin-jdbc drivers are available
> > in
> > > the classpath. Is there something on the Kylin server that I am
> missing?
> > > Please suggest.
> > >
> > > Thanks!
> > > Divye Sheth
> > >
> > > On Tue, Jun 9, 2015 at 8:13 AM, Li Yang <[email protected]> wrote:
> > >
> > >> Great work! I've merged the pull request into 0.7-staging,
> > >> commit 716bd9dcc2ab43e642b106db838458a684932495
> > >>
> > >> On Tue, Jun 9, 2015 at 8:30 AM, Julian Hyde <[email protected]> wrote:
> > >>
> > >>> Yay! Go Mondrian 4!
> > >>>
> > >>> Julian
> > >>>
> > >>>
> > >>> On Mon, Jun 8, 2015 at 3:27 AM, Sébastien Jelsch <
> > >>> [email protected]
> > >>>> wrote:
> > >>>
> > >>>> I found the reason for this issue (
> > >>>> https://issues.apache.org/jira/browse/KYLIN-819 <
> > >>>> https://issues.apache.org/jira/browse/KYLIN-819> ) and fixed it (
> > >>>> https://github.com/apache/incubator-kylin/pull/9 <
> > >>>> https://github.com/apache/incubator-kylin/pull/9> ).
> > >>>>
> > >>>> And I have some good news: With Mondrian 4 ( the lagunitas branch:
> > >>>> https://github.com/pentaho/mondrian/tree/lagunitas <
> > >>>> https://github.com/pentaho/mondrian/tree/lagunitas> ) and my kylin
> > >>>> dialect ( https://github.com/pentaho/mondrian/pull/480 <
> > >>>> https://github.com/pentaho/mondrian/pull/480> ) I’m able to work
> with
> > >>>> Mondrian and Kylin! In the coming days I’ll write a HowTo about my
> > >>>> experiences.
> > >>>>
> > >>>> Best regards,
> > >>>> Sébastien Jelsch
> > >>>>
> > >>>>
> > >>>>
> > >>>>
> > >>>>> Am 22.05.2015 um 18:33 schrieb Luke Han <[email protected]>:
> > >>>>>
> > >>>>> Please handle this part to Shanghai team, I will put this story in
> > >>> v0.7.2
> > >>>>> (after successful release v0.7.1).
> > >>>>>
> > >>>>> Thanks.
> > >>>>>
> > >>>>>
> > >>>>> Best Regards!
> > >>>>> ---------------------
> > >>>>>
> > >>>>> Luke Han
> > >>>>>
> > >>>>> 2015-05-23 0:25 GMT+08:00 divye sheth <[email protected]>:
> > >>>>>
> > >>>>>> Will wait for the core committers. In the meantime might as well
> > >> test
> > >>>> kylin
> > >>>>>> with 0.9.2.
> > >>>>>>
> > >>>>>> Thanks!
> > >>>>>> On May 22, 2015 21:52, "Julian Hyde" <[email protected]> wrote:
> > >>>>>>
> > >>>>>>> Calcite 0.9.2 -> 1.0 is a tricky upgrade. I think you should
> leave
> > >> it
> > >>>> to
> > >>>>>>> the core committers.
> > >>>>>>>
> > >>>>>>> I wouldn't even be sure that the upgrade from 0.9.1 to 0.9.2
> worked
> > >>>> until
> > >>>>>>> the tests had passed.
> > >>>>>>>
> > >>>>>>> On Fri, May 22, 2015 at 9:11 AM, divye sheth <
> [email protected]
> > >>>
> > >>>>>> wrote:
> > >>>>>>>
> > >>>>>>>> The 0.9.2 release builds fine with Kylin (just built kylin have
> > >> not
> > >>>>>>>> tested). With the Calcite 1.0 release there have been
> significant
> > >>>>>>>> class/package renaming and movement as well as some additional
> > >>> classes
> > >>>>>>>> coming in. Currently I am trying to figure out
> > >> AvaticaPrepareResult
> > >>> ->
> > >>>>>>>> Meta.Signature
> > >>>>>>>> I am trying my best here. Java is something that I am not that
> > >>> strong
> > >>>>>>> with
> > >>>>>>>> :-)
> > >>>>>>>>
> > >>>>>>>> Thanks
> > >>>>>>>> Divye Sheth
> > >>>>>>>> On May 22, 2015 21:12, "Julian Hyde" <[email protected]> wrote:
> > >>>>>>>>
> > >>>>>>>>> There are significant API changes between Calcite 0.9 and 1.0.
> > >> Read
> > >>>>>> the
> > >>>>>>>> 1.0
> > >>>>>>>>> release notes
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > >>
> >
> https://github.com/apache/incubator-calcite/blob/branch-1.3/doc/history.md#100-incubating--2015-01-31
> > >>>>>>>>> ,
> > >>>>>>>>> and use the API mapping
> > >>>>>>>>>
> > >>>>>>
> > >> https://issues.apache.org/jira/secure/attachment/12681620/mapping.txt
> > >>>>>>> if
> > >>>>>>>>> you need to. Consider upgrading to 0.9.2 (the last release with
> > >> the
> > >>>>>> old
> > >>>>>>>>> API) and getting that working before moving to the renamed API.
> > >>>>>>>>>
> > >>>>>>>>> I've logged https://issues.apache.org/jira/browse/KYLIN-780 to
> > >>> track
> > >>>>>>>> this.
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>> On Thu, May 21, 2015 at 9:51 PM, divye sheth <
> > >> [email protected]
> > >>>>
> > >>>>>>>> wrote:
> > >>>>>>>>>
> > >>>>>>>>>> Thanks Julian, will try porting optiq 0.9 to calcite 1.0. Will
> > >>>>>> commit
> > >>>>>>>> if
> > >>>>>>>>>> successfull.
> > >>>>>>>>>>
> > >>>>>>>>>> Thanks
> > >>>>>>>>>> Divye Sheth
> > >>>>>>>>>> On May 21, 2015 22:18, "Julian Hyde" <[email protected]>
> wrote:
> > >>>>>>>>>>
> > >>>>>>>>>>> It seems that Mondrian is trying to access a string column as
> > >> if
> > >>>>>> it
> > >>>>>>>>> were
> > >>>>>>>>>> a
> > >>>>>>>>>>> long. Maybe you declared the column of the wrong type in your
> > >>>>>>>> Mondrian
> > >>>>>>>>>>> schema file? Or maybe Kylin is not reporting the type
> > >> accurately.
> > >>>>>>>>>>>
> > >>>>>>>>>>> The JDBC driver code that is failing to convert (
> > >>>>>>>>>>> *net.hydromatic.optiq.runtime.AbstractCursor*) is in Optiq,
> now
> > >>>>>>>> called
> > >>>>>>>>>>> Calcite. Later versions of Calcite are more permissive about
> > >>>>>>>>> conversions
> > >>>>>>>>>> so
> > >>>>>>>>>>> if Kylin upgraded to a more recent version of Calcite that
> > >> would
> > >>>>>>>>> probably
> > >>>>>>>>>>> improve things.
> > >>>>>>>>>>>
> > >>>>>>>>>>> On Wed, May 20, 2015 at 2:47 AM, divye sheth <
> > >>>>>> [email protected]
> > >>>>>>>>
> > >>>>>>>>>> wrote:
> > >>>>>>>>>>>
> > >>>>>>>>>>>> Hi Devs,
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> I am trying to get Mondrian to run over Kylin but get an
> > >>>>>>> exception
> > >>>>>>>>>> while
> > >>>>>>>>>>>> creating a connection to Kylin via Mondrian below are the
> > >> steps
> > >>>>>>>> that
> > >>>>>>>>> I
> > >>>>>>>>>>> have
> > >>>>>>>>>>>> followed:
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> 1. Setup Kylin using On-hadoop Install
> > >>>>>>>>>>>> 2. Execute the ./sample.sh script to create sample cube in
> > >>>>>> Kylin
> > >>>>>>>>>>>> 3. Build Cube
> > >>>>>>>>>>>> 4. Test queries against the cube. Also tested using JDBC
> > >>>>>> driver.
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> But when I try to execute MDX using Mondrian on top of
> Kylin I
> > >>>>>>> get
> > >>>>>>>> an
> > >>>>>>>>>>>> exception trace as follows:
> > >>>>>>>>>>>> *[Mondrian Monitor]:[2015-05-20
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > >>
> >
> 14:55:34,563][DEBUG][mondrian.server.MonitorImpl$Actor.run(MonitorImpl.java:975)]
> > >>>>>>>>>>>> - StatementEndEvent(0)*
> > >>>>>>>>>>>> *java.lang.RuntimeException: cannot convert to long
> > >>>>>>>>>>>>
> > >>>>>>>
> (net.hydromatic.optiq.runtime.AbstractCursor$StringAccessor@fff056c
> > >>>>>>>>> )*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > >>
> >
> net.hydromatic.optiq.runtime.AbstractCursor$AccessorImpl.cannotConvert(AbstractCursor.java:287)*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > >>
> >
> net.hydromatic.optiq.runtime.AbstractCursor$AccessorImpl.getLong(AbstractCursor.java:243)*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > >>
> >
> net.hydromatic.optiq.runtime.AbstractCursor$AccessorImpl.getInt(AbstractCursor.java:239)*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > >>
> >
> net.hydromatic.avatica.AvaticaResultSet.getInt(AvaticaResultSet.java:220)*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > >>
> >
> org.apache.commons.dbcp.DelegatingResultSet.getInt(DelegatingResultSet.java:225)*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > >>
> >
> mondrian.rolap.aggmatcher.JdbcSchema$Table.loadColumns(JdbcSchema.java:972)*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>>>
> > >>>>>>>
> > >> mondrian.rolap.aggmatcher.JdbcSchema$Table.load(JdbcSchema.java:775)*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > >>
> >
> mondrian.rolap.RolapSchema$PhysTable.populateColumns(RolapSchema.java:1853)*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > >>
> >
> mondrian.rolap.RolapSchema$PhysRelationImpl.ensurePopulated(RolapSchema.java:1519)*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > >>
> >
> mondrian.rolap.RolapSchema$PhysTable.ensurePopulated(RolapSchema.java:1729)*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > >>
> >
> mondrian.rolap.RolapSchemaLoader.registerTable(RolapSchemaLoader.java:1051)*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > >>
> >
> mondrian.rolap.RolapSchemaLoader.validatePhysicalSchema(RolapSchemaLoader.java:715)*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>
> > >>>>>>
> > >>>
> > mondrian.rolap.RolapSchemaLoader.loadStage2(RolapSchemaLoader.java:376)*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>
> > >>>>>>
> > >>>
> > mondrian.rolap.RolapSchemaLoader.loadStage1(RolapSchemaLoader.java:336)*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>
> > >>>>>>
> > >>>
> > mondrian.rolap.RolapSchemaLoader.loadStage0(RolapSchemaLoader.java:272)*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > >>
> >
> mondrian.rolap.RolapSchemaLoader.createSchema(RolapSchemaLoader.java:4303)*
> > >>>>>>>>>>>> * at
> > >>>>>>> mondrian.rolap.RolapSchemaPool.get(RolapSchemaPool.java:210)*
> > >>>>>>>>>>>> * at
> > >>>>>> mondrian.rolap.RolapSchemaPool.get(RolapSchemaPool.java:62)*
> > >>>>>>>>>>>> * at
> > >>>>>>>> mondrian.rolap.RolapConnection.<init>(RolapConnection.java:160)*
> > >>>>>>>>>>>> * at
> > >>>>>>>> mondrian.rolap.RolapConnection.<init>(RolapConnection.java:84)*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>
> > >> mondrian.olap.DriverManager.getConnection(DriverManager.java:112)*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>
> mondrian.olap.DriverManager.getConnection(DriverManager.java:68)*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > >>
> >
> mondrian.olap4j.MondrianOlap4jConnection.<init>(MondrianOlap4jConnection.java:153)*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > >>
> >
> mondrian.olap4j.FactoryJdbc4Plus$AbstractConnection.<init>(FactoryJdbc4Plus.java:323)*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > >>
> >
> mondrian.olap4j.FactoryJdbc41Impl$MondrianOlap4jConnectionJdbc41.<init>(FactoryJdbc41Impl.java:118)*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > >>
> >
> mondrian.olap4j.FactoryJdbc41Impl.newConnection(FactoryJdbc41Impl.java:32)*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > >>
> >
> mondrian.olap4j.MondrianOlap4jDriver.connect(MondrianOlap4jDriver.java:139)*
> > >>>>>>>>>>>> * at
> > >>>>>>> java.sql.DriverManager.getConnection(DriverManager.java:571)*
> > >>>>>>>>>>>> * at
> > >>>>>>> java.sql.DriverManager.getConnection(DriverManager.java:233)*
> > >>>>>>>>>>>> * at
> > >>>>>>>>>>>
> > >>>>>>>
> > >> com.fractal.mondrian.kylin.MondrianKylin.main(MondrianKylin.java:27)*
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> I tried searching a lot but the only link I could find
> related
> > >>>>>> to
> > >>>>>>>>> this
> > >>>>>>>>>>>> issue was
> > >>>>>>>>>>>>
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > >>
> >
> https://groups.google.com/forum/#!searchin/optiq-dev/mondrian/optiq-dev/qMd5FyOtp28/-BBsC4ScKe0J
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> *Kylin Version: 0.7-1*
> > >>>>>>>>>>>> *Hadoop: 2.6*
> > >>>>>>>>>>>> *Hbase: 0.98*
> > >>>>>>>>>>>> *Hive: 1.0.1*
> > >>>>>>>>>>>> *Mondrian Jar: 4.3*
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> Attached is the mondrian xml for reference that corresponds
> to
> > >>>>>>> the
> > >>>>>>>>> cube
> > >>>>>>>>>>> in
> > >>>>>>>>>>>> Kylin.
> > >>>>>>>>>>>> I am not pretty sure what am I doing wrong, any
> help/pointers
> > >>>>>>> would
> > >>>>>>>>> be
> > >>>>>>>>>>>> appreciated a lot. Apologize if this is not a Kylin issue.
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> I am new to the Kylin community.
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> Thanks
> > >>>>>>>>>>>> Divye Sheth
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>
> > >>>>
> > >>>
> > >>
> >
> >
>