public static Chart.BarChart GenerateBarChart(uint ax1, uint ax2)
        {
            Chart.BarChart     barChart1     = new Chart.BarChart();
            Chart.BarDirection barDirection1 = new Chart.BarDirection()
            {
                Val = Chart.BarDirectionValues.Column
            };
            Chart.BarGrouping barGrouping1 = new Chart.BarGrouping()
            {
                Val = Chart.BarGroupingValues.Clustered
            };
            Chart.AxisId axisId1 = new Chart.AxisId()
            {
                Val = ax1
            };
            Chart.AxisId axisId2 = new Chart.AxisId()
            {
                Val = ax2
            };

            barChart1.Append(barDirection1);
            barChart1.Append(barGrouping1);
            barChart1.Append(axisId1);
            barChart1.Append(axisId2);
            return(barChart1);
        }
        public Chart GenerateChart(string title)
        {
            Chart chart1 = new Chart();
            Title title1 = GenerateTitle(title);
            PlotArea plotArea1 = new PlotArea();

            Layout layout2 = GeneratePlotAreaLayout();

            BarChart barChart1 = new BarChart();
            BarDirection barDirection1 = new BarDirection() { Val = BarDirectionValues.Column };
            BarGrouping barGrouping1 = new BarGrouping() { Val = BarGroupingValues.Clustered };

            AxisId axisId1 = new AxisId() { Val = (UInt32Value)92179456U };
            AxisId axisId2 = new AxisId() { Val = (UInt32Value)92463872U };

            barChart1.Append(barDirection1);
            barChart1.Append(barGrouping1);
            barChart1.Append(axisId1);
            barChart1.Append(axisId2);

            CategoryAxis categoryAxis1 = GenerateCategoryAxis(axisId1, AxisPositionValues.Bottom, categoryAxisFormat, axisId2);
            ValueAxis valueAxis1 = GenerateValueAxis(axisId2, AxisPositionValues.Left, valueAxisFormat, axisId1);

            ShapeProperties shapeProperties1 = new ShapeProperties();
            A::NoFill noFill3 = new A::NoFill();

            A::Outline outline8 = new A::Outline() { Width = 25400 };
            A::NoFill noFill4 = new A::NoFill();

            outline8.Append(noFill4);

            shapeProperties1.Append(noFill3);
            shapeProperties1.Append(outline8);

            plotArea1.Append(layout2);
            plotArea1.Append(barChart1);
            plotArea1.Append(categoryAxis1);
            plotArea1.Append(valueAxis1);
            plotArea1.Append(shapeProperties1);

            Legend legend1 = GenerateLegend(LegendPositionValues.Right);
            PlotVisibleOnly plotVisibleOnly1 = new PlotVisibleOnly() { Val = true };
            DisplayBlanksAs displayBlanksAs1 = new DisplayBlanksAs() { Val = DisplayBlanksAsValues.Gap };

            chart1.Append(title1);
            chart1.Append(plotArea1);
            chart1.Append(legend1);
            chart1.Append(plotVisibleOnly1);
            chart1.Append(displayBlanksAs1);

            return chart1;
        }
        public static void temporaire(ChartPart cp, List <string> formules)
        {
            Chart.BarChart bc = cp.ChartSpace.Descendants <Chart.BarChart>().First();


            for (int j = 0; j < (formules.Count - 1) / 2; j++)
            {
                Chart.BarChartSeries newSerie = GenerateBarChartSeries();

                newSerie.SeriesText.StringReference.Formula.Text = formules[2 * j + 1];
                newSerie.Index.Val = (uint)j;
                newSerie.Order.Val = (uint)j;
                newSerie.Descendants <Chart.CategoryAxisData>().First().NumberReference.Formula.Text = formules[0];
                newSerie.Descendants <Chart.Values>().First().NumberReference.Formula.Text           = formules[2 * j + 2];

                bc.Append(newSerie);
            }
            bc.Elements <Chart.BarChartSeries>().First().Remove();
        }
Exemple #4
0
        //gavdcodeend 10

        //gavdcodebegin 11
        private static void ExcelOpenXmlInsertChart()
        {
            Dictionary <string, int> chartData = new Dictionary <string, int>();

            chartData.Add("abc", 1);
            chartData.Add("def", 2);
            chartData.Add("ghi", 1);

            using (SpreadsheetDocument myExcelDoc =
                       SpreadsheetDocument.Open(@"C:\Temporary\ExcelDoc01.xlsx", true))
            {
                // Use the name of the sheet
                IEnumerable <Sheet> mySheets = myExcelDoc.WorkbookPart.Workbook.
                                               Descendants <Sheet>().Where(s => s.Name == "NewSheet");
                if (mySheets.Count() == 0)
                {
                    return;
                }
                WorksheetPart myWorksheetPart =
                    (WorksheetPart)myExcelDoc.WorkbookPart.
                    GetPartById(mySheets.First().Id);

                // Add a new drawing to the worksheet
                DrawingsPart myDrawingsPart = myWorksheetPart.AddNewPart <DrawingsPart>();
                myWorksheetPart.Worksheet.Append(new
                                                 DocumentFormat.OpenXml.Spreadsheet.Drawing()
                {
                    Id = myWorksheetPart.GetIdOfPart(myDrawingsPart)
                });
                myWorksheetPart.Worksheet.Save();

                // Add a new chart and set the chart language to English-US
                ChartPart myChartPart = myDrawingsPart.AddNewPart <ChartPart>();
                myChartPart.ChartSpace = new DrCh.ChartSpace();
                myChartPart.ChartSpace.Append(new DrCh.EditingLanguage()
                {
                    Val = new StringValue("en-US")
                });
                DrCh.Chart myChart =
                    myChartPart.ChartSpace.AppendChild <DrCh.Chart>(new DrCh.Chart());

                // Create a new clustered column chart
                DrCh.PlotArea plotArea = myChart.AppendChild <DrCh.PlotArea>(
                    new DrCh.PlotArea());
                DrCh.Layout   layout   = plotArea.AppendChild <DrCh.Layout>(new DrCh.Layout());
                DrCh.BarChart barChart = plotArea.AppendChild <DrCh.BarChart>(
                    new DrCh.BarChart(new DrCh.BarDirection()
                {
                    Val = new EnumValue <DrCh.BarDirectionValues>
                              (DrCh.BarDirectionValues.Column)
                },
                                      new DrCh.BarGrouping()
                {
                    Val = new EnumValue <DrCh.BarGroupingValues>
                              (DrCh.BarGroupingValues.Clustered)
                }));

                uint myIndex = 0;

                foreach (string oneKey in chartData.Keys)
                {
                    DrCh.BarChartSeries barChartSeries = barChart.AppendChild
                                                         <DrCh.BarChartSeries>(new DrCh.BarChartSeries(new DrCh.Index()
                    {
                        Val = new UInt32Value(myIndex)
                    },
                                                                                                       new DrCh.Order()
                    {
                        Val = new UInt32Value(myIndex)
                    },
                                                                                                       new DrCh.SeriesText(new DrCh.NumericValue()
                    {
                        Text = oneKey
                    })));

                    DrCh.StringLiteral strLit = barChartSeries.AppendChild <DrCh.
                                                                            CategoryAxisData>(new DrCh.CategoryAxisData()).
                                                AppendChild <DrCh.StringLiteral>(new DrCh.StringLiteral());
                    strLit.Append(new DrCh.PointCount()
                    {
                        Val = new UInt32Value(1U)
                    });
                    // Use the title for the graphic
                    strLit.AppendChild <DrCh.StringPoint>(new DrCh.StringPoint()
                    {
                        Index = new UInt32Value(0U)
                    }).
                    Append(new DrCh.NumericValue("My New Graphic"));

                    DrCh.NumberLiteral numLit = barChartSeries.AppendChild
                                                <DocumentFormat.OpenXml.Drawing.Charts.Values>(
                        new DocumentFormat.OpenXml.Drawing.Charts.Values()).
                                                AppendChild <DrCh.NumberLiteral>(new DrCh.NumberLiteral());
                    numLit.Append(new DrCh.FormatCode("General"));
                    numLit.Append(new DrCh.PointCount()
                    {
                        Val = new UInt32Value(1U)
                    });
                    numLit.AppendChild <DrCh.NumericPoint>(new DrCh.NumericPoint()
                    {
                        Index = new UInt32Value(0u)
                    }).Append
                        (new DrCh.NumericValue(chartData[oneKey].ToString()));

                    myIndex++;
                }

                barChart.Append(new DrCh.AxisId()
                {
                    Val = new UInt32Value(48650112u)
                });
                barChart.Append(new DrCh.AxisId()
                {
                    Val = new UInt32Value(48672768u)
                });

                // Add the Category Axis.
                DrCh.CategoryAxis catAx = plotArea.AppendChild <DrCh.CategoryAxis>
                                              (new DrCh.CategoryAxis(new DrCh.AxisId()
                {
                    Val = new UInt32Value(48650112u)
                },
                                                                     new DrCh.Scaling(new DrCh.Orientation()
                {
                    Val = new EnumValue <DocumentFormat.
                                         OpenXml.Drawing.Charts.OrientationValues>(
                        DrCh.OrientationValues.MinMax)
                }),
                                                                     new DrCh.AxisPosition()
                {
                    Val = new EnumValue <DrCh.AxisPositionValues>
                              (DrCh.AxisPositionValues.Bottom)
                },
                                                                     new DrCh.TickLabelPosition()
                {
                    Val = new EnumValue <DrCh.TickLabelPositionValues>
                              (DrCh.TickLabelPositionValues.NextTo)
                },
                                                                     new DrCh.CrossingAxis()
                {
                    Val = new UInt32Value(48672768U)
                },
                                                                     new DrCh.Crosses()
                {
                    Val = new EnumValue <DrCh.CrossesValues>(
                        DrCh.CrossesValues.AutoZero)
                },
                                                                     new DrCh.AutoLabeled()
                {
                    Val = new BooleanValue(true)
                },
                                                                     new DrCh.LabelAlignment()
                {
                    Val = new EnumValue <DrCh.LabelAlignmentValues>(
                        DrCh.LabelAlignmentValues.Center)
                },
                                                                     new DrCh.LabelOffset()
                {
                    Val = new UInt16Value((ushort)100)
                }));

                // Add the Value Axis.
                DrCh.ValueAxis valAx = plotArea.AppendChild <DrCh.ValueAxis>(
                    new DrCh.ValueAxis(new DrCh.AxisId()
                {
                    Val = new UInt32Value(48672768u)
                },
                                       new DrCh.Scaling(new DrCh.Orientation()
                {
                    Val = new EnumValue <DrCh.OrientationValues>(
                        DrCh.OrientationValues.MinMax)
                }),
                                       new DrCh.AxisPosition()
                {
                    Val = new EnumValue <DrCh.AxisPositionValues>(
                        DrCh.AxisPositionValues.Left)
                },
                                       new DrCh.MajorGridlines(),
                                       new DrCh.NumberingFormat()
                {
                    FormatCode   = new StringValue("General"),
                    SourceLinked = new BooleanValue(true)
                },
                                       new DrCh.TickLabelPosition()
                {
                    Val = new EnumValue <DrCh.TickLabelPositionValues>
                              (DrCh.TickLabelPositionValues.NextTo)
                },
                                       new DrCh.CrossingAxis()
                {
                    Val = new UInt32Value(48650112U)
                },
                                       new DrCh.Crosses()
                {
                    Val = new EnumValue <DrCh.CrossesValues>
                              (DrCh.CrossesValues.AutoZero)
                },
                                       new DrCh.CrossBetween()
                {
                    Val = new EnumValue <DrCh.CrossBetweenValues>
                              (DrCh.CrossBetweenValues.Between)
                }));

                // Add the chart Legend.
                DrCh.Legend myLegend = myChart.AppendChild <DrCh.Legend>(
                    new DrCh.Legend(new DrCh.LegendPosition()
                {
                    Val = new EnumValue <DrCh.LegendPositionValues>
                              (DrCh.LegendPositionValues.Right)
                },
                                    new DrCh.Layout()));

                myChart.Append(new DrCh.PlotVisibleOnly()
                {
                    Val = new BooleanValue(true)
                });

                myChartPart.ChartSpace.Save();

                // Position the chart on the worksheet using a TwoCellAnchor object.
                myDrawingsPart.WorksheetDrawing = new DrSp.WorksheetDrawing();
                DrSp.TwoCellAnchor twoCellAnchor = myDrawingsPart.WorksheetDrawing.
                                                   AppendChild <DrSp.TwoCellAnchor>(
                    new DrSp.TwoCellAnchor());
                twoCellAnchor.Append(new DrSp.FromMarker(new DrSp.ColumnId("9"),
                                                         new DrSp.ColumnOffset("581025"),
                                                         new DrSp.RowId("17"),
                                                         new DrSp.RowOffset("114300")));
                twoCellAnchor.Append(new DrSp.ToMarker(new DrSp.ColumnId("17"),
                                                       new DrSp.ColumnOffset("276225"),
                                                       new DrSp.RowId("32"),
                                                       new DrSp.RowOffset("0")));

                // Append a GraphicFrame to the TwoCellAnchor object.
                DrSp.GraphicFrame myGraphicFrame =
                    twoCellAnchor.AppendChild <DrSp.GraphicFrame>(new DrSp.GraphicFrame());
                myGraphicFrame.Macro = "";

                myGraphicFrame.Append(new DrSp.NonVisualGraphicFrameProperties(
                                          new DrSp.NonVisualDrawingProperties()
                {
                    Id   = new UInt32Value(2u),
                    Name = "Chart 1"
                },
                                          new DrSp.NonVisualGraphicFrameDrawingProperties()));

                myGraphicFrame.Append(new DrSp.Transform(
                                          new DocumentFormat.OpenXml.Drawing.Offset()
                {
                    X = 0L,
                    Y = 0L
                },
                                          new DocumentFormat.OpenXml.Drawing.Extents()
                {
                    Cx = 0L,
                    Cy = 0L
                }));

                myGraphicFrame.Append(
                    new DocumentFormat.OpenXml.Drawing.Graphic(
                        new DocumentFormat.OpenXml.Drawing.GraphicData(
                            new DrCh.ChartReference()
                {
                    Id = myDrawingsPart.GetIdOfPart(myChartPart)
                })
                {
                    Uri = "http://schemas.openxmlformats.org/drawingml/2006/chart"
                }));

                twoCellAnchor.Append(new DrSp.ClientData());

                myDrawingsPart.WorksheetDrawing.Save();
            }
        }
Exemple #5
0
        internal C.PlotArea ToPlotArea()
        {
            C.PlotArea pa = new C.PlotArea();
            pa.Append(this.Layout.ToLayout());

            int iChartType;
            int i;

            // TODO: the rendering order is sort of listed in the following.
            // But apparently if you plot data series for doughnut first before bar-of-pie
            // it's different than if you plot bar-of-pie then doughnut.
            // Find out the "correct" order next version I suppose...

            // Excel 2010 apparently sets this by default for any chart...
            SLGroupDataLabelOptions gdlo = new SLGroupDataLabelOptions(this.ShapeProperties.listThemeColors);
            gdlo.ShowLegendKey = false;
            gdlo.ShowValue = false;
            gdlo.ShowCategoryName = false;
            gdlo.ShowSeriesName = false;
            gdlo.ShowPercentage = false;
            gdlo.ShowBubbleSize = false;

            #region Doughnut
            iChartType = (int)SLDataSeriesChartType.DoughnutChart;
            if (this.UsedChartTypes[iChartType])
            {
                C.DoughnutChart dc = new C.DoughnutChart();
                dc.VaryColors = new C.VaryColors() { Val = this.UsedChartOptions[iChartType].VaryColors ?? true };

                for (i = 0; i < this.DataSeries.Count; ++i)
                {
                    if ((int)this.DataSeries[i].ChartType == iChartType)
                    {
                        dc.Append(this.DataSeries[i].ToPieChartSeries());
                    }
                }

                dc.Append(gdlo.ToDataLabels(new Dictionary<int, SLDataLabelOptions>(), false));

                dc.Append(new C.FirstSliceAngle() { Val = this.UsedChartOptions[iChartType].FirstSliceAngle });
                dc.Append(new C.HoleSize() { Val = this.UsedChartOptions[iChartType].HoleSize });
                
                pa.Append(dc);
            }
            #endregion

            #region Bar-of-pie
            iChartType = (int)SLDataSeriesChartType.OfPieChartBar;
            if (this.UsedChartTypes[iChartType])
            {
                C.OfPieChart opc = new C.OfPieChart();
                opc.OfPieType = new C.OfPieType() { Val = C.OfPieValues.Bar };
                opc.VaryColors = new C.VaryColors() { Val = this.UsedChartOptions[iChartType].VaryColors ?? true };

                for (i = 0; i < this.DataSeries.Count; ++i)
                {
                    if ((int)this.DataSeries[i].ChartType == iChartType)
                    {
                        opc.Append(this.DataSeries[i].ToPieChartSeries());
                    }
                }

                opc.Append(gdlo.ToDataLabels(new Dictionary<int, SLDataLabelOptions>(), false));

                opc.Append(new C.GapWidth() { Val = this.UsedChartOptions[iChartType].GapWidth });
                
                if (this.UsedChartOptions[iChartType].HasSplit)
                {
                    opc.Append(new C.SplitType() { Val = this.UsedChartOptions[iChartType].SplitType });
                    if (this.UsedChartOptions[iChartType].SplitType != C.SplitValues.Custom)
                    {
                        opc.Append(new C.SplitPosition() { Val = this.UsedChartOptions[iChartType].SplitPosition });
                    }
                    else
                    {
                        C.CustomSplit custsplit = new C.CustomSplit();
                        foreach (int iPiePoint in this.UsedChartOptions[iChartType].SecondPiePoints)
                        {
                            custsplit.Append(new C.SecondPiePoint() { Val = (uint)iPiePoint });
                        }
                        opc.Append(custsplit);
                    }
                }

                opc.Append(new C.SecondPieSize() { Val = this.UsedChartOptions[iChartType].SecondPieSize });

                if (this.UsedChartOptions[iChartType].SeriesLinesShapeProperties.HasShapeProperties)
                {
                    opc.Append(new C.SeriesLines()
                    {
                        ChartShapeProperties = this.UsedChartOptions[iChartType].SeriesLinesShapeProperties.ToChartShapeProperties()
                    });
                }
                else
                {
                    opc.Append(new C.SeriesLines());
                }

                pa.Append(opc);
            }
            #endregion

            #region Pie-of-pie
            iChartType = (int)SLDataSeriesChartType.OfPieChartPie;
            if (this.UsedChartTypes[iChartType])
            {
                C.OfPieChart opc = new C.OfPieChart();
                opc.OfPieType = new C.OfPieType() { Val = C.OfPieValues.Pie };
                opc.VaryColors = new C.VaryColors() { Val = this.UsedChartOptions[iChartType].VaryColors ?? true };

                for (i = 0; i < this.DataSeries.Count; ++i)
                {
                    if ((int)this.DataSeries[i].ChartType == iChartType)
                    {
                        opc.Append(this.DataSeries[i].ToPieChartSeries());
                    }
                }

                opc.Append(gdlo.ToDataLabels(new Dictionary<int, SLDataLabelOptions>(), false));

                opc.Append(new C.GapWidth() { Val = this.UsedChartOptions[iChartType].GapWidth });

                if (this.UsedChartOptions[iChartType].HasSplit)
                {
                    opc.Append(new C.SplitType() { Val = this.UsedChartOptions[iChartType].SplitType });
                    if (this.UsedChartOptions[iChartType].SplitType != C.SplitValues.Custom)
                    {
                        opc.Append(new C.SplitPosition() { Val = this.UsedChartOptions[iChartType].SplitPosition });
                    }
                    else
                    {
                        C.CustomSplit custsplit = new C.CustomSplit();
                        foreach (int iPiePoint in this.UsedChartOptions[iChartType].SecondPiePoints)
                        {
                            custsplit.Append(new C.SecondPiePoint() { Val = (uint)iPiePoint });
                        }
                        opc.Append(custsplit);
                    }
                }

                opc.Append(new C.SecondPieSize() { Val = this.UsedChartOptions[iChartType].SecondPieSize });

                if (this.UsedChartOptions[iChartType].SeriesLinesShapeProperties.HasShapeProperties)
                {
                    opc.Append(new C.SeriesLines()
                    {
                        ChartShapeProperties = this.UsedChartOptions[iChartType].SeriesLinesShapeProperties.ToChartShapeProperties()
                    });
                }
                else
                {
                    opc.Append(new C.SeriesLines());
                }

                pa.Append(opc);
            }
            #endregion

            #region Pie
            iChartType = (int)SLDataSeriesChartType.PieChart;
            if (this.UsedChartTypes[iChartType])
            {
                C.PieChart pc = new C.PieChart();
                pc.VaryColors = new C.VaryColors() { Val = this.UsedChartOptions[iChartType].VaryColors ?? true };

                for (i = 0; i < this.DataSeries.Count; ++i)
                {
                    if ((int)this.DataSeries[i].ChartType == iChartType)
                    {
                        pc.Append(this.DataSeries[i].ToPieChartSeries());
                    }
                }

                pc.Append(gdlo.ToDataLabels(new Dictionary<int, SLDataLabelOptions>(), false));

                pc.Append(new C.FirstSliceAngle() { Val = this.UsedChartOptions[iChartType].FirstSliceAngle });

                pa.Append(pc);
            }
            #endregion

            #region Radar primary
            iChartType = (int)SLDataSeriesChartType.RadarChartPrimary;
            if (this.UsedChartTypes[iChartType])
            {
                C.RadarChart rc = new C.RadarChart();
                rc.RadarStyle = new C.RadarStyle() { Val = this.UsedChartOptions[iChartType].RadarStyle };
                rc.VaryColors = new C.VaryColors() { Val = false };

                for (i = 0; i < this.DataSeries.Count; ++i)
                {
                    if ((int)this.DataSeries[i].ChartType == iChartType)
                    {
                        rc.Append(this.DataSeries[i].ToRadarChartSeries());
                    }
                }

                rc.Append(gdlo.ToDataLabels(new Dictionary<int, SLDataLabelOptions>(), false));

                rc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis1 });
                rc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis2 });

                pa.Append(rc);
            }
            #endregion

            #region Radar secondary
            iChartType = (int)SLDataSeriesChartType.RadarChartSecondary;
            if (this.UsedChartTypes[iChartType])
            {
                C.RadarChart rc = new C.RadarChart();
                rc.RadarStyle = new C.RadarStyle() { Val = this.UsedChartOptions[iChartType].RadarStyle };
                rc.VaryColors = new C.VaryColors() { Val = false };

                for (i = 0; i < this.DataSeries.Count; ++i)
                {
                    if ((int)this.DataSeries[i].ChartType == iChartType)
                    {
                        rc.Append(this.DataSeries[i].ToRadarChartSeries());
                    }
                }

                rc.Append(gdlo.ToDataLabels(new Dictionary<int, SLDataLabelOptions>(), false));

                rc.Append(new C.AxisId() { Val = SLConstants.SecondaryAxis1 });
                rc.Append(new C.AxisId() { Val = SLConstants.SecondaryAxis2 });

                pa.Append(rc);
            }
            #endregion

            #region Area primary
            iChartType = (int)SLDataSeriesChartType.AreaChartPrimary;
            if (this.UsedChartTypes[iChartType])
            {
                C.AreaChart ac = new C.AreaChart();
                ac.Grouping = new C.Grouping() { Val = this.UsedChartOptions[iChartType].Grouping };
                ac.VaryColors = new C.VaryColors() { Val = false };

                for (i = 0; i < this.DataSeries.Count; ++i)
                {
                    if ((int)this.DataSeries[i].ChartType == iChartType)
                    {
                        ac.Append(this.DataSeries[i].ToAreaChartSeries());
                    }
                }

                ac.Append(gdlo.ToDataLabels(new Dictionary<int, SLDataLabelOptions>(), false));

                ac.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis1 });
                ac.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis2 });

                pa.Append(ac);
            }
            #endregion

            #region Area secondary
            iChartType = (int)SLDataSeriesChartType.AreaChartSecondary;
            if (this.UsedChartTypes[iChartType])
            {
                C.AreaChart ac = new C.AreaChart();
                ac.Grouping = new C.Grouping() { Val = this.UsedChartOptions[iChartType].Grouping };
                ac.VaryColors = new C.VaryColors() { Val = false };

                for (i = 0; i < this.DataSeries.Count; ++i)
                {
                    if ((int)this.DataSeries[i].ChartType == iChartType)
                    {
                        ac.Append(this.DataSeries[i].ToAreaChartSeries());
                    }
                }

                ac.Append(gdlo.ToDataLabels(new Dictionary<int, SLDataLabelOptions>(), false));

                ac.Append(new C.AxisId() { Val = SLConstants.SecondaryAxis1 });
                ac.Append(new C.AxisId() { Val = SLConstants.SecondaryAxis2 });

                pa.Append(ac);
            }
            #endregion

            #region Column primary
            iChartType = (int)SLDataSeriesChartType.BarChartColumnPrimary;
            if (this.UsedChartTypes[iChartType])
            {
                C.BarChart bc = new C.BarChart();
                bc.BarDirection = new C.BarDirection() { Val = C.BarDirectionValues.Column };
                bc.BarGrouping = new C.BarGrouping() { Val = this.UsedChartOptions[iChartType].BarGrouping };
                bc.VaryColors = new C.VaryColors() { Val = false };

                for (i = 0; i < this.DataSeries.Count; ++i)
                {
                    if ((int)this.DataSeries[i].ChartType == iChartType)
                    {
                        bc.Append(this.DataSeries[i].ToBarChartSeries());
                    }
                }

                bc.Append(gdlo.ToDataLabels(new Dictionary<int, SLDataLabelOptions>(), false));

                bc.Append(new C.GapWidth() { Val = this.UsedChartOptions[iChartType].GapWidth });

                if (this.UsedChartOptions[iChartType].Overlap != 0)
                {
                    bc.Append(new C.Overlap() { Val = this.UsedChartOptions[iChartType].Overlap });
                }

                bc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis1 });
                bc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis2 });

                pa.Append(bc);
            }
            #endregion

            #region Column secondary
            iChartType = (int)SLDataSeriesChartType.BarChartColumnSecondary;
            if (this.UsedChartTypes[iChartType])
            {
                C.BarChart bc = new C.BarChart();
                bc.BarDirection = new C.BarDirection() { Val = C.BarDirectionValues.Column };
                bc.BarGrouping = new C.BarGrouping() { Val = this.UsedChartOptions[iChartType].BarGrouping };
                bc.VaryColors = new C.VaryColors() { Val = false };

                for (i = 0; i < this.DataSeries.Count; ++i)
                {
                    if ((int)this.DataSeries[i].ChartType == iChartType)
                    {
                        bc.Append(this.DataSeries[i].ToBarChartSeries());
                    }
                }

                bc.Append(gdlo.ToDataLabels(new Dictionary<int, SLDataLabelOptions>(), false));

                bc.Append(new C.GapWidth() { Val = this.UsedChartOptions[iChartType].GapWidth });

                if (this.UsedChartOptions[iChartType].Overlap != 0)
                {
                    bc.Append(new C.Overlap() { Val = this.UsedChartOptions[iChartType].Overlap });
                }

                bc.Append(new C.AxisId() { Val = SLConstants.SecondaryAxis1 });
                bc.Append(new C.AxisId() { Val = SLConstants.SecondaryAxis2 });

                pa.Append(bc);
            }
            #endregion

            #region Bar primary
            iChartType = (int)SLDataSeriesChartType.BarChartBarPrimary;
            if (this.UsedChartTypes[iChartType])
            {
                C.BarChart bc = new C.BarChart();
                bc.BarDirection = new C.BarDirection() { Val = C.BarDirectionValues.Bar };
                bc.BarGrouping = new C.BarGrouping() { Val = this.UsedChartOptions[iChartType].BarGrouping };
                bc.VaryColors = new C.VaryColors() { Val = false };

                for (i = 0; i < this.DataSeries.Count; ++i)
                {
                    if ((int)this.DataSeries[i].ChartType == iChartType)
                    {
                        bc.Append(this.DataSeries[i].ToBarChartSeries());
                    }
                }

                bc.Append(gdlo.ToDataLabels(new Dictionary<int, SLDataLabelOptions>(), false));

                bc.Append(new C.GapWidth() { Val = this.UsedChartOptions[iChartType].GapWidth });

                if (this.UsedChartOptions[iChartType].Overlap != 0)
                {
                    bc.Append(new C.Overlap() { Val = this.UsedChartOptions[iChartType].Overlap });
                }

                bc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis1 });
                bc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis2 });

                pa.Append(bc);
            }
            #endregion

            #region Bar secondary
            iChartType = (int)SLDataSeriesChartType.BarChartBarSecondary;
            if (this.UsedChartTypes[iChartType])
            {
                C.BarChart bc = new C.BarChart();
                bc.BarDirection = new C.BarDirection() { Val = C.BarDirectionValues.Bar };
                bc.BarGrouping = new C.BarGrouping() { Val = this.UsedChartOptions[iChartType].BarGrouping };
                bc.VaryColors = new C.VaryColors() { Val = false };

                for (i = 0; i < this.DataSeries.Count; ++i)
                {
                    if ((int)this.DataSeries[i].ChartType == iChartType)
                    {
                        bc.Append(this.DataSeries[i].ToBarChartSeries());
                    }
                }

                bc.Append(gdlo.ToDataLabels(new Dictionary<int, SLDataLabelOptions>(), false));

                bc.Append(new C.GapWidth() { Val = this.UsedChartOptions[iChartType].GapWidth });

                if (this.UsedChartOptions[iChartType].Overlap != 0)
                {
                    bc.Append(new C.Overlap() { Val = this.UsedChartOptions[iChartType].Overlap });
                }

                bc.Append(new C.AxisId() { Val = SLConstants.SecondaryAxis1 });
                bc.Append(new C.AxisId() { Val = SLConstants.SecondaryAxis2 });

                pa.Append(bc);
            }
            #endregion

            #region Scatter primary
            iChartType = (int)SLDataSeriesChartType.ScatterChartPrimary;
            if (this.UsedChartTypes[iChartType])
            {
                C.ScatterChart sc = new C.ScatterChart();
                sc.ScatterStyle = new C.ScatterStyle() { Val = this.UsedChartOptions[iChartType].ScatterStyle };
                sc.VaryColors = new C.VaryColors() { Val = false };

                for (i = 0; i < this.DataSeries.Count; ++i)
                {
                    if ((int)this.DataSeries[i].ChartType == iChartType)
                    {
                        sc.Append(this.DataSeries[i].ToScatterChartSeries());
                    }
                }

                sc.Append(gdlo.ToDataLabels(new Dictionary<int, SLDataLabelOptions>(), false));

                sc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis1 });
                sc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis2 });

                pa.Append(sc);
            }
            #endregion

            #region Scatter secondary
            iChartType = (int)SLDataSeriesChartType.ScatterChartSecondary;
            if (this.UsedChartTypes[iChartType])
            {
                C.ScatterChart sc = new C.ScatterChart();
                sc.ScatterStyle = new C.ScatterStyle() { Val = this.UsedChartOptions[iChartType].ScatterStyle };
                sc.VaryColors = new C.VaryColors() { Val = false };

                for (i = 0; i < this.DataSeries.Count; ++i)
                {
                    if ((int)this.DataSeries[i].ChartType == iChartType)
                    {
                        sc.Append(this.DataSeries[i].ToScatterChartSeries());
                    }
                }

                sc.Append(gdlo.ToDataLabels(new Dictionary<int, SLDataLabelOptions>(), false));

                sc.Append(new C.AxisId() { Val = SLConstants.SecondaryAxis1 });
                sc.Append(new C.AxisId() { Val = SLConstants.SecondaryAxis2 });

                pa.Append(sc);
            }
            #endregion

            #region Line primary
            iChartType = (int)SLDataSeriesChartType.LineChartPrimary;
            if (this.UsedChartTypes[iChartType])
            {
                C.LineChart lc = new C.LineChart();
                lc.Grouping = new C.Grouping() { Val = this.UsedChartOptions[iChartType].Grouping };
                lc.VaryColors = new C.VaryColors() { Val = false };

                for (i = 0; i < this.DataSeries.Count; ++i)
                {
                    if ((int)this.DataSeries[i].ChartType == iChartType)
                    {
                        lc.Append(this.DataSeries[i].ToLineChartSeries());
                    }
                }

                lc.Append(gdlo.ToDataLabels(new Dictionary<int, SLDataLabelOptions>(), false));

                lc.Append(new C.ShowMarker() { Val = this.UsedChartOptions[iChartType].ShowMarker });
                lc.Append(new C.Smooth() { Val = this.UsedChartOptions[iChartType].Smooth });

                lc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis1 });
                lc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis2 });

                pa.Append(lc);
            }
            #endregion

            #region Line secondary
            iChartType = (int)SLDataSeriesChartType.LineChartSecondary;
            if (this.UsedChartTypes[iChartType])
            {
                C.LineChart lc = new C.LineChart();
                lc.Grouping = new C.Grouping() { Val = this.UsedChartOptions[iChartType].Grouping };
                lc.VaryColors = new C.VaryColors() { Val = false };

                for (i = 0; i < this.DataSeries.Count; ++i)
                {
                    if ((int)this.DataSeries[i].ChartType == iChartType)
                    {
                        lc.Append(this.DataSeries[i].ToLineChartSeries());
                    }
                }

                lc.Append(gdlo.ToDataLabels(new Dictionary<int, SLDataLabelOptions>(), false));

                lc.Append(new C.ShowMarker() { Val = this.UsedChartOptions[iChartType].ShowMarker });
                lc.Append(new C.Smooth() { Val = this.UsedChartOptions[iChartType].Smooth });

                lc.Append(new C.AxisId() { Val = SLConstants.SecondaryAxis1 });
                lc.Append(new C.AxisId() { Val = SLConstants.SecondaryAxis2 });

                pa.Append(lc);
            }
            #endregion

            #region Area3D
            iChartType = (int)SLDataSeriesChartType.Area3DChart;
            if (this.UsedChartTypes[iChartType])
            {
                C.Area3DChart ac = new C.Area3DChart();
                ac.Grouping = new C.Grouping() { Val = this.UsedChartOptions[iChartType].Grouping };
                ac.VaryColors = new C.VaryColors() { Val = false };

                for (i = 0; i < this.DataSeries.Count; ++i)
                {
                    if ((int)this.DataSeries[i].ChartType == iChartType)
                    {
                        ac.Append(this.DataSeries[i].ToAreaChartSeries());
                    }
                }

                ac.Append(gdlo.ToDataLabels(new Dictionary<int, SLDataLabelOptions>(), false));

                if (this.UsedChartOptions[iChartType].GapDepth != 150)
                {
                    ac.Append(new C.GapDepth() { Val = this.UsedChartOptions[iChartType].GapDepth });
                }

                ac.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis1 });
                ac.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis2 });
                ac.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis3 });

                pa.Append(ac);
            }
            #endregion

            #region Bar3D
            iChartType = (int)SLDataSeriesChartType.Bar3DChart;
            if (this.UsedChartTypes[iChartType])
            {
                C.Bar3DChart bc = new C.Bar3DChart();
                bc.BarDirection = new C.BarDirection() { Val = this.UsedChartOptions[iChartType].BarDirection };
                bc.BarGrouping = new C.BarGrouping() { Val = this.UsedChartOptions[iChartType].BarGrouping };
                bc.VaryColors = new C.VaryColors() { Val = false };

                for (i = 0; i < this.DataSeries.Count; ++i)
                {
                    if ((int)this.DataSeries[i].ChartType == iChartType)
                    {
                        bc.Append(this.DataSeries[i].ToBarChartSeries());
                    }
                }

                bc.Append(gdlo.ToDataLabels(new Dictionary<int, SLDataLabelOptions>(), false));

                bc.Append(new C.GapWidth() { Val = this.UsedChartOptions[iChartType].GapWidth });

                if (this.UsedChartOptions[iChartType].GapDepth != 150)
                {
                    bc.Append(new C.GapDepth() { Val = this.UsedChartOptions[iChartType].GapDepth });
                }

                bc.Append(new C.Shape() { Val = this.UsedChartOptions[iChartType].Shape });

                bc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis1 });
                bc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis2 });
                bc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis3 });

                pa.Append(bc);
            }
            #endregion

            #region Bubble
            iChartType = (int)SLDataSeriesChartType.BubbleChart;
            if (this.UsedChartTypes[iChartType])
            {
                C.BubbleChart bc = new C.BubbleChart();
                bc.VaryColors = new C.VaryColors() { Val = false };

                for (i = 0; i < this.DataSeries.Count; ++i)
                {
                    if ((int)this.DataSeries[i].ChartType == iChartType)
                    {
                        bc.Append(this.DataSeries[i].ToBubbleChartSeries());
                    }
                }

                bc.Append(gdlo.ToDataLabels(new Dictionary<int, SLDataLabelOptions>(), false));

                if (!this.UsedChartOptions[iChartType].Bubble3D)
                {
                    bc.Append(new C.Bubble3D() { Val = this.UsedChartOptions[iChartType].Bubble3D });
                }

                if (this.UsedChartOptions[iChartType].BubbleScale != 100)
                {
                    bc.Append(new C.BubbleScale() { Val = this.UsedChartOptions[iChartType].BubbleScale });
                }

                if (!this.UsedChartOptions[iChartType].ShowNegativeBubbles)
                {
                    bc.Append(new C.ShowNegativeBubbles() { Val = this.UsedChartOptions[iChartType].ShowNegativeBubbles });
                }

                if (this.UsedChartOptions[iChartType].SizeRepresents != C.SizeRepresentsValues.Area)
                {
                    bc.Append(new C.SizeRepresents() { Val = this.UsedChartOptions[iChartType].SizeRepresents });
                }

                bc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis1 });
                bc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis2 });

                pa.Append(bc);
            }
            #endregion

            #region Line3D
            iChartType = (int)SLDataSeriesChartType.Line3DChart;
            if (this.UsedChartTypes[iChartType])
            {
                C.Line3DChart lc = new C.Line3DChart();
                lc.Grouping = new C.Grouping() { Val = this.UsedChartOptions[iChartType].Grouping };
                lc.VaryColors = new C.VaryColors() { Val = false };

                for (i = 0; i < this.DataSeries.Count; ++i)
                {
                    if ((int)this.DataSeries[i].ChartType == iChartType)
                    {
                        lc.Append(this.DataSeries[i].ToLineChartSeries());
                    }
                }

                lc.Append(gdlo.ToDataLabels(new Dictionary<int, SLDataLabelOptions>(), false));

                if (this.UsedChartOptions[iChartType].GapDepth != 150)
                {
                    lc.Append(new C.GapDepth() { Val = this.UsedChartOptions[iChartType].GapDepth });
                }

                lc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis1 });
                lc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis2 });
                lc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis3 });

                pa.Append(lc);
            }
            #endregion

            #region Pie3D
            iChartType = (int)SLDataSeriesChartType.Pie3DChart;
            if (this.UsedChartTypes[iChartType])
            {
                C.Pie3DChart pc = new C.Pie3DChart();
                pc.VaryColors = new C.VaryColors() { Val = this.UsedChartOptions[iChartType].VaryColors ?? true };

                for (i = 0; i < this.DataSeries.Count; ++i)
                {
                    if ((int)this.DataSeries[i].ChartType == iChartType)
                    {
                        pc.Append(this.DataSeries[i].ToPieChartSeries());
                    }
                }

                pc.Append(gdlo.ToDataLabels(new Dictionary<int, SLDataLabelOptions>(), false));

                pa.Append(pc);
            }
            #endregion

            #region Surface
            iChartType = (int)SLDataSeriesChartType.SurfaceChart;
            if (this.UsedChartTypes[iChartType])
            {
                C.SurfaceChart sc = new C.SurfaceChart();
                if (this.UsedChartOptions[iChartType].bWireframe != null)
                {
                    sc.Wireframe = new C.Wireframe() { Val = this.UsedChartOptions[iChartType].Wireframe };
                }

                for (i = 0; i < this.DataSeries.Count; ++i)
                {
                    if ((int)this.DataSeries[i].ChartType == iChartType)
                    {
                        sc.Append(this.DataSeries[i].ToSurfaceChartSeries());
                    }
                }

                sc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis1 });
                sc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis2 });
                sc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis3 });

                pa.Append(sc);
            }
            #endregion

            #region Surface3D
            iChartType = (int)SLDataSeriesChartType.Surface3DChart;
            if (this.UsedChartTypes[iChartType])
            {
                C.Surface3DChart sc = new C.Surface3DChart();
                if (this.UsedChartOptions[iChartType].bWireframe != null)
                {
                    sc.Wireframe = new C.Wireframe() { Val = this.UsedChartOptions[iChartType].Wireframe };
                }

                for (i = 0; i < this.DataSeries.Count; ++i)
                {
                    if ((int)this.DataSeries[i].ChartType == iChartType)
                    {
                        sc.Append(this.DataSeries[i].ToSurfaceChartSeries());
                    }
                }

                sc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis1 });
                sc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis2 });
                sc.Append(new C.AxisId() { Val = SLConstants.PrimaryAxis3 });

                pa.Append(sc);
            }
            #endregion

            if (this.HasPrimaryAxes)
            {
                this.PrimaryTextAxis.IsCrosses = this.PrimaryValueAxis.OtherAxisIsCrosses;
                this.PrimaryTextAxis.Crosses = this.PrimaryValueAxis.OtherAxisCrosses;
                this.PrimaryTextAxis.CrossesAt = this.PrimaryValueAxis.OtherAxisCrossesAt;

                this.PrimaryTextAxis.OtherAxisIsInReverseOrder = this.PrimaryValueAxis.InReverseOrder;

                if (this.PrimaryValueAxis.OtherAxisIsCrosses != null
                    && this.PrimaryValueAxis.OtherAxisIsCrosses.Value
                    && this.PrimaryValueAxis.OtherAxisCrosses == C.CrossesValues.Maximum)
                {
                    this.PrimaryTextAxis.OtherAxisCrossedAtMaximum = true;
                }
                else
                {
                    this.PrimaryTextAxis.OtherAxisCrossedAtMaximum = false;
                }

                this.PrimaryValueAxis.IsCrosses = this.PrimaryTextAxis.OtherAxisIsCrosses;
                this.PrimaryValueAxis.Crosses = this.PrimaryTextAxis.OtherAxisCrosses;
                this.PrimaryValueAxis.CrossesAt = this.PrimaryTextAxis.OtherAxisCrossesAt;

                // value axis takes on text axis CrossBetween.
                this.PrimaryValueAxis.CrossBetween = this.PrimaryTextAxis.CrossBetween;

                this.PrimaryValueAxis.OtherAxisIsInReverseOrder = this.PrimaryTextAxis.InReverseOrder;

                if (this.PrimaryTextAxis.OtherAxisIsCrosses != null
                    && this.PrimaryTextAxis.OtherAxisIsCrosses.Value
                    && this.PrimaryTextAxis.OtherAxisCrosses == C.CrossesValues.Maximum)
                {
                    this.PrimaryValueAxis.OtherAxisCrossedAtMaximum = true;
                }
                else
                {
                    this.PrimaryValueAxis.OtherAxisCrossedAtMaximum = false;
                }

                switch (this.PrimaryTextAxis.AxisType)
                {
                    case SLAxisType.Category:
                        pa.Append(this.PrimaryTextAxis.ToCategoryAxis());
                        break;
                    case SLAxisType.Date:
                        pa.Append(this.PrimaryTextAxis.ToDateAxis());
                        break;
                    case SLAxisType.Value:
                        pa.Append(this.PrimaryTextAxis.ToValueAxis());
                        break;
                }
                pa.Append(this.PrimaryValueAxis.ToValueAxis());
            }

            if (this.HasDepthAxis)
            {
                pa.Append(this.DepthAxis.ToSeriesAxis());
            }

            if (this.HasSecondaryAxes)
            {
                this.SecondaryTextAxis.IsCrosses = this.SecondaryValueAxis.OtherAxisIsCrosses;
                this.SecondaryTextAxis.Crosses = this.SecondaryValueAxis.OtherAxisCrosses;
                this.SecondaryTextAxis.CrossesAt = this.SecondaryValueAxis.OtherAxisCrossesAt;

                this.SecondaryTextAxis.OtherAxisIsInReverseOrder = this.SecondaryValueAxis.InReverseOrder;

                if (this.SecondaryValueAxis.OtherAxisIsCrosses != null
                    && this.SecondaryValueAxis.OtherAxisIsCrosses.Value
                    && this.SecondaryValueAxis.OtherAxisCrosses == C.CrossesValues.Maximum)
                {
                    this.SecondaryTextAxis.OtherAxisCrossedAtMaximum = true;
                }
                else
                {
                    this.SecondaryTextAxis.OtherAxisCrossedAtMaximum = false;
                }

                this.SecondaryValueAxis.IsCrosses = this.SecondaryTextAxis.OtherAxisIsCrosses;
                this.SecondaryValueAxis.Crosses = this.SecondaryTextAxis.OtherAxisCrosses;
                this.SecondaryValueAxis.CrossesAt = this.SecondaryTextAxis.OtherAxisCrossesAt;

                // value axis takes on text axis CrossBetween.
                this.SecondaryValueAxis.CrossBetween = this.SecondaryTextAxis.CrossBetween;

                this.SecondaryValueAxis.OtherAxisIsInReverseOrder = this.SecondaryTextAxis.InReverseOrder;

                if (this.SecondaryTextAxis.OtherAxisIsCrosses != null
                    && this.SecondaryTextAxis.OtherAxisIsCrosses.Value
                    && this.SecondaryTextAxis.OtherAxisCrosses == C.CrossesValues.Maximum)
                {
                    this.SecondaryValueAxis.OtherAxisCrossedAtMaximum = true;
                }
                else
                {
                    this.SecondaryValueAxis.OtherAxisCrossedAtMaximum = false;
                }

                // the order of axes is:
                // 1) primary category/date/value axis
                // 2) primary value axis
                // 3) secondary value axis
                // 4) secondary category/date/value axis
                pa.Append(this.SecondaryValueAxis.ToValueAxis());
                switch (this.SecondaryTextAxis.AxisType)
                {
                    case SLAxisType.Category:
                        pa.Append(this.SecondaryTextAxis.ToCategoryAxis());
                        break;
                    case SLAxisType.Date:
                        pa.Append(this.SecondaryTextAxis.ToDateAxis());
                        break;
                    case SLAxisType.Value:
                        pa.Append(this.SecondaryTextAxis.ToValueAxis());
                        break;
                }
            }

            if (this.ShowDataTable) pa.Append(this.DataTable.ToDataTable());

            if (this.ShapeProperties.HasShapeProperties) pa.Append(this.ShapeProperties.ToChartShapeProperties());

            return pa;
        }
        // Generates content of chartPart1.
        private void GenerateChartPart1Content(ChartPart chartPart1)
        {
            C.ChartSpace chartSpace1 = new C.ChartSpace();
            chartSpace1.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace1.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace1.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date19041 = new C.Date1904() { Val = false };
            C.EditingLanguage editingLanguage1 = new C.EditingLanguage() { Val = "en-US" };
            C.RoundedCorners roundedCorners1 = new C.RoundedCorners() { Val = false };

            AlternateContent alternateContent1 = new AlternateContent();
            alternateContent1.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            AlternateContentChoice alternateContentChoice1 = new AlternateContentChoice() { Requires = "c14" };
            alternateContentChoice1.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            C14.Style style50 = new C14.Style() { Val = 102 };

            alternateContentChoice1.Append(style50);

            AlternateContentFallback alternateContentFallback1 = new AlternateContentFallback();
            C.Style style51 = new C.Style() { Val = 2 };

            alternateContentFallback1.Append(style51);

            alternateContent1.Append(alternateContentChoice1);
            alternateContent1.Append(alternateContentFallback1);

            C.Chart chart1 = new C.Chart();

            C.Title title2 = new C.Title();
            C.Layout layout1 = new C.Layout();
            C.Overlay overlay1 = new C.Overlay() { Val = false };

            C.ChartShapeProperties chartShapeProperties1 = new C.ChartShapeProperties();
            A.NoFill noFill2 = new A.NoFill();

            A.Outline outline13 = new A.Outline();
            A.NoFill noFill3 = new A.NoFill();

            outline13.Append(noFill3);
            A.EffectList effectList12 = new A.EffectList();

            chartShapeProperties1.Append(noFill2);
            chartShapeProperties1.Append(outline13);
            chartShapeProperties1.Append(effectList12);

            C.TextProperties textProperties50 = new C.TextProperties();
            A.BodyProperties bodyProperties25 = new A.BodyProperties() { Rotation = 0, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle25 = new A.ListStyle();

            A.Paragraph paragraph25 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties8 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties1 = new A.DefaultRunProperties() { FontSize = 1400, Bold = false, Italic = false, Underline = A.TextUnderlineValues.None, Strike = A.TextStrikeValues.NoStrike, Kerning = 1200, Spacing = 0, Baseline = 0 };

            A.SolidFill solidFill24 = new A.SolidFill();

            A.SchemeColor schemeColor197 = new A.SchemeColor() { Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation4 = new A.LuminanceModulation() { Val = 65000 };
            A.LuminanceOffset luminanceOffset14 = new A.LuminanceOffset() { Val = 35000 };

            schemeColor197.Append(luminanceModulation4);
            schemeColor197.Append(luminanceOffset14);

            solidFill24.Append(schemeColor197);
            A.LatinFont latinFont3 = new A.LatinFont() { Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont3 = new A.EastAsianFont() { Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont3 = new A.ComplexScriptFont() { Typeface = "+mn-cs" };

            defaultRunProperties1.Append(solidFill24);
            defaultRunProperties1.Append(latinFont3);
            defaultRunProperties1.Append(eastAsianFont3);
            defaultRunProperties1.Append(complexScriptFont3);

            paragraphProperties8.Append(defaultRunProperties1);
            A.EndParagraphRunProperties endParagraphRunProperties14 = new A.EndParagraphRunProperties() { Language = "en-US" };

            paragraph25.Append(paragraphProperties8);
            paragraph25.Append(endParagraphRunProperties14);

            textProperties50.Append(bodyProperties25);
            textProperties50.Append(listStyle25);
            textProperties50.Append(paragraph25);

            title2.Append(layout1);
            title2.Append(overlay1);
            title2.Append(chartShapeProperties1);
            title2.Append(textProperties50);
            C.AutoTitleDeleted autoTitleDeleted1 = new C.AutoTitleDeleted() { Val = false };

            C.PlotArea plotArea1 = new C.PlotArea();
            C.Layout layout2 = new C.Layout();

            C.BarChart barChart1 = new C.BarChart();
            C.BarDirection barDirection1 = new C.BarDirection() { Val = C.BarDirectionValues.Column };
            C.BarGrouping barGrouping1 = new C.BarGrouping() { Val = C.BarGroupingValues.Clustered };
            C.VaryColors varyColors1 = new C.VaryColors() { Val = false };

            C.BarChartSeries barChartSeries1 = new C.BarChartSeries();
            C.Index index1 = new C.Index() { Val = (UInt32Value)0U };
            C.Order order1 = new C.Order() { Val = (UInt32Value)0U };

            C.ChartShapeProperties chartShapeProperties2 = new C.ChartShapeProperties();

            A.SolidFill solidFill25 = new A.SolidFill();
            A.SchemeColor schemeColor198 = new A.SchemeColor() { Val = A.SchemeColorValues.Accent1 };

            solidFill25.Append(schemeColor198);

            A.Outline outline14 = new A.Outline();
            A.NoFill noFill4 = new A.NoFill();

            outline14.Append(noFill4);
            A.EffectList effectList13 = new A.EffectList();

            chartShapeProperties2.Append(solidFill25);
            chartShapeProperties2.Append(outline14);
            chartShapeProperties2.Append(effectList13);
            C.InvertIfNegative invertIfNegative1 = new C.InvertIfNegative() { Val = false };

            C.Values values1 = new C.Values();

            C.NumberReference numberReference1 = new C.NumberReference();
            C.Formula formula1 = new C.Formula();
            formula1.Text = "Sheet1!$A$1:$A$5";

            C.NumberingCache numberingCache1 = new C.NumberingCache();
            C.FormatCode formatCode1 = new C.FormatCode();
            formatCode1.Text = "General";
            C.PointCount pointCount1 = new C.PointCount() { Val = (UInt32Value)5U };

            C.NumericPoint numericPoint1 = new C.NumericPoint() { Index = (UInt32Value)0U };
            C.NumericValue numericValue1 = new C.NumericValue();
            numericValue1.Text = "1";

            numericPoint1.Append(numericValue1);

            C.NumericPoint numericPoint2 = new C.NumericPoint() { Index = (UInt32Value)1U };
            C.NumericValue numericValue2 = new C.NumericValue();
            numericValue2.Text = "2";

            numericPoint2.Append(numericValue2);

            C.NumericPoint numericPoint3 = new C.NumericPoint() { Index = (UInt32Value)2U };
            C.NumericValue numericValue3 = new C.NumericValue();
            numericValue3.Text = "3";

            numericPoint3.Append(numericValue3);

            C.NumericPoint numericPoint4 = new C.NumericPoint() { Index = (UInt32Value)3U };
            C.NumericValue numericValue4 = new C.NumericValue();
            numericValue4.Text = "4";

            numericPoint4.Append(numericValue4);

            C.NumericPoint numericPoint5 = new C.NumericPoint() { Index = (UInt32Value)4U };
            C.NumericValue numericValue5 = new C.NumericValue();
            numericValue5.Text = "5";

            numericPoint5.Append(numericValue5);

            numberingCache1.Append(formatCode1);
            numberingCache1.Append(pointCount1);
            numberingCache1.Append(numericPoint1);
            numberingCache1.Append(numericPoint2);
            numberingCache1.Append(numericPoint3);
            numberingCache1.Append(numericPoint4);
            numberingCache1.Append(numericPoint5);

            numberReference1.Append(formula1);
            numberReference1.Append(numberingCache1);

            values1.Append(numberReference1);

            barChartSeries1.Append(index1);
            barChartSeries1.Append(order1);
            barChartSeries1.Append(chartShapeProperties2);
            barChartSeries1.Append(invertIfNegative1);
            barChartSeries1.Append(values1);

            C.DataLabels dataLabels1 = new C.DataLabels();
            C.ShowLegendKey showLegendKey1 = new C.ShowLegendKey() { Val = false };
            C.ShowValue showValue1 = new C.ShowValue() { Val = false };
            C.ShowCategoryName showCategoryName1 = new C.ShowCategoryName() { Val = false };
            C.ShowSeriesName showSeriesName1 = new C.ShowSeriesName() { Val = false };
            C.ShowPercent showPercent1 = new C.ShowPercent() { Val = false };
            C.ShowBubbleSize showBubbleSize1 = new C.ShowBubbleSize() { Val = false };

            dataLabels1.Append(showLegendKey1);
            dataLabels1.Append(showValue1);
            dataLabels1.Append(showCategoryName1);
            dataLabels1.Append(showSeriesName1);
            dataLabels1.Append(showPercent1);
            dataLabels1.Append(showBubbleSize1);
            C.GapWidth gapWidth1 = new C.GapWidth() { Val = (UInt16Value)219U };
            C.Overlap overlap1 = new C.Overlap() { Val = -27 };
            C.AxisId axisId1 = new C.AxisId() { Val = (UInt32Value)414168296U };
            C.AxisId axisId2 = new C.AxisId() { Val = (UInt32Value)415864936U };

            barChart1.Append(barDirection1);
            barChart1.Append(barGrouping1);
            barChart1.Append(varyColors1);
            barChart1.Append(barChartSeries1);
            barChart1.Append(dataLabels1);
            barChart1.Append(gapWidth1);
            barChart1.Append(overlap1);
            barChart1.Append(axisId1);
            barChart1.Append(axisId2);

            C.CategoryAxis categoryAxis1 = new C.CategoryAxis();
            C.AxisId axisId3 = new C.AxisId() { Val = (UInt32Value)414168296U };

            C.Scaling scaling1 = new C.Scaling();
            C.Orientation orientation1 = new C.Orientation() { Val = C.OrientationValues.MinMax };

            scaling1.Append(orientation1);
            C.Delete delete1 = new C.Delete() { Val = false };
            C.AxisPosition axisPosition1 = new C.AxisPosition() { Val = C.AxisPositionValues.Bottom };
            C.NumberingFormat numberingFormat1 = new C.NumberingFormat() { FormatCode = "General", SourceLinked = true };
            C.MajorTickMark majorTickMark1 = new C.MajorTickMark() { Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark1 = new C.MinorTickMark() { Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition1 = new C.TickLabelPosition() { Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties3 = new C.ChartShapeProperties();
            A.NoFill noFill5 = new A.NoFill();

            A.Outline outline15 = new A.Outline() { Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill26 = new A.SolidFill();

            A.SchemeColor schemeColor199 = new A.SchemeColor() { Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation5 = new A.LuminanceModulation() { Val = 15000 };
            A.LuminanceOffset luminanceOffset15 = new A.LuminanceOffset() { Val = 85000 };

            schemeColor199.Append(luminanceModulation5);
            schemeColor199.Append(luminanceOffset15);

            solidFill26.Append(schemeColor199);
            A.Round round1 = new A.Round();

            outline15.Append(solidFill26);
            outline15.Append(round1);
            A.EffectList effectList14 = new A.EffectList();

            chartShapeProperties3.Append(noFill5);
            chartShapeProperties3.Append(outline15);
            chartShapeProperties3.Append(effectList14);

            C.TextProperties textProperties51 = new C.TextProperties();
            A.BodyProperties bodyProperties26 = new A.BodyProperties() { Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle26 = new A.ListStyle();

            A.Paragraph paragraph26 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties9 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties2 = new A.DefaultRunProperties() { FontSize = 900, Bold = false, Italic = false, Underline = A.TextUnderlineValues.None, Strike = A.TextStrikeValues.NoStrike, Kerning = 1200, Baseline = 0 };

            A.SolidFill solidFill27 = new A.SolidFill();

            A.SchemeColor schemeColor200 = new A.SchemeColor() { Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation6 = new A.LuminanceModulation() { Val = 65000 };
            A.LuminanceOffset luminanceOffset16 = new A.LuminanceOffset() { Val = 35000 };

            schemeColor200.Append(luminanceModulation6);
            schemeColor200.Append(luminanceOffset16);

            solidFill27.Append(schemeColor200);
            A.LatinFont latinFont4 = new A.LatinFont() { Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont4 = new A.EastAsianFont() { Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont4 = new A.ComplexScriptFont() { Typeface = "+mn-cs" };

            defaultRunProperties2.Append(solidFill27);
            defaultRunProperties2.Append(latinFont4);
            defaultRunProperties2.Append(eastAsianFont4);
            defaultRunProperties2.Append(complexScriptFont4);

            paragraphProperties9.Append(defaultRunProperties2);
            A.EndParagraphRunProperties endParagraphRunProperties15 = new A.EndParagraphRunProperties() { Language = "en-US" };

            paragraph26.Append(paragraphProperties9);
            paragraph26.Append(endParagraphRunProperties15);

            textProperties51.Append(bodyProperties26);
            textProperties51.Append(listStyle26);
            textProperties51.Append(paragraph26);
            C.CrossingAxis crossingAxis1 = new C.CrossingAxis() { Val = (UInt32Value)415864936U };
            C.Crosses crosses1 = new C.Crosses() { Val = C.CrossesValues.AutoZero };
            C.AutoLabeled autoLabeled1 = new C.AutoLabeled() { Val = true };
            C.LabelAlignment labelAlignment1 = new C.LabelAlignment() { Val = C.LabelAlignmentValues.Center };
            C.LabelOffset labelOffset1 = new C.LabelOffset() { Val = (UInt16Value)100U };
            C.NoMultiLevelLabels noMultiLevelLabels1 = new C.NoMultiLevelLabels() { Val = false };

            categoryAxis1.Append(axisId3);
            categoryAxis1.Append(scaling1);
            categoryAxis1.Append(delete1);
            categoryAxis1.Append(axisPosition1);
            categoryAxis1.Append(numberingFormat1);
            categoryAxis1.Append(majorTickMark1);
            categoryAxis1.Append(minorTickMark1);
            categoryAxis1.Append(tickLabelPosition1);
            categoryAxis1.Append(chartShapeProperties3);
            categoryAxis1.Append(textProperties51);
            categoryAxis1.Append(crossingAxis1);
            categoryAxis1.Append(crosses1);
            categoryAxis1.Append(autoLabeled1);
            categoryAxis1.Append(labelAlignment1);
            categoryAxis1.Append(labelOffset1);
            categoryAxis1.Append(noMultiLevelLabels1);

            C.ValueAxis valueAxis1 = new C.ValueAxis();
            C.AxisId axisId4 = new C.AxisId() { Val = (UInt32Value)415864936U };

            C.Scaling scaling2 = new C.Scaling();
            C.Orientation orientation2 = new C.Orientation() { Val = C.OrientationValues.MinMax };

            scaling2.Append(orientation2);
            C.Delete delete2 = new C.Delete() { Val = false };
            C.AxisPosition axisPosition2 = new C.AxisPosition() { Val = C.AxisPositionValues.Left };

            C.MajorGridlines majorGridlines1 = new C.MajorGridlines();

            C.ChartShapeProperties chartShapeProperties4 = new C.ChartShapeProperties();

            A.Outline outline16 = new A.Outline() { Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill28 = new A.SolidFill();

            A.SchemeColor schemeColor201 = new A.SchemeColor() { Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation7 = new A.LuminanceModulation() { Val = 15000 };
            A.LuminanceOffset luminanceOffset17 = new A.LuminanceOffset() { Val = 85000 };

            schemeColor201.Append(luminanceModulation7);
            schemeColor201.Append(luminanceOffset17);

            solidFill28.Append(schemeColor201);
            A.Round round2 = new A.Round();

            outline16.Append(solidFill28);
            outline16.Append(round2);
            A.EffectList effectList15 = new A.EffectList();

            chartShapeProperties4.Append(outline16);
            chartShapeProperties4.Append(effectList15);

            majorGridlines1.Append(chartShapeProperties4);
            C.NumberingFormat numberingFormat2 = new C.NumberingFormat() { FormatCode = "General", SourceLinked = true };
            C.MajorTickMark majorTickMark2 = new C.MajorTickMark() { Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark2 = new C.MinorTickMark() { Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition2 = new C.TickLabelPosition() { Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties5 = new C.ChartShapeProperties();
            A.NoFill noFill6 = new A.NoFill();

            A.Outline outline17 = new A.Outline();
            A.NoFill noFill7 = new A.NoFill();

            outline17.Append(noFill7);
            A.EffectList effectList16 = new A.EffectList();

            chartShapeProperties5.Append(noFill6);
            chartShapeProperties5.Append(outline17);
            chartShapeProperties5.Append(effectList16);

            C.TextProperties textProperties52 = new C.TextProperties();
            A.BodyProperties bodyProperties27 = new A.BodyProperties() { Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle27 = new A.ListStyle();

            A.Paragraph paragraph27 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties10 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties3 = new A.DefaultRunProperties() { FontSize = 900, Bold = false, Italic = false, Underline = A.TextUnderlineValues.None, Strike = A.TextStrikeValues.NoStrike, Kerning = 1200, Baseline = 0 };

            A.SolidFill solidFill29 = new A.SolidFill();

            A.SchemeColor schemeColor202 = new A.SchemeColor() { Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation8 = new A.LuminanceModulation() { Val = 65000 };
            A.LuminanceOffset luminanceOffset18 = new A.LuminanceOffset() { Val = 35000 };

            schemeColor202.Append(luminanceModulation8);
            schemeColor202.Append(luminanceOffset18);

            solidFill29.Append(schemeColor202);
            A.LatinFont latinFont5 = new A.LatinFont() { Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont5 = new A.EastAsianFont() { Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont5 = new A.ComplexScriptFont() { Typeface = "+mn-cs" };

            defaultRunProperties3.Append(solidFill29);
            defaultRunProperties3.Append(latinFont5);
            defaultRunProperties3.Append(eastAsianFont5);
            defaultRunProperties3.Append(complexScriptFont5);

            paragraphProperties10.Append(defaultRunProperties3);
            A.EndParagraphRunProperties endParagraphRunProperties16 = new A.EndParagraphRunProperties() { Language = "en-US" };

            paragraph27.Append(paragraphProperties10);
            paragraph27.Append(endParagraphRunProperties16);

            textProperties52.Append(bodyProperties27);
            textProperties52.Append(listStyle27);
            textProperties52.Append(paragraph27);
            C.CrossingAxis crossingAxis2 = new C.CrossingAxis() { Val = (UInt32Value)414168296U };
            C.Crosses crosses2 = new C.Crosses() { Val = C.CrossesValues.AutoZero };
            C.CrossBetween crossBetween1 = new C.CrossBetween() { Val = C.CrossBetweenValues.Between };

            valueAxis1.Append(axisId4);
            valueAxis1.Append(scaling2);
            valueAxis1.Append(delete2);
            valueAxis1.Append(axisPosition2);
            valueAxis1.Append(majorGridlines1);
            valueAxis1.Append(numberingFormat2);
            valueAxis1.Append(majorTickMark2);
            valueAxis1.Append(minorTickMark2);
            valueAxis1.Append(tickLabelPosition2);
            valueAxis1.Append(chartShapeProperties5);
            valueAxis1.Append(textProperties52);
            valueAxis1.Append(crossingAxis2);
            valueAxis1.Append(crosses2);
            valueAxis1.Append(crossBetween1);

            C.ShapeProperties shapeProperties36 = new C.ShapeProperties();
            A.NoFill noFill8 = new A.NoFill();

            A.Outline outline18 = new A.Outline();
            A.NoFill noFill9 = new A.NoFill();

            outline18.Append(noFill9);
            A.EffectList effectList17 = new A.EffectList();

            shapeProperties36.Append(noFill8);
            shapeProperties36.Append(outline18);
            shapeProperties36.Append(effectList17);

            plotArea1.Append(layout2);
            plotArea1.Append(barChart1);
            plotArea1.Append(categoryAxis1);
            plotArea1.Append(valueAxis1);
            plotArea1.Append(shapeProperties36);
            C.PlotVisibleOnly plotVisibleOnly1 = new C.PlotVisibleOnly() { Val = true };
            C.DisplayBlanksAs displayBlanksAs1 = new C.DisplayBlanksAs() { Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum1 = new C.ShowDataLabelsOverMaximum() { Val = false };

            chart1.Append(title2);
            chart1.Append(autoTitleDeleted1);
            chart1.Append(plotArea1);
            chart1.Append(plotVisibleOnly1);
            chart1.Append(displayBlanksAs1);
            chart1.Append(showDataLabelsOverMaximum1);

            C.ShapeProperties shapeProperties37 = new C.ShapeProperties();

            A.SolidFill solidFill30 = new A.SolidFill();
            A.SchemeColor schemeColor203 = new A.SchemeColor() { Val = A.SchemeColorValues.Background1 };

            solidFill30.Append(schemeColor203);

            A.Outline outline19 = new A.Outline() { Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill31 = new A.SolidFill();

            A.SchemeColor schemeColor204 = new A.SchemeColor() { Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation9 = new A.LuminanceModulation() { Val = 15000 };
            A.LuminanceOffset luminanceOffset19 = new A.LuminanceOffset() { Val = 85000 };

            schemeColor204.Append(luminanceModulation9);
            schemeColor204.Append(luminanceOffset19);

            solidFill31.Append(schemeColor204);
            A.Round round3 = new A.Round();

            outline19.Append(solidFill31);
            outline19.Append(round3);
            A.EffectList effectList18 = new A.EffectList();

            shapeProperties37.Append(solidFill30);
            shapeProperties37.Append(outline19);
            shapeProperties37.Append(effectList18);

            C.TextProperties textProperties53 = new C.TextProperties();
            A.BodyProperties bodyProperties28 = new A.BodyProperties();
            A.ListStyle listStyle28 = new A.ListStyle();

            A.Paragraph paragraph28 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties11 = new A.ParagraphProperties();
            A.DefaultRunProperties defaultRunProperties4 = new A.DefaultRunProperties();

            paragraphProperties11.Append(defaultRunProperties4);
            A.EndParagraphRunProperties endParagraphRunProperties17 = new A.EndParagraphRunProperties() { Language = "en-US" };

            paragraph28.Append(paragraphProperties11);
            paragraph28.Append(endParagraphRunProperties17);

            textProperties53.Append(bodyProperties28);
            textProperties53.Append(listStyle28);
            textProperties53.Append(paragraph28);

            C.PrintSettings printSettings1 = new C.PrintSettings();
            C.HeaderFooter headerFooter1 = new C.HeaderFooter();
            C.PageMargins pageMargins3 = new C.PageMargins() { Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };
            C.PageSetup pageSetup2 = new C.PageSetup();

            printSettings1.Append(headerFooter1);
            printSettings1.Append(pageMargins3);
            printSettings1.Append(pageSetup2);

            chartSpace1.Append(date19041);
            chartSpace1.Append(editingLanguage1);
            chartSpace1.Append(roundedCorners1);
            chartSpace1.Append(alternateContent1);
            chartSpace1.Append(chart1);
            chartSpace1.Append(shapeProperties37);
            chartSpace1.Append(textProperties53);
            chartSpace1.Append(printSettings1);

            chartPart1.ChartSpace = chartSpace1;
        }
        // Generates content of chartPart8.
        private void GenerateChartPart8Content(ChartPart chartPart8)
        {
            C.ChartSpace chartSpace8 = new C.ChartSpace();
            chartSpace8.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace8.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace8.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date19048 = new C.Date1904(){ Val = false };
            C.EditingLanguage editingLanguage8 = new C.EditingLanguage(){ Val = "en-US" };
            C.RoundedCorners roundedCorners8 = new C.RoundedCorners(){ Val = false };

            AlternateContent alternateContent17 = new AlternateContent();
            alternateContent17.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            AlternateContentChoice alternateContentChoice17 = new AlternateContentChoice(){ Requires = "c14" };
            alternateContentChoice17.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            C14.Style style15 = new C14.Style(){ Val = 101 };

            alternateContentChoice17.Append(style15);

            AlternateContentFallback alternateContentFallback16 = new AlternateContentFallback();
            C.Style style16 = new C.Style(){ Val = 1 };

            alternateContentFallback16.Append(style16);

            alternateContent17.Append(alternateContentChoice17);
            alternateContent17.Append(alternateContentFallback16);

            C.PivotSource pivotSource8 = new C.PivotSource();
            C.PivotTableName pivotTableName8 = new C.PivotTableName();
            pivotTableName8.Text = "[GeneratedDocument.xlsx]ShowHeader!PivotTable1";
            C.FormatId formatId8 = new C.FormatId(){ Val = (UInt32Value)9U };

            pivotSource8.Append(pivotTableName8);
            pivotSource8.Append(formatId8);

            C.Chart chart8 = new C.Chart();

            C.Title title8 = new C.Title();
            C.Overlay overlay15 = new C.Overlay(){ Val = false };

            title8.Append(overlay15);
            C.AutoTitleDeleted autoTitleDeleted8 = new C.AutoTitleDeleted(){ Val = false };

            C.PivotFormats pivotFormats8 = new C.PivotFormats();

            C.PivotFormat pivotFormat50 = new C.PivotFormat();
            C.Index index57 = new C.Index(){ Val = (UInt32Value)0U };

            C.ShapeProperties shapeProperties24 = new C.ShapeProperties();

            A.SolidFill solidFill44 = new A.SolidFill();

            A.SchemeColor schemeColor28 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint14 = new A.Tint(){ Val = 100000 };

            schemeColor28.Append(tint14);

            solidFill44.Append(schemeColor28);

            A.Outline outline34 = new A.Outline();
            A.NoFill noFill28 = new A.NoFill();

            outline34.Append(noFill28);
            A.EffectList effectList26 = new A.EffectList();

            shapeProperties24.Append(solidFill44);
            shapeProperties24.Append(outline34);
            shapeProperties24.Append(effectList26);

            C.Marker marker50 = new C.Marker();
            C.Symbol symbol50 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker50.Append(symbol50);

            pivotFormat50.Append(index57);
            pivotFormat50.Append(shapeProperties24);
            pivotFormat50.Append(marker50);

            C.PivotFormat pivotFormat51 = new C.PivotFormat();
            C.Index index58 = new C.Index(){ Val = (UInt32Value)1U };

            C.ShapeProperties shapeProperties25 = new C.ShapeProperties();

            A.SolidFill solidFill45 = new A.SolidFill();

            A.SchemeColor schemeColor29 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent2 };
            A.Tint tint15 = new A.Tint(){ Val = 100000 };

            schemeColor29.Append(tint15);

            solidFill45.Append(schemeColor29);

            A.Outline outline35 = new A.Outline();
            A.NoFill noFill29 = new A.NoFill();

            outline35.Append(noFill29);
            A.EffectList effectList27 = new A.EffectList();

            shapeProperties25.Append(solidFill45);
            shapeProperties25.Append(outline35);
            shapeProperties25.Append(effectList27);

            C.Marker marker51 = new C.Marker();
            C.Symbol symbol51 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker51.Append(symbol51);

            pivotFormat51.Append(index58);
            pivotFormat51.Append(shapeProperties25);
            pivotFormat51.Append(marker51);

            C.PivotFormat pivotFormat52 = new C.PivotFormat();
            C.Index index59 = new C.Index(){ Val = (UInt32Value)2U };

            C.Marker marker52 = new C.Marker();
            C.Symbol symbol52 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker52.Append(symbol52);

            pivotFormat52.Append(index59);
            pivotFormat52.Append(marker52);

            C.PivotFormat pivotFormat53 = new C.PivotFormat();
            C.Index index60 = new C.Index(){ Val = (UInt32Value)3U };

            C.Marker marker53 = new C.Marker();
            C.Symbol symbol53 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker53.Append(symbol53);

            pivotFormat53.Append(index60);
            pivotFormat53.Append(marker53);

            C.PivotFormat pivotFormat54 = new C.PivotFormat();
            C.Index index61 = new C.Index(){ Val = (UInt32Value)4U };

            C.Marker marker54 = new C.Marker();
            C.Symbol symbol54 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker54.Append(symbol54);

            pivotFormat54.Append(index61);
            pivotFormat54.Append(marker54);

            C.PivotFormat pivotFormat55 = new C.PivotFormat();
            C.Index index62 = new C.Index(){ Val = (UInt32Value)5U };

            C.Marker marker55 = new C.Marker();
            C.Symbol symbol55 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker55.Append(symbol55);

            pivotFormat55.Append(index62);
            pivotFormat55.Append(marker55);

            C.PivotFormat pivotFormat56 = new C.PivotFormat();
            C.Index index63 = new C.Index(){ Val = (UInt32Value)6U };

            C.Marker marker56 = new C.Marker();
            C.Symbol symbol56 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker56.Append(symbol56);

            pivotFormat56.Append(index63);
            pivotFormat56.Append(marker56);

            C.PivotFormat pivotFormat57 = new C.PivotFormat();
            C.Index index64 = new C.Index(){ Val = (UInt32Value)7U };

            C.Marker marker57 = new C.Marker();
            C.Symbol symbol57 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker57.Append(symbol57);

            pivotFormat57.Append(index64);
            pivotFormat57.Append(marker57);

            C.PivotFormat pivotFormat58 = new C.PivotFormat();
            C.Index index65 = new C.Index(){ Val = (UInt32Value)8U };

            C.Marker marker58 = new C.Marker();
            C.Symbol symbol58 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker58.Append(symbol58);

            pivotFormat58.Append(index65);
            pivotFormat58.Append(marker58);

            C.PivotFormat pivotFormat59 = new C.PivotFormat();
            C.Index index66 = new C.Index(){ Val = (UInt32Value)9U };

            C.Marker marker59 = new C.Marker();
            C.Symbol symbol59 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker59.Append(symbol59);

            pivotFormat59.Append(index66);
            pivotFormat59.Append(marker59);

            C.PivotFormat pivotFormat60 = new C.PivotFormat();
            C.Index index67 = new C.Index(){ Val = (UInt32Value)10U };

            C.Marker marker60 = new C.Marker();
            C.Symbol symbol60 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker60.Append(symbol60);

            pivotFormat60.Append(index67);
            pivotFormat60.Append(marker60);

            C.PivotFormat pivotFormat61 = new C.PivotFormat();
            C.Index index68 = new C.Index(){ Val = (UInt32Value)11U };

            C.Marker marker61 = new C.Marker();
            C.Symbol symbol61 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker61.Append(symbol61);

            pivotFormat61.Append(index68);
            pivotFormat61.Append(marker61);

            C.PivotFormat pivotFormat62 = new C.PivotFormat();
            C.Index index69 = new C.Index(){ Val = (UInt32Value)12U };

            C.Marker marker62 = new C.Marker();
            C.Symbol symbol62 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker62.Append(symbol62);

            pivotFormat62.Append(index69);
            pivotFormat62.Append(marker62);

            C.PivotFormat pivotFormat63 = new C.PivotFormat();
            C.Index index70 = new C.Index(){ Val = (UInt32Value)13U };

            C.Marker marker63 = new C.Marker();
            C.Symbol symbol63 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker63.Append(symbol63);

            pivotFormat63.Append(index70);
            pivotFormat63.Append(marker63);

            C.PivotFormat pivotFormat64 = new C.PivotFormat();
            C.Index index71 = new C.Index(){ Val = (UInt32Value)14U };

            C.ShapeProperties shapeProperties26 = new C.ShapeProperties();

            A.SolidFill solidFill46 = new A.SolidFill();

            A.SchemeColor schemeColor30 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint16 = new A.Tint(){ Val = 100000 };

            schemeColor30.Append(tint16);

            solidFill46.Append(schemeColor30);

            A.Outline outline36 = new A.Outline();
            A.NoFill noFill30 = new A.NoFill();

            outline36.Append(noFill30);
            A.EffectList effectList28 = new A.EffectList();

            shapeProperties26.Append(solidFill46);
            shapeProperties26.Append(outline36);
            shapeProperties26.Append(effectList28);

            C.Marker marker64 = new C.Marker();
            C.Symbol symbol64 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker64.Append(symbol64);

            pivotFormat64.Append(index71);
            pivotFormat64.Append(shapeProperties26);
            pivotFormat64.Append(marker64);

            C.PivotFormat pivotFormat65 = new C.PivotFormat();
            C.Index index72 = new C.Index(){ Val = (UInt32Value)15U };

            C.ShapeProperties shapeProperties27 = new C.ShapeProperties();

            A.SolidFill solidFill47 = new A.SolidFill();

            A.SchemeColor schemeColor31 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint17 = new A.Tint(){ Val = 100000 };

            schemeColor31.Append(tint17);

            solidFill47.Append(schemeColor31);

            A.Outline outline37 = new A.Outline();
            A.NoFill noFill31 = new A.NoFill();

            outline37.Append(noFill31);
            A.EffectList effectList29 = new A.EffectList();

            shapeProperties27.Append(solidFill47);
            shapeProperties27.Append(outline37);
            shapeProperties27.Append(effectList29);

            C.Marker marker65 = new C.Marker();
            C.Symbol symbol65 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker65.Append(symbol65);

            pivotFormat65.Append(index72);
            pivotFormat65.Append(shapeProperties27);
            pivotFormat65.Append(marker65);

            pivotFormats8.Append(pivotFormat50);
            pivotFormats8.Append(pivotFormat51);
            pivotFormats8.Append(pivotFormat52);
            pivotFormats8.Append(pivotFormat53);
            pivotFormats8.Append(pivotFormat54);
            pivotFormats8.Append(pivotFormat55);
            pivotFormats8.Append(pivotFormat56);
            pivotFormats8.Append(pivotFormat57);
            pivotFormats8.Append(pivotFormat58);
            pivotFormats8.Append(pivotFormat59);
            pivotFormats8.Append(pivotFormat60);
            pivotFormats8.Append(pivotFormat61);
            pivotFormats8.Append(pivotFormat62);
            pivotFormats8.Append(pivotFormat63);
            pivotFormats8.Append(pivotFormat64);
            pivotFormats8.Append(pivotFormat65);

            C.PlotArea plotArea8 = new C.PlotArea();
            C.Layout layout8 = new C.Layout();

            C.BarChart barChart4 = new C.BarChart();
            C.BarDirection barDirection4 = new C.BarDirection(){ Val = C.BarDirectionValues.Column };
            C.BarGrouping barGrouping4 = new C.BarGrouping(){ Val = C.BarGroupingValues.Clustered };
            C.VaryColors varyColors8 = new C.VaryColors(){ Val = false };

            C.BarChartSeries barChartSeries4 = new C.BarChartSeries();
            C.Index index73 = new C.Index(){ Val = (UInt32Value)0U };
            C.Order order8 = new C.Order(){ Val = (UInt32Value)0U };

            C.SeriesText seriesText8 = new C.SeriesText();

            C.StringReference stringReference15 = new C.StringReference();
            C.Formula formula22 = new C.Formula();
            formula22.Text = "ShowHeader!$B$1";

            C.StringCache stringCache15 = new C.StringCache();
            C.PointCount pointCount22 = new C.PointCount(){ Val = (UInt32Value)1U };

            C.StringPoint stringPoint29 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue50 = new C.NumericValue();
            numericValue50.Text = "Total";

            stringPoint29.Append(numericValue50);

            stringCache15.Append(pointCount22);
            stringCache15.Append(stringPoint29);

            stringReference15.Append(formula22);
            stringReference15.Append(stringCache15);

            seriesText8.Append(stringReference15);

            C.ChartShapeProperties chartShapeProperties11 = new C.ChartShapeProperties();

            A.SolidFill solidFill48 = new A.SolidFill();

            A.SchemeColor schemeColor32 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint18 = new A.Tint(){ Val = 100000 };

            schemeColor32.Append(tint18);

            solidFill48.Append(schemeColor32);

            A.Outline outline38 = new A.Outline();
            A.NoFill noFill32 = new A.NoFill();

            outline38.Append(noFill32);
            A.EffectList effectList30 = new A.EffectList();

            chartShapeProperties11.Append(solidFill48);
            chartShapeProperties11.Append(outline38);
            chartShapeProperties11.Append(effectList30);
            C.InvertIfNegative invertIfNegative4 = new C.InvertIfNegative(){ Val = false };

            C.CategoryAxisData categoryAxisData8 = new C.CategoryAxisData();

            C.StringReference stringReference16 = new C.StringReference();
            C.Formula formula23 = new C.Formula();
            formula23.Text = "ShowHeader!$A$2:$A$5";

            C.StringCache stringCache16 = new C.StringCache();
            C.PointCount pointCount23 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.StringPoint stringPoint30 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue51 = new C.NumericValue();
            numericValue51.Text = "product_A";

            stringPoint30.Append(numericValue51);

            C.StringPoint stringPoint31 = new C.StringPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue52 = new C.NumericValue();
            numericValue52.Text = "product_D";

            stringPoint31.Append(numericValue52);

            C.StringPoint stringPoint32 = new C.StringPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue53 = new C.NumericValue();
            numericValue53.Text = "product_E";

            stringPoint32.Append(numericValue53);

            stringCache16.Append(pointCount23);
            stringCache16.Append(stringPoint30);
            stringCache16.Append(stringPoint31);
            stringCache16.Append(stringPoint32);

            stringReference16.Append(formula23);
            stringReference16.Append(stringCache16);

            categoryAxisData8.Append(stringReference16);

            C.Values values8 = new C.Values();

            C.NumberReference numberReference8 = new C.NumberReference();
            C.Formula formula24 = new C.Formula();
            formula24.Text = "ShowHeader!$B$2:$B$5";

            C.NumberingCache numberingCache8 = new C.NumberingCache();
            C.FormatCode formatCode8 = new C.FormatCode();
            formatCode8.Text = "General";
            C.PointCount pointCount24 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.NumericPoint numericPoint22 = new C.NumericPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue54 = new C.NumericValue();
            numericValue54.Text = "19";

            numericPoint22.Append(numericValue54);

            C.NumericPoint numericPoint23 = new C.NumericPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue55 = new C.NumericValue();
            numericValue55.Text = "13";

            numericPoint23.Append(numericValue55);

            C.NumericPoint numericPoint24 = new C.NumericPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue56 = new C.NumericValue();
            numericValue56.Text = "33";

            numericPoint24.Append(numericValue56);

            numberingCache8.Append(formatCode8);
            numberingCache8.Append(pointCount24);
            numberingCache8.Append(numericPoint22);
            numberingCache8.Append(numericPoint23);
            numberingCache8.Append(numericPoint24);

            numberReference8.Append(formula24);
            numberReference8.Append(numberingCache8);

            values8.Append(numberReference8);

            barChartSeries4.Append(index73);
            barChartSeries4.Append(order8);
            barChartSeries4.Append(seriesText8);
            barChartSeries4.Append(chartShapeProperties11);
            barChartSeries4.Append(invertIfNegative4);
            barChartSeries4.Append(categoryAxisData8);
            barChartSeries4.Append(values8);

            C.DataLabels dataLabels8 = new C.DataLabels();
            C.ShowLegendKey showLegendKey8 = new C.ShowLegendKey(){ Val = false };
            C.ShowValue showValue8 = new C.ShowValue(){ Val = false };
            C.ShowCategoryName showCategoryName8 = new C.ShowCategoryName(){ Val = false };
            C.ShowSeriesName showSeriesName8 = new C.ShowSeriesName(){ Val = false };
            C.ShowPercent showPercent8 = new C.ShowPercent(){ Val = false };
            C.ShowBubbleSize showBubbleSize8 = new C.ShowBubbleSize(){ Val = false };

            dataLabels8.Append(showLegendKey8);
            dataLabels8.Append(showValue8);
            dataLabels8.Append(showCategoryName8);
            dataLabels8.Append(showSeriesName8);
            dataLabels8.Append(showPercent8);
            dataLabels8.Append(showBubbleSize8);
            C.GapWidth gapWidth4 = new C.GapWidth(){ Val = (UInt16Value)219U };
            C.Overlap overlap3 = new C.Overlap(){ Val = -27 };
            C.AxisId axisId13 = new C.AxisId(){ Val = (UInt32Value)209618640U };
            C.AxisId axisId14 = new C.AxisId(){ Val = (UInt32Value)209382248U };

            barChart4.Append(barDirection4);
            barChart4.Append(barGrouping4);
            barChart4.Append(varyColors8);
            barChart4.Append(barChartSeries4);
            barChart4.Append(dataLabels8);
            barChart4.Append(gapWidth4);
            barChart4.Append(overlap3);
            barChart4.Append(axisId13);
            barChart4.Append(axisId14);

            C.CategoryAxis categoryAxis4 = new C.CategoryAxis();
            C.AxisId axisId15 = new C.AxisId(){ Val = (UInt32Value)209618640U };

            C.Scaling scaling7 = new C.Scaling();
            C.Orientation orientation7 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling7.Append(orientation7);
            C.Delete delete7 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition7 = new C.AxisPosition(){ Val = C.AxisPositionValues.Bottom };
            C.NumberingFormat numberingFormat7 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = false };
            C.MajorTickMark majorTickMark7 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark7 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition7 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties12 = new C.ChartShapeProperties();
            A.NoFill noFill33 = new A.NoFill();

            A.Outline outline39 = new A.Outline();
            A.NoFill noFill34 = new A.NoFill();

            outline39.Append(noFill34);
            A.EffectList effectList31 = new A.EffectList();

            chartShapeProperties12.Append(noFill33);
            chartShapeProperties12.Append(outline39);
            chartShapeProperties12.Append(effectList31);

            C.TextProperties textProperties9 = new C.TextProperties();
            A.BodyProperties bodyProperties17 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle17 = new A.ListStyle();

            A.Paragraph paragraph17 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties9 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties9 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill49 = new A.SolidFill();

            A.SchemeColor schemeColor33 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation11 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset11 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor33.Append(luminanceModulation11);
            schemeColor33.Append(luminanceOffset11);

            solidFill49.Append(schemeColor33);
            A.LatinFont latinFont7 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont7 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont7 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties9.Append(solidFill49);
            defaultRunProperties9.Append(latinFont7);
            defaultRunProperties9.Append(eastAsianFont7);
            defaultRunProperties9.Append(complexScriptFont7);

            paragraphProperties9.Append(defaultRunProperties9);
            A.EndParagraphRunProperties endParagraphRunProperties9 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph17.Append(paragraphProperties9);
            paragraph17.Append(endParagraphRunProperties9);

            textProperties9.Append(bodyProperties17);
            textProperties9.Append(listStyle17);
            textProperties9.Append(paragraph17);
            C.CrossingAxis crossingAxis7 = new C.CrossingAxis(){ Val = (UInt32Value)209382248U };
            C.Crosses crosses7 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.AutoLabeled autoLabeled4 = new C.AutoLabeled(){ Val = true };
            C.LabelAlignment labelAlignment4 = new C.LabelAlignment(){ Val = C.LabelAlignmentValues.Center };
            C.LabelOffset labelOffset4 = new C.LabelOffset(){ Val = (UInt16Value)100U };
            C.NoMultiLevelLabels noMultiLevelLabels4 = new C.NoMultiLevelLabels(){ Val = false };

            categoryAxis4.Append(axisId15);
            categoryAxis4.Append(scaling7);
            categoryAxis4.Append(delete7);
            categoryAxis4.Append(axisPosition7);
            categoryAxis4.Append(numberingFormat7);
            categoryAxis4.Append(majorTickMark7);
            categoryAxis4.Append(minorTickMark7);
            categoryAxis4.Append(tickLabelPosition7);
            categoryAxis4.Append(chartShapeProperties12);
            categoryAxis4.Append(textProperties9);
            categoryAxis4.Append(crossingAxis7);
            categoryAxis4.Append(crosses7);
            categoryAxis4.Append(autoLabeled4);
            categoryAxis4.Append(labelAlignment4);
            categoryAxis4.Append(labelOffset4);
            categoryAxis4.Append(noMultiLevelLabels4);

            C.ValueAxis valueAxis4 = new C.ValueAxis();
            C.AxisId axisId16 = new C.AxisId(){ Val = (UInt32Value)209382248U };

            C.Scaling scaling8 = new C.Scaling();
            C.Orientation orientation8 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling8.Append(orientation8);
            C.Delete delete8 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition8 = new C.AxisPosition(){ Val = C.AxisPositionValues.Left };

            C.MajorGridlines majorGridlines4 = new C.MajorGridlines();

            C.ChartShapeProperties chartShapeProperties13 = new C.ChartShapeProperties();

            A.Outline outline40 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill50 = new A.SolidFill();

            A.SchemeColor schemeColor34 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation12 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset12 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor34.Append(luminanceModulation12);
            schemeColor34.Append(luminanceOffset12);

            solidFill50.Append(schemeColor34);
            A.Round round5 = new A.Round();

            outline40.Append(solidFill50);
            outline40.Append(round5);
            A.EffectList effectList32 = new A.EffectList();

            chartShapeProperties13.Append(outline40);
            chartShapeProperties13.Append(effectList32);

            majorGridlines4.Append(chartShapeProperties13);
            C.NumberingFormat numberingFormat8 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = true };
            C.MajorTickMark majorTickMark8 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark8 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition8 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties14 = new C.ChartShapeProperties();
            A.NoFill noFill35 = new A.NoFill();

            A.Outline outline41 = new A.Outline();
            A.NoFill noFill36 = new A.NoFill();

            outline41.Append(noFill36);
            A.EffectList effectList33 = new A.EffectList();

            chartShapeProperties14.Append(noFill35);
            chartShapeProperties14.Append(outline41);
            chartShapeProperties14.Append(effectList33);

            C.TextProperties textProperties10 = new C.TextProperties();
            A.BodyProperties bodyProperties18 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle18 = new A.ListStyle();

            A.Paragraph paragraph18 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties10 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties10 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill51 = new A.SolidFill();

            A.SchemeColor schemeColor35 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation13 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset13 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor35.Append(luminanceModulation13);
            schemeColor35.Append(luminanceOffset13);

            solidFill51.Append(schemeColor35);
            A.LatinFont latinFont8 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont8 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont8 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties10.Append(solidFill51);
            defaultRunProperties10.Append(latinFont8);
            defaultRunProperties10.Append(eastAsianFont8);
            defaultRunProperties10.Append(complexScriptFont8);

            paragraphProperties10.Append(defaultRunProperties10);
            A.EndParagraphRunProperties endParagraphRunProperties10 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph18.Append(paragraphProperties10);
            paragraph18.Append(endParagraphRunProperties10);

            textProperties10.Append(bodyProperties18);
            textProperties10.Append(listStyle18);
            textProperties10.Append(paragraph18);
            C.CrossingAxis crossingAxis8 = new C.CrossingAxis(){ Val = (UInt32Value)209618640U };
            C.Crosses crosses8 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.CrossBetween crossBetween4 = new C.CrossBetween(){ Val = C.CrossBetweenValues.Between };

            valueAxis4.Append(axisId16);
            valueAxis4.Append(scaling8);
            valueAxis4.Append(delete8);
            valueAxis4.Append(axisPosition8);
            valueAxis4.Append(majorGridlines4);
            valueAxis4.Append(numberingFormat8);
            valueAxis4.Append(majorTickMark8);
            valueAxis4.Append(minorTickMark8);
            valueAxis4.Append(tickLabelPosition8);
            valueAxis4.Append(chartShapeProperties14);
            valueAxis4.Append(textProperties10);
            valueAxis4.Append(crossingAxis8);
            valueAxis4.Append(crosses8);
            valueAxis4.Append(crossBetween4);

            C.ShapeProperties shapeProperties28 = new C.ShapeProperties();

            A.SolidFill solidFill52 = new A.SolidFill();
            A.SchemeColor schemeColor36 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill52.Append(schemeColor36);

            A.Outline outline42 = new A.Outline();
            A.NoFill noFill37 = new A.NoFill();

            outline42.Append(noFill37);
            A.EffectList effectList34 = new A.EffectList();

            shapeProperties28.Append(solidFill52);
            shapeProperties28.Append(outline42);
            shapeProperties28.Append(effectList34);

            plotArea8.Append(layout8);
            plotArea8.Append(barChart4);
            plotArea8.Append(categoryAxis4);
            plotArea8.Append(valueAxis4);
            plotArea8.Append(shapeProperties28);

            C.Legend legend8 = new C.Legend();
            C.LegendPosition legendPosition8 = new C.LegendPosition(){ Val = C.LegendPositionValues.Bottom };
            C.Overlay overlay16 = new C.Overlay(){ Val = false };

            C.ChartShapeProperties chartShapeProperties15 = new C.ChartShapeProperties();
            A.NoFill noFill38 = new A.NoFill();

            A.Outline outline43 = new A.Outline();
            A.NoFill noFill39 = new A.NoFill();

            outline43.Append(noFill39);
            A.EffectList effectList35 = new A.EffectList();

            chartShapeProperties15.Append(noFill38);
            chartShapeProperties15.Append(outline43);
            chartShapeProperties15.Append(effectList35);

            C.TextProperties textProperties11 = new C.TextProperties();
            A.BodyProperties bodyProperties19 = new A.BodyProperties(){ Rotation = 0, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle19 = new A.ListStyle();

            A.Paragraph paragraph19 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties11 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties11 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill53 = new A.SolidFill();

            A.SchemeColor schemeColor37 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation14 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset14 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor37.Append(luminanceModulation14);
            schemeColor37.Append(luminanceOffset14);

            solidFill53.Append(schemeColor37);
            A.LatinFont latinFont9 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont9 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont9 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties11.Append(solidFill53);
            defaultRunProperties11.Append(latinFont9);
            defaultRunProperties11.Append(eastAsianFont9);
            defaultRunProperties11.Append(complexScriptFont9);

            paragraphProperties11.Append(defaultRunProperties11);
            A.EndParagraphRunProperties endParagraphRunProperties11 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph19.Append(paragraphProperties11);
            paragraph19.Append(endParagraphRunProperties11);

            textProperties11.Append(bodyProperties19);
            textProperties11.Append(listStyle19);
            textProperties11.Append(paragraph19);

            legend8.Append(legendPosition8);
            legend8.Append(overlay16);
            legend8.Append(chartShapeProperties15);
            legend8.Append(textProperties11);
            C.PlotVisibleOnly plotVisibleOnly8 = new C.PlotVisibleOnly(){ Val = true };
            C.DisplayBlanksAs displayBlanksAs8 = new C.DisplayBlanksAs(){ Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum8 = new C.ShowDataLabelsOverMaximum(){ Val = false };

            chart8.Append(title8);
            chart8.Append(autoTitleDeleted8);
            chart8.Append(pivotFormats8);
            chart8.Append(plotArea8);
            chart8.Append(legend8);
            chart8.Append(plotVisibleOnly8);
            chart8.Append(displayBlanksAs8);
            chart8.Append(showDataLabelsOverMaximum8);

            C.ShapeProperties shapeProperties29 = new C.ShapeProperties();

            A.SolidFill solidFill54 = new A.SolidFill();
            A.SchemeColor schemeColor38 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill54.Append(schemeColor38);

            A.Outline outline44 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill55 = new A.SolidFill();

            A.SchemeColor schemeColor39 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation15 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset15 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor39.Append(luminanceModulation15);
            schemeColor39.Append(luminanceOffset15);

            solidFill55.Append(schemeColor39);
            A.Round round6 = new A.Round();

            outline44.Append(solidFill55);
            outline44.Append(round6);
            A.EffectList effectList36 = new A.EffectList();

            shapeProperties29.Append(solidFill54);
            shapeProperties29.Append(outline44);
            shapeProperties29.Append(effectList36);

            C.TextProperties textProperties12 = new C.TextProperties();
            A.BodyProperties bodyProperties20 = new A.BodyProperties();
            A.ListStyle listStyle20 = new A.ListStyle();

            A.Paragraph paragraph20 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties12 = new A.ParagraphProperties();
            A.DefaultRunProperties defaultRunProperties12 = new A.DefaultRunProperties();

            paragraphProperties12.Append(defaultRunProperties12);
            A.EndParagraphRunProperties endParagraphRunProperties12 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph20.Append(paragraphProperties12);
            paragraph20.Append(endParagraphRunProperties12);

            textProperties12.Append(bodyProperties20);
            textProperties12.Append(listStyle20);
            textProperties12.Append(paragraph20);

            C.PrintSettings printSettings8 = new C.PrintSettings();
            C.HeaderFooter headerFooter8 = new C.HeaderFooter();
            C.PageMargins pageMargins14 = new C.PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };
            C.PageSetup pageSetup8 = new C.PageSetup();

            printSettings8.Append(headerFooter8);
            printSettings8.Append(pageMargins14);
            printSettings8.Append(pageSetup8);

            C.ChartSpaceExtensionList chartSpaceExtensionList8 = new C.ChartSpaceExtensionList();
            chartSpaceExtensionList8.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            chartSpaceExtensionList8.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            C.ChartSpaceExtension chartSpaceExtension8 = new C.ChartSpaceExtension(){ Uri = "{781A3756-C4B2-4CAC-9D66-4F8BD8637D16}" };
            chartSpaceExtension8.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C14.PivotOptions pivotOptions8 = new C14.PivotOptions();
            C14.DropZoneFilter dropZoneFilter8 = new C14.DropZoneFilter(){ Val = true };
            C14.DropZoneCategories dropZoneCategories8 = new C14.DropZoneCategories(){ Val = true };
            C14.DropZoneData dropZoneData8 = new C14.DropZoneData(){ Val = true };
            C14.DropZoneSeries dropZoneSeries8 = new C14.DropZoneSeries(){ Val = true };
            C14.DropZonesVisible dropZonesVisible8 = new C14.DropZonesVisible(){ Val = true };

            pivotOptions8.Append(dropZoneFilter8);
            pivotOptions8.Append(dropZoneCategories8);
            pivotOptions8.Append(dropZoneData8);
            pivotOptions8.Append(dropZoneSeries8);
            pivotOptions8.Append(dropZonesVisible8);

            chartSpaceExtension8.Append(pivotOptions8);

            chartSpaceExtensionList8.Append(chartSpaceExtension8);

            chartSpace8.Append(date19048);
            chartSpace8.Append(editingLanguage8);
            chartSpace8.Append(roundedCorners8);
            chartSpace8.Append(alternateContent17);
            chartSpace8.Append(pivotSource8);
            chartSpace8.Append(chart8);
            chartSpace8.Append(shapeProperties29);
            chartSpace8.Append(textProperties12);
            chartSpace8.Append(printSettings8);
            chartSpace8.Append(chartSpaceExtensionList8);

            chartPart8.ChartSpace = chartSpace8;
        }
        // Generates content of chartPart6.
        private void GenerateChartPart6Content(ChartPart chartPart6)
        {
            C.ChartSpace chartSpace6 = new C.ChartSpace();
            chartSpace6.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace6.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace6.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date19046 = new C.Date1904(){ Val = false };
            C.EditingLanguage editingLanguage6 = new C.EditingLanguage(){ Val = "en-US" };
            C.RoundedCorners roundedCorners6 = new C.RoundedCorners(){ Val = false };

            AlternateContent alternateContent13 = new AlternateContent();
            alternateContent13.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            AlternateContentChoice alternateContentChoice13 = new AlternateContentChoice(){ Requires = "c14" };
            alternateContentChoice13.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            C14.Style style11 = new C14.Style(){ Val = 101 };

            alternateContentChoice13.Append(style11);

            AlternateContentFallback alternateContentFallback12 = new AlternateContentFallback();
            C.Style style12 = new C.Style(){ Val = 1 };

            alternateContentFallback12.Append(style12);

            alternateContent13.Append(alternateContentChoice13);
            alternateContent13.Append(alternateContentFallback12);

            C.PivotSource pivotSource6 = new C.PivotSource();
            C.PivotTableName pivotTableName6 = new C.PivotTableName();
            pivotTableName6.Text = "[GeneratedDocument.xlsx]ShowSelectionLabel!PivotTable1";
            C.FormatId formatId6 = new C.FormatId(){ Val = (UInt32Value)11U };

            pivotSource6.Append(pivotTableName6);
            pivotSource6.Append(formatId6);

            C.Chart chart6 = new C.Chart();

            C.Title title6 = new C.Title();
            C.Overlay overlay11 = new C.Overlay(){ Val = false };

            title6.Append(overlay11);
            C.AutoTitleDeleted autoTitleDeleted6 = new C.AutoTitleDeleted(){ Val = false };

            C.PivotFormats pivotFormats6 = new C.PivotFormats();

            C.PivotFormat pivotFormat30 = new C.PivotFormat();
            C.Index index35 = new C.Index(){ Val = (UInt32Value)0U };

            C.ShapeProperties shapeProperties15 = new C.ShapeProperties();

            A.SolidFill solidFill27 = new A.SolidFill();

            A.SchemeColor schemeColor15 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint8 = new A.Tint(){ Val = 100000 };

            schemeColor15.Append(tint8);

            solidFill27.Append(schemeColor15);

            A.Outline outline20 = new A.Outline();
            A.NoFill noFill15 = new A.NoFill();

            outline20.Append(noFill15);
            A.EffectList effectList14 = new A.EffectList();

            shapeProperties15.Append(solidFill27);
            shapeProperties15.Append(outline20);
            shapeProperties15.Append(effectList14);

            C.Marker marker30 = new C.Marker();
            C.Symbol symbol30 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker30.Append(symbol30);

            pivotFormat30.Append(index35);
            pivotFormat30.Append(shapeProperties15);
            pivotFormat30.Append(marker30);

            C.PivotFormat pivotFormat31 = new C.PivotFormat();
            C.Index index36 = new C.Index(){ Val = (UInt32Value)1U };

            C.ShapeProperties shapeProperties16 = new C.ShapeProperties();

            A.SolidFill solidFill28 = new A.SolidFill();

            A.SchemeColor schemeColor16 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent2 };
            A.Tint tint9 = new A.Tint(){ Val = 100000 };

            schemeColor16.Append(tint9);

            solidFill28.Append(schemeColor16);

            A.Outline outline21 = new A.Outline();
            A.NoFill noFill16 = new A.NoFill();

            outline21.Append(noFill16);
            A.EffectList effectList15 = new A.EffectList();

            shapeProperties16.Append(solidFill28);
            shapeProperties16.Append(outline21);
            shapeProperties16.Append(effectList15);

            C.Marker marker31 = new C.Marker();
            C.Symbol symbol31 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker31.Append(symbol31);

            pivotFormat31.Append(index36);
            pivotFormat31.Append(shapeProperties16);
            pivotFormat31.Append(marker31);

            C.PivotFormat pivotFormat32 = new C.PivotFormat();
            C.Index index37 = new C.Index(){ Val = (UInt32Value)2U };

            C.Marker marker32 = new C.Marker();
            C.Symbol symbol32 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker32.Append(symbol32);

            pivotFormat32.Append(index37);
            pivotFormat32.Append(marker32);

            C.PivotFormat pivotFormat33 = new C.PivotFormat();
            C.Index index38 = new C.Index(){ Val = (UInt32Value)3U };

            C.Marker marker33 = new C.Marker();
            C.Symbol symbol33 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker33.Append(symbol33);

            pivotFormat33.Append(index38);
            pivotFormat33.Append(marker33);

            C.PivotFormat pivotFormat34 = new C.PivotFormat();
            C.Index index39 = new C.Index(){ Val = (UInt32Value)4U };

            C.Marker marker34 = new C.Marker();
            C.Symbol symbol34 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker34.Append(symbol34);

            pivotFormat34.Append(index39);
            pivotFormat34.Append(marker34);

            C.PivotFormat pivotFormat35 = new C.PivotFormat();
            C.Index index40 = new C.Index(){ Val = (UInt32Value)5U };

            C.Marker marker35 = new C.Marker();
            C.Symbol symbol35 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker35.Append(symbol35);

            pivotFormat35.Append(index40);
            pivotFormat35.Append(marker35);

            C.PivotFormat pivotFormat36 = new C.PivotFormat();
            C.Index index41 = new C.Index(){ Val = (UInt32Value)6U };

            C.Marker marker36 = new C.Marker();
            C.Symbol symbol36 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker36.Append(symbol36);

            pivotFormat36.Append(index41);
            pivotFormat36.Append(marker36);

            C.PivotFormat pivotFormat37 = new C.PivotFormat();
            C.Index index42 = new C.Index(){ Val = (UInt32Value)7U };

            C.Marker marker37 = new C.Marker();
            C.Symbol symbol37 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker37.Append(symbol37);

            pivotFormat37.Append(index42);
            pivotFormat37.Append(marker37);

            C.PivotFormat pivotFormat38 = new C.PivotFormat();
            C.Index index43 = new C.Index(){ Val = (UInt32Value)8U };

            C.Marker marker38 = new C.Marker();
            C.Symbol symbol38 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker38.Append(symbol38);

            pivotFormat38.Append(index43);
            pivotFormat38.Append(marker38);

            C.PivotFormat pivotFormat39 = new C.PivotFormat();
            C.Index index44 = new C.Index(){ Val = (UInt32Value)9U };

            C.Marker marker39 = new C.Marker();
            C.Symbol symbol39 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker39.Append(symbol39);

            pivotFormat39.Append(index44);
            pivotFormat39.Append(marker39);

            C.PivotFormat pivotFormat40 = new C.PivotFormat();
            C.Index index45 = new C.Index(){ Val = (UInt32Value)10U };

            C.Marker marker40 = new C.Marker();
            C.Symbol symbol40 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker40.Append(symbol40);

            pivotFormat40.Append(index45);
            pivotFormat40.Append(marker40);

            C.PivotFormat pivotFormat41 = new C.PivotFormat();
            C.Index index46 = new C.Index(){ Val = (UInt32Value)11U };

            C.Marker marker41 = new C.Marker();
            C.Symbol symbol41 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker41.Append(symbol41);

            pivotFormat41.Append(index46);
            pivotFormat41.Append(marker41);

            C.PivotFormat pivotFormat42 = new C.PivotFormat();
            C.Index index47 = new C.Index(){ Val = (UInt32Value)12U };

            C.Marker marker42 = new C.Marker();
            C.Symbol symbol42 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker42.Append(symbol42);

            pivotFormat42.Append(index47);
            pivotFormat42.Append(marker42);

            C.PivotFormat pivotFormat43 = new C.PivotFormat();
            C.Index index48 = new C.Index(){ Val = (UInt32Value)13U };

            C.Marker marker43 = new C.Marker();
            C.Symbol symbol43 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker43.Append(symbol43);

            pivotFormat43.Append(index48);
            pivotFormat43.Append(marker43);

            C.PivotFormat pivotFormat44 = new C.PivotFormat();
            C.Index index49 = new C.Index(){ Val = (UInt32Value)14U };

            C.ShapeProperties shapeProperties17 = new C.ShapeProperties();

            A.SolidFill solidFill29 = new A.SolidFill();

            A.SchemeColor schemeColor17 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint10 = new A.Tint(){ Val = 100000 };

            schemeColor17.Append(tint10);

            solidFill29.Append(schemeColor17);

            A.Outline outline22 = new A.Outline();
            A.NoFill noFill17 = new A.NoFill();

            outline22.Append(noFill17);
            A.EffectList effectList16 = new A.EffectList();

            shapeProperties17.Append(solidFill29);
            shapeProperties17.Append(outline22);
            shapeProperties17.Append(effectList16);

            C.Marker marker44 = new C.Marker();
            C.Symbol symbol44 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker44.Append(symbol44);

            pivotFormat44.Append(index49);
            pivotFormat44.Append(shapeProperties17);
            pivotFormat44.Append(marker44);

            C.PivotFormat pivotFormat45 = new C.PivotFormat();
            C.Index index50 = new C.Index(){ Val = (UInt32Value)15U };

            C.ShapeProperties shapeProperties18 = new C.ShapeProperties();

            A.SolidFill solidFill30 = new A.SolidFill();

            A.SchemeColor schemeColor18 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint11 = new A.Tint(){ Val = 100000 };

            schemeColor18.Append(tint11);

            solidFill30.Append(schemeColor18);

            A.Outline outline23 = new A.Outline();
            A.NoFill noFill18 = new A.NoFill();

            outline23.Append(noFill18);
            A.EffectList effectList17 = new A.EffectList();

            shapeProperties18.Append(solidFill30);
            shapeProperties18.Append(outline23);
            shapeProperties18.Append(effectList17);

            C.Marker marker45 = new C.Marker();
            C.Symbol symbol45 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker45.Append(symbol45);

            pivotFormat45.Append(index50);
            pivotFormat45.Append(shapeProperties18);
            pivotFormat45.Append(marker45);

            C.PivotFormat pivotFormat46 = new C.PivotFormat();
            C.Index index51 = new C.Index(){ Val = (UInt32Value)16U };

            C.ShapeProperties shapeProperties19 = new C.ShapeProperties();

            A.SolidFill solidFill31 = new A.SolidFill();

            A.SchemeColor schemeColor19 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint12 = new A.Tint(){ Val = 100000 };

            schemeColor19.Append(tint12);

            solidFill31.Append(schemeColor19);

            A.Outline outline24 = new A.Outline();
            A.NoFill noFill19 = new A.NoFill();

            outline24.Append(noFill19);
            A.EffectList effectList18 = new A.EffectList();

            shapeProperties19.Append(solidFill31);
            shapeProperties19.Append(outline24);
            shapeProperties19.Append(effectList18);

            C.Marker marker46 = new C.Marker();
            C.Symbol symbol46 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker46.Append(symbol46);

            pivotFormat46.Append(index51);
            pivotFormat46.Append(shapeProperties19);
            pivotFormat46.Append(marker46);

            pivotFormats6.Append(pivotFormat30);
            pivotFormats6.Append(pivotFormat31);
            pivotFormats6.Append(pivotFormat32);
            pivotFormats6.Append(pivotFormat33);
            pivotFormats6.Append(pivotFormat34);
            pivotFormats6.Append(pivotFormat35);
            pivotFormats6.Append(pivotFormat36);
            pivotFormats6.Append(pivotFormat37);
            pivotFormats6.Append(pivotFormat38);
            pivotFormats6.Append(pivotFormat39);
            pivotFormats6.Append(pivotFormat40);
            pivotFormats6.Append(pivotFormat41);
            pivotFormats6.Append(pivotFormat42);
            pivotFormats6.Append(pivotFormat43);
            pivotFormats6.Append(pivotFormat44);
            pivotFormats6.Append(pivotFormat45);
            pivotFormats6.Append(pivotFormat46);

            C.PlotArea plotArea6 = new C.PlotArea();
            C.Layout layout6 = new C.Layout();

            C.BarChart barChart3 = new C.BarChart();
            C.BarDirection barDirection3 = new C.BarDirection(){ Val = C.BarDirectionValues.Column };
            C.BarGrouping barGrouping3 = new C.BarGrouping(){ Val = C.BarGroupingValues.Clustered };
            C.VaryColors varyColors6 = new C.VaryColors(){ Val = false };

            C.BarChartSeries barChartSeries3 = new C.BarChartSeries();
            C.Index index52 = new C.Index(){ Val = (UInt32Value)0U };
            C.Order order6 = new C.Order(){ Val = (UInt32Value)0U };

            C.SeriesText seriesText6 = new C.SeriesText();

            C.StringReference stringReference11 = new C.StringReference();
            C.Formula formula16 = new C.Formula();
            formula16.Text = "ShowSelectionLabel!$B$1";

            C.StringCache stringCache11 = new C.StringCache();
            C.PointCount pointCount16 = new C.PointCount(){ Val = (UInt32Value)1U };

            C.StringPoint stringPoint21 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue36 = new C.NumericValue();
            numericValue36.Text = "Total";

            stringPoint21.Append(numericValue36);

            stringCache11.Append(pointCount16);
            stringCache11.Append(stringPoint21);

            stringReference11.Append(formula16);
            stringReference11.Append(stringCache11);

            seriesText6.Append(stringReference11);

            C.ChartShapeProperties chartShapeProperties6 = new C.ChartShapeProperties();

            A.SolidFill solidFill32 = new A.SolidFill();

            A.SchemeColor schemeColor20 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint13 = new A.Tint(){ Val = 100000 };

            schemeColor20.Append(tint13);

            solidFill32.Append(schemeColor20);

            A.Outline outline25 = new A.Outline();
            A.NoFill noFill20 = new A.NoFill();

            outline25.Append(noFill20);
            A.EffectList effectList19 = new A.EffectList();

            chartShapeProperties6.Append(solidFill32);
            chartShapeProperties6.Append(outline25);
            chartShapeProperties6.Append(effectList19);
            C.InvertIfNegative invertIfNegative3 = new C.InvertIfNegative(){ Val = false };

            C.CategoryAxisData categoryAxisData6 = new C.CategoryAxisData();

            C.StringReference stringReference12 = new C.StringReference();
            C.Formula formula17 = new C.Formula();
            formula17.Text = "ShowSelectionLabel!$A$2:$A$5";

            C.StringCache stringCache12 = new C.StringCache();
            C.PointCount pointCount17 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.StringPoint stringPoint22 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue37 = new C.NumericValue();
            numericValue37.Text = "product_A";

            stringPoint22.Append(numericValue37);

            C.StringPoint stringPoint23 = new C.StringPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue38 = new C.NumericValue();
            numericValue38.Text = "product_D";

            stringPoint23.Append(numericValue38);

            C.StringPoint stringPoint24 = new C.StringPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue39 = new C.NumericValue();
            numericValue39.Text = "product_E";

            stringPoint24.Append(numericValue39);

            stringCache12.Append(pointCount17);
            stringCache12.Append(stringPoint22);
            stringCache12.Append(stringPoint23);
            stringCache12.Append(stringPoint24);

            stringReference12.Append(formula17);
            stringReference12.Append(stringCache12);

            categoryAxisData6.Append(stringReference12);

            C.Values values6 = new C.Values();

            C.NumberReference numberReference6 = new C.NumberReference();
            C.Formula formula18 = new C.Formula();
            formula18.Text = "ShowSelectionLabel!$B$2:$B$5";

            C.NumberingCache numberingCache6 = new C.NumberingCache();
            C.FormatCode formatCode6 = new C.FormatCode();
            formatCode6.Text = "General";
            C.PointCount pointCount18 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.NumericPoint numericPoint16 = new C.NumericPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue40 = new C.NumericValue();
            numericValue40.Text = "19";

            numericPoint16.Append(numericValue40);

            C.NumericPoint numericPoint17 = new C.NumericPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue41 = new C.NumericValue();
            numericValue41.Text = "13";

            numericPoint17.Append(numericValue41);

            C.NumericPoint numericPoint18 = new C.NumericPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue42 = new C.NumericValue();
            numericValue42.Text = "33";

            numericPoint18.Append(numericValue42);

            numberingCache6.Append(formatCode6);
            numberingCache6.Append(pointCount18);
            numberingCache6.Append(numericPoint16);
            numberingCache6.Append(numericPoint17);
            numberingCache6.Append(numericPoint18);

            numberReference6.Append(formula18);
            numberReference6.Append(numberingCache6);

            values6.Append(numberReference6);

            barChartSeries3.Append(index52);
            barChartSeries3.Append(order6);
            barChartSeries3.Append(seriesText6);
            barChartSeries3.Append(chartShapeProperties6);
            barChartSeries3.Append(invertIfNegative3);
            barChartSeries3.Append(categoryAxisData6);
            barChartSeries3.Append(values6);

            C.DataLabels dataLabels6 = new C.DataLabels();
            C.ShowLegendKey showLegendKey6 = new C.ShowLegendKey(){ Val = false };
            C.ShowValue showValue6 = new C.ShowValue(){ Val = false };
            C.ShowCategoryName showCategoryName6 = new C.ShowCategoryName(){ Val = false };
            C.ShowSeriesName showSeriesName6 = new C.ShowSeriesName(){ Val = false };
            C.ShowPercent showPercent6 = new C.ShowPercent(){ Val = false };
            C.ShowBubbleSize showBubbleSize6 = new C.ShowBubbleSize(){ Val = false };

            dataLabels6.Append(showLegendKey6);
            dataLabels6.Append(showValue6);
            dataLabels6.Append(showCategoryName6);
            dataLabels6.Append(showSeriesName6);
            dataLabels6.Append(showPercent6);
            dataLabels6.Append(showBubbleSize6);
            C.GapWidth gapWidth3 = new C.GapWidth(){ Val = (UInt16Value)219U };
            C.Overlap overlap2 = new C.Overlap(){ Val = -27 };
            C.AxisId axisId9 = new C.AxisId(){ Val = (UInt32Value)209979552U };
            C.AxisId axisId10 = new C.AxisId(){ Val = (UInt32Value)209979944U };

            barChart3.Append(barDirection3);
            barChart3.Append(barGrouping3);
            barChart3.Append(varyColors6);
            barChart3.Append(barChartSeries3);
            barChart3.Append(dataLabels6);
            barChart3.Append(gapWidth3);
            barChart3.Append(overlap2);
            barChart3.Append(axisId9);
            barChart3.Append(axisId10);

            C.CategoryAxis categoryAxis3 = new C.CategoryAxis();
            C.AxisId axisId11 = new C.AxisId(){ Val = (UInt32Value)209979552U };

            C.Scaling scaling5 = new C.Scaling();
            C.Orientation orientation5 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling5.Append(orientation5);
            C.Delete delete5 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition5 = new C.AxisPosition(){ Val = C.AxisPositionValues.Bottom };
            C.NumberingFormat numberingFormat5 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = false };
            C.MajorTickMark majorTickMark5 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark5 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition5 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties7 = new C.ChartShapeProperties();
            A.NoFill noFill21 = new A.NoFill();

            A.Outline outline26 = new A.Outline();
            A.NoFill noFill22 = new A.NoFill();

            outline26.Append(noFill22);
            A.EffectList effectList20 = new A.EffectList();

            chartShapeProperties7.Append(noFill21);
            chartShapeProperties7.Append(outline26);
            chartShapeProperties7.Append(effectList20);

            C.TextProperties textProperties5 = new C.TextProperties();
            A.BodyProperties bodyProperties11 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle11 = new A.ListStyle();

            A.Paragraph paragraph11 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties5 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties5 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill33 = new A.SolidFill();

            A.SchemeColor schemeColor21 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation6 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset6 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor21.Append(luminanceModulation6);
            schemeColor21.Append(luminanceOffset6);

            solidFill33.Append(schemeColor21);
            A.LatinFont latinFont4 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont4 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont4 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties5.Append(solidFill33);
            defaultRunProperties5.Append(latinFont4);
            defaultRunProperties5.Append(eastAsianFont4);
            defaultRunProperties5.Append(complexScriptFont4);

            paragraphProperties5.Append(defaultRunProperties5);
            A.EndParagraphRunProperties endParagraphRunProperties5 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph11.Append(paragraphProperties5);
            paragraph11.Append(endParagraphRunProperties5);

            textProperties5.Append(bodyProperties11);
            textProperties5.Append(listStyle11);
            textProperties5.Append(paragraph11);
            C.CrossingAxis crossingAxis5 = new C.CrossingAxis(){ Val = (UInt32Value)209979944U };
            C.Crosses crosses5 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.AutoLabeled autoLabeled3 = new C.AutoLabeled(){ Val = true };
            C.LabelAlignment labelAlignment3 = new C.LabelAlignment(){ Val = C.LabelAlignmentValues.Center };
            C.LabelOffset labelOffset3 = new C.LabelOffset(){ Val = (UInt16Value)100U };
            C.NoMultiLevelLabels noMultiLevelLabels3 = new C.NoMultiLevelLabels(){ Val = false };

            categoryAxis3.Append(axisId11);
            categoryAxis3.Append(scaling5);
            categoryAxis3.Append(delete5);
            categoryAxis3.Append(axisPosition5);
            categoryAxis3.Append(numberingFormat5);
            categoryAxis3.Append(majorTickMark5);
            categoryAxis3.Append(minorTickMark5);
            categoryAxis3.Append(tickLabelPosition5);
            categoryAxis3.Append(chartShapeProperties7);
            categoryAxis3.Append(textProperties5);
            categoryAxis3.Append(crossingAxis5);
            categoryAxis3.Append(crosses5);
            categoryAxis3.Append(autoLabeled3);
            categoryAxis3.Append(labelAlignment3);
            categoryAxis3.Append(labelOffset3);
            categoryAxis3.Append(noMultiLevelLabels3);

            C.ValueAxis valueAxis3 = new C.ValueAxis();
            C.AxisId axisId12 = new C.AxisId(){ Val = (UInt32Value)209979944U };

            C.Scaling scaling6 = new C.Scaling();
            C.Orientation orientation6 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling6.Append(orientation6);
            C.Delete delete6 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition6 = new C.AxisPosition(){ Val = C.AxisPositionValues.Left };

            C.MajorGridlines majorGridlines3 = new C.MajorGridlines();

            C.ChartShapeProperties chartShapeProperties8 = new C.ChartShapeProperties();

            A.Outline outline27 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill34 = new A.SolidFill();

            A.SchemeColor schemeColor22 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation7 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset7 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor22.Append(luminanceModulation7);
            schemeColor22.Append(luminanceOffset7);

            solidFill34.Append(schemeColor22);
            A.Round round3 = new A.Round();

            outline27.Append(solidFill34);
            outline27.Append(round3);
            A.EffectList effectList21 = new A.EffectList();

            chartShapeProperties8.Append(outline27);
            chartShapeProperties8.Append(effectList21);

            majorGridlines3.Append(chartShapeProperties8);
            C.NumberingFormat numberingFormat6 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = true };
            C.MajorTickMark majorTickMark6 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark6 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition6 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties9 = new C.ChartShapeProperties();
            A.NoFill noFill23 = new A.NoFill();

            A.Outline outline28 = new A.Outline();
            A.NoFill noFill24 = new A.NoFill();

            outline28.Append(noFill24);
            A.EffectList effectList22 = new A.EffectList();

            chartShapeProperties9.Append(noFill23);
            chartShapeProperties9.Append(outline28);
            chartShapeProperties9.Append(effectList22);

            C.TextProperties textProperties6 = new C.TextProperties();
            A.BodyProperties bodyProperties12 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle12 = new A.ListStyle();

            A.Paragraph paragraph12 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties6 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties6 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill35 = new A.SolidFill();

            A.SchemeColor schemeColor23 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation8 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset8 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor23.Append(luminanceModulation8);
            schemeColor23.Append(luminanceOffset8);

            solidFill35.Append(schemeColor23);
            A.LatinFont latinFont5 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont5 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont5 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties6.Append(solidFill35);
            defaultRunProperties6.Append(latinFont5);
            defaultRunProperties6.Append(eastAsianFont5);
            defaultRunProperties6.Append(complexScriptFont5);

            paragraphProperties6.Append(defaultRunProperties6);
            A.EndParagraphRunProperties endParagraphRunProperties6 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph12.Append(paragraphProperties6);
            paragraph12.Append(endParagraphRunProperties6);

            textProperties6.Append(bodyProperties12);
            textProperties6.Append(listStyle12);
            textProperties6.Append(paragraph12);
            C.CrossingAxis crossingAxis6 = new C.CrossingAxis(){ Val = (UInt32Value)209979552U };
            C.Crosses crosses6 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.CrossBetween crossBetween3 = new C.CrossBetween(){ Val = C.CrossBetweenValues.Between };

            valueAxis3.Append(axisId12);
            valueAxis3.Append(scaling6);
            valueAxis3.Append(delete6);
            valueAxis3.Append(axisPosition6);
            valueAxis3.Append(majorGridlines3);
            valueAxis3.Append(numberingFormat6);
            valueAxis3.Append(majorTickMark6);
            valueAxis3.Append(minorTickMark6);
            valueAxis3.Append(tickLabelPosition6);
            valueAxis3.Append(chartShapeProperties9);
            valueAxis3.Append(textProperties6);
            valueAxis3.Append(crossingAxis6);
            valueAxis3.Append(crosses6);
            valueAxis3.Append(crossBetween3);

            C.ShapeProperties shapeProperties20 = new C.ShapeProperties();

            A.SolidFill solidFill36 = new A.SolidFill();
            A.SchemeColor schemeColor24 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill36.Append(schemeColor24);

            A.Outline outline29 = new A.Outline();
            A.NoFill noFill25 = new A.NoFill();

            outline29.Append(noFill25);
            A.EffectList effectList23 = new A.EffectList();

            shapeProperties20.Append(solidFill36);
            shapeProperties20.Append(outline29);
            shapeProperties20.Append(effectList23);

            plotArea6.Append(layout6);
            plotArea6.Append(barChart3);
            plotArea6.Append(categoryAxis3);
            plotArea6.Append(valueAxis3);
            plotArea6.Append(shapeProperties20);

            C.Legend legend6 = new C.Legend();
            C.LegendPosition legendPosition6 = new C.LegendPosition(){ Val = C.LegendPositionValues.Bottom };
            C.Overlay overlay12 = new C.Overlay(){ Val = false };

            C.ChartShapeProperties chartShapeProperties10 = new C.ChartShapeProperties();
            A.NoFill noFill26 = new A.NoFill();

            A.Outline outline30 = new A.Outline();
            A.NoFill noFill27 = new A.NoFill();

            outline30.Append(noFill27);
            A.EffectList effectList24 = new A.EffectList();

            chartShapeProperties10.Append(noFill26);
            chartShapeProperties10.Append(outline30);
            chartShapeProperties10.Append(effectList24);

            C.TextProperties textProperties7 = new C.TextProperties();
            A.BodyProperties bodyProperties13 = new A.BodyProperties(){ Rotation = 0, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle13 = new A.ListStyle();

            A.Paragraph paragraph13 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties7 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties7 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill37 = new A.SolidFill();

            A.SchemeColor schemeColor25 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation9 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset9 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor25.Append(luminanceModulation9);
            schemeColor25.Append(luminanceOffset9);

            solidFill37.Append(schemeColor25);
            A.LatinFont latinFont6 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont6 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont6 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties7.Append(solidFill37);
            defaultRunProperties7.Append(latinFont6);
            defaultRunProperties7.Append(eastAsianFont6);
            defaultRunProperties7.Append(complexScriptFont6);

            paragraphProperties7.Append(defaultRunProperties7);
            A.EndParagraphRunProperties endParagraphRunProperties7 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph13.Append(paragraphProperties7);
            paragraph13.Append(endParagraphRunProperties7);

            textProperties7.Append(bodyProperties13);
            textProperties7.Append(listStyle13);
            textProperties7.Append(paragraph13);

            legend6.Append(legendPosition6);
            legend6.Append(overlay12);
            legend6.Append(chartShapeProperties10);
            legend6.Append(textProperties7);
            C.PlotVisibleOnly plotVisibleOnly6 = new C.PlotVisibleOnly(){ Val = true };
            C.DisplayBlanksAs displayBlanksAs6 = new C.DisplayBlanksAs(){ Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum6 = new C.ShowDataLabelsOverMaximum(){ Val = false };

            chart6.Append(title6);
            chart6.Append(autoTitleDeleted6);
            chart6.Append(pivotFormats6);
            chart6.Append(plotArea6);
            chart6.Append(legend6);
            chart6.Append(plotVisibleOnly6);
            chart6.Append(displayBlanksAs6);
            chart6.Append(showDataLabelsOverMaximum6);

            C.ShapeProperties shapeProperties21 = new C.ShapeProperties();

            A.SolidFill solidFill38 = new A.SolidFill();
            A.SchemeColor schemeColor26 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill38.Append(schemeColor26);

            A.Outline outline31 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill39 = new A.SolidFill();

            A.SchemeColor schemeColor27 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation10 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset10 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor27.Append(luminanceModulation10);
            schemeColor27.Append(luminanceOffset10);

            solidFill39.Append(schemeColor27);
            A.Round round4 = new A.Round();

            outline31.Append(solidFill39);
            outline31.Append(round4);
            A.EffectList effectList25 = new A.EffectList();

            shapeProperties21.Append(solidFill38);
            shapeProperties21.Append(outline31);
            shapeProperties21.Append(effectList25);

            C.TextProperties textProperties8 = new C.TextProperties();
            A.BodyProperties bodyProperties14 = new A.BodyProperties();
            A.ListStyle listStyle14 = new A.ListStyle();

            A.Paragraph paragraph14 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties8 = new A.ParagraphProperties();
            A.DefaultRunProperties defaultRunProperties8 = new A.DefaultRunProperties();

            paragraphProperties8.Append(defaultRunProperties8);
            A.EndParagraphRunProperties endParagraphRunProperties8 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph14.Append(paragraphProperties8);
            paragraph14.Append(endParagraphRunProperties8);

            textProperties8.Append(bodyProperties14);
            textProperties8.Append(listStyle14);
            textProperties8.Append(paragraph14);

            C.PrintSettings printSettings6 = new C.PrintSettings();
            C.HeaderFooter headerFooter6 = new C.HeaderFooter();
            C.PageMargins pageMargins9 = new C.PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };
            C.PageSetup pageSetup6 = new C.PageSetup();

            printSettings6.Append(headerFooter6);
            printSettings6.Append(pageMargins9);
            printSettings6.Append(pageSetup6);

            C.ChartSpaceExtensionList chartSpaceExtensionList6 = new C.ChartSpaceExtensionList();
            chartSpaceExtensionList6.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            chartSpaceExtensionList6.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            C.ChartSpaceExtension chartSpaceExtension6 = new C.ChartSpaceExtension(){ Uri = "{781A3756-C4B2-4CAC-9D66-4F8BD8637D16}" };
            chartSpaceExtension6.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C14.PivotOptions pivotOptions6 = new C14.PivotOptions();
            C14.DropZoneFilter dropZoneFilter6 = new C14.DropZoneFilter(){ Val = true };
            C14.DropZoneCategories dropZoneCategories6 = new C14.DropZoneCategories(){ Val = true };
            C14.DropZoneData dropZoneData6 = new C14.DropZoneData(){ Val = true };
            C14.DropZoneSeries dropZoneSeries6 = new C14.DropZoneSeries(){ Val = true };
            C14.DropZonesVisible dropZonesVisible6 = new C14.DropZonesVisible(){ Val = true };

            pivotOptions6.Append(dropZoneFilter6);
            pivotOptions6.Append(dropZoneCategories6);
            pivotOptions6.Append(dropZoneData6);
            pivotOptions6.Append(dropZoneSeries6);
            pivotOptions6.Append(dropZonesVisible6);

            chartSpaceExtension6.Append(pivotOptions6);

            chartSpaceExtensionList6.Append(chartSpaceExtension6);

            chartSpace6.Append(date19046);
            chartSpace6.Append(editingLanguage6);
            chartSpace6.Append(roundedCorners6);
            chartSpace6.Append(alternateContent13);
            chartSpace6.Append(pivotSource6);
            chartSpace6.Append(chart6);
            chartSpace6.Append(shapeProperties21);
            chartSpace6.Append(textProperties8);
            chartSpace6.Append(printSettings6);
            chartSpace6.Append(chartSpaceExtensionList6);

            chartPart6.ChartSpace = chartSpace6;
        }
        // Generates content of chartPart4.
        private void GenerateChartPart4Content(ChartPart chartPart4)
        {
            C.ChartSpace chartSpace4 = new C.ChartSpace();
            chartSpace4.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace4.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace4.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date19044 = new C.Date1904(){ Val = false };
            C.EditingLanguage editingLanguage4 = new C.EditingLanguage(){ Val = "en-US" };
            C.RoundedCorners roundedCorners4 = new C.RoundedCorners(){ Val = false };

            AlternateContent alternateContent9 = new AlternateContent();
            alternateContent9.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            AlternateContentChoice alternateContentChoice9 = new AlternateContentChoice(){ Requires = "c14" };
            alternateContentChoice9.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            C14.Style style7 = new C14.Style(){ Val = 102 };

            alternateContentChoice9.Append(style7);

            AlternateContentFallback alternateContentFallback8 = new AlternateContentFallback();
            C.Style style8 = new C.Style(){ Val = 2 };

            alternateContentFallback8.Append(style8);

            alternateContent9.Append(alternateContentChoice9);
            alternateContent9.Append(alternateContentFallback8);

            C.PivotSource pivotSource4 = new C.PivotSource();
            C.PivotTableName pivotTableName4 = new C.PivotTableName();
            pivotTableName4.Text = "[GeneratedDocument.xlsx]Cache!PivotTable1";
            C.FormatId formatId4 = new C.FormatId(){ Val = (UInt32Value)0U };

            pivotSource4.Append(pivotTableName4);
            pivotSource4.Append(formatId4);

            C.Chart chart4 = new C.Chart();

            C.Title title4 = new C.Title();
            C.Overlay overlay7 = new C.Overlay(){ Val = false };

            title4.Append(overlay7);
            C.AutoTitleDeleted autoTitleDeleted4 = new C.AutoTitleDeleted(){ Val = false };

            C.PivotFormats pivotFormats4 = new C.PivotFormats();

            C.PivotFormat pivotFormat25 = new C.PivotFormat();
            C.Index index28 = new C.Index(){ Val = (UInt32Value)0U };

            C.Marker marker25 = new C.Marker();
            C.Symbol symbol25 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker25.Append(symbol25);

            pivotFormat25.Append(index28);
            pivotFormat25.Append(marker25);

            pivotFormats4.Append(pivotFormat25);

            C.PlotArea plotArea4 = new C.PlotArea();
            C.Layout layout4 = new C.Layout();

            C.BarChart barChart2 = new C.BarChart();
            C.BarDirection barDirection2 = new C.BarDirection(){ Val = C.BarDirectionValues.Column };
            C.BarGrouping barGrouping2 = new C.BarGrouping(){ Val = C.BarGroupingValues.Clustered };
            C.VaryColors varyColors4 = new C.VaryColors(){ Val = false };

            C.BarChartSeries barChartSeries2 = new C.BarChartSeries();
            C.Index index29 = new C.Index(){ Val = (UInt32Value)0U };
            C.Order order4 = new C.Order(){ Val = (UInt32Value)0U };

            C.SeriesText seriesText4 = new C.SeriesText();

            C.StringReference stringReference7 = new C.StringReference();
            C.Formula formula10 = new C.Formula();
            formula10.Text = "Cache!$B$1";

            C.StringCache stringCache7 = new C.StringCache();
            C.PointCount pointCount10 = new C.PointCount(){ Val = (UInt32Value)1U };

            C.StringPoint stringPoint13 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue22 = new C.NumericValue();
            numericValue22.Text = "Total";

            stringPoint13.Append(numericValue22);

            stringCache7.Append(pointCount10);
            stringCache7.Append(stringPoint13);

            stringReference7.Append(formula10);
            stringReference7.Append(stringCache7);

            seriesText4.Append(stringReference7);
            C.InvertIfNegative invertIfNegative2 = new C.InvertIfNegative(){ Val = false };

            C.CategoryAxisData categoryAxisData4 = new C.CategoryAxisData();

            C.StringReference stringReference8 = new C.StringReference();
            C.Formula formula11 = new C.Formula();
            formula11.Text = "Cache!$A$2:$A$5";

            C.StringCache stringCache8 = new C.StringCache();
            C.PointCount pointCount11 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.StringPoint stringPoint14 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue23 = new C.NumericValue();
            numericValue23.Text = "product_C";

            stringPoint14.Append(numericValue23);

            C.StringPoint stringPoint15 = new C.StringPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue24 = new C.NumericValue();
            numericValue24.Text = "product_F";

            stringPoint15.Append(numericValue24);

            C.StringPoint stringPoint16 = new C.StringPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue25 = new C.NumericValue();
            numericValue25.Text = "product_G";

            stringPoint16.Append(numericValue25);

            stringCache8.Append(pointCount11);
            stringCache8.Append(stringPoint14);
            stringCache8.Append(stringPoint15);
            stringCache8.Append(stringPoint16);

            stringReference8.Append(formula11);
            stringReference8.Append(stringCache8);

            categoryAxisData4.Append(stringReference8);

            C.Values values4 = new C.Values();

            C.NumberReference numberReference4 = new C.NumberReference();
            C.Formula formula12 = new C.Formula();
            formula12.Text = "Cache!$B$2:$B$5";

            C.NumberingCache numberingCache4 = new C.NumberingCache();
            C.FormatCode formatCode4 = new C.FormatCode();
            formatCode4.Text = "General";
            C.PointCount pointCount12 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.NumericPoint numericPoint10 = new C.NumericPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue26 = new C.NumericValue();
            numericValue26.Text = "2050";

            numericPoint10.Append(numericValue26);

            C.NumericPoint numericPoint11 = new C.NumericPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue27 = new C.NumericValue();
            numericValue27.Text = "3168";

            numericPoint11.Append(numericValue27);

            C.NumericPoint numericPoint12 = new C.NumericPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue28 = new C.NumericValue();
            numericValue28.Text = "11529";

            numericPoint12.Append(numericValue28);

            numberingCache4.Append(formatCode4);
            numberingCache4.Append(pointCount12);
            numberingCache4.Append(numericPoint10);
            numberingCache4.Append(numericPoint11);
            numberingCache4.Append(numericPoint12);

            numberReference4.Append(formula12);
            numberReference4.Append(numberingCache4);

            values4.Append(numberReference4);

            barChartSeries2.Append(index29);
            barChartSeries2.Append(order4);
            barChartSeries2.Append(seriesText4);
            barChartSeries2.Append(invertIfNegative2);
            barChartSeries2.Append(categoryAxisData4);
            barChartSeries2.Append(values4);

            C.DataLabels dataLabels4 = new C.DataLabels();
            C.ShowLegendKey showLegendKey4 = new C.ShowLegendKey(){ Val = false };
            C.ShowValue showValue4 = new C.ShowValue(){ Val = false };
            C.ShowCategoryName showCategoryName4 = new C.ShowCategoryName(){ Val = false };
            C.ShowSeriesName showSeriesName4 = new C.ShowSeriesName(){ Val = false };
            C.ShowPercent showPercent4 = new C.ShowPercent(){ Val = false };
            C.ShowBubbleSize showBubbleSize4 = new C.ShowBubbleSize(){ Val = false };

            dataLabels4.Append(showLegendKey4);
            dataLabels4.Append(showValue4);
            dataLabels4.Append(showCategoryName4);
            dataLabels4.Append(showSeriesName4);
            dataLabels4.Append(showPercent4);
            dataLabels4.Append(showBubbleSize4);
            C.GapWidth gapWidth2 = new C.GapWidth(){ Val = (UInt16Value)150U };
            C.AxisId axisId5 = new C.AxisId(){ Val = (UInt32Value)164427248U };
            C.AxisId axisId6 = new C.AxisId(){ Val = (UInt32Value)164427632U };

            barChart2.Append(barDirection2);
            barChart2.Append(barGrouping2);
            barChart2.Append(varyColors4);
            barChart2.Append(barChartSeries2);
            barChart2.Append(dataLabels4);
            barChart2.Append(gapWidth2);
            barChart2.Append(axisId5);
            barChart2.Append(axisId6);

            C.CategoryAxis categoryAxis2 = new C.CategoryAxis();
            C.AxisId axisId7 = new C.AxisId(){ Val = (UInt32Value)164427248U };

            C.Scaling scaling3 = new C.Scaling();
            C.Orientation orientation3 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling3.Append(orientation3);
            C.Delete delete3 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition3 = new C.AxisPosition(){ Val = C.AxisPositionValues.Bottom };
            C.NumberingFormat numberingFormat3 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = false };
            C.MajorTickMark majorTickMark3 = new C.MajorTickMark(){ Val = C.TickMarkValues.Outside };
            C.MinorTickMark minorTickMark3 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition3 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };
            C.CrossingAxis crossingAxis3 = new C.CrossingAxis(){ Val = (UInt32Value)164427632U };
            C.Crosses crosses3 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.AutoLabeled autoLabeled2 = new C.AutoLabeled(){ Val = true };
            C.LabelAlignment labelAlignment2 = new C.LabelAlignment(){ Val = C.LabelAlignmentValues.Center };
            C.LabelOffset labelOffset2 = new C.LabelOffset(){ Val = (UInt16Value)100U };
            C.NoMultiLevelLabels noMultiLevelLabels2 = new C.NoMultiLevelLabels(){ Val = false };

            categoryAxis2.Append(axisId7);
            categoryAxis2.Append(scaling3);
            categoryAxis2.Append(delete3);
            categoryAxis2.Append(axisPosition3);
            categoryAxis2.Append(numberingFormat3);
            categoryAxis2.Append(majorTickMark3);
            categoryAxis2.Append(minorTickMark3);
            categoryAxis2.Append(tickLabelPosition3);
            categoryAxis2.Append(crossingAxis3);
            categoryAxis2.Append(crosses3);
            categoryAxis2.Append(autoLabeled2);
            categoryAxis2.Append(labelAlignment2);
            categoryAxis2.Append(labelOffset2);
            categoryAxis2.Append(noMultiLevelLabels2);

            C.ValueAxis valueAxis2 = new C.ValueAxis();
            C.AxisId axisId8 = new C.AxisId(){ Val = (UInt32Value)164427632U };

            C.Scaling scaling4 = new C.Scaling();
            C.Orientation orientation4 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling4.Append(orientation4);
            C.Delete delete4 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition4 = new C.AxisPosition(){ Val = C.AxisPositionValues.Left };
            C.MajorGridlines majorGridlines2 = new C.MajorGridlines();
            C.NumberingFormat numberingFormat4 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = true };
            C.MajorTickMark majorTickMark4 = new C.MajorTickMark(){ Val = C.TickMarkValues.Outside };
            C.MinorTickMark minorTickMark4 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition4 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };
            C.CrossingAxis crossingAxis4 = new C.CrossingAxis(){ Val = (UInt32Value)164427248U };
            C.Crosses crosses4 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.CrossBetween crossBetween2 = new C.CrossBetween(){ Val = C.CrossBetweenValues.Between };

            valueAxis2.Append(axisId8);
            valueAxis2.Append(scaling4);
            valueAxis2.Append(delete4);
            valueAxis2.Append(axisPosition4);
            valueAxis2.Append(majorGridlines2);
            valueAxis2.Append(numberingFormat4);
            valueAxis2.Append(majorTickMark4);
            valueAxis2.Append(minorTickMark4);
            valueAxis2.Append(tickLabelPosition4);
            valueAxis2.Append(crossingAxis4);
            valueAxis2.Append(crosses4);
            valueAxis2.Append(crossBetween2);

            plotArea4.Append(layout4);
            plotArea4.Append(barChart2);
            plotArea4.Append(categoryAxis2);
            plotArea4.Append(valueAxis2);

            C.Legend legend4 = new C.Legend();
            C.LegendPosition legendPosition4 = new C.LegendPosition(){ Val = C.LegendPositionValues.Right };
            C.Overlay overlay8 = new C.Overlay(){ Val = false };

            legend4.Append(legendPosition4);
            legend4.Append(overlay8);
            C.PlotVisibleOnly plotVisibleOnly4 = new C.PlotVisibleOnly(){ Val = true };
            C.DisplayBlanksAs displayBlanksAs4 = new C.DisplayBlanksAs(){ Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum4 = new C.ShowDataLabelsOverMaximum(){ Val = false };

            chart4.Append(title4);
            chart4.Append(autoTitleDeleted4);
            chart4.Append(pivotFormats4);
            chart4.Append(plotArea4);
            chart4.Append(legend4);
            chart4.Append(plotVisibleOnly4);
            chart4.Append(displayBlanksAs4);
            chart4.Append(showDataLabelsOverMaximum4);

            C.PrintSettings printSettings4 = new C.PrintSettings();
            C.HeaderFooter headerFooter4 = new C.HeaderFooter();
            C.PageMargins pageMargins6 = new C.PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };
            C.PageSetup pageSetup4 = new C.PageSetup();

            printSettings4.Append(headerFooter4);
            printSettings4.Append(pageMargins6);
            printSettings4.Append(pageSetup4);

            C.ChartSpaceExtensionList chartSpaceExtensionList4 = new C.ChartSpaceExtensionList();
            chartSpaceExtensionList4.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            chartSpaceExtensionList4.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            C.ChartSpaceExtension chartSpaceExtension4 = new C.ChartSpaceExtension(){ Uri = "{781A3756-C4B2-4CAC-9D66-4F8BD8637D16}" };
            chartSpaceExtension4.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C14.PivotOptions pivotOptions4 = new C14.PivotOptions();
            C14.DropZoneFilter dropZoneFilter4 = new C14.DropZoneFilter(){ Val = true };
            C14.DropZoneCategories dropZoneCategories4 = new C14.DropZoneCategories(){ Val = true };
            C14.DropZoneData dropZoneData4 = new C14.DropZoneData(){ Val = true };
            C14.DropZoneSeries dropZoneSeries4 = new C14.DropZoneSeries(){ Val = true };
            C14.DropZonesVisible dropZonesVisible4 = new C14.DropZonesVisible(){ Val = true };

            pivotOptions4.Append(dropZoneFilter4);
            pivotOptions4.Append(dropZoneCategories4);
            pivotOptions4.Append(dropZoneData4);
            pivotOptions4.Append(dropZoneSeries4);
            pivotOptions4.Append(dropZonesVisible4);

            chartSpaceExtension4.Append(pivotOptions4);

            chartSpaceExtensionList4.Append(chartSpaceExtension4);

            chartSpace4.Append(date19044);
            chartSpace4.Append(editingLanguage4);
            chartSpace4.Append(roundedCorners4);
            chartSpace4.Append(alternateContent9);
            chartSpace4.Append(pivotSource4);
            chartSpace4.Append(chart4);
            chartSpace4.Append(printSettings4);
            chartSpace4.Append(chartSpaceExtensionList4);

            chartPart4.ChartSpace = chartSpace4;
        }
        // Generates content of chartPart16.
        private void GenerateChartPart16Content(ChartPart chartPart16)
        {
            C.ChartSpace chartSpace16 = new C.ChartSpace();
            chartSpace16.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace16.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace16.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date190416 = new C.Date1904(){ Val = false };
            C.EditingLanguage editingLanguage16 = new C.EditingLanguage(){ Val = "en-US" };
            C.RoundedCorners roundedCorners16 = new C.RoundedCorners(){ Val = false };
            C.Style style31 = new C.Style(){ Val = 1 };

            C.PivotSource pivotSource16 = new C.PivotSource();
            C.PivotTableName pivotTableName16 = new C.PivotTableName();
            pivotTableName16.Text = "[GeneratedDocument.xlsx]Level!PivotTable1";
            C.FormatId formatId16 = new C.FormatId(){ Val = (UInt32Value)4U };

            pivotSource16.Append(pivotTableName16);
            pivotSource16.Append(formatId16);

            C.Chart chart16 = new C.Chart();

            C.Title title16 = new C.Title();
            C.Overlay overlay31 = new C.Overlay(){ Val = false };

            title16.Append(overlay31);
            C.AutoTitleDeleted autoTitleDeleted16 = new C.AutoTitleDeleted(){ Val = false };

            C.PivotFormats pivotFormats16 = new C.PivotFormats();

            C.PivotFormat pivotFormat140 = new C.PivotFormat();
            C.Index index155 = new C.Index(){ Val = (UInt32Value)0U };

            C.ShapeProperties shapeProperties66 = new C.ShapeProperties();

            A.SolidFill solidFill125 = new A.SolidFill();

            A.SchemeColor schemeColor99 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint44 = new A.Tint(){ Val = 100000 };

            schemeColor99.Append(tint44);

            solidFill125.Append(schemeColor99);

            A.Outline outline99 = new A.Outline();
            A.NoFill noFill84 = new A.NoFill();

            outline99.Append(noFill84);
            A.EffectList effectList81 = new A.EffectList();

            shapeProperties66.Append(solidFill125);
            shapeProperties66.Append(outline99);
            shapeProperties66.Append(effectList81);

            C.Marker marker140 = new C.Marker();
            C.Symbol symbol140 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker140.Append(symbol140);

            pivotFormat140.Append(index155);
            pivotFormat140.Append(shapeProperties66);
            pivotFormat140.Append(marker140);

            C.PivotFormat pivotFormat141 = new C.PivotFormat();
            C.Index index156 = new C.Index(){ Val = (UInt32Value)1U };

            C.ShapeProperties shapeProperties67 = new C.ShapeProperties();

            A.SolidFill solidFill126 = new A.SolidFill();

            A.SchemeColor schemeColor100 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent2 };
            A.Tint tint45 = new A.Tint(){ Val = 100000 };

            schemeColor100.Append(tint45);

            solidFill126.Append(schemeColor100);

            A.Outline outline100 = new A.Outline();
            A.NoFill noFill85 = new A.NoFill();

            outline100.Append(noFill85);
            A.EffectList effectList82 = new A.EffectList();

            shapeProperties67.Append(solidFill126);
            shapeProperties67.Append(outline100);
            shapeProperties67.Append(effectList82);

            C.Marker marker141 = new C.Marker();
            C.Symbol symbol141 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker141.Append(symbol141);

            pivotFormat141.Append(index156);
            pivotFormat141.Append(shapeProperties67);
            pivotFormat141.Append(marker141);

            C.PivotFormat pivotFormat142 = new C.PivotFormat();
            C.Index index157 = new C.Index(){ Val = (UInt32Value)2U };

            C.Marker marker142 = new C.Marker();
            C.Symbol symbol142 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker142.Append(symbol142);

            pivotFormat142.Append(index157);
            pivotFormat142.Append(marker142);

            C.PivotFormat pivotFormat143 = new C.PivotFormat();
            C.Index index158 = new C.Index(){ Val = (UInt32Value)3U };

            C.Marker marker143 = new C.Marker();
            C.Symbol symbol143 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker143.Append(symbol143);

            pivotFormat143.Append(index158);
            pivotFormat143.Append(marker143);

            C.PivotFormat pivotFormat144 = new C.PivotFormat();
            C.Index index159 = new C.Index(){ Val = (UInt32Value)4U };

            C.Marker marker144 = new C.Marker();
            C.Symbol symbol144 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker144.Append(symbol144);

            pivotFormat144.Append(index159);
            pivotFormat144.Append(marker144);

            C.PivotFormat pivotFormat145 = new C.PivotFormat();
            C.Index index160 = new C.Index(){ Val = (UInt32Value)5U };

            C.Marker marker145 = new C.Marker();
            C.Symbol symbol145 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker145.Append(symbol145);

            pivotFormat145.Append(index160);
            pivotFormat145.Append(marker145);

            C.PivotFormat pivotFormat146 = new C.PivotFormat();
            C.Index index161 = new C.Index(){ Val = (UInt32Value)6U };

            C.Marker marker146 = new C.Marker();
            C.Symbol symbol146 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker146.Append(symbol146);

            pivotFormat146.Append(index161);
            pivotFormat146.Append(marker146);

            C.PivotFormat pivotFormat147 = new C.PivotFormat();
            C.Index index162 = new C.Index(){ Val = (UInt32Value)7U };

            C.Marker marker147 = new C.Marker();
            C.Symbol symbol147 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker147.Append(symbol147);

            pivotFormat147.Append(index162);
            pivotFormat147.Append(marker147);

            C.PivotFormat pivotFormat148 = new C.PivotFormat();
            C.Index index163 = new C.Index(){ Val = (UInt32Value)8U };

            C.Marker marker148 = new C.Marker();
            C.Symbol symbol148 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker148.Append(symbol148);

            pivotFormat148.Append(index163);
            pivotFormat148.Append(marker148);

            C.PivotFormat pivotFormat149 = new C.PivotFormat();
            C.Index index164 = new C.Index(){ Val = (UInt32Value)9U };

            C.Marker marker149 = new C.Marker();
            C.Symbol symbol149 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker149.Append(symbol149);

            pivotFormat149.Append(index164);
            pivotFormat149.Append(marker149);

            C.PivotFormat pivotFormat150 = new C.PivotFormat();
            C.Index index165 = new C.Index(){ Val = (UInt32Value)10U };

            C.Marker marker150 = new C.Marker();
            C.Symbol symbol150 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker150.Append(symbol150);

            pivotFormat150.Append(index165);
            pivotFormat150.Append(marker150);

            C.PivotFormat pivotFormat151 = new C.PivotFormat();
            C.Index index166 = new C.Index(){ Val = (UInt32Value)11U };

            C.Marker marker151 = new C.Marker();
            C.Symbol symbol151 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker151.Append(symbol151);

            pivotFormat151.Append(index166);
            pivotFormat151.Append(marker151);

            C.PivotFormat pivotFormat152 = new C.PivotFormat();
            C.Index index167 = new C.Index(){ Val = (UInt32Value)12U };

            C.Marker marker152 = new C.Marker();
            C.Symbol symbol152 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker152.Append(symbol152);

            pivotFormat152.Append(index167);
            pivotFormat152.Append(marker152);

            C.PivotFormat pivotFormat153 = new C.PivotFormat();
            C.Index index168 = new C.Index(){ Val = (UInt32Value)13U };

            C.Marker marker153 = new C.Marker();
            C.Symbol symbol153 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker153.Append(symbol153);

            pivotFormat153.Append(index168);
            pivotFormat153.Append(marker153);

            pivotFormats16.Append(pivotFormat140);
            pivotFormats16.Append(pivotFormat141);
            pivotFormats16.Append(pivotFormat142);
            pivotFormats16.Append(pivotFormat143);
            pivotFormats16.Append(pivotFormat144);
            pivotFormats16.Append(pivotFormat145);
            pivotFormats16.Append(pivotFormat146);
            pivotFormats16.Append(pivotFormat147);
            pivotFormats16.Append(pivotFormat148);
            pivotFormats16.Append(pivotFormat149);
            pivotFormats16.Append(pivotFormat150);
            pivotFormats16.Append(pivotFormat151);
            pivotFormats16.Append(pivotFormat152);
            pivotFormats16.Append(pivotFormat153);

            C.PlotArea plotArea16 = new C.PlotArea();
            C.Layout layout16 = new C.Layout();

            C.BarChart barChart8 = new C.BarChart();
            C.BarDirection barDirection8 = new C.BarDirection(){ Val = C.BarDirectionValues.Column };
            C.BarGrouping barGrouping8 = new C.BarGrouping(){ Val = C.BarGroupingValues.Clustered };
            C.VaryColors varyColors16 = new C.VaryColors(){ Val = false };

            C.BarChartSeries barChartSeries8 = new C.BarChartSeries();
            C.Index index169 = new C.Index(){ Val = (UInt32Value)0U };
            C.Order order16 = new C.Order(){ Val = (UInt32Value)0U };

            C.SeriesText seriesText16 = new C.SeriesText();

            C.StringReference stringReference31 = new C.StringReference();
            C.Formula formula46 = new C.Formula();
            formula46.Text = "Level!$B$1";

            C.StringCache stringCache31 = new C.StringCache();
            C.PointCount pointCount46 = new C.PointCount(){ Val = (UInt32Value)1U };

            C.StringPoint stringPoint61 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue106 = new C.NumericValue();
            numericValue106.Text = "Total";

            stringPoint61.Append(numericValue106);

            stringCache31.Append(pointCount46);
            stringCache31.Append(stringPoint61);

            stringReference31.Append(formula46);
            stringReference31.Append(stringCache31);

            seriesText16.Append(stringReference31);

            C.ChartShapeProperties chartShapeProperties31 = new C.ChartShapeProperties();

            A.SolidFill solidFill127 = new A.SolidFill();

            A.SchemeColor schemeColor101 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint46 = new A.Tint(){ Val = 100000 };

            schemeColor101.Append(tint46);

            solidFill127.Append(schemeColor101);

            A.Outline outline101 = new A.Outline();
            A.NoFill noFill86 = new A.NoFill();

            outline101.Append(noFill86);
            A.EffectList effectList83 = new A.EffectList();

            chartShapeProperties31.Append(solidFill127);
            chartShapeProperties31.Append(outline101);
            chartShapeProperties31.Append(effectList83);
            C.InvertIfNegative invertIfNegative8 = new C.InvertIfNegative(){ Val = false };

            C.CategoryAxisData categoryAxisData16 = new C.CategoryAxisData();

            C.StringReference stringReference32 = new C.StringReference();
            C.Formula formula47 = new C.Formula();
            formula47.Text = "Level!$A$2:$A$5";

            C.StringCache stringCache32 = new C.StringCache();
            C.PointCount pointCount47 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.StringPoint stringPoint62 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue107 = new C.NumericValue();
            numericValue107.Text = "product_A";

            stringPoint62.Append(numericValue107);

            C.StringPoint stringPoint63 = new C.StringPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue108 = new C.NumericValue();
            numericValue108.Text = "product_D";

            stringPoint63.Append(numericValue108);

            C.StringPoint stringPoint64 = new C.StringPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue109 = new C.NumericValue();
            numericValue109.Text = "product_E";

            stringPoint64.Append(numericValue109);

            stringCache32.Append(pointCount47);
            stringCache32.Append(stringPoint62);
            stringCache32.Append(stringPoint63);
            stringCache32.Append(stringPoint64);

            stringReference32.Append(formula47);
            stringReference32.Append(stringCache32);

            categoryAxisData16.Append(stringReference32);

            C.Values values16 = new C.Values();

            C.NumberReference numberReference16 = new C.NumberReference();
            C.Formula formula48 = new C.Formula();
            formula48.Text = "Level!$B$2:$B$5";

            C.NumberingCache numberingCache16 = new C.NumberingCache();
            C.FormatCode formatCode16 = new C.FormatCode();
            formatCode16.Text = "General";
            C.PointCount pointCount48 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.NumericPoint numericPoint46 = new C.NumericPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue110 = new C.NumericValue();
            numericValue110.Text = "19";

            numericPoint46.Append(numericValue110);

            C.NumericPoint numericPoint47 = new C.NumericPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue111 = new C.NumericValue();
            numericValue111.Text = "13";

            numericPoint47.Append(numericValue111);

            C.NumericPoint numericPoint48 = new C.NumericPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue112 = new C.NumericValue();
            numericValue112.Text = "33";

            numericPoint48.Append(numericValue112);

            numberingCache16.Append(formatCode16);
            numberingCache16.Append(pointCount48);
            numberingCache16.Append(numericPoint46);
            numberingCache16.Append(numericPoint47);
            numberingCache16.Append(numericPoint48);

            numberReference16.Append(formula48);
            numberReference16.Append(numberingCache16);

            values16.Append(numberReference16);

            barChartSeries8.Append(index169);
            barChartSeries8.Append(order16);
            barChartSeries8.Append(seriesText16);
            barChartSeries8.Append(chartShapeProperties31);
            barChartSeries8.Append(invertIfNegative8);
            barChartSeries8.Append(categoryAxisData16);
            barChartSeries8.Append(values16);

            C.DataLabels dataLabels16 = new C.DataLabels();
            C.ShowLegendKey showLegendKey16 = new C.ShowLegendKey(){ Val = false };
            C.ShowValue showValue16 = new C.ShowValue(){ Val = false };
            C.ShowCategoryName showCategoryName16 = new C.ShowCategoryName(){ Val = false };
            C.ShowSeriesName showSeriesName16 = new C.ShowSeriesName(){ Val = false };
            C.ShowPercent showPercent16 = new C.ShowPercent(){ Val = false };
            C.ShowBubbleSize showBubbleSize16 = new C.ShowBubbleSize(){ Val = false };

            dataLabels16.Append(showLegendKey16);
            dataLabels16.Append(showValue16);
            dataLabels16.Append(showCategoryName16);
            dataLabels16.Append(showSeriesName16);
            dataLabels16.Append(showPercent16);
            dataLabels16.Append(showBubbleSize16);
            C.GapWidth gapWidth8 = new C.GapWidth(){ Val = (UInt16Value)219U };
            C.Overlap overlap7 = new C.Overlap(){ Val = -27 };
            C.AxisId axisId29 = new C.AxisId(){ Val = (UInt32Value)209240832U };
            C.AxisId axisId30 = new C.AxisId(){ Val = (UInt32Value)209693768U };

            barChart8.Append(barDirection8);
            barChart8.Append(barGrouping8);
            barChart8.Append(varyColors16);
            barChart8.Append(barChartSeries8);
            barChart8.Append(dataLabels16);
            barChart8.Append(gapWidth8);
            barChart8.Append(overlap7);
            barChart8.Append(axisId29);
            barChart8.Append(axisId30);

            C.CategoryAxis categoryAxis8 = new C.CategoryAxis();
            C.AxisId axisId31 = new C.AxisId(){ Val = (UInt32Value)209240832U };

            C.Scaling scaling15 = new C.Scaling();
            C.Orientation orientation15 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling15.Append(orientation15);
            C.Delete delete15 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition15 = new C.AxisPosition(){ Val = C.AxisPositionValues.Bottom };
            C.NumberingFormat numberingFormat26 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = false };
            C.MajorTickMark majorTickMark15 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark15 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition15 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties32 = new C.ChartShapeProperties();
            A.NoFill noFill87 = new A.NoFill();

            A.Outline outline102 = new A.Outline();
            A.NoFill noFill88 = new A.NoFill();

            outline102.Append(noFill88);
            A.EffectList effectList84 = new A.EffectList();

            chartShapeProperties32.Append(noFill87);
            chartShapeProperties32.Append(outline102);
            chartShapeProperties32.Append(effectList84);

            C.TextProperties textProperties25 = new C.TextProperties();
            A.BodyProperties bodyProperties43 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle43 = new A.ListStyle();

            A.Paragraph paragraph43 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties25 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties25 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill128 = new A.SolidFill();

            A.SchemeColor schemeColor102 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation37 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset31 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor102.Append(luminanceModulation37);
            schemeColor102.Append(luminanceOffset31);

            solidFill128.Append(schemeColor102);
            A.LatinFont latinFont21 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont21 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont21 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties25.Append(solidFill128);
            defaultRunProperties25.Append(latinFont21);
            defaultRunProperties25.Append(eastAsianFont21);
            defaultRunProperties25.Append(complexScriptFont21);

            paragraphProperties25.Append(defaultRunProperties25);
            A.EndParagraphRunProperties endParagraphRunProperties25 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph43.Append(paragraphProperties25);
            paragraph43.Append(endParagraphRunProperties25);

            textProperties25.Append(bodyProperties43);
            textProperties25.Append(listStyle43);
            textProperties25.Append(paragraph43);
            C.CrossingAxis crossingAxis15 = new C.CrossingAxis(){ Val = (UInt32Value)209693768U };
            C.Crosses crosses15 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.AutoLabeled autoLabeled8 = new C.AutoLabeled(){ Val = true };
            C.LabelAlignment labelAlignment8 = new C.LabelAlignment(){ Val = C.LabelAlignmentValues.Center };
            C.LabelOffset labelOffset8 = new C.LabelOffset(){ Val = (UInt16Value)100U };
            C.NoMultiLevelLabels noMultiLevelLabels8 = new C.NoMultiLevelLabels(){ Val = false };

            categoryAxis8.Append(axisId31);
            categoryAxis8.Append(scaling15);
            categoryAxis8.Append(delete15);
            categoryAxis8.Append(axisPosition15);
            categoryAxis8.Append(numberingFormat26);
            categoryAxis8.Append(majorTickMark15);
            categoryAxis8.Append(minorTickMark15);
            categoryAxis8.Append(tickLabelPosition15);
            categoryAxis8.Append(chartShapeProperties32);
            categoryAxis8.Append(textProperties25);
            categoryAxis8.Append(crossingAxis15);
            categoryAxis8.Append(crosses15);
            categoryAxis8.Append(autoLabeled8);
            categoryAxis8.Append(labelAlignment8);
            categoryAxis8.Append(labelOffset8);
            categoryAxis8.Append(noMultiLevelLabels8);

            C.ValueAxis valueAxis8 = new C.ValueAxis();
            C.AxisId axisId32 = new C.AxisId(){ Val = (UInt32Value)209693768U };

            C.Scaling scaling16 = new C.Scaling();
            C.Orientation orientation16 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling16.Append(orientation16);
            C.Delete delete16 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition16 = new C.AxisPosition(){ Val = C.AxisPositionValues.Left };

            C.MajorGridlines majorGridlines8 = new C.MajorGridlines();

            C.ChartShapeProperties chartShapeProperties33 = new C.ChartShapeProperties();

            A.Outline outline103 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill129 = new A.SolidFill();

            A.SchemeColor schemeColor103 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation38 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset32 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor103.Append(luminanceModulation38);
            schemeColor103.Append(luminanceOffset32);

            solidFill129.Append(schemeColor103);
            A.Round round13 = new A.Round();

            outline103.Append(solidFill129);
            outline103.Append(round13);
            A.EffectList effectList85 = new A.EffectList();

            chartShapeProperties33.Append(outline103);
            chartShapeProperties33.Append(effectList85);

            majorGridlines8.Append(chartShapeProperties33);
            C.NumberingFormat numberingFormat27 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = true };
            C.MajorTickMark majorTickMark16 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark16 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition16 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties34 = new C.ChartShapeProperties();
            A.NoFill noFill89 = new A.NoFill();

            A.Outline outline104 = new A.Outline();
            A.NoFill noFill90 = new A.NoFill();

            outline104.Append(noFill90);
            A.EffectList effectList86 = new A.EffectList();

            chartShapeProperties34.Append(noFill89);
            chartShapeProperties34.Append(outline104);
            chartShapeProperties34.Append(effectList86);

            C.TextProperties textProperties26 = new C.TextProperties();
            A.BodyProperties bodyProperties44 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle44 = new A.ListStyle();

            A.Paragraph paragraph44 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties26 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties26 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill130 = new A.SolidFill();

            A.SchemeColor schemeColor104 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation39 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset33 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor104.Append(luminanceModulation39);
            schemeColor104.Append(luminanceOffset33);

            solidFill130.Append(schemeColor104);
            A.LatinFont latinFont22 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont22 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont22 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties26.Append(solidFill130);
            defaultRunProperties26.Append(latinFont22);
            defaultRunProperties26.Append(eastAsianFont22);
            defaultRunProperties26.Append(complexScriptFont22);

            paragraphProperties26.Append(defaultRunProperties26);
            A.EndParagraphRunProperties endParagraphRunProperties26 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph44.Append(paragraphProperties26);
            paragraph44.Append(endParagraphRunProperties26);

            textProperties26.Append(bodyProperties44);
            textProperties26.Append(listStyle44);
            textProperties26.Append(paragraph44);
            C.CrossingAxis crossingAxis16 = new C.CrossingAxis(){ Val = (UInt32Value)209240832U };
            C.Crosses crosses16 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.CrossBetween crossBetween8 = new C.CrossBetween(){ Val = C.CrossBetweenValues.Between };

            valueAxis8.Append(axisId32);
            valueAxis8.Append(scaling16);
            valueAxis8.Append(delete16);
            valueAxis8.Append(axisPosition16);
            valueAxis8.Append(majorGridlines8);
            valueAxis8.Append(numberingFormat27);
            valueAxis8.Append(majorTickMark16);
            valueAxis8.Append(minorTickMark16);
            valueAxis8.Append(tickLabelPosition16);
            valueAxis8.Append(chartShapeProperties34);
            valueAxis8.Append(textProperties26);
            valueAxis8.Append(crossingAxis16);
            valueAxis8.Append(crosses16);
            valueAxis8.Append(crossBetween8);

            C.ShapeProperties shapeProperties68 = new C.ShapeProperties();

            A.SolidFill solidFill131 = new A.SolidFill();
            A.SchemeColor schemeColor105 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill131.Append(schemeColor105);

            A.Outline outline105 = new A.Outline();
            A.NoFill noFill91 = new A.NoFill();

            outline105.Append(noFill91);
            A.EffectList effectList87 = new A.EffectList();

            shapeProperties68.Append(solidFill131);
            shapeProperties68.Append(outline105);
            shapeProperties68.Append(effectList87);

            plotArea16.Append(layout16);
            plotArea16.Append(barChart8);
            plotArea16.Append(categoryAxis8);
            plotArea16.Append(valueAxis8);
            plotArea16.Append(shapeProperties68);

            C.Legend legend16 = new C.Legend();
            C.LegendPosition legendPosition16 = new C.LegendPosition(){ Val = C.LegendPositionValues.Bottom };
            C.Overlay overlay32 = new C.Overlay(){ Val = false };

            C.ChartShapeProperties chartShapeProperties35 = new C.ChartShapeProperties();
            A.NoFill noFill92 = new A.NoFill();

            A.Outline outline106 = new A.Outline();
            A.NoFill noFill93 = new A.NoFill();

            outline106.Append(noFill93);
            A.EffectList effectList88 = new A.EffectList();

            chartShapeProperties35.Append(noFill92);
            chartShapeProperties35.Append(outline106);
            chartShapeProperties35.Append(effectList88);

            C.TextProperties textProperties27 = new C.TextProperties();
            A.BodyProperties bodyProperties45 = new A.BodyProperties(){ Rotation = 0, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle45 = new A.ListStyle();

            A.Paragraph paragraph45 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties27 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties27 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill132 = new A.SolidFill();

            A.SchemeColor schemeColor106 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation40 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset34 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor106.Append(luminanceModulation40);
            schemeColor106.Append(luminanceOffset34);

            solidFill132.Append(schemeColor106);
            A.LatinFont latinFont23 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont23 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont23 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties27.Append(solidFill132);
            defaultRunProperties27.Append(latinFont23);
            defaultRunProperties27.Append(eastAsianFont23);
            defaultRunProperties27.Append(complexScriptFont23);

            paragraphProperties27.Append(defaultRunProperties27);
            A.EndParagraphRunProperties endParagraphRunProperties27 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph45.Append(paragraphProperties27);
            paragraph45.Append(endParagraphRunProperties27);

            textProperties27.Append(bodyProperties45);
            textProperties27.Append(listStyle45);
            textProperties27.Append(paragraph45);

            legend16.Append(legendPosition16);
            legend16.Append(overlay32);
            legend16.Append(chartShapeProperties35);
            legend16.Append(textProperties27);
            C.PlotVisibleOnly plotVisibleOnly16 = new C.PlotVisibleOnly(){ Val = true };
            C.DisplayBlanksAs displayBlanksAs16 = new C.DisplayBlanksAs(){ Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum16 = new C.ShowDataLabelsOverMaximum(){ Val = false };

            chart16.Append(title16);
            chart16.Append(autoTitleDeleted16);
            chart16.Append(pivotFormats16);
            chart16.Append(plotArea16);
            chart16.Append(legend16);
            chart16.Append(plotVisibleOnly16);
            chart16.Append(displayBlanksAs16);
            chart16.Append(showDataLabelsOverMaximum16);

            C.ShapeProperties shapeProperties69 = new C.ShapeProperties();

            A.SolidFill solidFill133 = new A.SolidFill();
            A.SchemeColor schemeColor107 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill133.Append(schemeColor107);

            A.Outline outline107 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill134 = new A.SolidFill();

            A.SchemeColor schemeColor108 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation41 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset35 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor108.Append(luminanceModulation41);
            schemeColor108.Append(luminanceOffset35);

            solidFill134.Append(schemeColor108);
            A.Round round14 = new A.Round();

            outline107.Append(solidFill134);
            outline107.Append(round14);
            A.EffectList effectList89 = new A.EffectList();

            shapeProperties69.Append(solidFill133);
            shapeProperties69.Append(outline107);
            shapeProperties69.Append(effectList89);

            C.TextProperties textProperties28 = new C.TextProperties();
            A.BodyProperties bodyProperties46 = new A.BodyProperties();
            A.ListStyle listStyle46 = new A.ListStyle();

            A.Paragraph paragraph46 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties28 = new A.ParagraphProperties();
            A.DefaultRunProperties defaultRunProperties28 = new A.DefaultRunProperties();

            paragraphProperties28.Append(defaultRunProperties28);
            A.EndParagraphRunProperties endParagraphRunProperties28 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph46.Append(paragraphProperties28);
            paragraph46.Append(endParagraphRunProperties28);

            textProperties28.Append(bodyProperties46);
            textProperties28.Append(listStyle46);
            textProperties28.Append(paragraph46);

            C.PrintSettings printSettings16 = new C.PrintSettings();
            C.HeaderFooter headerFooter16 = new C.HeaderFooter();
            C.PageMargins pageMargins26 = new C.PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };
            C.PageSetup pageSetup16 = new C.PageSetup();

            printSettings16.Append(headerFooter16);
            printSettings16.Append(pageMargins26);
            printSettings16.Append(pageSetup16);

            C.ChartSpaceExtensionList chartSpaceExtensionList16 = new C.ChartSpaceExtensionList();
            chartSpaceExtensionList16.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C.ChartSpaceExtension chartSpaceExtension16 = new C.ChartSpaceExtension(){ Uri = "{781A3756-C4B2-4CAC-9D66-4F8BD8637D16}" };
            chartSpaceExtension16.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C14.PivotOptions pivotOptions16 = new C14.PivotOptions();
            C14.DropZoneFilter dropZoneFilter16 = new C14.DropZoneFilter(){ Val = true };
            C14.DropZoneCategories dropZoneCategories16 = new C14.DropZoneCategories(){ Val = true };
            C14.DropZoneData dropZoneData16 = new C14.DropZoneData(){ Val = true };
            C14.DropZoneSeries dropZoneSeries16 = new C14.DropZoneSeries(){ Val = true };
            C14.DropZonesVisible dropZonesVisible16 = new C14.DropZonesVisible(){ Val = true };

            pivotOptions16.Append(dropZoneFilter16);
            pivotOptions16.Append(dropZoneCategories16);
            pivotOptions16.Append(dropZoneData16);
            pivotOptions16.Append(dropZoneSeries16);
            pivotOptions16.Append(dropZonesVisible16);

            chartSpaceExtension16.Append(pivotOptions16);

            chartSpaceExtensionList16.Append(chartSpaceExtension16);

            chartSpace16.Append(date190416);
            chartSpace16.Append(editingLanguage16);
            chartSpace16.Append(roundedCorners16);
            chartSpace16.Append(style31);
            chartSpace16.Append(pivotSource16);
            chartSpace16.Append(chart16);
            chartSpace16.Append(shapeProperties69);
            chartSpace16.Append(textProperties28);
            chartSpace16.Append(printSettings16);
            chartSpace16.Append(chartSpaceExtensionList16);

            chartPart16.ChartSpace = chartSpace16;
        }
        // Generates content of chartPart2.
        private void GenerateChartPart2Content(ChartPart chartPart2)
        {
            C.ChartSpace chartSpace2 = new C.ChartSpace();
            chartSpace2.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace2.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace2.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date19042 = new C.Date1904(){ Val = false };
            C.EditingLanguage editingLanguage2 = new C.EditingLanguage(){ Val = "en-US" };
            C.RoundedCorners roundedCorners2 = new C.RoundedCorners(){ Val = false };

            AlternateContent alternateContent5 = new AlternateContent();
            alternateContent5.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            AlternateContentChoice alternateContentChoice5 = new AlternateContentChoice(){ Requires = "c14" };
            alternateContentChoice5.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            C14.Style style3 = new C14.Style(){ Val = 101 };

            alternateContentChoice5.Append(style3);

            AlternateContentFallback alternateContentFallback4 = new AlternateContentFallback();
            C.Style style4 = new C.Style(){ Val = 1 };

            alternateContentFallback4.Append(style4);

            alternateContent5.Append(alternateContentChoice5);
            alternateContent5.Append(alternateContentFallback4);

            C.PivotSource pivotSource2 = new C.PivotSource();
            C.PivotTableName pivotTableName2 = new C.PivotTableName();
            pivotTableName2.Text = "[GeneratedDocument.xlsx]ShowTimeLevel!PivotTable1";
            C.FormatId formatId2 = new C.FormatId(){ Val = (UInt32Value)13U };

            pivotSource2.Append(pivotTableName2);
            pivotSource2.Append(formatId2);

            C.Chart chart2 = new C.Chart();

            C.Title title2 = new C.Title();
            C.Overlay overlay3 = new C.Overlay(){ Val = false };

            title2.Append(overlay3);
            C.AutoTitleDeleted autoTitleDeleted2 = new C.AutoTitleDeleted(){ Val = false };

            C.PivotFormats pivotFormats2 = new C.PivotFormats();

            C.PivotFormat pivotFormat6 = new C.PivotFormat();
            C.Index index7 = new C.Index(){ Val = (UInt32Value)0U };

            C.ShapeProperties shapeProperties3 = new C.ShapeProperties();

            A.SolidFill solidFill5 = new A.SolidFill();

            A.SchemeColor schemeColor1 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint1 = new A.Tint(){ Val = 100000 };

            schemeColor1.Append(tint1);

            solidFill5.Append(schemeColor1);

            A.Outline outline3 = new A.Outline();
            A.NoFill noFill1 = new A.NoFill();

            outline3.Append(noFill1);
            A.EffectList effectList1 = new A.EffectList();

            shapeProperties3.Append(solidFill5);
            shapeProperties3.Append(outline3);
            shapeProperties3.Append(effectList1);

            C.Marker marker6 = new C.Marker();
            C.Symbol symbol6 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker6.Append(symbol6);

            pivotFormat6.Append(index7);
            pivotFormat6.Append(shapeProperties3);
            pivotFormat6.Append(marker6);

            C.PivotFormat pivotFormat7 = new C.PivotFormat();
            C.Index index8 = new C.Index(){ Val = (UInt32Value)1U };

            C.ShapeProperties shapeProperties4 = new C.ShapeProperties();

            A.SolidFill solidFill6 = new A.SolidFill();

            A.SchemeColor schemeColor2 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent2 };
            A.Tint tint2 = new A.Tint(){ Val = 100000 };

            schemeColor2.Append(tint2);

            solidFill6.Append(schemeColor2);

            A.Outline outline4 = new A.Outline();
            A.NoFill noFill2 = new A.NoFill();

            outline4.Append(noFill2);
            A.EffectList effectList2 = new A.EffectList();

            shapeProperties4.Append(solidFill6);
            shapeProperties4.Append(outline4);
            shapeProperties4.Append(effectList2);

            C.Marker marker7 = new C.Marker();
            C.Symbol symbol7 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker7.Append(symbol7);

            pivotFormat7.Append(index8);
            pivotFormat7.Append(shapeProperties4);
            pivotFormat7.Append(marker7);

            C.PivotFormat pivotFormat8 = new C.PivotFormat();
            C.Index index9 = new C.Index(){ Val = (UInt32Value)2U };

            C.Marker marker8 = new C.Marker();
            C.Symbol symbol8 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker8.Append(symbol8);

            pivotFormat8.Append(index9);
            pivotFormat8.Append(marker8);

            C.PivotFormat pivotFormat9 = new C.PivotFormat();
            C.Index index10 = new C.Index(){ Val = (UInt32Value)3U };

            C.Marker marker9 = new C.Marker();
            C.Symbol symbol9 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker9.Append(symbol9);

            pivotFormat9.Append(index10);
            pivotFormat9.Append(marker9);

            C.PivotFormat pivotFormat10 = new C.PivotFormat();
            C.Index index11 = new C.Index(){ Val = (UInt32Value)4U };

            C.Marker marker10 = new C.Marker();
            C.Symbol symbol10 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker10.Append(symbol10);

            pivotFormat10.Append(index11);
            pivotFormat10.Append(marker10);

            C.PivotFormat pivotFormat11 = new C.PivotFormat();
            C.Index index12 = new C.Index(){ Val = (UInt32Value)5U };

            C.Marker marker11 = new C.Marker();
            C.Symbol symbol11 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker11.Append(symbol11);

            pivotFormat11.Append(index12);
            pivotFormat11.Append(marker11);

            C.PivotFormat pivotFormat12 = new C.PivotFormat();
            C.Index index13 = new C.Index(){ Val = (UInt32Value)6U };

            C.Marker marker12 = new C.Marker();
            C.Symbol symbol12 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker12.Append(symbol12);

            pivotFormat12.Append(index13);
            pivotFormat12.Append(marker12);

            C.PivotFormat pivotFormat13 = new C.PivotFormat();
            C.Index index14 = new C.Index(){ Val = (UInt32Value)7U };

            C.Marker marker13 = new C.Marker();
            C.Symbol symbol13 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker13.Append(symbol13);

            pivotFormat13.Append(index14);
            pivotFormat13.Append(marker13);

            C.PivotFormat pivotFormat14 = new C.PivotFormat();
            C.Index index15 = new C.Index(){ Val = (UInt32Value)8U };

            C.Marker marker14 = new C.Marker();
            C.Symbol symbol14 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker14.Append(symbol14);

            pivotFormat14.Append(index15);
            pivotFormat14.Append(marker14);

            C.PivotFormat pivotFormat15 = new C.PivotFormat();
            C.Index index16 = new C.Index(){ Val = (UInt32Value)9U };

            C.Marker marker15 = new C.Marker();
            C.Symbol symbol15 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker15.Append(symbol15);

            pivotFormat15.Append(index16);
            pivotFormat15.Append(marker15);

            C.PivotFormat pivotFormat16 = new C.PivotFormat();
            C.Index index17 = new C.Index(){ Val = (UInt32Value)10U };

            C.Marker marker16 = new C.Marker();
            C.Symbol symbol16 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker16.Append(symbol16);

            pivotFormat16.Append(index17);
            pivotFormat16.Append(marker16);

            C.PivotFormat pivotFormat17 = new C.PivotFormat();
            C.Index index18 = new C.Index(){ Val = (UInt32Value)11U };

            C.Marker marker17 = new C.Marker();
            C.Symbol symbol17 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker17.Append(symbol17);

            pivotFormat17.Append(index18);
            pivotFormat17.Append(marker17);

            C.PivotFormat pivotFormat18 = new C.PivotFormat();
            C.Index index19 = new C.Index(){ Val = (UInt32Value)12U };

            C.Marker marker18 = new C.Marker();
            C.Symbol symbol18 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker18.Append(symbol18);

            pivotFormat18.Append(index19);
            pivotFormat18.Append(marker18);

            C.PivotFormat pivotFormat19 = new C.PivotFormat();
            C.Index index20 = new C.Index(){ Val = (UInt32Value)13U };

            C.Marker marker19 = new C.Marker();
            C.Symbol symbol19 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker19.Append(symbol19);

            pivotFormat19.Append(index20);
            pivotFormat19.Append(marker19);

            C.PivotFormat pivotFormat20 = new C.PivotFormat();
            C.Index index21 = new C.Index(){ Val = (UInt32Value)14U };

            C.ShapeProperties shapeProperties5 = new C.ShapeProperties();

            A.SolidFill solidFill7 = new A.SolidFill();

            A.SchemeColor schemeColor3 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint3 = new A.Tint(){ Val = 100000 };

            schemeColor3.Append(tint3);

            solidFill7.Append(schemeColor3);

            A.Outline outline5 = new A.Outline();
            A.NoFill noFill3 = new A.NoFill();

            outline5.Append(noFill3);
            A.EffectList effectList3 = new A.EffectList();

            shapeProperties5.Append(solidFill7);
            shapeProperties5.Append(outline5);
            shapeProperties5.Append(effectList3);

            C.Marker marker20 = new C.Marker();
            C.Symbol symbol20 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker20.Append(symbol20);

            pivotFormat20.Append(index21);
            pivotFormat20.Append(shapeProperties5);
            pivotFormat20.Append(marker20);

            C.PivotFormat pivotFormat21 = new C.PivotFormat();
            C.Index index22 = new C.Index(){ Val = (UInt32Value)15U };

            C.ShapeProperties shapeProperties6 = new C.ShapeProperties();

            A.SolidFill solidFill8 = new A.SolidFill();

            A.SchemeColor schemeColor4 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint4 = new A.Tint(){ Val = 100000 };

            schemeColor4.Append(tint4);

            solidFill8.Append(schemeColor4);

            A.Outline outline6 = new A.Outline();
            A.NoFill noFill4 = new A.NoFill();

            outline6.Append(noFill4);
            A.EffectList effectList4 = new A.EffectList();

            shapeProperties6.Append(solidFill8);
            shapeProperties6.Append(outline6);
            shapeProperties6.Append(effectList4);

            C.Marker marker21 = new C.Marker();
            C.Symbol symbol21 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker21.Append(symbol21);

            pivotFormat21.Append(index22);
            pivotFormat21.Append(shapeProperties6);
            pivotFormat21.Append(marker21);

            C.PivotFormat pivotFormat22 = new C.PivotFormat();
            C.Index index23 = new C.Index(){ Val = (UInt32Value)16U };

            C.ShapeProperties shapeProperties7 = new C.ShapeProperties();

            A.SolidFill solidFill9 = new A.SolidFill();

            A.SchemeColor schemeColor5 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint5 = new A.Tint(){ Val = 100000 };

            schemeColor5.Append(tint5);

            solidFill9.Append(schemeColor5);

            A.Outline outline7 = new A.Outline();
            A.NoFill noFill5 = new A.NoFill();

            outline7.Append(noFill5);
            A.EffectList effectList5 = new A.EffectList();

            shapeProperties7.Append(solidFill9);
            shapeProperties7.Append(outline7);
            shapeProperties7.Append(effectList5);

            C.Marker marker22 = new C.Marker();
            C.Symbol symbol22 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker22.Append(symbol22);

            pivotFormat22.Append(index23);
            pivotFormat22.Append(shapeProperties7);
            pivotFormat22.Append(marker22);

            C.PivotFormat pivotFormat23 = new C.PivotFormat();
            C.Index index24 = new C.Index(){ Val = (UInt32Value)17U };

            C.ShapeProperties shapeProperties8 = new C.ShapeProperties();

            A.SolidFill solidFill10 = new A.SolidFill();

            A.SchemeColor schemeColor6 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint6 = new A.Tint(){ Val = 100000 };

            schemeColor6.Append(tint6);

            solidFill10.Append(schemeColor6);

            A.Outline outline8 = new A.Outline();
            A.NoFill noFill6 = new A.NoFill();

            outline8.Append(noFill6);
            A.EffectList effectList6 = new A.EffectList();

            shapeProperties8.Append(solidFill10);
            shapeProperties8.Append(outline8);
            shapeProperties8.Append(effectList6);

            C.Marker marker23 = new C.Marker();
            C.Symbol symbol23 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker23.Append(symbol23);

            pivotFormat23.Append(index24);
            pivotFormat23.Append(shapeProperties8);
            pivotFormat23.Append(marker23);

            pivotFormats2.Append(pivotFormat6);
            pivotFormats2.Append(pivotFormat7);
            pivotFormats2.Append(pivotFormat8);
            pivotFormats2.Append(pivotFormat9);
            pivotFormats2.Append(pivotFormat10);
            pivotFormats2.Append(pivotFormat11);
            pivotFormats2.Append(pivotFormat12);
            pivotFormats2.Append(pivotFormat13);
            pivotFormats2.Append(pivotFormat14);
            pivotFormats2.Append(pivotFormat15);
            pivotFormats2.Append(pivotFormat16);
            pivotFormats2.Append(pivotFormat17);
            pivotFormats2.Append(pivotFormat18);
            pivotFormats2.Append(pivotFormat19);
            pivotFormats2.Append(pivotFormat20);
            pivotFormats2.Append(pivotFormat21);
            pivotFormats2.Append(pivotFormat22);
            pivotFormats2.Append(pivotFormat23);

            C.PlotArea plotArea2 = new C.PlotArea();
            C.Layout layout2 = new C.Layout();

            C.BarChart barChart1 = new C.BarChart();
            C.BarDirection barDirection1 = new C.BarDirection(){ Val = C.BarDirectionValues.Column };
            C.BarGrouping barGrouping1 = new C.BarGrouping(){ Val = C.BarGroupingValues.Clustered };
            C.VaryColors varyColors2 = new C.VaryColors(){ Val = false };

            C.BarChartSeries barChartSeries1 = new C.BarChartSeries();
            C.Index index25 = new C.Index(){ Val = (UInt32Value)0U };
            C.Order order2 = new C.Order(){ Val = (UInt32Value)0U };

            C.SeriesText seriesText2 = new C.SeriesText();

            C.StringReference stringReference3 = new C.StringReference();
            C.Formula formula4 = new C.Formula();
            formula4.Text = "ShowTimeLevel!$B$1";

            C.StringCache stringCache3 = new C.StringCache();
            C.PointCount pointCount4 = new C.PointCount(){ Val = (UInt32Value)1U };

            C.StringPoint stringPoint5 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue8 = new C.NumericValue();
            numericValue8.Text = "Total";

            stringPoint5.Append(numericValue8);

            stringCache3.Append(pointCount4);
            stringCache3.Append(stringPoint5);

            stringReference3.Append(formula4);
            stringReference3.Append(stringCache3);

            seriesText2.Append(stringReference3);

            C.ChartShapeProperties chartShapeProperties1 = new C.ChartShapeProperties();

            A.SolidFill solidFill11 = new A.SolidFill();

            A.SchemeColor schemeColor7 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint7 = new A.Tint(){ Val = 100000 };

            schemeColor7.Append(tint7);

            solidFill11.Append(schemeColor7);

            A.Outline outline9 = new A.Outline();
            A.NoFill noFill7 = new A.NoFill();

            outline9.Append(noFill7);
            A.EffectList effectList7 = new A.EffectList();

            chartShapeProperties1.Append(solidFill11);
            chartShapeProperties1.Append(outline9);
            chartShapeProperties1.Append(effectList7);
            C.InvertIfNegative invertIfNegative1 = new C.InvertIfNegative(){ Val = false };

            C.CategoryAxisData categoryAxisData2 = new C.CategoryAxisData();

            C.StringReference stringReference4 = new C.StringReference();
            C.Formula formula5 = new C.Formula();
            formula5.Text = "ShowTimeLevel!$A$2:$A$5";

            C.StringCache stringCache4 = new C.StringCache();
            C.PointCount pointCount5 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.StringPoint stringPoint6 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue9 = new C.NumericValue();
            numericValue9.Text = "product_A";

            stringPoint6.Append(numericValue9);

            C.StringPoint stringPoint7 = new C.StringPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue10 = new C.NumericValue();
            numericValue10.Text = "product_D";

            stringPoint7.Append(numericValue10);

            C.StringPoint stringPoint8 = new C.StringPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue11 = new C.NumericValue();
            numericValue11.Text = "product_E";

            stringPoint8.Append(numericValue11);

            stringCache4.Append(pointCount5);
            stringCache4.Append(stringPoint6);
            stringCache4.Append(stringPoint7);
            stringCache4.Append(stringPoint8);

            stringReference4.Append(formula5);
            stringReference4.Append(stringCache4);

            categoryAxisData2.Append(stringReference4);

            C.Values values2 = new C.Values();

            C.NumberReference numberReference2 = new C.NumberReference();
            C.Formula formula6 = new C.Formula();
            formula6.Text = "ShowTimeLevel!$B$2:$B$5";

            C.NumberingCache numberingCache2 = new C.NumberingCache();
            C.FormatCode formatCode2 = new C.FormatCode();
            formatCode2.Text = "General";
            C.PointCount pointCount6 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.NumericPoint numericPoint4 = new C.NumericPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue12 = new C.NumericValue();
            numericValue12.Text = "19";

            numericPoint4.Append(numericValue12);

            C.NumericPoint numericPoint5 = new C.NumericPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue13 = new C.NumericValue();
            numericValue13.Text = "13";

            numericPoint5.Append(numericValue13);

            C.NumericPoint numericPoint6 = new C.NumericPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue14 = new C.NumericValue();
            numericValue14.Text = "33";

            numericPoint6.Append(numericValue14);

            numberingCache2.Append(formatCode2);
            numberingCache2.Append(pointCount6);
            numberingCache2.Append(numericPoint4);
            numberingCache2.Append(numericPoint5);
            numberingCache2.Append(numericPoint6);

            numberReference2.Append(formula6);
            numberReference2.Append(numberingCache2);

            values2.Append(numberReference2);

            barChartSeries1.Append(index25);
            barChartSeries1.Append(order2);
            barChartSeries1.Append(seriesText2);
            barChartSeries1.Append(chartShapeProperties1);
            barChartSeries1.Append(invertIfNegative1);
            barChartSeries1.Append(categoryAxisData2);
            barChartSeries1.Append(values2);

            C.DataLabels dataLabels2 = new C.DataLabels();
            C.ShowLegendKey showLegendKey2 = new C.ShowLegendKey(){ Val = false };
            C.ShowValue showValue2 = new C.ShowValue(){ Val = false };
            C.ShowCategoryName showCategoryName2 = new C.ShowCategoryName(){ Val = false };
            C.ShowSeriesName showSeriesName2 = new C.ShowSeriesName(){ Val = false };
            C.ShowPercent showPercent2 = new C.ShowPercent(){ Val = false };
            C.ShowBubbleSize showBubbleSize2 = new C.ShowBubbleSize(){ Val = false };

            dataLabels2.Append(showLegendKey2);
            dataLabels2.Append(showValue2);
            dataLabels2.Append(showCategoryName2);
            dataLabels2.Append(showSeriesName2);
            dataLabels2.Append(showPercent2);
            dataLabels2.Append(showBubbleSize2);
            C.GapWidth gapWidth1 = new C.GapWidth(){ Val = (UInt16Value)219U };
            C.Overlap overlap1 = new C.Overlap(){ Val = -27 };
            C.AxisId axisId1 = new C.AxisId(){ Val = (UInt32Value)209981120U };
            C.AxisId axisId2 = new C.AxisId(){ Val = (UInt32Value)209981512U };

            barChart1.Append(barDirection1);
            barChart1.Append(barGrouping1);
            barChart1.Append(varyColors2);
            barChart1.Append(barChartSeries1);
            barChart1.Append(dataLabels2);
            barChart1.Append(gapWidth1);
            barChart1.Append(overlap1);
            barChart1.Append(axisId1);
            barChart1.Append(axisId2);

            C.CategoryAxis categoryAxis1 = new C.CategoryAxis();
            C.AxisId axisId3 = new C.AxisId(){ Val = (UInt32Value)209981120U };

            C.Scaling scaling1 = new C.Scaling();
            C.Orientation orientation1 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling1.Append(orientation1);
            C.Delete delete1 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition1 = new C.AxisPosition(){ Val = C.AxisPositionValues.Bottom };
            C.NumberingFormat numberingFormat1 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = false };
            C.MajorTickMark majorTickMark1 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark1 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition1 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties2 = new C.ChartShapeProperties();
            A.NoFill noFill8 = new A.NoFill();

            A.Outline outline10 = new A.Outline();
            A.NoFill noFill9 = new A.NoFill();

            outline10.Append(noFill9);
            A.EffectList effectList8 = new A.EffectList();

            chartShapeProperties2.Append(noFill8);
            chartShapeProperties2.Append(outline10);
            chartShapeProperties2.Append(effectList8);

            C.TextProperties textProperties1 = new C.TextProperties();
            A.BodyProperties bodyProperties3 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle3 = new A.ListStyle();

            A.Paragraph paragraph3 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties1 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties1 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill12 = new A.SolidFill();

            A.SchemeColor schemeColor8 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation1 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset1 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor8.Append(luminanceModulation1);
            schemeColor8.Append(luminanceOffset1);

            solidFill12.Append(schemeColor8);
            A.LatinFont latinFont1 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont1 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont1 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties1.Append(solidFill12);
            defaultRunProperties1.Append(latinFont1);
            defaultRunProperties1.Append(eastAsianFont1);
            defaultRunProperties1.Append(complexScriptFont1);

            paragraphProperties1.Append(defaultRunProperties1);
            A.EndParagraphRunProperties endParagraphRunProperties1 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph3.Append(paragraphProperties1);
            paragraph3.Append(endParagraphRunProperties1);

            textProperties1.Append(bodyProperties3);
            textProperties1.Append(listStyle3);
            textProperties1.Append(paragraph3);
            C.CrossingAxis crossingAxis1 = new C.CrossingAxis(){ Val = (UInt32Value)209981512U };
            C.Crosses crosses1 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.AutoLabeled autoLabeled1 = new C.AutoLabeled(){ Val = true };
            C.LabelAlignment labelAlignment1 = new C.LabelAlignment(){ Val = C.LabelAlignmentValues.Center };
            C.LabelOffset labelOffset1 = new C.LabelOffset(){ Val = (UInt16Value)100U };
            C.NoMultiLevelLabels noMultiLevelLabels1 = new C.NoMultiLevelLabels(){ Val = false };

            categoryAxis1.Append(axisId3);
            categoryAxis1.Append(scaling1);
            categoryAxis1.Append(delete1);
            categoryAxis1.Append(axisPosition1);
            categoryAxis1.Append(numberingFormat1);
            categoryAxis1.Append(majorTickMark1);
            categoryAxis1.Append(minorTickMark1);
            categoryAxis1.Append(tickLabelPosition1);
            categoryAxis1.Append(chartShapeProperties2);
            categoryAxis1.Append(textProperties1);
            categoryAxis1.Append(crossingAxis1);
            categoryAxis1.Append(crosses1);
            categoryAxis1.Append(autoLabeled1);
            categoryAxis1.Append(labelAlignment1);
            categoryAxis1.Append(labelOffset1);
            categoryAxis1.Append(noMultiLevelLabels1);

            C.ValueAxis valueAxis1 = new C.ValueAxis();
            C.AxisId axisId4 = new C.AxisId(){ Val = (UInt32Value)209981512U };

            C.Scaling scaling2 = new C.Scaling();
            C.Orientation orientation2 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling2.Append(orientation2);
            C.Delete delete2 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition2 = new C.AxisPosition(){ Val = C.AxisPositionValues.Left };

            C.MajorGridlines majorGridlines1 = new C.MajorGridlines();

            C.ChartShapeProperties chartShapeProperties3 = new C.ChartShapeProperties();

            A.Outline outline11 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill13 = new A.SolidFill();

            A.SchemeColor schemeColor9 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation2 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset2 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor9.Append(luminanceModulation2);
            schemeColor9.Append(luminanceOffset2);

            solidFill13.Append(schemeColor9);
            A.Round round1 = new A.Round();

            outline11.Append(solidFill13);
            outline11.Append(round1);
            A.EffectList effectList9 = new A.EffectList();

            chartShapeProperties3.Append(outline11);
            chartShapeProperties3.Append(effectList9);

            majorGridlines1.Append(chartShapeProperties3);
            C.NumberingFormat numberingFormat2 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = true };
            C.MajorTickMark majorTickMark2 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark2 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition2 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties4 = new C.ChartShapeProperties();
            A.NoFill noFill10 = new A.NoFill();

            A.Outline outline12 = new A.Outline();
            A.NoFill noFill11 = new A.NoFill();

            outline12.Append(noFill11);
            A.EffectList effectList10 = new A.EffectList();

            chartShapeProperties4.Append(noFill10);
            chartShapeProperties4.Append(outline12);
            chartShapeProperties4.Append(effectList10);

            C.TextProperties textProperties2 = new C.TextProperties();
            A.BodyProperties bodyProperties4 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle4 = new A.ListStyle();

            A.Paragraph paragraph4 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties2 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties2 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill14 = new A.SolidFill();

            A.SchemeColor schemeColor10 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation3 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset3 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor10.Append(luminanceModulation3);
            schemeColor10.Append(luminanceOffset3);

            solidFill14.Append(schemeColor10);
            A.LatinFont latinFont2 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont2 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont2 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties2.Append(solidFill14);
            defaultRunProperties2.Append(latinFont2);
            defaultRunProperties2.Append(eastAsianFont2);
            defaultRunProperties2.Append(complexScriptFont2);

            paragraphProperties2.Append(defaultRunProperties2);
            A.EndParagraphRunProperties endParagraphRunProperties2 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph4.Append(paragraphProperties2);
            paragraph4.Append(endParagraphRunProperties2);

            textProperties2.Append(bodyProperties4);
            textProperties2.Append(listStyle4);
            textProperties2.Append(paragraph4);
            C.CrossingAxis crossingAxis2 = new C.CrossingAxis(){ Val = (UInt32Value)209981120U };
            C.Crosses crosses2 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.CrossBetween crossBetween1 = new C.CrossBetween(){ Val = C.CrossBetweenValues.Between };

            valueAxis1.Append(axisId4);
            valueAxis1.Append(scaling2);
            valueAxis1.Append(delete2);
            valueAxis1.Append(axisPosition2);
            valueAxis1.Append(majorGridlines1);
            valueAxis1.Append(numberingFormat2);
            valueAxis1.Append(majorTickMark2);
            valueAxis1.Append(minorTickMark2);
            valueAxis1.Append(tickLabelPosition2);
            valueAxis1.Append(chartShapeProperties4);
            valueAxis1.Append(textProperties2);
            valueAxis1.Append(crossingAxis2);
            valueAxis1.Append(crosses2);
            valueAxis1.Append(crossBetween1);

            C.ShapeProperties shapeProperties9 = new C.ShapeProperties();

            A.SolidFill solidFill15 = new A.SolidFill();
            A.SchemeColor schemeColor11 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill15.Append(schemeColor11);

            A.Outline outline13 = new A.Outline();
            A.NoFill noFill12 = new A.NoFill();

            outline13.Append(noFill12);
            A.EffectList effectList11 = new A.EffectList();

            shapeProperties9.Append(solidFill15);
            shapeProperties9.Append(outline13);
            shapeProperties9.Append(effectList11);

            plotArea2.Append(layout2);
            plotArea2.Append(barChart1);
            plotArea2.Append(categoryAxis1);
            plotArea2.Append(valueAxis1);
            plotArea2.Append(shapeProperties9);

            C.Legend legend2 = new C.Legend();
            C.LegendPosition legendPosition2 = new C.LegendPosition(){ Val = C.LegendPositionValues.Bottom };
            C.Overlay overlay4 = new C.Overlay(){ Val = false };

            C.ChartShapeProperties chartShapeProperties5 = new C.ChartShapeProperties();
            A.NoFill noFill13 = new A.NoFill();

            A.Outline outline14 = new A.Outline();
            A.NoFill noFill14 = new A.NoFill();

            outline14.Append(noFill14);
            A.EffectList effectList12 = new A.EffectList();

            chartShapeProperties5.Append(noFill13);
            chartShapeProperties5.Append(outline14);
            chartShapeProperties5.Append(effectList12);

            C.TextProperties textProperties3 = new C.TextProperties();
            A.BodyProperties bodyProperties5 = new A.BodyProperties(){ Rotation = 0, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle5 = new A.ListStyle();

            A.Paragraph paragraph5 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties3 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties3 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill16 = new A.SolidFill();

            A.SchemeColor schemeColor12 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation4 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset4 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor12.Append(luminanceModulation4);
            schemeColor12.Append(luminanceOffset4);

            solidFill16.Append(schemeColor12);
            A.LatinFont latinFont3 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont3 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont3 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties3.Append(solidFill16);
            defaultRunProperties3.Append(latinFont3);
            defaultRunProperties3.Append(eastAsianFont3);
            defaultRunProperties3.Append(complexScriptFont3);

            paragraphProperties3.Append(defaultRunProperties3);
            A.EndParagraphRunProperties endParagraphRunProperties3 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph5.Append(paragraphProperties3);
            paragraph5.Append(endParagraphRunProperties3);

            textProperties3.Append(bodyProperties5);
            textProperties3.Append(listStyle5);
            textProperties3.Append(paragraph5);

            legend2.Append(legendPosition2);
            legend2.Append(overlay4);
            legend2.Append(chartShapeProperties5);
            legend2.Append(textProperties3);
            C.PlotVisibleOnly plotVisibleOnly2 = new C.PlotVisibleOnly(){ Val = true };
            C.DisplayBlanksAs displayBlanksAs2 = new C.DisplayBlanksAs(){ Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum2 = new C.ShowDataLabelsOverMaximum(){ Val = false };

            chart2.Append(title2);
            chart2.Append(autoTitleDeleted2);
            chart2.Append(pivotFormats2);
            chart2.Append(plotArea2);
            chart2.Append(legend2);
            chart2.Append(plotVisibleOnly2);
            chart2.Append(displayBlanksAs2);
            chart2.Append(showDataLabelsOverMaximum2);

            C.ShapeProperties shapeProperties10 = new C.ShapeProperties();

            A.SolidFill solidFill17 = new A.SolidFill();
            A.SchemeColor schemeColor13 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill17.Append(schemeColor13);

            A.Outline outline15 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill18 = new A.SolidFill();

            A.SchemeColor schemeColor14 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation5 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset5 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor14.Append(luminanceModulation5);
            schemeColor14.Append(luminanceOffset5);

            solidFill18.Append(schemeColor14);
            A.Round round2 = new A.Round();

            outline15.Append(solidFill18);
            outline15.Append(round2);
            A.EffectList effectList13 = new A.EffectList();

            shapeProperties10.Append(solidFill17);
            shapeProperties10.Append(outline15);
            shapeProperties10.Append(effectList13);

            C.TextProperties textProperties4 = new C.TextProperties();
            A.BodyProperties bodyProperties6 = new A.BodyProperties();
            A.ListStyle listStyle6 = new A.ListStyle();

            A.Paragraph paragraph6 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties4 = new A.ParagraphProperties();
            A.DefaultRunProperties defaultRunProperties4 = new A.DefaultRunProperties();

            paragraphProperties4.Append(defaultRunProperties4);
            A.EndParagraphRunProperties endParagraphRunProperties4 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph6.Append(paragraphProperties4);
            paragraph6.Append(endParagraphRunProperties4);

            textProperties4.Append(bodyProperties6);
            textProperties4.Append(listStyle6);
            textProperties4.Append(paragraph6);

            C.PrintSettings printSettings2 = new C.PrintSettings();
            C.HeaderFooter headerFooter2 = new C.HeaderFooter();
            C.PageMargins pageMargins3 = new C.PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };
            C.PageSetup pageSetup2 = new C.PageSetup();

            printSettings2.Append(headerFooter2);
            printSettings2.Append(pageMargins3);
            printSettings2.Append(pageSetup2);

            C.ChartSpaceExtensionList chartSpaceExtensionList2 = new C.ChartSpaceExtensionList();
            chartSpaceExtensionList2.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            chartSpaceExtensionList2.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            C.ChartSpaceExtension chartSpaceExtension2 = new C.ChartSpaceExtension(){ Uri = "{781A3756-C4B2-4CAC-9D66-4F8BD8637D16}" };
            chartSpaceExtension2.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C14.PivotOptions pivotOptions2 = new C14.PivotOptions();
            C14.DropZoneFilter dropZoneFilter2 = new C14.DropZoneFilter(){ Val = true };
            C14.DropZoneCategories dropZoneCategories2 = new C14.DropZoneCategories(){ Val = true };
            C14.DropZoneData dropZoneData2 = new C14.DropZoneData(){ Val = true };
            C14.DropZoneSeries dropZoneSeries2 = new C14.DropZoneSeries(){ Val = true };
            C14.DropZonesVisible dropZonesVisible2 = new C14.DropZonesVisible(){ Val = true };

            pivotOptions2.Append(dropZoneFilter2);
            pivotOptions2.Append(dropZoneCategories2);
            pivotOptions2.Append(dropZoneData2);
            pivotOptions2.Append(dropZoneSeries2);
            pivotOptions2.Append(dropZonesVisible2);

            chartSpaceExtension2.Append(pivotOptions2);

            chartSpaceExtensionList2.Append(chartSpaceExtension2);

            chartSpace2.Append(date19042);
            chartSpace2.Append(editingLanguage2);
            chartSpace2.Append(roundedCorners2);
            chartSpace2.Append(alternateContent5);
            chartSpace2.Append(pivotSource2);
            chartSpace2.Append(chart2);
            chartSpace2.Append(shapeProperties10);
            chartSpace2.Append(textProperties4);
            chartSpace2.Append(printSettings2);
            chartSpace2.Append(chartSpaceExtensionList2);

            chartPart2.ChartSpace = chartSpace2;
        }
        // Generates content of chartPart12.
        private void GenerateChartPart12Content(ChartPart chartPart12)
        {
            C.ChartSpace chartSpace12 = new C.ChartSpace();
            chartSpace12.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace12.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace12.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date190412 = new C.Date1904(){ Val = false };
            C.EditingLanguage editingLanguage12 = new C.EditingLanguage(){ Val = "en-US" };
            C.RoundedCorners roundedCorners12 = new C.RoundedCorners(){ Val = false };

            AlternateContent alternateContent25 = new AlternateContent();
            alternateContent25.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            AlternateContentChoice alternateContentChoice25 = new AlternateContentChoice(){ Requires = "c14" };
            alternateContentChoice25.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            C14.Style style23 = new C14.Style(){ Val = 101 };

            alternateContentChoice25.Append(style23);

            AlternateContentFallback alternateContentFallback24 = new AlternateContentFallback();
            C.Style style24 = new C.Style(){ Val = 1 };

            alternateContentFallback24.Append(style24);

            alternateContent25.Append(alternateContentChoice25);
            alternateContent25.Append(alternateContentFallback24);

            C.PivotSource pivotSource12 = new C.PivotSource();
            C.PivotTableName pivotTableName12 = new C.PivotTableName();
            pivotTableName12.Text = "[GeneratedDocument.xlsx]Caption!PivotTable1";
            C.FormatId formatId12 = new C.FormatId(){ Val = (UInt32Value)7U };

            pivotSource12.Append(pivotTableName12);
            pivotSource12.Append(formatId12);

            C.Chart chart12 = new C.Chart();

            C.Title title12 = new C.Title();
            C.Overlay overlay23 = new C.Overlay(){ Val = false };

            title12.Append(overlay23);
            C.AutoTitleDeleted autoTitleDeleted12 = new C.AutoTitleDeleted(){ Val = false };

            C.PivotFormats pivotFormats12 = new C.PivotFormats();

            C.PivotFormat pivotFormat97 = new C.PivotFormat();
            C.Index index108 = new C.Index(){ Val = (UInt32Value)0U };

            C.ShapeProperties shapeProperties45 = new C.ShapeProperties();

            A.SolidFill solidFill81 = new A.SolidFill();

            A.SchemeColor schemeColor57 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint29 = new A.Tint(){ Val = 100000 };

            schemeColor57.Append(tint29);

            solidFill81.Append(schemeColor57);

            A.Outline outline65 = new A.Outline();
            A.NoFill noFill57 = new A.NoFill();

            outline65.Append(noFill57);
            A.EffectList effectList53 = new A.EffectList();

            shapeProperties45.Append(solidFill81);
            shapeProperties45.Append(outline65);
            shapeProperties45.Append(effectList53);

            C.Marker marker97 = new C.Marker();
            C.Symbol symbol97 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker97.Append(symbol97);

            pivotFormat97.Append(index108);
            pivotFormat97.Append(shapeProperties45);
            pivotFormat97.Append(marker97);

            C.PivotFormat pivotFormat98 = new C.PivotFormat();
            C.Index index109 = new C.Index(){ Val = (UInt32Value)1U };

            C.ShapeProperties shapeProperties46 = new C.ShapeProperties();

            A.SolidFill solidFill82 = new A.SolidFill();

            A.SchemeColor schemeColor58 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent2 };
            A.Tint tint30 = new A.Tint(){ Val = 100000 };

            schemeColor58.Append(tint30);

            solidFill82.Append(schemeColor58);

            A.Outline outline66 = new A.Outline();
            A.NoFill noFill58 = new A.NoFill();

            outline66.Append(noFill58);
            A.EffectList effectList54 = new A.EffectList();

            shapeProperties46.Append(solidFill82);
            shapeProperties46.Append(outline66);
            shapeProperties46.Append(effectList54);

            C.Marker marker98 = new C.Marker();
            C.Symbol symbol98 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker98.Append(symbol98);

            pivotFormat98.Append(index109);
            pivotFormat98.Append(shapeProperties46);
            pivotFormat98.Append(marker98);

            C.PivotFormat pivotFormat99 = new C.PivotFormat();
            C.Index index110 = new C.Index(){ Val = (UInt32Value)2U };

            C.Marker marker99 = new C.Marker();
            C.Symbol symbol99 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker99.Append(symbol99);

            pivotFormat99.Append(index110);
            pivotFormat99.Append(marker99);

            C.PivotFormat pivotFormat100 = new C.PivotFormat();
            C.Index index111 = new C.Index(){ Val = (UInt32Value)3U };

            C.Marker marker100 = new C.Marker();
            C.Symbol symbol100 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker100.Append(symbol100);

            pivotFormat100.Append(index111);
            pivotFormat100.Append(marker100);

            C.PivotFormat pivotFormat101 = new C.PivotFormat();
            C.Index index112 = new C.Index(){ Val = (UInt32Value)4U };

            C.Marker marker101 = new C.Marker();
            C.Symbol symbol101 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker101.Append(symbol101);

            pivotFormat101.Append(index112);
            pivotFormat101.Append(marker101);

            C.PivotFormat pivotFormat102 = new C.PivotFormat();
            C.Index index113 = new C.Index(){ Val = (UInt32Value)5U };

            C.Marker marker102 = new C.Marker();
            C.Symbol symbol102 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker102.Append(symbol102);

            pivotFormat102.Append(index113);
            pivotFormat102.Append(marker102);

            C.PivotFormat pivotFormat103 = new C.PivotFormat();
            C.Index index114 = new C.Index(){ Val = (UInt32Value)6U };

            C.Marker marker103 = new C.Marker();
            C.Symbol symbol103 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker103.Append(symbol103);

            pivotFormat103.Append(index114);
            pivotFormat103.Append(marker103);

            C.PivotFormat pivotFormat104 = new C.PivotFormat();
            C.Index index115 = new C.Index(){ Val = (UInt32Value)7U };

            C.Marker marker104 = new C.Marker();
            C.Symbol symbol104 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker104.Append(symbol104);

            pivotFormat104.Append(index115);
            pivotFormat104.Append(marker104);

            C.PivotFormat pivotFormat105 = new C.PivotFormat();
            C.Index index116 = new C.Index(){ Val = (UInt32Value)8U };

            C.Marker marker105 = new C.Marker();
            C.Symbol symbol105 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker105.Append(symbol105);

            pivotFormat105.Append(index116);
            pivotFormat105.Append(marker105);

            C.PivotFormat pivotFormat106 = new C.PivotFormat();
            C.Index index117 = new C.Index(){ Val = (UInt32Value)9U };

            C.Marker marker106 = new C.Marker();
            C.Symbol symbol106 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker106.Append(symbol106);

            pivotFormat106.Append(index117);
            pivotFormat106.Append(marker106);

            C.PivotFormat pivotFormat107 = new C.PivotFormat();
            C.Index index118 = new C.Index(){ Val = (UInt32Value)10U };

            C.Marker marker107 = new C.Marker();
            C.Symbol symbol107 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker107.Append(symbol107);

            pivotFormat107.Append(index118);
            pivotFormat107.Append(marker107);

            C.PivotFormat pivotFormat108 = new C.PivotFormat();
            C.Index index119 = new C.Index(){ Val = (UInt32Value)11U };

            C.Marker marker108 = new C.Marker();
            C.Symbol symbol108 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker108.Append(symbol108);

            pivotFormat108.Append(index119);
            pivotFormat108.Append(marker108);

            C.PivotFormat pivotFormat109 = new C.PivotFormat();
            C.Index index120 = new C.Index(){ Val = (UInt32Value)12U };

            C.Marker marker109 = new C.Marker();
            C.Symbol symbol109 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker109.Append(symbol109);

            pivotFormat109.Append(index120);
            pivotFormat109.Append(marker109);

            C.PivotFormat pivotFormat110 = new C.PivotFormat();
            C.Index index121 = new C.Index(){ Val = (UInt32Value)13U };

            C.Marker marker110 = new C.Marker();
            C.Symbol symbol110 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker110.Append(symbol110);

            pivotFormat110.Append(index121);
            pivotFormat110.Append(marker110);

            C.PivotFormat pivotFormat111 = new C.PivotFormat();
            C.Index index122 = new C.Index(){ Val = (UInt32Value)14U };

            C.ShapeProperties shapeProperties47 = new C.ShapeProperties();

            A.SolidFill solidFill83 = new A.SolidFill();

            A.SchemeColor schemeColor59 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint31 = new A.Tint(){ Val = 100000 };

            schemeColor59.Append(tint31);

            solidFill83.Append(schemeColor59);

            A.Outline outline67 = new A.Outline();
            A.NoFill noFill59 = new A.NoFill();

            outline67.Append(noFill59);
            A.EffectList effectList55 = new A.EffectList();

            shapeProperties47.Append(solidFill83);
            shapeProperties47.Append(outline67);
            shapeProperties47.Append(effectList55);

            C.Marker marker111 = new C.Marker();
            C.Symbol symbol111 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker111.Append(symbol111);

            pivotFormat111.Append(index122);
            pivotFormat111.Append(shapeProperties47);
            pivotFormat111.Append(marker111);

            pivotFormats12.Append(pivotFormat97);
            pivotFormats12.Append(pivotFormat98);
            pivotFormats12.Append(pivotFormat99);
            pivotFormats12.Append(pivotFormat100);
            pivotFormats12.Append(pivotFormat101);
            pivotFormats12.Append(pivotFormat102);
            pivotFormats12.Append(pivotFormat103);
            pivotFormats12.Append(pivotFormat104);
            pivotFormats12.Append(pivotFormat105);
            pivotFormats12.Append(pivotFormat106);
            pivotFormats12.Append(pivotFormat107);
            pivotFormats12.Append(pivotFormat108);
            pivotFormats12.Append(pivotFormat109);
            pivotFormats12.Append(pivotFormat110);
            pivotFormats12.Append(pivotFormat111);

            C.PlotArea plotArea12 = new C.PlotArea();
            C.Layout layout12 = new C.Layout();

            C.BarChart barChart6 = new C.BarChart();
            C.BarDirection barDirection6 = new C.BarDirection(){ Val = C.BarDirectionValues.Column };
            C.BarGrouping barGrouping6 = new C.BarGrouping(){ Val = C.BarGroupingValues.Clustered };
            C.VaryColors varyColors12 = new C.VaryColors(){ Val = false };

            C.BarChartSeries barChartSeries6 = new C.BarChartSeries();
            C.Index index123 = new C.Index(){ Val = (UInt32Value)0U };
            C.Order order12 = new C.Order(){ Val = (UInt32Value)0U };

            C.SeriesText seriesText12 = new C.SeriesText();

            C.StringReference stringReference23 = new C.StringReference();
            C.Formula formula34 = new C.Formula();
            formula34.Text = "Caption!$B$1";

            C.StringCache stringCache23 = new C.StringCache();
            C.PointCount pointCount34 = new C.PointCount(){ Val = (UInt32Value)1U };

            C.StringPoint stringPoint45 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue78 = new C.NumericValue();
            numericValue78.Text = "Total";

            stringPoint45.Append(numericValue78);

            stringCache23.Append(pointCount34);
            stringCache23.Append(stringPoint45);

            stringReference23.Append(formula34);
            stringReference23.Append(stringCache23);

            seriesText12.Append(stringReference23);

            C.ChartShapeProperties chartShapeProperties21 = new C.ChartShapeProperties();

            A.SolidFill solidFill84 = new A.SolidFill();

            A.SchemeColor schemeColor60 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint32 = new A.Tint(){ Val = 100000 };

            schemeColor60.Append(tint32);

            solidFill84.Append(schemeColor60);

            A.Outline outline68 = new A.Outline();
            A.NoFill noFill60 = new A.NoFill();

            outline68.Append(noFill60);
            A.EffectList effectList56 = new A.EffectList();

            chartShapeProperties21.Append(solidFill84);
            chartShapeProperties21.Append(outline68);
            chartShapeProperties21.Append(effectList56);
            C.InvertIfNegative invertIfNegative6 = new C.InvertIfNegative(){ Val = false };

            C.CategoryAxisData categoryAxisData12 = new C.CategoryAxisData();

            C.StringReference stringReference24 = new C.StringReference();
            C.Formula formula35 = new C.Formula();
            formula35.Text = "Caption!$A$2:$A$5";

            C.StringCache stringCache24 = new C.StringCache();
            C.PointCount pointCount35 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.StringPoint stringPoint46 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue79 = new C.NumericValue();
            numericValue79.Text = "product_A";

            stringPoint46.Append(numericValue79);

            C.StringPoint stringPoint47 = new C.StringPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue80 = new C.NumericValue();
            numericValue80.Text = "product_D";

            stringPoint47.Append(numericValue80);

            C.StringPoint stringPoint48 = new C.StringPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue81 = new C.NumericValue();
            numericValue81.Text = "product_E";

            stringPoint48.Append(numericValue81);

            stringCache24.Append(pointCount35);
            stringCache24.Append(stringPoint46);
            stringCache24.Append(stringPoint47);
            stringCache24.Append(stringPoint48);

            stringReference24.Append(formula35);
            stringReference24.Append(stringCache24);

            categoryAxisData12.Append(stringReference24);

            C.Values values12 = new C.Values();

            C.NumberReference numberReference12 = new C.NumberReference();
            C.Formula formula36 = new C.Formula();
            formula36.Text = "Caption!$B$2:$B$5";

            C.NumberingCache numberingCache12 = new C.NumberingCache();
            C.FormatCode formatCode12 = new C.FormatCode();
            formatCode12.Text = "General";
            C.PointCount pointCount36 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.NumericPoint numericPoint34 = new C.NumericPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue82 = new C.NumericValue();
            numericValue82.Text = "19";

            numericPoint34.Append(numericValue82);

            C.NumericPoint numericPoint35 = new C.NumericPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue83 = new C.NumericValue();
            numericValue83.Text = "13";

            numericPoint35.Append(numericValue83);

            C.NumericPoint numericPoint36 = new C.NumericPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue84 = new C.NumericValue();
            numericValue84.Text = "33";

            numericPoint36.Append(numericValue84);

            numberingCache12.Append(formatCode12);
            numberingCache12.Append(pointCount36);
            numberingCache12.Append(numericPoint34);
            numberingCache12.Append(numericPoint35);
            numberingCache12.Append(numericPoint36);

            numberReference12.Append(formula36);
            numberReference12.Append(numberingCache12);

            values12.Append(numberReference12);

            barChartSeries6.Append(index123);
            barChartSeries6.Append(order12);
            barChartSeries6.Append(seriesText12);
            barChartSeries6.Append(chartShapeProperties21);
            barChartSeries6.Append(invertIfNegative6);
            barChartSeries6.Append(categoryAxisData12);
            barChartSeries6.Append(values12);

            C.DataLabels dataLabels12 = new C.DataLabels();
            C.ShowLegendKey showLegendKey12 = new C.ShowLegendKey(){ Val = false };
            C.ShowValue showValue12 = new C.ShowValue(){ Val = false };
            C.ShowCategoryName showCategoryName12 = new C.ShowCategoryName(){ Val = false };
            C.ShowSeriesName showSeriesName12 = new C.ShowSeriesName(){ Val = false };
            C.ShowPercent showPercent12 = new C.ShowPercent(){ Val = false };
            C.ShowBubbleSize showBubbleSize12 = new C.ShowBubbleSize(){ Val = false };

            dataLabels12.Append(showLegendKey12);
            dataLabels12.Append(showValue12);
            dataLabels12.Append(showCategoryName12);
            dataLabels12.Append(showSeriesName12);
            dataLabels12.Append(showPercent12);
            dataLabels12.Append(showBubbleSize12);
            C.GapWidth gapWidth6 = new C.GapWidth(){ Val = (UInt16Value)219U };
            C.Overlap overlap5 = new C.Overlap(){ Val = -27 };
            C.AxisId axisId21 = new C.AxisId(){ Val = (UInt32Value)164321080U };
            C.AxisId axisId22 = new C.AxisId(){ Val = (UInt32Value)209664384U };

            barChart6.Append(barDirection6);
            barChart6.Append(barGrouping6);
            barChart6.Append(varyColors12);
            barChart6.Append(barChartSeries6);
            barChart6.Append(dataLabels12);
            barChart6.Append(gapWidth6);
            barChart6.Append(overlap5);
            barChart6.Append(axisId21);
            barChart6.Append(axisId22);

            C.CategoryAxis categoryAxis6 = new C.CategoryAxis();
            C.AxisId axisId23 = new C.AxisId(){ Val = (UInt32Value)164321080U };

            C.Scaling scaling11 = new C.Scaling();
            C.Orientation orientation11 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling11.Append(orientation11);
            C.Delete delete11 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition11 = new C.AxisPosition(){ Val = C.AxisPositionValues.Bottom };
            C.NumberingFormat numberingFormat22 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = false };
            C.MajorTickMark majorTickMark11 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark11 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition11 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties22 = new C.ChartShapeProperties();
            A.NoFill noFill61 = new A.NoFill();

            A.Outline outline69 = new A.Outline();
            A.NoFill noFill62 = new A.NoFill();

            outline69.Append(noFill62);
            A.EffectList effectList57 = new A.EffectList();

            chartShapeProperties22.Append(noFill61);
            chartShapeProperties22.Append(outline69);
            chartShapeProperties22.Append(effectList57);

            C.TextProperties textProperties17 = new C.TextProperties();
            A.BodyProperties bodyProperties29 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle29 = new A.ListStyle();

            A.Paragraph paragraph29 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties17 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties17 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill85 = new A.SolidFill();

            A.SchemeColor schemeColor61 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation21 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset21 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor61.Append(luminanceModulation21);
            schemeColor61.Append(luminanceOffset21);

            solidFill85.Append(schemeColor61);
            A.LatinFont latinFont13 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont13 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont13 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties17.Append(solidFill85);
            defaultRunProperties17.Append(latinFont13);
            defaultRunProperties17.Append(eastAsianFont13);
            defaultRunProperties17.Append(complexScriptFont13);

            paragraphProperties17.Append(defaultRunProperties17);
            A.EndParagraphRunProperties endParagraphRunProperties17 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph29.Append(paragraphProperties17);
            paragraph29.Append(endParagraphRunProperties17);

            textProperties17.Append(bodyProperties29);
            textProperties17.Append(listStyle29);
            textProperties17.Append(paragraph29);
            C.CrossingAxis crossingAxis11 = new C.CrossingAxis(){ Val = (UInt32Value)209664384U };
            C.Crosses crosses11 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.AutoLabeled autoLabeled6 = new C.AutoLabeled(){ Val = true };
            C.LabelAlignment labelAlignment6 = new C.LabelAlignment(){ Val = C.LabelAlignmentValues.Center };
            C.LabelOffset labelOffset6 = new C.LabelOffset(){ Val = (UInt16Value)100U };
            C.NoMultiLevelLabels noMultiLevelLabels6 = new C.NoMultiLevelLabels(){ Val = false };

            categoryAxis6.Append(axisId23);
            categoryAxis6.Append(scaling11);
            categoryAxis6.Append(delete11);
            categoryAxis6.Append(axisPosition11);
            categoryAxis6.Append(numberingFormat22);
            categoryAxis6.Append(majorTickMark11);
            categoryAxis6.Append(minorTickMark11);
            categoryAxis6.Append(tickLabelPosition11);
            categoryAxis6.Append(chartShapeProperties22);
            categoryAxis6.Append(textProperties17);
            categoryAxis6.Append(crossingAxis11);
            categoryAxis6.Append(crosses11);
            categoryAxis6.Append(autoLabeled6);
            categoryAxis6.Append(labelAlignment6);
            categoryAxis6.Append(labelOffset6);
            categoryAxis6.Append(noMultiLevelLabels6);

            C.ValueAxis valueAxis6 = new C.ValueAxis();
            C.AxisId axisId24 = new C.AxisId(){ Val = (UInt32Value)209664384U };

            C.Scaling scaling12 = new C.Scaling();
            C.Orientation orientation12 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling12.Append(orientation12);
            C.Delete delete12 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition12 = new C.AxisPosition(){ Val = C.AxisPositionValues.Left };

            C.MajorGridlines majorGridlines6 = new C.MajorGridlines();

            C.ChartShapeProperties chartShapeProperties23 = new C.ChartShapeProperties();

            A.Outline outline70 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill86 = new A.SolidFill();

            A.SchemeColor schemeColor62 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation22 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset22 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor62.Append(luminanceModulation22);
            schemeColor62.Append(luminanceOffset22);

            solidFill86.Append(schemeColor62);
            A.Round round9 = new A.Round();

            outline70.Append(solidFill86);
            outline70.Append(round9);
            A.EffectList effectList58 = new A.EffectList();

            chartShapeProperties23.Append(outline70);
            chartShapeProperties23.Append(effectList58);

            majorGridlines6.Append(chartShapeProperties23);
            C.NumberingFormat numberingFormat23 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = true };
            C.MajorTickMark majorTickMark12 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark12 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition12 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties24 = new C.ChartShapeProperties();
            A.NoFill noFill63 = new A.NoFill();

            A.Outline outline71 = new A.Outline();
            A.NoFill noFill64 = new A.NoFill();

            outline71.Append(noFill64);
            A.EffectList effectList59 = new A.EffectList();

            chartShapeProperties24.Append(noFill63);
            chartShapeProperties24.Append(outline71);
            chartShapeProperties24.Append(effectList59);

            C.TextProperties textProperties18 = new C.TextProperties();
            A.BodyProperties bodyProperties30 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle30 = new A.ListStyle();

            A.Paragraph paragraph30 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties18 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties18 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill87 = new A.SolidFill();

            A.SchemeColor schemeColor63 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation23 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset23 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor63.Append(luminanceModulation23);
            schemeColor63.Append(luminanceOffset23);

            solidFill87.Append(schemeColor63);
            A.LatinFont latinFont14 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont14 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont14 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties18.Append(solidFill87);
            defaultRunProperties18.Append(latinFont14);
            defaultRunProperties18.Append(eastAsianFont14);
            defaultRunProperties18.Append(complexScriptFont14);

            paragraphProperties18.Append(defaultRunProperties18);
            A.EndParagraphRunProperties endParagraphRunProperties18 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph30.Append(paragraphProperties18);
            paragraph30.Append(endParagraphRunProperties18);

            textProperties18.Append(bodyProperties30);
            textProperties18.Append(listStyle30);
            textProperties18.Append(paragraph30);
            C.CrossingAxis crossingAxis12 = new C.CrossingAxis(){ Val = (UInt32Value)164321080U };
            C.Crosses crosses12 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.CrossBetween crossBetween6 = new C.CrossBetween(){ Val = C.CrossBetweenValues.Between };

            valueAxis6.Append(axisId24);
            valueAxis6.Append(scaling12);
            valueAxis6.Append(delete12);
            valueAxis6.Append(axisPosition12);
            valueAxis6.Append(majorGridlines6);
            valueAxis6.Append(numberingFormat23);
            valueAxis6.Append(majorTickMark12);
            valueAxis6.Append(minorTickMark12);
            valueAxis6.Append(tickLabelPosition12);
            valueAxis6.Append(chartShapeProperties24);
            valueAxis6.Append(textProperties18);
            valueAxis6.Append(crossingAxis12);
            valueAxis6.Append(crosses12);
            valueAxis6.Append(crossBetween6);

            C.ShapeProperties shapeProperties48 = new C.ShapeProperties();

            A.SolidFill solidFill88 = new A.SolidFill();
            A.SchemeColor schemeColor64 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill88.Append(schemeColor64);

            A.Outline outline72 = new A.Outline();
            A.NoFill noFill65 = new A.NoFill();

            outline72.Append(noFill65);
            A.EffectList effectList60 = new A.EffectList();

            shapeProperties48.Append(solidFill88);
            shapeProperties48.Append(outline72);
            shapeProperties48.Append(effectList60);

            plotArea12.Append(layout12);
            plotArea12.Append(barChart6);
            plotArea12.Append(categoryAxis6);
            plotArea12.Append(valueAxis6);
            plotArea12.Append(shapeProperties48);

            C.Legend legend12 = new C.Legend();
            C.LegendPosition legendPosition12 = new C.LegendPosition(){ Val = C.LegendPositionValues.Bottom };
            C.Overlay overlay24 = new C.Overlay(){ Val = false };

            C.ChartShapeProperties chartShapeProperties25 = new C.ChartShapeProperties();
            A.NoFill noFill66 = new A.NoFill();

            A.Outline outline73 = new A.Outline();
            A.NoFill noFill67 = new A.NoFill();

            outline73.Append(noFill67);
            A.EffectList effectList61 = new A.EffectList();

            chartShapeProperties25.Append(noFill66);
            chartShapeProperties25.Append(outline73);
            chartShapeProperties25.Append(effectList61);

            C.TextProperties textProperties19 = new C.TextProperties();
            A.BodyProperties bodyProperties31 = new A.BodyProperties(){ Rotation = 0, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle31 = new A.ListStyle();

            A.Paragraph paragraph31 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties19 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties19 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill89 = new A.SolidFill();

            A.SchemeColor schemeColor65 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation24 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset24 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor65.Append(luminanceModulation24);
            schemeColor65.Append(luminanceOffset24);

            solidFill89.Append(schemeColor65);
            A.LatinFont latinFont15 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont15 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont15 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties19.Append(solidFill89);
            defaultRunProperties19.Append(latinFont15);
            defaultRunProperties19.Append(eastAsianFont15);
            defaultRunProperties19.Append(complexScriptFont15);

            paragraphProperties19.Append(defaultRunProperties19);
            A.EndParagraphRunProperties endParagraphRunProperties19 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph31.Append(paragraphProperties19);
            paragraph31.Append(endParagraphRunProperties19);

            textProperties19.Append(bodyProperties31);
            textProperties19.Append(listStyle31);
            textProperties19.Append(paragraph31);

            legend12.Append(legendPosition12);
            legend12.Append(overlay24);
            legend12.Append(chartShapeProperties25);
            legend12.Append(textProperties19);
            C.PlotVisibleOnly plotVisibleOnly12 = new C.PlotVisibleOnly(){ Val = true };
            C.DisplayBlanksAs displayBlanksAs12 = new C.DisplayBlanksAs(){ Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum12 = new C.ShowDataLabelsOverMaximum(){ Val = false };

            chart12.Append(title12);
            chart12.Append(autoTitleDeleted12);
            chart12.Append(pivotFormats12);
            chart12.Append(plotArea12);
            chart12.Append(legend12);
            chart12.Append(plotVisibleOnly12);
            chart12.Append(displayBlanksAs12);
            chart12.Append(showDataLabelsOverMaximum12);

            C.ShapeProperties shapeProperties49 = new C.ShapeProperties();

            A.SolidFill solidFill90 = new A.SolidFill();
            A.SchemeColor schemeColor66 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill90.Append(schemeColor66);

            A.Outline outline74 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill91 = new A.SolidFill();

            A.SchemeColor schemeColor67 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation25 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset25 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor67.Append(luminanceModulation25);
            schemeColor67.Append(luminanceOffset25);

            solidFill91.Append(schemeColor67);
            A.Round round10 = new A.Round();

            outline74.Append(solidFill91);
            outline74.Append(round10);
            A.EffectList effectList62 = new A.EffectList();

            shapeProperties49.Append(solidFill90);
            shapeProperties49.Append(outline74);
            shapeProperties49.Append(effectList62);

            C.TextProperties textProperties20 = new C.TextProperties();
            A.BodyProperties bodyProperties32 = new A.BodyProperties();
            A.ListStyle listStyle32 = new A.ListStyle();

            A.Paragraph paragraph32 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties20 = new A.ParagraphProperties();
            A.DefaultRunProperties defaultRunProperties20 = new A.DefaultRunProperties();

            paragraphProperties20.Append(defaultRunProperties20);
            A.EndParagraphRunProperties endParagraphRunProperties20 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph32.Append(paragraphProperties20);
            paragraph32.Append(endParagraphRunProperties20);

            textProperties20.Append(bodyProperties32);
            textProperties20.Append(listStyle32);
            textProperties20.Append(paragraph32);

            C.PrintSettings printSettings12 = new C.PrintSettings();
            C.HeaderFooter headerFooter12 = new C.HeaderFooter();
            C.PageMargins pageMargins20 = new C.PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };
            C.PageSetup pageSetup12 = new C.PageSetup();

            printSettings12.Append(headerFooter12);
            printSettings12.Append(pageMargins20);
            printSettings12.Append(pageSetup12);

            C.ChartSpaceExtensionList chartSpaceExtensionList12 = new C.ChartSpaceExtensionList();
            chartSpaceExtensionList12.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            chartSpaceExtensionList12.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            C.ChartSpaceExtension chartSpaceExtension12 = new C.ChartSpaceExtension(){ Uri = "{781A3756-C4B2-4CAC-9D66-4F8BD8637D16}" };
            chartSpaceExtension12.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C14.PivotOptions pivotOptions12 = new C14.PivotOptions();
            C14.DropZoneFilter dropZoneFilter12 = new C14.DropZoneFilter(){ Val = true };
            C14.DropZoneCategories dropZoneCategories12 = new C14.DropZoneCategories(){ Val = true };
            C14.DropZoneData dropZoneData12 = new C14.DropZoneData(){ Val = true };
            C14.DropZoneSeries dropZoneSeries12 = new C14.DropZoneSeries(){ Val = true };
            C14.DropZonesVisible dropZonesVisible12 = new C14.DropZonesVisible(){ Val = true };

            pivotOptions12.Append(dropZoneFilter12);
            pivotOptions12.Append(dropZoneCategories12);
            pivotOptions12.Append(dropZoneData12);
            pivotOptions12.Append(dropZoneSeries12);
            pivotOptions12.Append(dropZonesVisible12);

            chartSpaceExtension12.Append(pivotOptions12);

            chartSpaceExtensionList12.Append(chartSpaceExtension12);

            chartSpace12.Append(date190412);
            chartSpace12.Append(editingLanguage12);
            chartSpace12.Append(roundedCorners12);
            chartSpace12.Append(alternateContent25);
            chartSpace12.Append(pivotSource12);
            chartSpace12.Append(chart12);
            chartSpace12.Append(shapeProperties49);
            chartSpace12.Append(textProperties20);
            chartSpace12.Append(printSettings12);
            chartSpace12.Append(chartSpaceExtensionList12);

            chartPart12.ChartSpace = chartSpace12;
        }
        // Generates content of chartPart10.
        private void GenerateChartPart10Content(ChartPart chartPart10)
        {
            C.ChartSpace chartSpace10 = new C.ChartSpace();
            chartSpace10.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace10.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace10.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date190410 = new C.Date1904(){ Val = false };
            C.EditingLanguage editingLanguage10 = new C.EditingLanguage(){ Val = "en-US" };
            C.RoundedCorners roundedCorners10 = new C.RoundedCorners(){ Val = false };

            AlternateContent alternateContent21 = new AlternateContent();
            alternateContent21.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            AlternateContentChoice alternateContentChoice21 = new AlternateContentChoice(){ Requires = "c14" };
            alternateContentChoice21.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            C14.Style style19 = new C14.Style(){ Val = 101 };

            alternateContentChoice21.Append(style19);

            AlternateContentFallback alternateContentFallback20 = new AlternateContentFallback();
            C.Style style20 = new C.Style(){ Val = 1 };

            alternateContentFallback20.Append(style20);

            alternateContent21.Append(alternateContentChoice21);
            alternateContent21.Append(alternateContentFallback20);

            C.PivotSource pivotSource10 = new C.PivotSource();
            C.PivotTableName pivotTableName10 = new C.PivotTableName();
            pivotTableName10.Text = "[GeneratedDocument.xlsx]Style!PivotTable1";
            C.FormatId formatId10 = new C.FormatId(){ Val = (UInt32Value)19U };

            pivotSource10.Append(pivotTableName10);
            pivotSource10.Append(formatId10);

            C.Chart chart10 = new C.Chart();

            C.Title title10 = new C.Title();
            C.Overlay overlay19 = new C.Overlay(){ Val = false };

            title10.Append(overlay19);
            C.AutoTitleDeleted autoTitleDeleted10 = new C.AutoTitleDeleted(){ Val = false };

            C.PivotFormats pivotFormats10 = new C.PivotFormats();

            C.PivotFormat pivotFormat74 = new C.PivotFormat();
            C.Index index83 = new C.Index(){ Val = (UInt32Value)0U };

            C.ShapeProperties shapeProperties32 = new C.ShapeProperties();

            A.SolidFill solidFill60 = new A.SolidFill();

            A.SchemeColor schemeColor40 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint19 = new A.Tint(){ Val = 100000 };

            schemeColor40.Append(tint19);

            solidFill60.Append(schemeColor40);

            A.Outline outline47 = new A.Outline();
            A.NoFill noFill40 = new A.NoFill();

            outline47.Append(noFill40);
            A.EffectList effectList37 = new A.EffectList();

            shapeProperties32.Append(solidFill60);
            shapeProperties32.Append(outline47);
            shapeProperties32.Append(effectList37);

            C.Marker marker74 = new C.Marker();
            C.Symbol symbol74 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker74.Append(symbol74);

            pivotFormat74.Append(index83);
            pivotFormat74.Append(shapeProperties32);
            pivotFormat74.Append(marker74);

            C.PivotFormat pivotFormat75 = new C.PivotFormat();
            C.Index index84 = new C.Index(){ Val = (UInt32Value)1U };

            C.ShapeProperties shapeProperties33 = new C.ShapeProperties();

            A.SolidFill solidFill61 = new A.SolidFill();

            A.SchemeColor schemeColor41 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent2 };
            A.Tint tint20 = new A.Tint(){ Val = 100000 };

            schemeColor41.Append(tint20);

            solidFill61.Append(schemeColor41);

            A.Outline outline48 = new A.Outline();
            A.NoFill noFill41 = new A.NoFill();

            outline48.Append(noFill41);
            A.EffectList effectList38 = new A.EffectList();

            shapeProperties33.Append(solidFill61);
            shapeProperties33.Append(outline48);
            shapeProperties33.Append(effectList38);

            C.Marker marker75 = new C.Marker();
            C.Symbol symbol75 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker75.Append(symbol75);

            pivotFormat75.Append(index84);
            pivotFormat75.Append(shapeProperties33);
            pivotFormat75.Append(marker75);

            C.PivotFormat pivotFormat76 = new C.PivotFormat();
            C.Index index85 = new C.Index(){ Val = (UInt32Value)2U };

            C.Marker marker76 = new C.Marker();
            C.Symbol symbol76 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker76.Append(symbol76);

            pivotFormat76.Append(index85);
            pivotFormat76.Append(marker76);

            C.PivotFormat pivotFormat77 = new C.PivotFormat();
            C.Index index86 = new C.Index(){ Val = (UInt32Value)3U };

            C.Marker marker77 = new C.Marker();
            C.Symbol symbol77 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker77.Append(symbol77);

            pivotFormat77.Append(index86);
            pivotFormat77.Append(marker77);

            C.PivotFormat pivotFormat78 = new C.PivotFormat();
            C.Index index87 = new C.Index(){ Val = (UInt32Value)4U };

            C.Marker marker78 = new C.Marker();
            C.Symbol symbol78 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker78.Append(symbol78);

            pivotFormat78.Append(index87);
            pivotFormat78.Append(marker78);

            C.PivotFormat pivotFormat79 = new C.PivotFormat();
            C.Index index88 = new C.Index(){ Val = (UInt32Value)5U };

            C.Marker marker79 = new C.Marker();
            C.Symbol symbol79 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker79.Append(symbol79);

            pivotFormat79.Append(index88);
            pivotFormat79.Append(marker79);

            C.PivotFormat pivotFormat80 = new C.PivotFormat();
            C.Index index89 = new C.Index(){ Val = (UInt32Value)6U };

            C.Marker marker80 = new C.Marker();
            C.Symbol symbol80 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker80.Append(symbol80);

            pivotFormat80.Append(index89);
            pivotFormat80.Append(marker80);

            C.PivotFormat pivotFormat81 = new C.PivotFormat();
            C.Index index90 = new C.Index(){ Val = (UInt32Value)7U };

            C.Marker marker81 = new C.Marker();
            C.Symbol symbol81 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker81.Append(symbol81);

            pivotFormat81.Append(index90);
            pivotFormat81.Append(marker81);

            C.PivotFormat pivotFormat82 = new C.PivotFormat();
            C.Index index91 = new C.Index(){ Val = (UInt32Value)8U };

            C.Marker marker82 = new C.Marker();
            C.Symbol symbol82 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker82.Append(symbol82);

            pivotFormat82.Append(index91);
            pivotFormat82.Append(marker82);

            C.PivotFormat pivotFormat83 = new C.PivotFormat();
            C.Index index92 = new C.Index(){ Val = (UInt32Value)9U };

            C.Marker marker83 = new C.Marker();
            C.Symbol symbol83 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker83.Append(symbol83);

            pivotFormat83.Append(index92);
            pivotFormat83.Append(marker83);

            C.PivotFormat pivotFormat84 = new C.PivotFormat();
            C.Index index93 = new C.Index(){ Val = (UInt32Value)10U };

            C.Marker marker84 = new C.Marker();
            C.Symbol symbol84 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker84.Append(symbol84);

            pivotFormat84.Append(index93);
            pivotFormat84.Append(marker84);

            C.PivotFormat pivotFormat85 = new C.PivotFormat();
            C.Index index94 = new C.Index(){ Val = (UInt32Value)11U };

            C.Marker marker85 = new C.Marker();
            C.Symbol symbol85 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker85.Append(symbol85);

            pivotFormat85.Append(index94);
            pivotFormat85.Append(marker85);

            C.PivotFormat pivotFormat86 = new C.PivotFormat();
            C.Index index95 = new C.Index(){ Val = (UInt32Value)12U };

            C.Marker marker86 = new C.Marker();
            C.Symbol symbol86 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker86.Append(symbol86);

            pivotFormat86.Append(index95);
            pivotFormat86.Append(marker86);

            C.PivotFormat pivotFormat87 = new C.PivotFormat();
            C.Index index96 = new C.Index(){ Val = (UInt32Value)13U };

            C.Marker marker87 = new C.Marker();
            C.Symbol symbol87 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker87.Append(symbol87);

            pivotFormat87.Append(index96);
            pivotFormat87.Append(marker87);

            C.PivotFormat pivotFormat88 = new C.PivotFormat();
            C.Index index97 = new C.Index(){ Val = (UInt32Value)14U };

            C.ShapeProperties shapeProperties34 = new C.ShapeProperties();

            A.SolidFill solidFill62 = new A.SolidFill();

            A.SchemeColor schemeColor42 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint21 = new A.Tint(){ Val = 100000 };

            schemeColor42.Append(tint21);

            solidFill62.Append(schemeColor42);

            A.Outline outline49 = new A.Outline();
            A.NoFill noFill42 = new A.NoFill();

            outline49.Append(noFill42);
            A.EffectList effectList39 = new A.EffectList();

            shapeProperties34.Append(solidFill62);
            shapeProperties34.Append(outline49);
            shapeProperties34.Append(effectList39);

            C.Marker marker88 = new C.Marker();
            C.Symbol symbol88 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker88.Append(symbol88);

            pivotFormat88.Append(index97);
            pivotFormat88.Append(shapeProperties34);
            pivotFormat88.Append(marker88);

            C.PivotFormat pivotFormat89 = new C.PivotFormat();
            C.Index index98 = new C.Index(){ Val = (UInt32Value)15U };

            C.ShapeProperties shapeProperties35 = new C.ShapeProperties();

            A.SolidFill solidFill63 = new A.SolidFill();

            A.SchemeColor schemeColor43 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint22 = new A.Tint(){ Val = 100000 };

            schemeColor43.Append(tint22);

            solidFill63.Append(schemeColor43);

            A.Outline outline50 = new A.Outline();
            A.NoFill noFill43 = new A.NoFill();

            outline50.Append(noFill43);
            A.EffectList effectList40 = new A.EffectList();

            shapeProperties35.Append(solidFill63);
            shapeProperties35.Append(outline50);
            shapeProperties35.Append(effectList40);

            C.Marker marker89 = new C.Marker();
            C.Symbol symbol89 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker89.Append(symbol89);

            pivotFormat89.Append(index98);
            pivotFormat89.Append(shapeProperties35);
            pivotFormat89.Append(marker89);

            C.PivotFormat pivotFormat90 = new C.PivotFormat();
            C.Index index99 = new C.Index(){ Val = (UInt32Value)16U };

            C.ShapeProperties shapeProperties36 = new C.ShapeProperties();

            A.SolidFill solidFill64 = new A.SolidFill();

            A.SchemeColor schemeColor44 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint23 = new A.Tint(){ Val = 100000 };

            schemeColor44.Append(tint23);

            solidFill64.Append(schemeColor44);

            A.Outline outline51 = new A.Outline();
            A.NoFill noFill44 = new A.NoFill();

            outline51.Append(noFill44);
            A.EffectList effectList41 = new A.EffectList();

            shapeProperties36.Append(solidFill64);
            shapeProperties36.Append(outline51);
            shapeProperties36.Append(effectList41);

            C.Marker marker90 = new C.Marker();
            C.Symbol symbol90 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker90.Append(symbol90);

            pivotFormat90.Append(index99);
            pivotFormat90.Append(shapeProperties36);
            pivotFormat90.Append(marker90);

            C.PivotFormat pivotFormat91 = new C.PivotFormat();
            C.Index index100 = new C.Index(){ Val = (UInt32Value)17U };

            C.ShapeProperties shapeProperties37 = new C.ShapeProperties();

            A.SolidFill solidFill65 = new A.SolidFill();

            A.SchemeColor schemeColor45 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint24 = new A.Tint(){ Val = 100000 };

            schemeColor45.Append(tint24);

            solidFill65.Append(schemeColor45);

            A.Outline outline52 = new A.Outline();
            A.NoFill noFill45 = new A.NoFill();

            outline52.Append(noFill45);
            A.EffectList effectList42 = new A.EffectList();

            shapeProperties37.Append(solidFill65);
            shapeProperties37.Append(outline52);
            shapeProperties37.Append(effectList42);

            C.Marker marker91 = new C.Marker();
            C.Symbol symbol91 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker91.Append(symbol91);

            pivotFormat91.Append(index100);
            pivotFormat91.Append(shapeProperties37);
            pivotFormat91.Append(marker91);

            C.PivotFormat pivotFormat92 = new C.PivotFormat();
            C.Index index101 = new C.Index(){ Val = (UInt32Value)18U };

            C.ShapeProperties shapeProperties38 = new C.ShapeProperties();

            A.SolidFill solidFill66 = new A.SolidFill();

            A.SchemeColor schemeColor46 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint25 = new A.Tint(){ Val = 100000 };

            schemeColor46.Append(tint25);

            solidFill66.Append(schemeColor46);

            A.Outline outline53 = new A.Outline();
            A.NoFill noFill46 = new A.NoFill();

            outline53.Append(noFill46);
            A.EffectList effectList43 = new A.EffectList();

            shapeProperties38.Append(solidFill66);
            shapeProperties38.Append(outline53);
            shapeProperties38.Append(effectList43);

            C.Marker marker92 = new C.Marker();
            C.Symbol symbol92 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker92.Append(symbol92);

            pivotFormat92.Append(index101);
            pivotFormat92.Append(shapeProperties38);
            pivotFormat92.Append(marker92);

            C.PivotFormat pivotFormat93 = new C.PivotFormat();
            C.Index index102 = new C.Index(){ Val = (UInt32Value)19U };

            C.ShapeProperties shapeProperties39 = new C.ShapeProperties();

            A.SolidFill solidFill67 = new A.SolidFill();

            A.SchemeColor schemeColor47 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint26 = new A.Tint(){ Val = 100000 };

            schemeColor47.Append(tint26);

            solidFill67.Append(schemeColor47);

            A.Outline outline54 = new A.Outline();
            A.NoFill noFill47 = new A.NoFill();

            outline54.Append(noFill47);
            A.EffectList effectList44 = new A.EffectList();

            shapeProperties39.Append(solidFill67);
            shapeProperties39.Append(outline54);
            shapeProperties39.Append(effectList44);

            C.Marker marker93 = new C.Marker();
            C.Symbol symbol93 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker93.Append(symbol93);

            pivotFormat93.Append(index102);
            pivotFormat93.Append(shapeProperties39);
            pivotFormat93.Append(marker93);

            C.PivotFormat pivotFormat94 = new C.PivotFormat();
            C.Index index103 = new C.Index(){ Val = (UInt32Value)20U };

            C.ShapeProperties shapeProperties40 = new C.ShapeProperties();

            A.SolidFill solidFill68 = new A.SolidFill();

            A.SchemeColor schemeColor48 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint27 = new A.Tint(){ Val = 100000 };

            schemeColor48.Append(tint27);

            solidFill68.Append(schemeColor48);

            A.Outline outline55 = new A.Outline();
            A.NoFill noFill48 = new A.NoFill();

            outline55.Append(noFill48);
            A.EffectList effectList45 = new A.EffectList();

            shapeProperties40.Append(solidFill68);
            shapeProperties40.Append(outline55);
            shapeProperties40.Append(effectList45);

            C.Marker marker94 = new C.Marker();
            C.Symbol symbol94 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker94.Append(symbol94);

            pivotFormat94.Append(index103);
            pivotFormat94.Append(shapeProperties40);
            pivotFormat94.Append(marker94);

            pivotFormats10.Append(pivotFormat74);
            pivotFormats10.Append(pivotFormat75);
            pivotFormats10.Append(pivotFormat76);
            pivotFormats10.Append(pivotFormat77);
            pivotFormats10.Append(pivotFormat78);
            pivotFormats10.Append(pivotFormat79);
            pivotFormats10.Append(pivotFormat80);
            pivotFormats10.Append(pivotFormat81);
            pivotFormats10.Append(pivotFormat82);
            pivotFormats10.Append(pivotFormat83);
            pivotFormats10.Append(pivotFormat84);
            pivotFormats10.Append(pivotFormat85);
            pivotFormats10.Append(pivotFormat86);
            pivotFormats10.Append(pivotFormat87);
            pivotFormats10.Append(pivotFormat88);
            pivotFormats10.Append(pivotFormat89);
            pivotFormats10.Append(pivotFormat90);
            pivotFormats10.Append(pivotFormat91);
            pivotFormats10.Append(pivotFormat92);
            pivotFormats10.Append(pivotFormat93);
            pivotFormats10.Append(pivotFormat94);

            C.PlotArea plotArea10 = new C.PlotArea();
            C.Layout layout10 = new C.Layout();

            C.BarChart barChart5 = new C.BarChart();
            C.BarDirection barDirection5 = new C.BarDirection(){ Val = C.BarDirectionValues.Column };
            C.BarGrouping barGrouping5 = new C.BarGrouping(){ Val = C.BarGroupingValues.Clustered };
            C.VaryColors varyColors10 = new C.VaryColors(){ Val = false };

            C.BarChartSeries barChartSeries5 = new C.BarChartSeries();
            C.Index index104 = new C.Index(){ Val = (UInt32Value)0U };
            C.Order order10 = new C.Order(){ Val = (UInt32Value)0U };

            C.SeriesText seriesText10 = new C.SeriesText();

            C.StringReference stringReference19 = new C.StringReference();
            C.Formula formula28 = new C.Formula();
            formula28.Text = "Style!$B$1";

            C.StringCache stringCache19 = new C.StringCache();
            C.PointCount pointCount28 = new C.PointCount(){ Val = (UInt32Value)1U };

            C.StringPoint stringPoint37 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue64 = new C.NumericValue();
            numericValue64.Text = "Total";

            stringPoint37.Append(numericValue64);

            stringCache19.Append(pointCount28);
            stringCache19.Append(stringPoint37);

            stringReference19.Append(formula28);
            stringReference19.Append(stringCache19);

            seriesText10.Append(stringReference19);

            C.ChartShapeProperties chartShapeProperties16 = new C.ChartShapeProperties();

            A.SolidFill solidFill69 = new A.SolidFill();

            A.SchemeColor schemeColor49 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint28 = new A.Tint(){ Val = 100000 };

            schemeColor49.Append(tint28);

            solidFill69.Append(schemeColor49);

            A.Outline outline56 = new A.Outline();
            A.NoFill noFill49 = new A.NoFill();

            outline56.Append(noFill49);
            A.EffectList effectList46 = new A.EffectList();

            chartShapeProperties16.Append(solidFill69);
            chartShapeProperties16.Append(outline56);
            chartShapeProperties16.Append(effectList46);
            C.InvertIfNegative invertIfNegative5 = new C.InvertIfNegative(){ Val = false };

            C.CategoryAxisData categoryAxisData10 = new C.CategoryAxisData();

            C.StringReference stringReference20 = new C.StringReference();
            C.Formula formula29 = new C.Formula();
            formula29.Text = "Style!$A$2:$A$5";

            C.StringCache stringCache20 = new C.StringCache();
            C.PointCount pointCount29 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.StringPoint stringPoint38 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue65 = new C.NumericValue();
            numericValue65.Text = "product_A";

            stringPoint38.Append(numericValue65);

            C.StringPoint stringPoint39 = new C.StringPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue66 = new C.NumericValue();
            numericValue66.Text = "product_D";

            stringPoint39.Append(numericValue66);

            C.StringPoint stringPoint40 = new C.StringPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue67 = new C.NumericValue();
            numericValue67.Text = "product_E";

            stringPoint40.Append(numericValue67);

            stringCache20.Append(pointCount29);
            stringCache20.Append(stringPoint38);
            stringCache20.Append(stringPoint39);
            stringCache20.Append(stringPoint40);

            stringReference20.Append(formula29);
            stringReference20.Append(stringCache20);

            categoryAxisData10.Append(stringReference20);

            C.Values values10 = new C.Values();

            C.NumberReference numberReference10 = new C.NumberReference();
            C.Formula formula30 = new C.Formula();
            formula30.Text = "Style!$B$2:$B$5";

            C.NumberingCache numberingCache10 = new C.NumberingCache();
            C.FormatCode formatCode10 = new C.FormatCode();
            formatCode10.Text = "General";
            C.PointCount pointCount30 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.NumericPoint numericPoint28 = new C.NumericPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue68 = new C.NumericValue();
            numericValue68.Text = "19";

            numericPoint28.Append(numericValue68);

            C.NumericPoint numericPoint29 = new C.NumericPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue69 = new C.NumericValue();
            numericValue69.Text = "13";

            numericPoint29.Append(numericValue69);

            C.NumericPoint numericPoint30 = new C.NumericPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue70 = new C.NumericValue();
            numericValue70.Text = "33";

            numericPoint30.Append(numericValue70);

            numberingCache10.Append(formatCode10);
            numberingCache10.Append(pointCount30);
            numberingCache10.Append(numericPoint28);
            numberingCache10.Append(numericPoint29);
            numberingCache10.Append(numericPoint30);

            numberReference10.Append(formula30);
            numberReference10.Append(numberingCache10);

            values10.Append(numberReference10);

            barChartSeries5.Append(index104);
            barChartSeries5.Append(order10);
            barChartSeries5.Append(seriesText10);
            barChartSeries5.Append(chartShapeProperties16);
            barChartSeries5.Append(invertIfNegative5);
            barChartSeries5.Append(categoryAxisData10);
            barChartSeries5.Append(values10);

            C.DataLabels dataLabels10 = new C.DataLabels();
            C.ShowLegendKey showLegendKey10 = new C.ShowLegendKey(){ Val = false };
            C.ShowValue showValue10 = new C.ShowValue(){ Val = false };
            C.ShowCategoryName showCategoryName10 = new C.ShowCategoryName(){ Val = false };
            C.ShowSeriesName showSeriesName10 = new C.ShowSeriesName(){ Val = false };
            C.ShowPercent showPercent10 = new C.ShowPercent(){ Val = false };
            C.ShowBubbleSize showBubbleSize10 = new C.ShowBubbleSize(){ Val = false };

            dataLabels10.Append(showLegendKey10);
            dataLabels10.Append(showValue10);
            dataLabels10.Append(showCategoryName10);
            dataLabels10.Append(showSeriesName10);
            dataLabels10.Append(showPercent10);
            dataLabels10.Append(showBubbleSize10);
            C.GapWidth gapWidth5 = new C.GapWidth(){ Val = (UInt16Value)219U };
            C.Overlap overlap4 = new C.Overlap(){ Val = -27 };
            C.AxisId axisId17 = new C.AxisId(){ Val = (UInt32Value)208842560U };
            C.AxisId axisId18 = new C.AxisId(){ Val = (UInt32Value)208842952U };

            barChart5.Append(barDirection5);
            barChart5.Append(barGrouping5);
            barChart5.Append(varyColors10);
            barChart5.Append(barChartSeries5);
            barChart5.Append(dataLabels10);
            barChart5.Append(gapWidth5);
            barChart5.Append(overlap4);
            barChart5.Append(axisId17);
            barChart5.Append(axisId18);

            C.CategoryAxis categoryAxis5 = new C.CategoryAxis();
            C.AxisId axisId19 = new C.AxisId(){ Val = (UInt32Value)208842560U };

            C.Scaling scaling9 = new C.Scaling();
            C.Orientation orientation9 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling9.Append(orientation9);
            C.Delete delete9 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition9 = new C.AxisPosition(){ Val = C.AxisPositionValues.Bottom };
            C.NumberingFormat numberingFormat9 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = false };
            C.MajorTickMark majorTickMark9 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark9 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition9 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties17 = new C.ChartShapeProperties();
            A.NoFill noFill50 = new A.NoFill();

            A.Outline outline57 = new A.Outline();
            A.NoFill noFill51 = new A.NoFill();

            outline57.Append(noFill51);
            A.EffectList effectList47 = new A.EffectList();

            chartShapeProperties17.Append(noFill50);
            chartShapeProperties17.Append(outline57);
            chartShapeProperties17.Append(effectList47);

            C.TextProperties textProperties13 = new C.TextProperties();
            A.BodyProperties bodyProperties23 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle23 = new A.ListStyle();

            A.Paragraph paragraph23 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties13 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties13 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill70 = new A.SolidFill();

            A.SchemeColor schemeColor50 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation16 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset16 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor50.Append(luminanceModulation16);
            schemeColor50.Append(luminanceOffset16);

            solidFill70.Append(schemeColor50);
            A.LatinFont latinFont10 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont10 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont10 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties13.Append(solidFill70);
            defaultRunProperties13.Append(latinFont10);
            defaultRunProperties13.Append(eastAsianFont10);
            defaultRunProperties13.Append(complexScriptFont10);

            paragraphProperties13.Append(defaultRunProperties13);
            A.EndParagraphRunProperties endParagraphRunProperties13 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph23.Append(paragraphProperties13);
            paragraph23.Append(endParagraphRunProperties13);

            textProperties13.Append(bodyProperties23);
            textProperties13.Append(listStyle23);
            textProperties13.Append(paragraph23);
            C.CrossingAxis crossingAxis9 = new C.CrossingAxis(){ Val = (UInt32Value)208842952U };
            C.Crosses crosses9 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.AutoLabeled autoLabeled5 = new C.AutoLabeled(){ Val = true };
            C.LabelAlignment labelAlignment5 = new C.LabelAlignment(){ Val = C.LabelAlignmentValues.Center };
            C.LabelOffset labelOffset5 = new C.LabelOffset(){ Val = (UInt16Value)100U };
            C.NoMultiLevelLabels noMultiLevelLabels5 = new C.NoMultiLevelLabels(){ Val = false };

            categoryAxis5.Append(axisId19);
            categoryAxis5.Append(scaling9);
            categoryAxis5.Append(delete9);
            categoryAxis5.Append(axisPosition9);
            categoryAxis5.Append(numberingFormat9);
            categoryAxis5.Append(majorTickMark9);
            categoryAxis5.Append(minorTickMark9);
            categoryAxis5.Append(tickLabelPosition9);
            categoryAxis5.Append(chartShapeProperties17);
            categoryAxis5.Append(textProperties13);
            categoryAxis5.Append(crossingAxis9);
            categoryAxis5.Append(crosses9);
            categoryAxis5.Append(autoLabeled5);
            categoryAxis5.Append(labelAlignment5);
            categoryAxis5.Append(labelOffset5);
            categoryAxis5.Append(noMultiLevelLabels5);

            C.ValueAxis valueAxis5 = new C.ValueAxis();
            C.AxisId axisId20 = new C.AxisId(){ Val = (UInt32Value)208842952U };

            C.Scaling scaling10 = new C.Scaling();
            C.Orientation orientation10 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling10.Append(orientation10);
            C.Delete delete10 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition10 = new C.AxisPosition(){ Val = C.AxisPositionValues.Left };

            C.MajorGridlines majorGridlines5 = new C.MajorGridlines();

            C.ChartShapeProperties chartShapeProperties18 = new C.ChartShapeProperties();

            A.Outline outline58 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill71 = new A.SolidFill();

            A.SchemeColor schemeColor51 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation17 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset17 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor51.Append(luminanceModulation17);
            schemeColor51.Append(luminanceOffset17);

            solidFill71.Append(schemeColor51);
            A.Round round7 = new A.Round();

            outline58.Append(solidFill71);
            outline58.Append(round7);
            A.EffectList effectList48 = new A.EffectList();

            chartShapeProperties18.Append(outline58);
            chartShapeProperties18.Append(effectList48);

            majorGridlines5.Append(chartShapeProperties18);
            C.NumberingFormat numberingFormat10 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = true };
            C.MajorTickMark majorTickMark10 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark10 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition10 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties19 = new C.ChartShapeProperties();
            A.NoFill noFill52 = new A.NoFill();

            A.Outline outline59 = new A.Outline();
            A.NoFill noFill53 = new A.NoFill();

            outline59.Append(noFill53);
            A.EffectList effectList49 = new A.EffectList();

            chartShapeProperties19.Append(noFill52);
            chartShapeProperties19.Append(outline59);
            chartShapeProperties19.Append(effectList49);

            C.TextProperties textProperties14 = new C.TextProperties();
            A.BodyProperties bodyProperties24 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle24 = new A.ListStyle();

            A.Paragraph paragraph24 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties14 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties14 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill72 = new A.SolidFill();

            A.SchemeColor schemeColor52 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation18 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset18 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor52.Append(luminanceModulation18);
            schemeColor52.Append(luminanceOffset18);

            solidFill72.Append(schemeColor52);
            A.LatinFont latinFont11 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont11 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont11 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties14.Append(solidFill72);
            defaultRunProperties14.Append(latinFont11);
            defaultRunProperties14.Append(eastAsianFont11);
            defaultRunProperties14.Append(complexScriptFont11);

            paragraphProperties14.Append(defaultRunProperties14);
            A.EndParagraphRunProperties endParagraphRunProperties14 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph24.Append(paragraphProperties14);
            paragraph24.Append(endParagraphRunProperties14);

            textProperties14.Append(bodyProperties24);
            textProperties14.Append(listStyle24);
            textProperties14.Append(paragraph24);
            C.CrossingAxis crossingAxis10 = new C.CrossingAxis(){ Val = (UInt32Value)208842560U };
            C.Crosses crosses10 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.CrossBetween crossBetween5 = new C.CrossBetween(){ Val = C.CrossBetweenValues.Between };

            valueAxis5.Append(axisId20);
            valueAxis5.Append(scaling10);
            valueAxis5.Append(delete10);
            valueAxis5.Append(axisPosition10);
            valueAxis5.Append(majorGridlines5);
            valueAxis5.Append(numberingFormat10);
            valueAxis5.Append(majorTickMark10);
            valueAxis5.Append(minorTickMark10);
            valueAxis5.Append(tickLabelPosition10);
            valueAxis5.Append(chartShapeProperties19);
            valueAxis5.Append(textProperties14);
            valueAxis5.Append(crossingAxis10);
            valueAxis5.Append(crosses10);
            valueAxis5.Append(crossBetween5);

            C.ShapeProperties shapeProperties41 = new C.ShapeProperties();

            A.SolidFill solidFill73 = new A.SolidFill();
            A.SchemeColor schemeColor53 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill73.Append(schemeColor53);

            A.Outline outline60 = new A.Outline();
            A.NoFill noFill54 = new A.NoFill();

            outline60.Append(noFill54);
            A.EffectList effectList50 = new A.EffectList();

            shapeProperties41.Append(solidFill73);
            shapeProperties41.Append(outline60);
            shapeProperties41.Append(effectList50);

            plotArea10.Append(layout10);
            plotArea10.Append(barChart5);
            plotArea10.Append(categoryAxis5);
            plotArea10.Append(valueAxis5);
            plotArea10.Append(shapeProperties41);

            C.Legend legend10 = new C.Legend();
            C.LegendPosition legendPosition10 = new C.LegendPosition(){ Val = C.LegendPositionValues.Bottom };
            C.Overlay overlay20 = new C.Overlay(){ Val = false };

            C.ChartShapeProperties chartShapeProperties20 = new C.ChartShapeProperties();
            A.NoFill noFill55 = new A.NoFill();

            A.Outline outline61 = new A.Outline();
            A.NoFill noFill56 = new A.NoFill();

            outline61.Append(noFill56);
            A.EffectList effectList51 = new A.EffectList();

            chartShapeProperties20.Append(noFill55);
            chartShapeProperties20.Append(outline61);
            chartShapeProperties20.Append(effectList51);

            C.TextProperties textProperties15 = new C.TextProperties();
            A.BodyProperties bodyProperties25 = new A.BodyProperties(){ Rotation = 0, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle25 = new A.ListStyle();

            A.Paragraph paragraph25 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties15 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties15 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill74 = new A.SolidFill();

            A.SchemeColor schemeColor54 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation19 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset19 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor54.Append(luminanceModulation19);
            schemeColor54.Append(luminanceOffset19);

            solidFill74.Append(schemeColor54);
            A.LatinFont latinFont12 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont12 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont12 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties15.Append(solidFill74);
            defaultRunProperties15.Append(latinFont12);
            defaultRunProperties15.Append(eastAsianFont12);
            defaultRunProperties15.Append(complexScriptFont12);

            paragraphProperties15.Append(defaultRunProperties15);
            A.EndParagraphRunProperties endParagraphRunProperties15 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph25.Append(paragraphProperties15);
            paragraph25.Append(endParagraphRunProperties15);

            textProperties15.Append(bodyProperties25);
            textProperties15.Append(listStyle25);
            textProperties15.Append(paragraph25);

            legend10.Append(legendPosition10);
            legend10.Append(overlay20);
            legend10.Append(chartShapeProperties20);
            legend10.Append(textProperties15);
            C.PlotVisibleOnly plotVisibleOnly10 = new C.PlotVisibleOnly(){ Val = true };
            C.DisplayBlanksAs displayBlanksAs10 = new C.DisplayBlanksAs(){ Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum10 = new C.ShowDataLabelsOverMaximum(){ Val = false };

            chart10.Append(title10);
            chart10.Append(autoTitleDeleted10);
            chart10.Append(pivotFormats10);
            chart10.Append(plotArea10);
            chart10.Append(legend10);
            chart10.Append(plotVisibleOnly10);
            chart10.Append(displayBlanksAs10);
            chart10.Append(showDataLabelsOverMaximum10);

            C.ShapeProperties shapeProperties42 = new C.ShapeProperties();

            A.SolidFill solidFill75 = new A.SolidFill();
            A.SchemeColor schemeColor55 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill75.Append(schemeColor55);

            A.Outline outline62 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill76 = new A.SolidFill();

            A.SchemeColor schemeColor56 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation20 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset20 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor56.Append(luminanceModulation20);
            schemeColor56.Append(luminanceOffset20);

            solidFill76.Append(schemeColor56);
            A.Round round8 = new A.Round();

            outline62.Append(solidFill76);
            outline62.Append(round8);
            A.EffectList effectList52 = new A.EffectList();

            shapeProperties42.Append(solidFill75);
            shapeProperties42.Append(outline62);
            shapeProperties42.Append(effectList52);

            C.TextProperties textProperties16 = new C.TextProperties();
            A.BodyProperties bodyProperties26 = new A.BodyProperties();
            A.ListStyle listStyle26 = new A.ListStyle();

            A.Paragraph paragraph26 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties16 = new A.ParagraphProperties();
            A.DefaultRunProperties defaultRunProperties16 = new A.DefaultRunProperties();

            paragraphProperties16.Append(defaultRunProperties16);
            A.EndParagraphRunProperties endParagraphRunProperties16 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph26.Append(paragraphProperties16);
            paragraph26.Append(endParagraphRunProperties16);

            textProperties16.Append(bodyProperties26);
            textProperties16.Append(listStyle26);
            textProperties16.Append(paragraph26);

            C.PrintSettings printSettings10 = new C.PrintSettings();
            C.HeaderFooter headerFooter10 = new C.HeaderFooter();
            C.PageMargins pageMargins17 = new C.PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };
            C.PageSetup pageSetup10 = new C.PageSetup();

            printSettings10.Append(headerFooter10);
            printSettings10.Append(pageMargins17);
            printSettings10.Append(pageSetup10);

            C.ChartSpaceExtensionList chartSpaceExtensionList10 = new C.ChartSpaceExtensionList();
            chartSpaceExtensionList10.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            chartSpaceExtensionList10.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            C.ChartSpaceExtension chartSpaceExtension10 = new C.ChartSpaceExtension(){ Uri = "{781A3756-C4B2-4CAC-9D66-4F8BD8637D16}" };
            chartSpaceExtension10.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C14.PivotOptions pivotOptions10 = new C14.PivotOptions();
            C14.DropZoneFilter dropZoneFilter10 = new C14.DropZoneFilter(){ Val = true };
            C14.DropZoneCategories dropZoneCategories10 = new C14.DropZoneCategories(){ Val = true };
            C14.DropZoneData dropZoneData10 = new C14.DropZoneData(){ Val = true };
            C14.DropZoneSeries dropZoneSeries10 = new C14.DropZoneSeries(){ Val = true };
            C14.DropZonesVisible dropZonesVisible10 = new C14.DropZonesVisible(){ Val = true };

            pivotOptions10.Append(dropZoneFilter10);
            pivotOptions10.Append(dropZoneCategories10);
            pivotOptions10.Append(dropZoneData10);
            pivotOptions10.Append(dropZoneSeries10);
            pivotOptions10.Append(dropZonesVisible10);

            chartSpaceExtension10.Append(pivotOptions10);

            chartSpaceExtensionList10.Append(chartSpaceExtension10);

            chartSpace10.Append(date190410);
            chartSpace10.Append(editingLanguage10);
            chartSpace10.Append(roundedCorners10);
            chartSpace10.Append(alternateContent21);
            chartSpace10.Append(pivotSource10);
            chartSpace10.Append(chart10);
            chartSpace10.Append(shapeProperties42);
            chartSpace10.Append(textProperties16);
            chartSpace10.Append(printSettings10);
            chartSpace10.Append(chartSpaceExtensionList10);

            chartPart10.ChartSpace = chartSpace10;
        }
        public Chart GenerateChart(string title, List<AssetWeighting> data)
        {
            string[] pointNames = data.Select(p => p.AssetClass).ToArray();
            double[] values = data.Select(v => v.Weighting ?? 0).ToArray();

            Chart chart1 = new Chart();

            Title title1 = GenerateTitle(title, 1200);
            PlotArea plotArea1 = new PlotArea();

            Layout layout2 = GeneratePlotAreaLayout();
            LayoutTarget layoutTarget1 = new LayoutTarget() { Val = LayoutTargetValues.Inner };
            LeftMode leftMode2 = new LeftMode() { Val = LayoutModeValues.Edge };
            TopMode topMode2 = new TopMode() { Val = LayoutModeValues.Edge };
            Left left2 = new Left() { Val = 0.10397108399455671D };
            Top top2 = new Top() { Val = 0.13928263342174291D };
            Width width1 = new Width() { Val = 0.88016518444392156D };
            Height height1 = new Height() { Val = 0.59349350997070749D };

            BarChart barChart1 = new BarChart();
            BarDirection barDirection1 = new BarDirection() { Val = BarDirectionValues.Column };
            BarGrouping barGrouping1 = new BarGrouping() { Val = BarGroupingValues.Clustered };
            BarChartSeries barChartSeries1 = GenerateBarChartSeries(seriesName, pointNames, values, colourHex, valueFormat);

            AxisId axisId1 = new AxisId() { Val = (UInt32Value)97045504U };
            AxisId axisId2 = new AxisId() { Val = (UInt32Value)97055488U };

            barChart1.Append(barDirection1);
            barChart1.Append(barGrouping1);
            barChart1.Append(barChartSeries1);
            barChart1.Append(axisId1);
            barChart1.Append(axisId2);

            ValueAxis valueAxis1 = GenerateValueAxis(axisId2, AxisPositionValues.Left, valueAxisFormat, axisId1);
            CategoryAxis categoryAxis1 = GenerateCategoryAxis(axisId1, AxisPositionValues.Bottom, categoryAxisFormat, axisId2);

            ShapeProperties shapeProperties1 = new ShapeProperties();
            A::NoFill noFill3 = new A::NoFill();

            A::Outline outline6 = new A::Outline() { Width = 25400 };
            A::NoFill noFill4 = new A::NoFill();

            outline6.Append(noFill4);

            shapeProperties1.Append(noFill3);
            shapeProperties1.Append(outline6);

            plotArea1.Append(layout2);
            plotArea1.Append(barChart1);
            plotArea1.Append(categoryAxis1);
            plotArea1.Append(valueAxis1);
            plotArea1.Append(shapeProperties1);
            PlotVisibleOnly plotVisibleOnly1 = new PlotVisibleOnly() { Val = true };
            DisplayBlanksAs displayBlanksAs1 = new DisplayBlanksAs() { Val = DisplayBlanksAsValues.Gap };

            chart1.Append(title1);
            chart1.Append(plotArea1);
            chart1.Append(plotVisibleOnly1);
            chart1.Append(displayBlanksAs1);

            return chart1;
        }
        /// <summary>
        /// Create a bargraph inside a word document
        /// </summary>
        /// <param name="chartModel">Graph model</param>
        /// <param name="showLegend"></param>
        /// <param name="title"></param>
        /// <param name="maxWidth"></param>
        /// <param name="maxHeight"></param>
        /// <exception cref="ChartModelException"></exception>
        /// <returns></returns>
        private static Run CreateBarGraph(BarModel chartModel, OpenXmlPart documentPart)
        {
            if (chartModel.Categories == null)
            {
                throw new ArgumentNullException("categories of chartModel must not be null");
            }
            if (chartModel.Series == null)
            {
                throw new ArgumentNullException("series of chartModel must be not null");
            }

            int countCategories = chartModel.Categories.Count;

            // Check that number of categories equals number of items in series
            var ok = chartModel.Series.Count(e => e.Values.Count != countCategories) == 0;

            if (!ok)
            {
                throw new ChartModelException("Error in series. Serie values must have same count as categories.", "004-001");
            }

            // Add a new chart and set the chart language to English-US.
            ChartPart chartPart = documentPart.AddNewPart <ChartPart>();

            chartPart.ChartSpace = new dc.ChartSpace();
            chartPart.ChartSpace.Append(new dc.EditingLanguage()
            {
                Val = new StringValue("en-US")
            });
            chartPart.ChartSpace.Append(new dc.RoundedCorners {
                Val = new BooleanValue(chartModel.RoundedCorner)
            });
            dc.Chart chart = chartPart.ChartSpace.AppendChild
                             <DocumentFormat.OpenXml.Drawing.Charts.Chart>
                                 (new dc.Chart());

            // Ajout du titre au graphique
            if (chartModel.ShowTitle)
            {
                dc.Title titleChart = chart.AppendChild <dc.Title>(new dc.Title());
                titleChart.AppendChild(new dc.ChartText(new dc.RichText(
                                                            new A.BodyProperties(),
                                                            new A.ListStyle(),
                                                            new A.Paragraph(new A.Run(new A.Text(chartModel.Title))))));
                titleChart.AppendChild(new dc.Overlay()
                {
                    Val = false
                });
            }

            // Create a new clustered column chart.
            dc.PlotArea plotArea = chart.AppendChild <dc.PlotArea>(new dc.PlotArea());
            dc.Layout   layout   = plotArea.AppendChild <dc.Layout>(new dc.Layout());
            dc.BarChart barChart = plotArea.AppendChild <dc.BarChart>(new dc.BarChart(new dc.BarDirection()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.BarDirectionValues>((dc.BarDirectionValues)(int) chartModel.BarDirectionValues)
            },
                                                                                      new dc.BarGrouping()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.BarGroupingValues>((dc.BarGroupingValues)(int) chartModel.BarGroupingValues)
            }));

            uint i = 0;
            uint p = 0;

            // Iterate through each key in the Dictionary collection and add the key to the chart Series
            // and add the corresponding value to the chart Values.
            foreach (var serie in chartModel.Series)
            {
                // Gestion des séries
                dc.BarChartSeries barChartSeries = barChart.AppendChild <dc.BarChartSeries>
                                                       (new dc.BarChartSeries(new dc.Index()
                {
                    Val = i
                },
                                                                              new dc.Order()
                {
                    Val = i
                }, new dc.SeriesText(new dc.StringReference(new dc.StringCache(
                                                                new dc.PointCount()
                {
                    Val = new UInt32Value(1U)
                },
                                                                new dc.StringPoint()
                {
                    Index = (uint)0, NumericValue = new dc.NumericValue()
                    {
                        Text = serie.Name
                    }
                })))));

                // Gestion de la couleur de la série
                if (!string.IsNullOrWhiteSpace(serie.Color))
                {
                    string color = serie.Color;
                    color = color.Replace("#", "");
                    if (!Regex.IsMatch(color, "^[0-9-A-F]{6}$"))
                    {
                        throw new Exception("Error in color of serie.");
                    }

                    barChartSeries.AppendChild <A.ShapeProperties>(new A.ShapeProperties(new A.SolidFill()
                    {
                        RgbColorModelHex = new A.RgbColorModelHex()
                        {
                            Val = color
                        }
                    }));
                }

                // Gestion des catégories
                dc.StringReference strLit = barChartSeries.AppendChild <dc.CategoryAxisData>
                                                (new dc.CategoryAxisData()).AppendChild <dc.StringReference>(new dc.StringReference());
                strLit.AppendChild(new dc.StringCache());
                strLit.StringCache.AppendChild(new dc.PointCount()
                {
                    Val = (uint)countCategories
                });
                // Liste catégorie
                foreach (var categorie in chartModel.Categories)
                {
                    strLit.StringCache.AppendChild(new dc.StringPoint()
                    {
                        Index = p, NumericValue = new dc.NumericValue(categorie.Name)
                    });                                                                                                                     // chartModel.Categories[k].Name
                    p++;
                }
                p = 0;

                // Gestion des valeurs
                dc.NumberReference numLit = barChartSeries.AppendChild <DocumentFormat.OpenXml.Drawing.Charts.Values>
                                                (new dc.Values())
                                            .AppendChild <dc.NumberReference>(new dc.NumberReference());
                numLit.AppendChild(new dc.NumberingCache());
                numLit.NumberingCache.AppendChild(new dc.FormatCode("General"));
                numLit.NumberingCache.AppendChild(new dc.PointCount()
                {
                    Val = (uint)serie.Values.Count
                });
                foreach (var value in serie.Values)
                {
                    numLit.NumberingCache.AppendChild <dc.NumericPoint>(new dc.NumericPoint()
                    {
                        Index = p, NumericValue = new dc.NumericValue(value != null ? value.ToString() : string.Empty)
                    });
                    p++;
                }
                i++;
            }

            dc.DataLabels dLbls = new dc.DataLabels(
                new dc.ShowLegendKey()
            {
                Val = false
            },
                new dc.ShowValue()
            {
                Val = chartModel.ShowDataLabel
            },
                new dc.ShowCategoryName()
            {
                Val = false
            },
                new dc.ShowSeriesName()
            {
                Val = false
            },
                new dc.ShowPercent()
            {
                Val = false
            },
                new dc.ShowBubbleSize()
            {
                Val = false
            });

            // Gestion de la couleur du ShowValue
            if (chartModel.ShowDataLabel && !string.IsNullOrWhiteSpace(chartModel.DataLabelColor))
            {
                string color = chartModel.DataLabelColor;
                color = color.Replace("#", "");
                if (!Regex.IsMatch(color, "^[0-9-A-F]{6}$"))
                {
                    throw new Exception("Error in color of serie.");
                }

                dc.TextProperties txtPr = new dc.TextProperties(
                    new A.BodyProperties(),
                    new A.ListStyle(),
                    new A.Paragraph(new A.ParagraphProperties(
                                        new A.DefaultRunProperties(new A.SolidFill()
                {
                    RgbColorModelHex = new A.RgbColorModelHex()
                    {
                        Val = color
                    }
                })
                {
                    Baseline = 0
                })));

                dLbls.Append(txtPr);
            }

            barChart.Append(dLbls);

            if (chartModel.SpaceBetweenLineCategories.HasValue)
            {
                barChart.Append(new dc.GapWidth()
                {
                    Val = (UInt16)chartModel.SpaceBetweenLineCategories.Value
                });
            }
            else
            {
                barChart.Append(new dc.GapWidth()
                {
                    Val = 55
                });
            }

            barChart.Append(new dc.Overlap()
            {
                Val = 100
            });

            barChart.Append(new dc.AxisId()
            {
                Val = new UInt32Value(48650112u)
            });
            barChart.Append(new dc.AxisId()
            {
                Val = new UInt32Value(48672768u)
            });

            // Set ShapeProperties
            dc.ShapeProperties dcSP = null;
            if (chartModel.ShowMajorGridlines)
            {
                if (!string.IsNullOrWhiteSpace(chartModel.MajorGridlinesColor))
                {
                    string color = chartModel.MajorGridlinesColor;
                    color = color.Replace("#", "");
                    if (!Regex.IsMatch(color, "^[0-9-A-F]{6}$"))
                    {
                        throw new Exception("Error in color of grid lines.");
                    }
                    dcSP = new dc.ShapeProperties(new A.Outline(new A.SolidFill()
                    {
                        RgbColorModelHex = new A.RgbColorModelHex()
                        {
                            Val = color
                        }
                    }));
                }
                else
                {
                    dcSP = new dc.ShapeProperties();
                }
            }
            else
            {
                dcSP = new dc.ShapeProperties(new A.Outline(new A.NoFill()));
            }
            // Add the Category Axis.
            dc.CategoryAxis catAx = plotArea.AppendChild <dc.CategoryAxis>(new dc.CategoryAxis(new dc.AxisId()
            {
                Val = new UInt32Value(48650112u)
            }, new dc.Scaling(new dc.Orientation()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.OrientationValues>(dc.OrientationValues.MinMax)
            }),
                                                                                               new dc.Delete()
            {
                Val = chartModel.DeleteAxeCategory
            },
                                                                                               new dc.AxisPosition()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.AxisPositionValues>(dc.AxisPositionValues.Left)
            },
                                                                                               new dc.MajorTickMark()
            {
                Val = dc.TickMarkValues.None
            },
                                                                                               new dc.MinorTickMark()
            {
                Val = dc.TickMarkValues.None
            },
                                                                                               new dc.TickLabelPosition()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.TickLabelPositionValues>(dc.TickLabelPositionValues.NextTo)
            },
                                                                                               new dc.CrossingAxis()
            {
                Val = new UInt32Value(48672768U)
            },
                                                                                               new dc.Crosses()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.CrossesValues>(dc.CrossesValues.AutoZero)
            },
                                                                                               new dc.AutoLabeled()
            {
                Val = new BooleanValue(true)
            },
                                                                                               new dc.LabelAlignment()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.LabelAlignmentValues>(dc.LabelAlignmentValues.Center)
            },
                                                                                               new dc.LabelOffset()
            {
                Val = new UInt16Value((ushort)100)
            },
                                                                                               new dc.NoMultiLevelLabels()
            {
                Val = false
            },
                                                                                               dcSP
                                                                                               ));

            // Add the Value Axis.
            dc.ValueAxis valAx = plotArea.AppendChild <dc.ValueAxis>(new dc.ValueAxis(new dc.AxisId()
            {
                Val = new UInt32Value(48672768u)
            },
                                                                                      new dc.Scaling(new dc.Orientation()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.OrientationValues>(
                    DocumentFormat.OpenXml.Drawing.Charts.OrientationValues.MinMax)
            }),
                                                                                      new dc.Delete()
            {
                Val = chartModel.DeleteAxeValue
            },
                                                                                      new dc.AxisPosition()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.AxisPositionValues>(dc.AxisPositionValues.Bottom)
            },
                                                                                      new dc.NumberingFormat()
            {
                FormatCode   = new StringValue("General"),
                SourceLinked = new BooleanValue(true)
            },
                                                                                      new dc.MajorTickMark()
            {
                Val = dc.TickMarkValues.None
            },
                                                                                      new dc.MinorTickMark()
            {
                Val = dc.TickMarkValues.None
            },
                                                                                      new dc.TickLabelPosition()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.TickLabelPositionValues>(dc.TickLabelPositionValues.NextTo)
            },
                                                                                      new dc.CrossingAxis()
            {
                Val = new UInt32Value(48650112U)
            }, new dc.Crosses()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.CrossesValues>(dc.CrossesValues.AutoZero)
            }, new dc.CrossBetween()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.CrossBetweenValues>(dc.CrossBetweenValues.Between)
            }));

            if (chartModel.ShowMajorGridlines)
            {
                if (!string.IsNullOrWhiteSpace(chartModel.MajorGridlinesColor))
                {
                    string color = chartModel.MajorGridlinesColor;
                    color = color.Replace("#", "");
                    if (!Regex.IsMatch(color, "^[0-9-A-F]{6}$"))
                    {
                        throw new Exception("Error in color of grid lines.");
                    }

                    valAx.AppendChild(new dc.MajorGridlines(new dc.ShapeProperties(new A.Outline(new A.SolidFill()
                    {
                        RgbColorModelHex = new A.RgbColorModelHex()
                        {
                            Val = color
                        }
                    }))));
                }
                else
                {
                    valAx.AppendChild(new dc.MajorGridlines());
                }
            }

            // Add the chart Legend.
            if (chartModel.ShowLegend)
            {
                var textProperty = new dc.TextProperties();
                if (!string.IsNullOrEmpty(chartModel.FontFamilyLegend))
                {
                    textProperty = new dc.TextProperties(new A.BodyProperties(),
                                                         new A.ListStyle(),
                                                         new A.Paragraph(new A.ParagraphProperties(new A.DefaultRunProperties(new A.LatinFont()
                    {
                        CharacterSet = 0, Typeface = chartModel.FontFamilyLegend
                    })
                    {
                        Baseline = 0
                    })));
                }

                dc.Legend legend = chart.AppendChild <dc.Legend>(new dc.Legend(new dc.LegendPosition()
                {
                    Val = new DocumentFormat.OpenXml.EnumValue <dc.LegendPositionValues>(dc.LegendPositionValues.Right)
                },
                                                                               new dc.Overlay()
                {
                    Val = false
                },
                                                                               new dc.Layout(),
                                                                               textProperty));
            }

            chart.Append(new dc.PlotVisibleOnly()
            {
                Val = new BooleanValue(true)
            },
                         new dc.DisplayBlanksAs()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.DisplayBlanksAsValues>(dc.DisplayBlanksAsValues.Gap)
            },
                         new dc.ShowDataLabelsOverMaximum()
            {
                Val = false
            });

            // Gestion des bordures du graphique
            if (chartModel.HasBorder)
            {
                chartModel.BorderWidth = chartModel.BorderWidth.HasValue ? chartModel.BorderWidth.Value : 12700;

                if (!string.IsNullOrEmpty(chartModel.BorderColor))
                {
                    var color = chartModel.BorderColor.Replace("#", "");
                    if (!Regex.IsMatch(color, "^[0-9-A-F]{6}$"))
                    {
                        throw new Exception("Error in color of chart borders.");
                    }
                    chartPart.ChartSpace.Append(new dc.ChartShapeProperties(new A.Outline(new A.SolidFill(new A.RgbColorModelHex()
                    {
                        Val = color
                    }))
                    {
                        Width = chartModel.BorderWidth.Value
                    }));
                }
                else
                {
                    chartPart.ChartSpace.Append(new dc.ChartShapeProperties(new A.Outline(new A.SolidFill(new A.RgbColorModelHex()
                    {
                        Val = "000000"
                    }))
                    {
                        Width = chartModel.BorderWidth.Value
                    }));
                }
            }
            else
            {
                chartPart.ChartSpace.Append(new dc.ChartShapeProperties(new A.Outline(new A.NoFill())));
            }

            // Save the chart part.
            chartPart.ChartSpace.Save();

            // Id du graphique pour faire le lien dans l'élément Drawing
            string relationshipId = documentPart.GetIdOfPart(chartPart);

            // Gestion du redimensionnement du graphique
            long imageWidth  = 5486400;
            long imageHeight = 3200400;

            if (chartModel.MaxWidth.HasValue)
            {
                // Conversion de pixel en EMU (English Metric Unit normalement c'est : EMU = pixel * 914400 / 96) --> 914400 / 96 = 9525
                imageWidth = (long)chartModel.MaxWidth * 9525;
            }
            if (chartModel.MaxHeight.HasValue)
            {
                imageHeight = (long)chartModel.MaxHeight * 9525;
            }

            // Gestion de l'élément Drawing
            var element = new Run(
                new DocumentFormat.OpenXml.Wordprocessing.Drawing(
                    new DW.Inline(
                        new DW.Extent()
            {
                Cx = imageWidth, Cy = imageHeight
            },
                        new DW.EffectExtent()
            {
                LeftEdge   = 0L,
                TopEdge    = 0L,
                RightEdge  = 0L,
                BottomEdge = 0L
            },
                        new DW.DocProperties()
            {
                Id   = (UInt32Value)1U,
                Name = "Chart 1"
            },
                        new DW.NonVisualGraphicFrameDrawingProperties(
                            new A.GraphicFrameLocks()
            {
                NoChangeAspect = true
            }),
                        new A.Graphic(
                            new A.GraphicData(
                                // Lien avec l'Id du graphique
                                new dc.ChartReference()
            {
                Id = relationshipId
            }
                                )
            {
                Uri = "http://schemas.openxmlformats.org/drawingml/2006/chart"
            })
                        )
                    )
                );

            return(element);
        }
        // Generates content of chartPart18.
        private void GenerateChartPart18Content(ChartPart chartPart18)
        {
            C.ChartSpace chartSpace18 = new C.ChartSpace();
            chartSpace18.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace18.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace18.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date190418 = new C.Date1904(){ Val = false };
            C.EditingLanguage editingLanguage18 = new C.EditingLanguage(){ Val = "en-US" };
            C.RoundedCorners roundedCorners18 = new C.RoundedCorners(){ Val = false };

            AlternateContent alternateContent38 = new AlternateContent();
            alternateContent38.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            AlternateContentChoice alternateContentChoice38 = new AlternateContentChoice(){ Requires = "c14" };
            alternateContentChoice38.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            C14.Style style34 = new C14.Style(){ Val = 101 };

            alternateContentChoice38.Append(style34);

            AlternateContentFallback alternateContentFallback37 = new AlternateContentFallback();
            C.Style style35 = new C.Style(){ Val = 1 };

            alternateContentFallback37.Append(style35);

            alternateContent38.Append(alternateContentChoice38);
            alternateContent38.Append(alternateContentFallback37);

            C.PivotSource pivotSource18 = new C.PivotSource();
            C.PivotTableName pivotTableName18 = new C.PivotTableName();
            pivotTableName18.Text = "[GeneratedDocument.xlsx]ShowHorizontalScrollbar!PivotTable1";
            C.FormatId formatId18 = new C.FormatId(){ Val = (UInt32Value)15U };

            pivotSource18.Append(pivotTableName18);
            pivotSource18.Append(formatId18);

            C.Chart chart18 = new C.Chart();

            C.Title title18 = new C.Title();
            C.Overlay overlay35 = new C.Overlay(){ Val = false };

            title18.Append(overlay35);
            C.AutoTitleDeleted autoTitleDeleted18 = new C.AutoTitleDeleted(){ Val = false };

            C.PivotFormats pivotFormats18 = new C.PivotFormats();

            C.PivotFormat pivotFormat160 = new C.PivotFormat();
            C.Index index177 = new C.Index(){ Val = (UInt32Value)0U };

            C.ShapeProperties shapeProperties72 = new C.ShapeProperties();

            A.SolidFill solidFill139 = new A.SolidFill();

            A.SchemeColor schemeColor109 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint47 = new A.Tint(){ Val = 100000 };

            schemeColor109.Append(tint47);

            solidFill139.Append(schemeColor109);

            A.Outline outline110 = new A.Outline();
            A.NoFill noFill94 = new A.NoFill();

            outline110.Append(noFill94);
            A.EffectList effectList90 = new A.EffectList();

            shapeProperties72.Append(solidFill139);
            shapeProperties72.Append(outline110);
            shapeProperties72.Append(effectList90);

            C.Marker marker160 = new C.Marker();
            C.Symbol symbol160 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker160.Append(symbol160);

            pivotFormat160.Append(index177);
            pivotFormat160.Append(shapeProperties72);
            pivotFormat160.Append(marker160);

            C.PivotFormat pivotFormat161 = new C.PivotFormat();
            C.Index index178 = new C.Index(){ Val = (UInt32Value)1U };

            C.ShapeProperties shapeProperties73 = new C.ShapeProperties();

            A.SolidFill solidFill140 = new A.SolidFill();

            A.SchemeColor schemeColor110 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent2 };
            A.Tint tint48 = new A.Tint(){ Val = 100000 };

            schemeColor110.Append(tint48);

            solidFill140.Append(schemeColor110);

            A.Outline outline111 = new A.Outline();
            A.NoFill noFill95 = new A.NoFill();

            outline111.Append(noFill95);
            A.EffectList effectList91 = new A.EffectList();

            shapeProperties73.Append(solidFill140);
            shapeProperties73.Append(outline111);
            shapeProperties73.Append(effectList91);

            C.Marker marker161 = new C.Marker();
            C.Symbol symbol161 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker161.Append(symbol161);

            pivotFormat161.Append(index178);
            pivotFormat161.Append(shapeProperties73);
            pivotFormat161.Append(marker161);

            C.PivotFormat pivotFormat162 = new C.PivotFormat();
            C.Index index179 = new C.Index(){ Val = (UInt32Value)2U };

            C.Marker marker162 = new C.Marker();
            C.Symbol symbol162 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker162.Append(symbol162);

            pivotFormat162.Append(index179);
            pivotFormat162.Append(marker162);

            C.PivotFormat pivotFormat163 = new C.PivotFormat();
            C.Index index180 = new C.Index(){ Val = (UInt32Value)3U };

            C.Marker marker163 = new C.Marker();
            C.Symbol symbol163 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker163.Append(symbol163);

            pivotFormat163.Append(index180);
            pivotFormat163.Append(marker163);

            C.PivotFormat pivotFormat164 = new C.PivotFormat();
            C.Index index181 = new C.Index(){ Val = (UInt32Value)4U };

            C.Marker marker164 = new C.Marker();
            C.Symbol symbol164 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker164.Append(symbol164);

            pivotFormat164.Append(index181);
            pivotFormat164.Append(marker164);

            C.PivotFormat pivotFormat165 = new C.PivotFormat();
            C.Index index182 = new C.Index(){ Val = (UInt32Value)5U };

            C.Marker marker165 = new C.Marker();
            C.Symbol symbol165 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker165.Append(symbol165);

            pivotFormat165.Append(index182);
            pivotFormat165.Append(marker165);

            C.PivotFormat pivotFormat166 = new C.PivotFormat();
            C.Index index183 = new C.Index(){ Val = (UInt32Value)6U };

            C.Marker marker166 = new C.Marker();
            C.Symbol symbol166 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker166.Append(symbol166);

            pivotFormat166.Append(index183);
            pivotFormat166.Append(marker166);

            C.PivotFormat pivotFormat167 = new C.PivotFormat();
            C.Index index184 = new C.Index(){ Val = (UInt32Value)7U };

            C.Marker marker167 = new C.Marker();
            C.Symbol symbol167 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker167.Append(symbol167);

            pivotFormat167.Append(index184);
            pivotFormat167.Append(marker167);

            C.PivotFormat pivotFormat168 = new C.PivotFormat();
            C.Index index185 = new C.Index(){ Val = (UInt32Value)8U };

            C.Marker marker168 = new C.Marker();
            C.Symbol symbol168 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker168.Append(symbol168);

            pivotFormat168.Append(index185);
            pivotFormat168.Append(marker168);

            C.PivotFormat pivotFormat169 = new C.PivotFormat();
            C.Index index186 = new C.Index(){ Val = (UInt32Value)9U };

            C.Marker marker169 = new C.Marker();
            C.Symbol symbol169 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker169.Append(symbol169);

            pivotFormat169.Append(index186);
            pivotFormat169.Append(marker169);

            C.PivotFormat pivotFormat170 = new C.PivotFormat();
            C.Index index187 = new C.Index(){ Val = (UInt32Value)10U };

            C.Marker marker170 = new C.Marker();
            C.Symbol symbol170 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker170.Append(symbol170);

            pivotFormat170.Append(index187);
            pivotFormat170.Append(marker170);

            C.PivotFormat pivotFormat171 = new C.PivotFormat();
            C.Index index188 = new C.Index(){ Val = (UInt32Value)11U };

            C.Marker marker171 = new C.Marker();
            C.Symbol symbol171 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker171.Append(symbol171);

            pivotFormat171.Append(index188);
            pivotFormat171.Append(marker171);

            C.PivotFormat pivotFormat172 = new C.PivotFormat();
            C.Index index189 = new C.Index(){ Val = (UInt32Value)12U };

            C.Marker marker172 = new C.Marker();
            C.Symbol symbol172 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker172.Append(symbol172);

            pivotFormat172.Append(index189);
            pivotFormat172.Append(marker172);

            C.PivotFormat pivotFormat173 = new C.PivotFormat();
            C.Index index190 = new C.Index(){ Val = (UInt32Value)13U };

            C.Marker marker173 = new C.Marker();
            C.Symbol symbol173 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker173.Append(symbol173);

            pivotFormat173.Append(index190);
            pivotFormat173.Append(marker173);

            C.PivotFormat pivotFormat174 = new C.PivotFormat();
            C.Index index191 = new C.Index(){ Val = (UInt32Value)14U };

            C.ShapeProperties shapeProperties74 = new C.ShapeProperties();

            A.SolidFill solidFill141 = new A.SolidFill();

            A.SchemeColor schemeColor111 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint49 = new A.Tint(){ Val = 100000 };

            schemeColor111.Append(tint49);

            solidFill141.Append(schemeColor111);

            A.Outline outline112 = new A.Outline();
            A.NoFill noFill96 = new A.NoFill();

            outline112.Append(noFill96);
            A.EffectList effectList92 = new A.EffectList();

            shapeProperties74.Append(solidFill141);
            shapeProperties74.Append(outline112);
            shapeProperties74.Append(effectList92);

            C.Marker marker174 = new C.Marker();
            C.Symbol symbol174 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker174.Append(symbol174);

            pivotFormat174.Append(index191);
            pivotFormat174.Append(shapeProperties74);
            pivotFormat174.Append(marker174);

            C.PivotFormat pivotFormat175 = new C.PivotFormat();
            C.Index index192 = new C.Index(){ Val = (UInt32Value)15U };

            C.ShapeProperties shapeProperties75 = new C.ShapeProperties();

            A.SolidFill solidFill142 = new A.SolidFill();

            A.SchemeColor schemeColor112 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint50 = new A.Tint(){ Val = 100000 };

            schemeColor112.Append(tint50);

            solidFill142.Append(schemeColor112);

            A.Outline outline113 = new A.Outline();
            A.NoFill noFill97 = new A.NoFill();

            outline113.Append(noFill97);
            A.EffectList effectList93 = new A.EffectList();

            shapeProperties75.Append(solidFill142);
            shapeProperties75.Append(outline113);
            shapeProperties75.Append(effectList93);

            C.Marker marker175 = new C.Marker();
            C.Symbol symbol175 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker175.Append(symbol175);

            pivotFormat175.Append(index192);
            pivotFormat175.Append(shapeProperties75);
            pivotFormat175.Append(marker175);

            C.PivotFormat pivotFormat176 = new C.PivotFormat();
            C.Index index193 = new C.Index(){ Val = (UInt32Value)16U };

            C.ShapeProperties shapeProperties76 = new C.ShapeProperties();

            A.SolidFill solidFill143 = new A.SolidFill();

            A.SchemeColor schemeColor113 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint51 = new A.Tint(){ Val = 100000 };

            schemeColor113.Append(tint51);

            solidFill143.Append(schemeColor113);

            A.Outline outline114 = new A.Outline();
            A.NoFill noFill98 = new A.NoFill();

            outline114.Append(noFill98);
            A.EffectList effectList94 = new A.EffectList();

            shapeProperties76.Append(solidFill143);
            shapeProperties76.Append(outline114);
            shapeProperties76.Append(effectList94);

            C.Marker marker176 = new C.Marker();
            C.Symbol symbol176 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker176.Append(symbol176);

            pivotFormat176.Append(index193);
            pivotFormat176.Append(shapeProperties76);
            pivotFormat176.Append(marker176);

            C.PivotFormat pivotFormat177 = new C.PivotFormat();
            C.Index index194 = new C.Index(){ Val = (UInt32Value)17U };

            C.ShapeProperties shapeProperties77 = new C.ShapeProperties();

            A.SolidFill solidFill144 = new A.SolidFill();

            A.SchemeColor schemeColor114 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint52 = new A.Tint(){ Val = 100000 };

            schemeColor114.Append(tint52);

            solidFill144.Append(schemeColor114);

            A.Outline outline115 = new A.Outline();
            A.NoFill noFill99 = new A.NoFill();

            outline115.Append(noFill99);
            A.EffectList effectList95 = new A.EffectList();

            shapeProperties77.Append(solidFill144);
            shapeProperties77.Append(outline115);
            shapeProperties77.Append(effectList95);

            C.Marker marker177 = new C.Marker();
            C.Symbol symbol177 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker177.Append(symbol177);

            pivotFormat177.Append(index194);
            pivotFormat177.Append(shapeProperties77);
            pivotFormat177.Append(marker177);

            C.PivotFormat pivotFormat178 = new C.PivotFormat();
            C.Index index195 = new C.Index(){ Val = (UInt32Value)18U };

            C.ShapeProperties shapeProperties78 = new C.ShapeProperties();

            A.SolidFill solidFill145 = new A.SolidFill();

            A.SchemeColor schemeColor115 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint53 = new A.Tint(){ Val = 100000 };

            schemeColor115.Append(tint53);

            solidFill145.Append(schemeColor115);

            A.Outline outline116 = new A.Outline();
            A.NoFill noFill100 = new A.NoFill();

            outline116.Append(noFill100);
            A.EffectList effectList96 = new A.EffectList();

            shapeProperties78.Append(solidFill145);
            shapeProperties78.Append(outline116);
            shapeProperties78.Append(effectList96);

            C.Marker marker178 = new C.Marker();
            C.Symbol symbol178 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker178.Append(symbol178);

            pivotFormat178.Append(index195);
            pivotFormat178.Append(shapeProperties78);
            pivotFormat178.Append(marker178);

            pivotFormats18.Append(pivotFormat160);
            pivotFormats18.Append(pivotFormat161);
            pivotFormats18.Append(pivotFormat162);
            pivotFormats18.Append(pivotFormat163);
            pivotFormats18.Append(pivotFormat164);
            pivotFormats18.Append(pivotFormat165);
            pivotFormats18.Append(pivotFormat166);
            pivotFormats18.Append(pivotFormat167);
            pivotFormats18.Append(pivotFormat168);
            pivotFormats18.Append(pivotFormat169);
            pivotFormats18.Append(pivotFormat170);
            pivotFormats18.Append(pivotFormat171);
            pivotFormats18.Append(pivotFormat172);
            pivotFormats18.Append(pivotFormat173);
            pivotFormats18.Append(pivotFormat174);
            pivotFormats18.Append(pivotFormat175);
            pivotFormats18.Append(pivotFormat176);
            pivotFormats18.Append(pivotFormat177);
            pivotFormats18.Append(pivotFormat178);

            C.PlotArea plotArea18 = new C.PlotArea();
            C.Layout layout18 = new C.Layout();

            C.BarChart barChart9 = new C.BarChart();
            C.BarDirection barDirection9 = new C.BarDirection(){ Val = C.BarDirectionValues.Column };
            C.BarGrouping barGrouping9 = new C.BarGrouping(){ Val = C.BarGroupingValues.Clustered };
            C.VaryColors varyColors18 = new C.VaryColors(){ Val = false };

            C.BarChartSeries barChartSeries9 = new C.BarChartSeries();
            C.Index index196 = new C.Index(){ Val = (UInt32Value)0U };
            C.Order order18 = new C.Order(){ Val = (UInt32Value)0U };

            C.SeriesText seriesText18 = new C.SeriesText();

            C.StringReference stringReference35 = new C.StringReference();
            C.Formula formula52 = new C.Formula();
            formula52.Text = "ShowHorizontalScrollbar!$B$1";

            C.StringCache stringCache35 = new C.StringCache();
            C.PointCount pointCount52 = new C.PointCount(){ Val = (UInt32Value)1U };

            C.StringPoint stringPoint69 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue120 = new C.NumericValue();
            numericValue120.Text = "Total";

            stringPoint69.Append(numericValue120);

            stringCache35.Append(pointCount52);
            stringCache35.Append(stringPoint69);

            stringReference35.Append(formula52);
            stringReference35.Append(stringCache35);

            seriesText18.Append(stringReference35);

            C.ChartShapeProperties chartShapeProperties36 = new C.ChartShapeProperties();

            A.SolidFill solidFill146 = new A.SolidFill();

            A.SchemeColor schemeColor116 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint54 = new A.Tint(){ Val = 100000 };

            schemeColor116.Append(tint54);

            solidFill146.Append(schemeColor116);

            A.Outline outline117 = new A.Outline();
            A.NoFill noFill101 = new A.NoFill();

            outline117.Append(noFill101);
            A.EffectList effectList97 = new A.EffectList();

            chartShapeProperties36.Append(solidFill146);
            chartShapeProperties36.Append(outline117);
            chartShapeProperties36.Append(effectList97);
            C.InvertIfNegative invertIfNegative9 = new C.InvertIfNegative(){ Val = false };

            C.CategoryAxisData categoryAxisData18 = new C.CategoryAxisData();

            C.StringReference stringReference36 = new C.StringReference();
            C.Formula formula53 = new C.Formula();
            formula53.Text = "ShowHorizontalScrollbar!$A$2:$A$5";

            C.StringCache stringCache36 = new C.StringCache();
            C.PointCount pointCount53 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.StringPoint stringPoint70 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue121 = new C.NumericValue();
            numericValue121.Text = "product_A";

            stringPoint70.Append(numericValue121);

            C.StringPoint stringPoint71 = new C.StringPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue122 = new C.NumericValue();
            numericValue122.Text = "product_D";

            stringPoint71.Append(numericValue122);

            C.StringPoint stringPoint72 = new C.StringPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue123 = new C.NumericValue();
            numericValue123.Text = "product_E";

            stringPoint72.Append(numericValue123);

            stringCache36.Append(pointCount53);
            stringCache36.Append(stringPoint70);
            stringCache36.Append(stringPoint71);
            stringCache36.Append(stringPoint72);

            stringReference36.Append(formula53);
            stringReference36.Append(stringCache36);

            categoryAxisData18.Append(stringReference36);

            C.Values values18 = new C.Values();

            C.NumberReference numberReference18 = new C.NumberReference();
            C.Formula formula54 = new C.Formula();
            formula54.Text = "ShowHorizontalScrollbar!$B$2:$B$5";

            C.NumberingCache numberingCache18 = new C.NumberingCache();
            C.FormatCode formatCode18 = new C.FormatCode();
            formatCode18.Text = "General";
            C.PointCount pointCount54 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.NumericPoint numericPoint52 = new C.NumericPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue124 = new C.NumericValue();
            numericValue124.Text = "19";

            numericPoint52.Append(numericValue124);

            C.NumericPoint numericPoint53 = new C.NumericPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue125 = new C.NumericValue();
            numericValue125.Text = "13";

            numericPoint53.Append(numericValue125);

            C.NumericPoint numericPoint54 = new C.NumericPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue126 = new C.NumericValue();
            numericValue126.Text = "33";

            numericPoint54.Append(numericValue126);

            numberingCache18.Append(formatCode18);
            numberingCache18.Append(pointCount54);
            numberingCache18.Append(numericPoint52);
            numberingCache18.Append(numericPoint53);
            numberingCache18.Append(numericPoint54);

            numberReference18.Append(formula54);
            numberReference18.Append(numberingCache18);

            values18.Append(numberReference18);

            barChartSeries9.Append(index196);
            barChartSeries9.Append(order18);
            barChartSeries9.Append(seriesText18);
            barChartSeries9.Append(chartShapeProperties36);
            barChartSeries9.Append(invertIfNegative9);
            barChartSeries9.Append(categoryAxisData18);
            barChartSeries9.Append(values18);

            C.DataLabels dataLabels18 = new C.DataLabels();
            C.ShowLegendKey showLegendKey18 = new C.ShowLegendKey(){ Val = false };
            C.ShowValue showValue18 = new C.ShowValue(){ Val = false };
            C.ShowCategoryName showCategoryName18 = new C.ShowCategoryName(){ Val = false };
            C.ShowSeriesName showSeriesName18 = new C.ShowSeriesName(){ Val = false };
            C.ShowPercent showPercent18 = new C.ShowPercent(){ Val = false };
            C.ShowBubbleSize showBubbleSize18 = new C.ShowBubbleSize(){ Val = false };

            dataLabels18.Append(showLegendKey18);
            dataLabels18.Append(showValue18);
            dataLabels18.Append(showCategoryName18);
            dataLabels18.Append(showSeriesName18);
            dataLabels18.Append(showPercent18);
            dataLabels18.Append(showBubbleSize18);
            C.GapWidth gapWidth9 = new C.GapWidth(){ Val = (UInt16Value)219U };
            C.Overlap overlap8 = new C.Overlap(){ Val = -27 };
            C.AxisId axisId33 = new C.AxisId(){ Val = (UInt32Value)209982688U };
            C.AxisId axisId34 = new C.AxisId(){ Val = (UInt32Value)208839816U };

            barChart9.Append(barDirection9);
            barChart9.Append(barGrouping9);
            barChart9.Append(varyColors18);
            barChart9.Append(barChartSeries9);
            barChart9.Append(dataLabels18);
            barChart9.Append(gapWidth9);
            barChart9.Append(overlap8);
            barChart9.Append(axisId33);
            barChart9.Append(axisId34);

            C.CategoryAxis categoryAxis9 = new C.CategoryAxis();
            C.AxisId axisId35 = new C.AxisId(){ Val = (UInt32Value)209982688U };

            C.Scaling scaling17 = new C.Scaling();
            C.Orientation orientation17 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling17.Append(orientation17);
            C.Delete delete17 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition17 = new C.AxisPosition(){ Val = C.AxisPositionValues.Bottom };
            C.NumberingFormat numberingFormat28 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = false };
            C.MajorTickMark majorTickMark17 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark17 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition17 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties37 = new C.ChartShapeProperties();
            A.NoFill noFill102 = new A.NoFill();

            A.Outline outline118 = new A.Outline();
            A.NoFill noFill103 = new A.NoFill();

            outline118.Append(noFill103);
            A.EffectList effectList98 = new A.EffectList();

            chartShapeProperties37.Append(noFill102);
            chartShapeProperties37.Append(outline118);
            chartShapeProperties37.Append(effectList98);

            C.TextProperties textProperties29 = new C.TextProperties();
            A.BodyProperties bodyProperties49 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle49 = new A.ListStyle();

            A.Paragraph paragraph49 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties29 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties29 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill147 = new A.SolidFill();

            A.SchemeColor schemeColor117 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation42 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset36 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor117.Append(luminanceModulation42);
            schemeColor117.Append(luminanceOffset36);

            solidFill147.Append(schemeColor117);
            A.LatinFont latinFont24 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont24 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont24 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties29.Append(solidFill147);
            defaultRunProperties29.Append(latinFont24);
            defaultRunProperties29.Append(eastAsianFont24);
            defaultRunProperties29.Append(complexScriptFont24);

            paragraphProperties29.Append(defaultRunProperties29);
            A.EndParagraphRunProperties endParagraphRunProperties29 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph49.Append(paragraphProperties29);
            paragraph49.Append(endParagraphRunProperties29);

            textProperties29.Append(bodyProperties49);
            textProperties29.Append(listStyle49);
            textProperties29.Append(paragraph49);
            C.CrossingAxis crossingAxis17 = new C.CrossingAxis(){ Val = (UInt32Value)208839816U };
            C.Crosses crosses17 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.AutoLabeled autoLabeled9 = new C.AutoLabeled(){ Val = true };
            C.LabelAlignment labelAlignment9 = new C.LabelAlignment(){ Val = C.LabelAlignmentValues.Center };
            C.LabelOffset labelOffset9 = new C.LabelOffset(){ Val = (UInt16Value)100U };
            C.NoMultiLevelLabels noMultiLevelLabels9 = new C.NoMultiLevelLabels(){ Val = false };

            categoryAxis9.Append(axisId35);
            categoryAxis9.Append(scaling17);
            categoryAxis9.Append(delete17);
            categoryAxis9.Append(axisPosition17);
            categoryAxis9.Append(numberingFormat28);
            categoryAxis9.Append(majorTickMark17);
            categoryAxis9.Append(minorTickMark17);
            categoryAxis9.Append(tickLabelPosition17);
            categoryAxis9.Append(chartShapeProperties37);
            categoryAxis9.Append(textProperties29);
            categoryAxis9.Append(crossingAxis17);
            categoryAxis9.Append(crosses17);
            categoryAxis9.Append(autoLabeled9);
            categoryAxis9.Append(labelAlignment9);
            categoryAxis9.Append(labelOffset9);
            categoryAxis9.Append(noMultiLevelLabels9);

            C.ValueAxis valueAxis9 = new C.ValueAxis();
            C.AxisId axisId36 = new C.AxisId(){ Val = (UInt32Value)208839816U };

            C.Scaling scaling18 = new C.Scaling();
            C.Orientation orientation18 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling18.Append(orientation18);
            C.Delete delete18 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition18 = new C.AxisPosition(){ Val = C.AxisPositionValues.Left };

            C.MajorGridlines majorGridlines9 = new C.MajorGridlines();

            C.ChartShapeProperties chartShapeProperties38 = new C.ChartShapeProperties();

            A.Outline outline119 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill148 = new A.SolidFill();

            A.SchemeColor schemeColor118 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation43 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset37 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor118.Append(luminanceModulation43);
            schemeColor118.Append(luminanceOffset37);

            solidFill148.Append(schemeColor118);
            A.Round round15 = new A.Round();

            outline119.Append(solidFill148);
            outline119.Append(round15);
            A.EffectList effectList99 = new A.EffectList();

            chartShapeProperties38.Append(outline119);
            chartShapeProperties38.Append(effectList99);

            majorGridlines9.Append(chartShapeProperties38);
            C.NumberingFormat numberingFormat29 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = true };
            C.MajorTickMark majorTickMark18 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark18 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition18 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties39 = new C.ChartShapeProperties();
            A.NoFill noFill104 = new A.NoFill();

            A.Outline outline120 = new A.Outline();
            A.NoFill noFill105 = new A.NoFill();

            outline120.Append(noFill105);
            A.EffectList effectList100 = new A.EffectList();

            chartShapeProperties39.Append(noFill104);
            chartShapeProperties39.Append(outline120);
            chartShapeProperties39.Append(effectList100);

            C.TextProperties textProperties30 = new C.TextProperties();
            A.BodyProperties bodyProperties50 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle50 = new A.ListStyle();

            A.Paragraph paragraph50 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties30 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties30 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill149 = new A.SolidFill();

            A.SchemeColor schemeColor119 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation44 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset38 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor119.Append(luminanceModulation44);
            schemeColor119.Append(luminanceOffset38);

            solidFill149.Append(schemeColor119);
            A.LatinFont latinFont25 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont25 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont25 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties30.Append(solidFill149);
            defaultRunProperties30.Append(latinFont25);
            defaultRunProperties30.Append(eastAsianFont25);
            defaultRunProperties30.Append(complexScriptFont25);

            paragraphProperties30.Append(defaultRunProperties30);
            A.EndParagraphRunProperties endParagraphRunProperties30 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph50.Append(paragraphProperties30);
            paragraph50.Append(endParagraphRunProperties30);

            textProperties30.Append(bodyProperties50);
            textProperties30.Append(listStyle50);
            textProperties30.Append(paragraph50);
            C.CrossingAxis crossingAxis18 = new C.CrossingAxis(){ Val = (UInt32Value)209982688U };
            C.Crosses crosses18 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.CrossBetween crossBetween9 = new C.CrossBetween(){ Val = C.CrossBetweenValues.Between };

            valueAxis9.Append(axisId36);
            valueAxis9.Append(scaling18);
            valueAxis9.Append(delete18);
            valueAxis9.Append(axisPosition18);
            valueAxis9.Append(majorGridlines9);
            valueAxis9.Append(numberingFormat29);
            valueAxis9.Append(majorTickMark18);
            valueAxis9.Append(minorTickMark18);
            valueAxis9.Append(tickLabelPosition18);
            valueAxis9.Append(chartShapeProperties39);
            valueAxis9.Append(textProperties30);
            valueAxis9.Append(crossingAxis18);
            valueAxis9.Append(crosses18);
            valueAxis9.Append(crossBetween9);

            C.ShapeProperties shapeProperties79 = new C.ShapeProperties();

            A.SolidFill solidFill150 = new A.SolidFill();
            A.SchemeColor schemeColor120 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill150.Append(schemeColor120);

            A.Outline outline121 = new A.Outline();
            A.NoFill noFill106 = new A.NoFill();

            outline121.Append(noFill106);
            A.EffectList effectList101 = new A.EffectList();

            shapeProperties79.Append(solidFill150);
            shapeProperties79.Append(outline121);
            shapeProperties79.Append(effectList101);

            plotArea18.Append(layout18);
            plotArea18.Append(barChart9);
            plotArea18.Append(categoryAxis9);
            plotArea18.Append(valueAxis9);
            plotArea18.Append(shapeProperties79);

            C.Legend legend18 = new C.Legend();
            C.LegendPosition legendPosition18 = new C.LegendPosition(){ Val = C.LegendPositionValues.Bottom };
            C.Overlay overlay36 = new C.Overlay(){ Val = false };

            C.ChartShapeProperties chartShapeProperties40 = new C.ChartShapeProperties();
            A.NoFill noFill107 = new A.NoFill();

            A.Outline outline122 = new A.Outline();
            A.NoFill noFill108 = new A.NoFill();

            outline122.Append(noFill108);
            A.EffectList effectList102 = new A.EffectList();

            chartShapeProperties40.Append(noFill107);
            chartShapeProperties40.Append(outline122);
            chartShapeProperties40.Append(effectList102);

            C.TextProperties textProperties31 = new C.TextProperties();
            A.BodyProperties bodyProperties51 = new A.BodyProperties(){ Rotation = 0, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle51 = new A.ListStyle();

            A.Paragraph paragraph51 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties31 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties31 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill151 = new A.SolidFill();

            A.SchemeColor schemeColor121 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation45 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset39 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor121.Append(luminanceModulation45);
            schemeColor121.Append(luminanceOffset39);

            solidFill151.Append(schemeColor121);
            A.LatinFont latinFont26 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont26 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont26 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties31.Append(solidFill151);
            defaultRunProperties31.Append(latinFont26);
            defaultRunProperties31.Append(eastAsianFont26);
            defaultRunProperties31.Append(complexScriptFont26);

            paragraphProperties31.Append(defaultRunProperties31);
            A.EndParagraphRunProperties endParagraphRunProperties31 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph51.Append(paragraphProperties31);
            paragraph51.Append(endParagraphRunProperties31);

            textProperties31.Append(bodyProperties51);
            textProperties31.Append(listStyle51);
            textProperties31.Append(paragraph51);

            legend18.Append(legendPosition18);
            legend18.Append(overlay36);
            legend18.Append(chartShapeProperties40);
            legend18.Append(textProperties31);
            C.PlotVisibleOnly plotVisibleOnly18 = new C.PlotVisibleOnly(){ Val = true };
            C.DisplayBlanksAs displayBlanksAs18 = new C.DisplayBlanksAs(){ Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum18 = new C.ShowDataLabelsOverMaximum(){ Val = false };

            chart18.Append(title18);
            chart18.Append(autoTitleDeleted18);
            chart18.Append(pivotFormats18);
            chart18.Append(plotArea18);
            chart18.Append(legend18);
            chart18.Append(plotVisibleOnly18);
            chart18.Append(displayBlanksAs18);
            chart18.Append(showDataLabelsOverMaximum18);

            C.ShapeProperties shapeProperties80 = new C.ShapeProperties();

            A.SolidFill solidFill152 = new A.SolidFill();
            A.SchemeColor schemeColor122 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill152.Append(schemeColor122);

            A.Outline outline123 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill153 = new A.SolidFill();

            A.SchemeColor schemeColor123 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation46 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset40 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor123.Append(luminanceModulation46);
            schemeColor123.Append(luminanceOffset40);

            solidFill153.Append(schemeColor123);
            A.Round round16 = new A.Round();

            outline123.Append(solidFill153);
            outline123.Append(round16);
            A.EffectList effectList103 = new A.EffectList();

            shapeProperties80.Append(solidFill152);
            shapeProperties80.Append(outline123);
            shapeProperties80.Append(effectList103);

            C.TextProperties textProperties32 = new C.TextProperties();
            A.BodyProperties bodyProperties52 = new A.BodyProperties();
            A.ListStyle listStyle52 = new A.ListStyle();

            A.Paragraph paragraph52 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties32 = new A.ParagraphProperties();
            A.DefaultRunProperties defaultRunProperties32 = new A.DefaultRunProperties();

            paragraphProperties32.Append(defaultRunProperties32);
            A.EndParagraphRunProperties endParagraphRunProperties32 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph52.Append(paragraphProperties32);
            paragraph52.Append(endParagraphRunProperties32);

            textProperties32.Append(bodyProperties52);
            textProperties32.Append(listStyle52);
            textProperties32.Append(paragraph52);

            C.PrintSettings printSettings18 = new C.PrintSettings();
            C.HeaderFooter headerFooter18 = new C.HeaderFooter();
            C.PageMargins pageMargins29 = new C.PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };
            C.PageSetup pageSetup18 = new C.PageSetup();

            printSettings18.Append(headerFooter18);
            printSettings18.Append(pageMargins29);
            printSettings18.Append(pageSetup18);

            C.ChartSpaceExtensionList chartSpaceExtensionList18 = new C.ChartSpaceExtensionList();
            chartSpaceExtensionList18.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            chartSpaceExtensionList18.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            C.ChartSpaceExtension chartSpaceExtension18 = new C.ChartSpaceExtension(){ Uri = "{781A3756-C4B2-4CAC-9D66-4F8BD8637D16}" };
            chartSpaceExtension18.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C14.PivotOptions pivotOptions18 = new C14.PivotOptions();
            C14.DropZoneFilter dropZoneFilter18 = new C14.DropZoneFilter(){ Val = true };
            C14.DropZoneCategories dropZoneCategories18 = new C14.DropZoneCategories(){ Val = true };
            C14.DropZoneData dropZoneData18 = new C14.DropZoneData(){ Val = true };
            C14.DropZoneSeries dropZoneSeries18 = new C14.DropZoneSeries(){ Val = true };
            C14.DropZonesVisible dropZonesVisible18 = new C14.DropZonesVisible(){ Val = true };

            pivotOptions18.Append(dropZoneFilter18);
            pivotOptions18.Append(dropZoneCategories18);
            pivotOptions18.Append(dropZoneData18);
            pivotOptions18.Append(dropZoneSeries18);
            pivotOptions18.Append(dropZonesVisible18);

            chartSpaceExtension18.Append(pivotOptions18);

            chartSpaceExtensionList18.Append(chartSpaceExtension18);

            chartSpace18.Append(date190418);
            chartSpace18.Append(editingLanguage18);
            chartSpace18.Append(roundedCorners18);
            chartSpace18.Append(alternateContent38);
            chartSpace18.Append(pivotSource18);
            chartSpace18.Append(chart18);
            chartSpace18.Append(shapeProperties80);
            chartSpace18.Append(textProperties32);
            chartSpace18.Append(printSettings18);
            chartSpace18.Append(chartSpaceExtensionList18);

            chartPart18.ChartSpace = chartSpace18;
        }
        internal C.PlotArea ToPlotArea(bool IsStylish = false)
        {
            var pa = new C.PlotArea();

            pa.Append(Layout.ToLayout());

            int iChartType;
            int i;

            // TODO: the rendering order is sort of listed in the following.
            // But apparently if you plot data series for doughnut first before bar-of-pie
            // it's different than if you plot bar-of-pie then doughnut.
            // Find out the "correct" order next version I suppose...

            // Excel 2010 apparently sets this by default for any chart...
            var gdlo = new SLGroupDataLabelOptions(ShapeProperties.listThemeColors);

            gdlo.ShowLegendKey    = false;
            gdlo.ShowValue        = false;
            gdlo.ShowCategoryName = false;
            gdlo.ShowSeriesName   = false;
            gdlo.ShowPercentage   = false;
            gdlo.ShowBubbleSize   = false;

            #region Doughnut

            iChartType = (int)SLDataSeriesChartType.DoughnutChart;
            if (UsedChartTypes[iChartType])
            {
                var dc = new C.DoughnutChart();
                dc.VaryColors = new C.VaryColors {
                    Val = UsedChartOptions[iChartType].VaryColors ?? true
                };

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        dc.Append(DataSeries[i].ToPieChartSeries(IsStylish));
                    }
                }

                dc.Append(gdlo.ToDataLabels(new Dictionary <int, SLDataLabelOptions>(), false));

                dc.Append(new C.FirstSliceAngle {
                    Val = UsedChartOptions[iChartType].FirstSliceAngle
                });
                dc.Append(new C.HoleSize {
                    Val = UsedChartOptions[iChartType].HoleSize
                });

                pa.Append(dc);
            }

            #endregion

            #region Bar-of-pie

            iChartType = (int)SLDataSeriesChartType.OfPieChartBar;
            if (UsedChartTypes[iChartType])
            {
                var opc = new C.OfPieChart();
                opc.OfPieType = new C.OfPieType {
                    Val = C.OfPieValues.Bar
                };
                opc.VaryColors = new C.VaryColors {
                    Val = UsedChartOptions[iChartType].VaryColors ?? true
                };

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        opc.Append(DataSeries[i].ToPieChartSeries(IsStylish));
                    }
                }

                opc.Append(gdlo.ToDataLabels(new Dictionary <int, SLDataLabelOptions>(), false));

                opc.Append(new C.GapWidth {
                    Val = UsedChartOptions[iChartType].GapWidth
                });

                if (UsedChartOptions[iChartType].HasSplit)
                {
                    opc.Append(new C.SplitType {
                        Val = UsedChartOptions[iChartType].SplitType
                    });
                    if (UsedChartOptions[iChartType].SplitType != C.SplitValues.Custom)
                    {
                        opc.Append(new C.SplitPosition {
                            Val = UsedChartOptions[iChartType].SplitPosition
                        });
                    }
                    else
                    {
                        var custsplit = new C.CustomSplit();
                        foreach (var iPiePoint in UsedChartOptions[iChartType].SecondPiePoints)
                        {
                            custsplit.Append(new C.SecondPiePoint {
                                Val = (uint)iPiePoint
                            });
                        }
                        opc.Append(custsplit);
                    }
                }

                opc.Append(new C.SecondPieSize {
                    Val = UsedChartOptions[iChartType].SecondPieSize
                });

                if (UsedChartOptions[iChartType].SeriesLinesShapeProperties.HasShapeProperties)
                {
                    opc.Append(new C.SeriesLines
                    {
                        ChartShapeProperties =
                            UsedChartOptions[iChartType].SeriesLinesShapeProperties.ToChartShapeProperties()
                    });
                }
                else
                {
                    opc.Append(new C.SeriesLines());
                }

                pa.Append(opc);
            }

            #endregion

            #region Pie-of-pie

            iChartType = (int)SLDataSeriesChartType.OfPieChartPie;
            if (UsedChartTypes[iChartType])
            {
                var opc = new C.OfPieChart();
                opc.OfPieType = new C.OfPieType {
                    Val = C.OfPieValues.Pie
                };
                opc.VaryColors = new C.VaryColors {
                    Val = UsedChartOptions[iChartType].VaryColors ?? true
                };

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        opc.Append(DataSeries[i].ToPieChartSeries(IsStylish));
                    }
                }

                opc.Append(gdlo.ToDataLabels(new Dictionary <int, SLDataLabelOptions>(), false));

                opc.Append(new C.GapWidth {
                    Val = UsedChartOptions[iChartType].GapWidth
                });

                if (UsedChartOptions[iChartType].HasSplit)
                {
                    opc.Append(new C.SplitType {
                        Val = UsedChartOptions[iChartType].SplitType
                    });
                    if (UsedChartOptions[iChartType].SplitType != C.SplitValues.Custom)
                    {
                        opc.Append(new C.SplitPosition {
                            Val = UsedChartOptions[iChartType].SplitPosition
                        });
                    }
                    else
                    {
                        var custsplit = new C.CustomSplit();
                        foreach (var iPiePoint in UsedChartOptions[iChartType].SecondPiePoints)
                        {
                            custsplit.Append(new C.SecondPiePoint {
                                Val = (uint)iPiePoint
                            });
                        }
                        opc.Append(custsplit);
                    }
                }

                opc.Append(new C.SecondPieSize {
                    Val = UsedChartOptions[iChartType].SecondPieSize
                });

                if (UsedChartOptions[iChartType].SeriesLinesShapeProperties.HasShapeProperties)
                {
                    opc.Append(new C.SeriesLines
                    {
                        ChartShapeProperties =
                            UsedChartOptions[iChartType].SeriesLinesShapeProperties.ToChartShapeProperties()
                    });
                }
                else
                {
                    opc.Append(new C.SeriesLines());
                }

                pa.Append(opc);
            }

            #endregion

            #region Pie

            iChartType = (int)SLDataSeriesChartType.PieChart;
            if (UsedChartTypes[iChartType])
            {
                var pc = new C.PieChart();
                pc.VaryColors = new C.VaryColors {
                    Val = UsedChartOptions[iChartType].VaryColors ?? true
                };

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        pc.Append(DataSeries[i].ToPieChartSeries(IsStylish));
                    }
                }

                pc.Append(gdlo.ToDataLabels(new Dictionary <int, SLDataLabelOptions>(), false));

                pc.Append(new C.FirstSliceAngle {
                    Val = UsedChartOptions[iChartType].FirstSliceAngle
                });

                pa.Append(pc);
            }

            #endregion

            #region Radar primary

            iChartType = (int)SLDataSeriesChartType.RadarChartPrimary;
            if (UsedChartTypes[iChartType])
            {
                var rc = new C.RadarChart();
                rc.RadarStyle = new C.RadarStyle {
                    Val = UsedChartOptions[iChartType].RadarStyle
                };
                rc.VaryColors = new C.VaryColors {
                    Val = false
                };

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        rc.Append(DataSeries[i].ToRadarChartSeries(IsStylish));
                    }
                }

                rc.Append(gdlo.ToDataLabels(new Dictionary <int, SLDataLabelOptions>(), false));

                rc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis1
                });
                rc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis2
                });

                pa.Append(rc);
            }

            #endregion

            #region Radar secondary

            iChartType = (int)SLDataSeriesChartType.RadarChartSecondary;
            if (UsedChartTypes[iChartType])
            {
                var rc = new C.RadarChart();
                rc.RadarStyle = new C.RadarStyle {
                    Val = UsedChartOptions[iChartType].RadarStyle
                };
                rc.VaryColors = new C.VaryColors {
                    Val = false
                };

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        rc.Append(DataSeries[i].ToRadarChartSeries(IsStylish));
                    }
                }

                rc.Append(gdlo.ToDataLabels(new Dictionary <int, SLDataLabelOptions>(), false));

                rc.Append(new C.AxisId {
                    Val = SLConstants.SecondaryAxis1
                });
                rc.Append(new C.AxisId {
                    Val = SLConstants.SecondaryAxis2
                });

                pa.Append(rc);
            }

            #endregion

            #region Area primary

            iChartType = (int)SLDataSeriesChartType.AreaChartPrimary;
            if (UsedChartTypes[iChartType])
            {
                var ac = new C.AreaChart();
                ac.Grouping = new C.Grouping {
                    Val = UsedChartOptions[iChartType].Grouping
                };
                ac.VaryColors = new C.VaryColors {
                    Val = false
                };

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        ac.Append(DataSeries[i].ToAreaChartSeries(IsStylish));
                    }
                }

                ac.Append(gdlo.ToDataLabels(new Dictionary <int, SLDataLabelOptions>(), false));

                if (UsedChartOptions[iChartType].HasDropLines)
                {
                    ac.Append(UsedChartOptions[iChartType].DropLines.ToDropLines(IsStylish));
                }

                ac.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis1
                });
                ac.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis2
                });

                pa.Append(ac);
            }

            #endregion

            #region Area secondary

            iChartType = (int)SLDataSeriesChartType.AreaChartSecondary;
            if (UsedChartTypes[iChartType])
            {
                var ac = new C.AreaChart();
                ac.Grouping = new C.Grouping {
                    Val = UsedChartOptions[iChartType].Grouping
                };
                ac.VaryColors = new C.VaryColors {
                    Val = false
                };

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        ac.Append(DataSeries[i].ToAreaChartSeries(IsStylish));
                    }
                }

                ac.Append(gdlo.ToDataLabels(new Dictionary <int, SLDataLabelOptions>(), false));

                if (UsedChartOptions[iChartType].HasDropLines)
                {
                    ac.Append(UsedChartOptions[iChartType].DropLines.ToDropLines(IsStylish));
                }

                ac.Append(new C.AxisId {
                    Val = SLConstants.SecondaryAxis1
                });
                ac.Append(new C.AxisId {
                    Val = SLConstants.SecondaryAxis2
                });

                pa.Append(ac);
            }

            #endregion

            #region Column primary

            iChartType = (int)SLDataSeriesChartType.BarChartColumnPrimary;
            if (UsedChartTypes[iChartType])
            {
                var bc = new C.BarChart();
                bc.BarDirection = new C.BarDirection {
                    Val = C.BarDirectionValues.Column
                };
                bc.BarGrouping = new C.BarGrouping {
                    Val = UsedChartOptions[iChartType].BarGrouping
                };
                bc.VaryColors = new C.VaryColors {
                    Val = false
                };

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        bc.Append(DataSeries[i].ToBarChartSeries(IsStylish));
                    }
                }

                bc.Append(gdlo.ToDataLabels(new Dictionary <int, SLDataLabelOptions>(), false));

                bc.Append(new C.GapWidth {
                    Val = UsedChartOptions[iChartType].GapWidth
                });

                if (UsedChartOptions[iChartType].Overlap != 0)
                {
                    bc.Append(new C.Overlap {
                        Val = UsedChartOptions[iChartType].Overlap
                    });
                }

                bc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis1
                });
                bc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis2
                });

                pa.Append(bc);
            }

            #endregion

            #region Column secondary

            iChartType = (int)SLDataSeriesChartType.BarChartColumnSecondary;
            if (UsedChartTypes[iChartType])
            {
                var bc = new C.BarChart();
                bc.BarDirection = new C.BarDirection {
                    Val = C.BarDirectionValues.Column
                };
                bc.BarGrouping = new C.BarGrouping {
                    Val = UsedChartOptions[iChartType].BarGrouping
                };
                bc.VaryColors = new C.VaryColors {
                    Val = false
                };

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        bc.Append(DataSeries[i].ToBarChartSeries(IsStylish));
                    }
                }

                bc.Append(gdlo.ToDataLabels(new Dictionary <int, SLDataLabelOptions>(), false));

                bc.Append(new C.GapWidth {
                    Val = UsedChartOptions[iChartType].GapWidth
                });

                if (UsedChartOptions[iChartType].Overlap != 0)
                {
                    bc.Append(new C.Overlap {
                        Val = UsedChartOptions[iChartType].Overlap
                    });
                }

                bc.Append(new C.AxisId {
                    Val = SLConstants.SecondaryAxis1
                });
                bc.Append(new C.AxisId {
                    Val = SLConstants.SecondaryAxis2
                });

                pa.Append(bc);
            }

            #endregion

            #region Bar primary

            iChartType = (int)SLDataSeriesChartType.BarChartBarPrimary;
            if (UsedChartTypes[iChartType])
            {
                var bc = new C.BarChart();
                bc.BarDirection = new C.BarDirection {
                    Val = C.BarDirectionValues.Bar
                };
                bc.BarGrouping = new C.BarGrouping {
                    Val = UsedChartOptions[iChartType].BarGrouping
                };
                bc.VaryColors = new C.VaryColors {
                    Val = false
                };

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        bc.Append(DataSeries[i].ToBarChartSeries(IsStylish));
                    }
                }

                bc.Append(gdlo.ToDataLabels(new Dictionary <int, SLDataLabelOptions>(), false));

                bc.Append(new C.GapWidth {
                    Val = UsedChartOptions[iChartType].GapWidth
                });

                if (UsedChartOptions[iChartType].Overlap != 0)
                {
                    bc.Append(new C.Overlap {
                        Val = UsedChartOptions[iChartType].Overlap
                    });
                }

                bc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis1
                });
                bc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis2
                });

                pa.Append(bc);
            }

            #endregion

            #region Bar secondary

            iChartType = (int)SLDataSeriesChartType.BarChartBarSecondary;
            if (UsedChartTypes[iChartType])
            {
                var bc = new C.BarChart();
                bc.BarDirection = new C.BarDirection {
                    Val = C.BarDirectionValues.Bar
                };
                bc.BarGrouping = new C.BarGrouping {
                    Val = UsedChartOptions[iChartType].BarGrouping
                };
                bc.VaryColors = new C.VaryColors {
                    Val = false
                };

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        bc.Append(DataSeries[i].ToBarChartSeries(IsStylish));
                    }
                }

                bc.Append(gdlo.ToDataLabels(new Dictionary <int, SLDataLabelOptions>(), false));

                bc.Append(new C.GapWidth {
                    Val = UsedChartOptions[iChartType].GapWidth
                });

                if (UsedChartOptions[iChartType].Overlap != 0)
                {
                    bc.Append(new C.Overlap {
                        Val = UsedChartOptions[iChartType].Overlap
                    });
                }

                bc.Append(new C.AxisId {
                    Val = SLConstants.SecondaryAxis1
                });
                bc.Append(new C.AxisId {
                    Val = SLConstants.SecondaryAxis2
                });

                pa.Append(bc);
            }

            #endregion

            #region Scatter primary

            iChartType = (int)SLDataSeriesChartType.ScatterChartPrimary;
            if (UsedChartTypes[iChartType])
            {
                var sc = new C.ScatterChart();
                sc.ScatterStyle = new C.ScatterStyle {
                    Val = UsedChartOptions[iChartType].ScatterStyle
                };
                sc.VaryColors = new C.VaryColors {
                    Val = false
                };

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        sc.Append(DataSeries[i].ToScatterChartSeries(IsStylish));
                    }
                }

                sc.Append(gdlo.ToDataLabels(new Dictionary <int, SLDataLabelOptions>(), false));

                sc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis1
                });
                sc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis2
                });

                pa.Append(sc);
            }

            #endregion

            #region Scatter secondary

            iChartType = (int)SLDataSeriesChartType.ScatterChartSecondary;
            if (UsedChartTypes[iChartType])
            {
                var sc = new C.ScatterChart();
                sc.ScatterStyle = new C.ScatterStyle {
                    Val = UsedChartOptions[iChartType].ScatterStyle
                };
                sc.VaryColors = new C.VaryColors {
                    Val = false
                };

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        sc.Append(DataSeries[i].ToScatterChartSeries(IsStylish));
                    }
                }

                sc.Append(gdlo.ToDataLabels(new Dictionary <int, SLDataLabelOptions>(), false));

                sc.Append(new C.AxisId {
                    Val = SLConstants.SecondaryAxis1
                });
                sc.Append(new C.AxisId {
                    Val = SLConstants.SecondaryAxis2
                });

                pa.Append(sc);
            }

            #endregion

            #region Line primary

            iChartType = (int)SLDataSeriesChartType.LineChartPrimary;
            if (UsedChartTypes[iChartType])
            {
                var lc = new C.LineChart();
                lc.Grouping = new C.Grouping {
                    Val = UsedChartOptions[iChartType].Grouping
                };
                lc.VaryColors = new C.VaryColors {
                    Val = false
                };

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        lc.Append(DataSeries[i].ToLineChartSeries(IsStylish));
                    }
                }

                lc.Append(gdlo.ToDataLabels(new Dictionary <int, SLDataLabelOptions>(), false));

                if (UsedChartOptions[iChartType].HasDropLines)
                {
                    lc.Append(UsedChartOptions[iChartType].DropLines.ToDropLines(IsStylish));
                }

                lc.Append(new C.ShowMarker {
                    Val = UsedChartOptions[iChartType].ShowMarker
                });
                lc.Append(new C.Smooth {
                    Val = UsedChartOptions[iChartType].Smooth
                });

                lc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis1
                });
                lc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis2
                });

                pa.Append(lc);
            }

            #endregion

            #region Line secondary

            iChartType = (int)SLDataSeriesChartType.LineChartSecondary;
            if (UsedChartTypes[iChartType])
            {
                var lc = new C.LineChart();
                lc.Grouping = new C.Grouping {
                    Val = UsedChartOptions[iChartType].Grouping
                };
                lc.VaryColors = new C.VaryColors {
                    Val = false
                };

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        lc.Append(DataSeries[i].ToLineChartSeries(IsStylish));
                    }
                }

                lc.Append(gdlo.ToDataLabels(new Dictionary <int, SLDataLabelOptions>(), false));

                if (UsedChartOptions[iChartType].HasDropLines)
                {
                    lc.Append(UsedChartOptions[iChartType].DropLines.ToDropLines(IsStylish));
                }

                lc.Append(new C.ShowMarker {
                    Val = UsedChartOptions[iChartType].ShowMarker
                });
                lc.Append(new C.Smooth {
                    Val = UsedChartOptions[iChartType].Smooth
                });

                lc.Append(new C.AxisId {
                    Val = SLConstants.SecondaryAxis1
                });
                lc.Append(new C.AxisId {
                    Val = SLConstants.SecondaryAxis2
                });

                pa.Append(lc);
            }

            #endregion

            #region Area3D

            iChartType = (int)SLDataSeriesChartType.Area3DChart;
            if (UsedChartTypes[iChartType])
            {
                var ac = new C.Area3DChart();
                ac.Grouping = new C.Grouping {
                    Val = UsedChartOptions[iChartType].Grouping
                };
                ac.VaryColors = new C.VaryColors {
                    Val = false
                };

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        ac.Append(DataSeries[i].ToAreaChartSeries(IsStylish));
                    }
                }

                ac.Append(gdlo.ToDataLabels(new Dictionary <int, SLDataLabelOptions>(), false));

                if (UsedChartOptions[iChartType].GapDepth != 150)
                {
                    ac.Append(new C.GapDepth {
                        Val = UsedChartOptions[iChartType].GapDepth
                    });
                }

                ac.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis1
                });
                ac.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis2
                });
                ac.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis3
                });

                pa.Append(ac);
            }

            #endregion

            #region Bar3D

            iChartType = (int)SLDataSeriesChartType.Bar3DChart;
            if (UsedChartTypes[iChartType])
            {
                var bc = new C.Bar3DChart();
                bc.BarDirection = new C.BarDirection {
                    Val = UsedChartOptions[iChartType].BarDirection
                };
                bc.BarGrouping = new C.BarGrouping {
                    Val = UsedChartOptions[iChartType].BarGrouping
                };
                bc.VaryColors = new C.VaryColors {
                    Val = false
                };

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        bc.Append(DataSeries[i].ToBarChartSeries(IsStylish));
                    }
                }

                bc.Append(gdlo.ToDataLabels(new Dictionary <int, SLDataLabelOptions>(), false));

                bc.Append(new C.GapWidth {
                    Val = UsedChartOptions[iChartType].GapWidth
                });

                if (UsedChartOptions[iChartType].GapDepth != 150)
                {
                    bc.Append(new C.GapDepth {
                        Val = UsedChartOptions[iChartType].GapDepth
                    });
                }

                bc.Append(new C.Shape {
                    Val = UsedChartOptions[iChartType].Shape
                });

                bc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis1
                });
                bc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis2
                });
                bc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis3
                });

                pa.Append(bc);
            }

            #endregion

            #region Bubble

            iChartType = (int)SLDataSeriesChartType.BubbleChart;
            if (UsedChartTypes[iChartType])
            {
                var bc = new C.BubbleChart();
                bc.VaryColors = new C.VaryColors {
                    Val = false
                };

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        bc.Append(DataSeries[i].ToBubbleChartSeries(IsStylish));
                    }
                }

                bc.Append(gdlo.ToDataLabels(new Dictionary <int, SLDataLabelOptions>(), false));

                if (!UsedChartOptions[iChartType].Bubble3D)
                {
                    bc.Append(new C.Bubble3D {
                        Val = UsedChartOptions[iChartType].Bubble3D
                    });
                }

                if (UsedChartOptions[iChartType].BubbleScale != 100)
                {
                    bc.Append(new C.BubbleScale {
                        Val = UsedChartOptions[iChartType].BubbleScale
                    });
                }

                if (!UsedChartOptions[iChartType].ShowNegativeBubbles)
                {
                    bc.Append(new C.ShowNegativeBubbles {
                        Val = UsedChartOptions[iChartType].ShowNegativeBubbles
                    });
                }

                if (UsedChartOptions[iChartType].SizeRepresents != C.SizeRepresentsValues.Area)
                {
                    bc.Append(new C.SizeRepresents {
                        Val = UsedChartOptions[iChartType].SizeRepresents
                    });
                }

                bc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis1
                });
                bc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis2
                });

                pa.Append(bc);
            }

            #endregion

            #region Line3D

            iChartType = (int)SLDataSeriesChartType.Line3DChart;
            if (UsedChartTypes[iChartType])
            {
                var lc = new C.Line3DChart();
                lc.Grouping = new C.Grouping {
                    Val = UsedChartOptions[iChartType].Grouping
                };
                lc.VaryColors = new C.VaryColors {
                    Val = false
                };

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        lc.Append(DataSeries[i].ToLineChartSeries(IsStylish));
                    }
                }

                lc.Append(gdlo.ToDataLabels(new Dictionary <int, SLDataLabelOptions>(), false));

                if (UsedChartOptions[iChartType].HasDropLines)
                {
                    lc.Append(UsedChartOptions[iChartType].DropLines.ToDropLines(IsStylish));
                }

                if (UsedChartOptions[iChartType].GapDepth != 150)
                {
                    lc.Append(new C.GapDepth {
                        Val = UsedChartOptions[iChartType].GapDepth
                    });
                }

                lc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis1
                });
                lc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis2
                });
                lc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis3
                });

                pa.Append(lc);
            }

            #endregion

            #region Pie3D

            iChartType = (int)SLDataSeriesChartType.Pie3DChart;
            if (UsedChartTypes[iChartType])
            {
                var pc = new C.Pie3DChart();
                pc.VaryColors = new C.VaryColors {
                    Val = UsedChartOptions[iChartType].VaryColors ?? true
                };

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        pc.Append(DataSeries[i].ToPieChartSeries(IsStylish));
                    }
                }

                pc.Append(gdlo.ToDataLabels(new Dictionary <int, SLDataLabelOptions>(), false));

                pa.Append(pc);
            }

            #endregion

            #region Surface

            iChartType = (int)SLDataSeriesChartType.SurfaceChart;
            if (UsedChartTypes[iChartType])
            {
                var sc = new C.SurfaceChart();
                if (UsedChartOptions[iChartType].bWireframe != null)
                {
                    sc.Wireframe = new C.Wireframe {
                        Val = UsedChartOptions[iChartType].Wireframe
                    }
                }
                ;

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        sc.Append(DataSeries[i].ToSurfaceChartSeries(IsStylish));
                    }
                }

                sc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis1
                });
                sc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis2
                });
                sc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis3
                });

                pa.Append(sc);
            }

            #endregion

            #region Surface3D

            iChartType = (int)SLDataSeriesChartType.Surface3DChart;
            if (UsedChartTypes[iChartType])
            {
                var sc = new C.Surface3DChart();
                if (UsedChartOptions[iChartType].bWireframe != null)
                {
                    sc.Wireframe = new C.Wireframe {
                        Val = UsedChartOptions[iChartType].Wireframe
                    }
                }
                ;

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        sc.Append(DataSeries[i].ToSurfaceChartSeries(IsStylish));
                    }
                }

                sc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis1
                });
                sc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis2
                });
                sc.Append(new C.AxisId {
                    Val = SLConstants.PrimaryAxis3
                });

                pa.Append(sc);
            }

            #endregion

            #region Stock

            iChartType = (int)SLDataSeriesChartType.StockChart;
            if (UsedChartTypes[iChartType])
            {
                var sc = new C.StockChart();

                for (i = 0; i < DataSeries.Count; ++i)
                {
                    if ((int)DataSeries[i].ChartType == iChartType)
                    {
                        sc.Append(DataSeries[i].ToLineChartSeries(IsStylish));
                    }
                }

                sc.Append(gdlo.ToDataLabels(new Dictionary <int, SLDataLabelOptions>(), false));

                if (UsedChartOptions[iChartType].HasDropLines)
                {
                    sc.Append(UsedChartOptions[iChartType].DropLines.ToDropLines(IsStylish));
                }

                if (UsedChartOptions[iChartType].HasHighLowLines)
                {
                    sc.Append(UsedChartOptions[iChartType].HighLowLines.ToHighLowLines(IsStylish));
                }

                if (UsedChartOptions[iChartType].HasUpDownBars)
                {
                    sc.Append(UsedChartOptions[iChartType].UpDownBars.ToUpDownBars(IsStylish));
                }

                // stock charts either have a bar chart as the primary chart (the Volume) or doesn't.
                // If there is, then it's either a Volume-High-Low-Close or Volumn-Open-High-Low-Close,
                // so we use the secondary axis IDs.
                if (UsedChartTypes[(int)SLDataSeriesChartType.BarChartColumnPrimary])
                {
                    sc.Append(new C.AxisId {
                        Val = SLConstants.SecondaryAxis1
                    });
                    sc.Append(new C.AxisId {
                        Val = SLConstants.SecondaryAxis2
                    });
                }
                else
                {
                    sc.Append(new C.AxisId {
                        Val = SLConstants.PrimaryAxis1
                    });
                    sc.Append(new C.AxisId {
                        Val = SLConstants.PrimaryAxis2
                    });
                }

                pa.Append(sc);
            }

            #endregion

            if (HasPrimaryAxes)
            {
                PrimaryTextAxis.IsCrosses = PrimaryValueAxis.OtherAxisIsCrosses;
                PrimaryTextAxis.Crosses   = PrimaryValueAxis.OtherAxisCrosses;
                PrimaryTextAxis.CrossesAt = PrimaryValueAxis.OtherAxisCrossesAt;

                PrimaryTextAxis.OtherAxisIsInReverseOrder = PrimaryValueAxis.InReverseOrder;

                if ((PrimaryValueAxis.OtherAxisIsCrosses != null) &&
                    PrimaryValueAxis.OtherAxisIsCrosses.Value &&
                    (PrimaryValueAxis.OtherAxisCrosses == C.CrossesValues.Maximum))
                {
                    PrimaryTextAxis.OtherAxisCrossedAtMaximum = true;
                }
                else
                {
                    PrimaryTextAxis.OtherAxisCrossedAtMaximum = false;
                }

                PrimaryValueAxis.IsCrosses = PrimaryTextAxis.OtherAxisIsCrosses;
                PrimaryValueAxis.Crosses   = PrimaryTextAxis.OtherAxisCrosses;
                PrimaryValueAxis.CrossesAt = PrimaryTextAxis.OtherAxisCrossesAt;

                PrimaryValueAxis.OtherAxisIsInReverseOrder = PrimaryTextAxis.InReverseOrder;

                if ((PrimaryTextAxis.OtherAxisIsCrosses != null) &&
                    PrimaryTextAxis.OtherAxisIsCrosses.Value &&
                    (PrimaryTextAxis.OtherAxisCrosses == C.CrossesValues.Maximum))
                {
                    PrimaryValueAxis.OtherAxisCrossedAtMaximum = true;
                }
                else
                {
                    PrimaryValueAxis.OtherAxisCrossedAtMaximum = false;
                }

                switch (PrimaryTextAxis.AxisType)
                {
                case SLAxisType.Category:
                    pa.Append(PrimaryTextAxis.ToCategoryAxis(IsStylish));
                    break;

                case SLAxisType.Date:
                    pa.Append(PrimaryTextAxis.ToDateAxis(IsStylish));
                    break;

                case SLAxisType.Value:
                    pa.Append(PrimaryTextAxis.ToValueAxis(IsStylish));
                    break;
                }
                pa.Append(PrimaryValueAxis.ToValueAxis(IsStylish));
            }

            if (HasDepthAxis)
            {
                pa.Append(DepthAxis.ToSeriesAxis(IsStylish));
            }

            if (HasSecondaryAxes)
            {
                SecondaryTextAxis.IsCrosses = SecondaryValueAxis.OtherAxisIsCrosses;
                SecondaryTextAxis.Crosses   = SecondaryValueAxis.OtherAxisCrosses;
                SecondaryTextAxis.CrossesAt = SecondaryValueAxis.OtherAxisCrossesAt;

                SecondaryTextAxis.OtherAxisIsInReverseOrder = SecondaryValueAxis.InReverseOrder;

                if ((SecondaryValueAxis.OtherAxisIsCrosses != null) &&
                    SecondaryValueAxis.OtherAxisIsCrosses.Value &&
                    (SecondaryValueAxis.OtherAxisCrosses == C.CrossesValues.Maximum))
                {
                    SecondaryTextAxis.OtherAxisCrossedAtMaximum = true;
                }
                else
                {
                    SecondaryTextAxis.OtherAxisCrossedAtMaximum = false;
                }

                SecondaryValueAxis.IsCrosses = SecondaryTextAxis.OtherAxisIsCrosses;
                SecondaryValueAxis.Crosses   = SecondaryTextAxis.OtherAxisCrosses;
                SecondaryValueAxis.CrossesAt = SecondaryTextAxis.OtherAxisCrossesAt;

                SecondaryValueAxis.OtherAxisIsInReverseOrder = SecondaryTextAxis.InReverseOrder;

                if ((SecondaryTextAxis.OtherAxisIsCrosses != null) &&
                    SecondaryTextAxis.OtherAxisIsCrosses.Value &&
                    (SecondaryTextAxis.OtherAxisCrosses == C.CrossesValues.Maximum))
                {
                    SecondaryValueAxis.OtherAxisCrossedAtMaximum = true;
                }
                else
                {
                    SecondaryValueAxis.OtherAxisCrossedAtMaximum = false;
                }

                // the order of axes is:
                // 1) primary category/date/value axis
                // 2) primary value axis
                // 3) secondary value axis
                // 4) secondary category/date/value axis
                pa.Append(SecondaryValueAxis.ToValueAxis(IsStylish));
                switch (SecondaryTextAxis.AxisType)
                {
                case SLAxisType.Category:
                    pa.Append(SecondaryTextAxis.ToCategoryAxis(IsStylish));
                    break;

                case SLAxisType.Date:
                    pa.Append(SecondaryTextAxis.ToDateAxis(IsStylish));
                    break;

                case SLAxisType.Value:
                    pa.Append(SecondaryTextAxis.ToValueAxis(IsStylish));
                    break;
                }
            }

            if (ShowDataTable)
            {
                pa.Append(DataTable.ToDataTable(IsStylish));
            }

            if (ShapeProperties.HasShapeProperties)
            {
                pa.Append(ShapeProperties.ToChartShapeProperties(IsStylish));
            }

            return(pa);
        }