<?xml version="1.0" encoding="UTF-8"?>
<!--***********************************************************
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 ***********************************************************-->



<component loader="com.sun.star.loader.SharedLibrary"
    xmlns="http://openoffice.org/2010/uno-components">
  <implementation name="com.sun.star.comp.chart.AreaChartType">
    <service name="com.sun.star.chart2.AreaChartType"/>
    <service name="com.sun.star.chart2.ChartType"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart.BarChartType">
    <service name="com.sun.star.chart2.BarChartType"/>
    <service name="com.sun.star.chart2.ChartType"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart.BubbleChartType">
    <service name="com.sun.star.beans.PropertySet"/>
    <service name="com.sun.star.chart2.BubbleChartType"/>
    <service name="com.sun.star.chart2.ChartType"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart.CandleStickChartType">
    <service name="com.sun.star.beans.PropertySet"/>
    <service name="com.sun.star.chart2.CandleStickChartType"/>
    <service name="com.sun.star.chart2.ChartType"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart.ChartTypeManager">
    <service name="com.sun.star.chart2.ChartTypeManager"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart.ColumnChartType">
    <service name="com.sun.star.chart2.ChartType"/>
    <service name="com.sun.star.chart2.ColumnChartType"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart.DataSeries">
    <service name="com.sun.star.beans.PropertySet"/>
    <service name="com.sun.star.chart2.DataPointProperties"/>
    <service name="com.sun.star.chart2.DataSeries"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart.FilledNetChartType">
    <service name="com.sun.star.beans.PropertySet"/>
    <service name="com.sun.star.chart2.ChartType"/>
    <service name="com.sun.star.chart2.FilledNetChartType"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart.FormattedString">
    <service name="com.sun.star.beans.PropertySet"/>
    <service name="com.sun.star.chart2.FormattedString"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart.LineChartType">
    <service name="com.sun.star.beans.PropertySet"/>
    <service name="com.sun.star.chart2.ChartType"/>
    <service name="com.sun.star.chart2.LineChartType"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart.NetChartType">
    <service name="com.sun.star.beans.PropertySet"/>
    <service name="com.sun.star.chart2.ChartType"/>
    <service name="com.sun.star.chart2.NetChartType"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart.PieChartType">
    <service name="com.sun.star.beans.PropertySet"/>
    <service name="com.sun.star.chart2.ChartType"/>
    <service name="com.sun.star.chart2.PieChartType"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart.ScatterChartType">
    <service name="com.sun.star.beans.PropertySet"/>
    <service name="com.sun.star.chart2.ChartType"/>
    <service name="com.sun.star.chart2.ScatterChartType"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart2.Axis">
    <service name="com.sun.star.beans.PropertySet"/>
    <service name="com.sun.star.chart2.Axis"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart2.CartesianCoordinateSystem2d">
    <service name="com.sun.star.chart2.CartesianCoordinateSystem2d"/>
    <service name="com.sun.star.chart2.CoordinateSystems.Cartesian"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart2.CartesianCoordinateSystem3d">
    <service name="com.sun.star.chart2.CartesianCoordinateSystem3d"/>
    <service name="com.sun.star.chart2.CoordinateSystems.Cartesian"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart2.ChartModel">
    <service name="com.sun.star.chart.ChartDocument"/>
    <service name="com.sun.star.chart2.ChartDocument"/>
    <service name="com.sun.star.document.OfficeDocument"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart2.Diagram">
    <service name="com.sun.star.beans.PropertySet"/>
    <service name="com.sun.star.chart2.Diagram"/>
    <service name="com.sun.star.layout.LayoutElement"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart2.GridProperties">
    <service name="com.sun.star.beans.PropertySet"/>
    <service name="com.sun.star.chart2.GridProperties"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart2.Legend">
    <service name="com.sun.star.beans.PropertySet"/>
    <service name="com.sun.star.chart2.Legend"/>
    <service name="com.sun.star.drawing.FillProperties"/>
    <service name="com.sun.star.drawing.LineProperties"/>
    <service name="com.sun.star.layout.LayoutElement"/>
    <service name="com.sun.star.style.CharacterProperties"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart2.PageBackground">
    <service name="com.sun.star.beans.PropertySet"/>
    <service name="com.sun.star.chart2.PageBackground"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart2.PolarCoordinateSystem2d">
    <service name="com.sun.star.chart2.CoordinateSystems.Polar"/>
    <service name="com.sun.star.chart2.PolarCoordinateSystem2d"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart2.PolarCoordinateSystem3d">
    <service name="com.sun.star.chart2.CoordinateSystems.Polar"/>
    <service name="com.sun.star.chart2.PolarCoordinateSystem3d"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart2.Title">
    <service name="com.sun.star.beans.PropertySet"/>
    <service name="com.sun.star.chart2.Title"/>
    <service name="com.sun.star.layout.LayoutElement"/>
    <service name="com.sun.star.style.ParagraphProperties"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart2.XMLFilter">
    <service name="com.sun.star.document.ExportFilter"/>
    <service name="com.sun.star.document.ImportFilter"/>
  </implementation>
  <implementation name="com.sun.star.comp.chart2.report.XMLFilter">
    <service name="com.sun.star.document.ExportFilter"/>
    <service name="com.sun.star.document.ImportFilter"/>
  </implementation>
</component>
