예제 #1
0
        /// <summary>
        /// Creates a list instace be creating a (nonabstract) numbering instance. This is an element with a unique number (which is returned)
        /// that refers to the abstract numbering definition.
        /// </summary>
        /// <param name="renderer">The renderer.</param>
        /// <returns>The unique identifer. Is used afterwards in the list.</returns>
        public int AddNonabstractNumberId(OpenXMLRenderer renderer)
        {
            var _wordDocument = renderer._wordDocument;
            NumberingDefinitionsPart numberingPart = _wordDocument.MainDocumentPart.NumberingDefinitionsPart;

            var abstractNumberId = _currentAbstractNumberingDefinition.AbstractNumberId;

            // Insert an NumberingInstance into the numbering part numbering list.  The order seems to matter or it will not pass the
            // Open XML SDK Productity Tools validation test.  AbstractNum comes first and then NumberingInstance and we want to
            // insert this AFTER the last NumberingInstance and AFTER all the AbstractNum entries or we will get a validation error.
            var numberId           = numberingPart.Numbering.Elements <NumberingInstance>().Count() + 1;
            var numberingInstance1 = new NumberingInstance()
            {
                NumberID = numberId
            };
            var abstractNumId1 = new AbstractNumId()
            {
                Val = abstractNumberId
            };

            numberingInstance1.Append(abstractNumId1);

            if (numberId == 1)
            {
                numberingPart.Numbering.Append(numberingInstance1);
            }
            else
            {
                var lastNumberingInstance = numberingPart.Numbering.Elements <NumberingInstance>().Last();
                numberingPart.Numbering.InsertAfter(numberingInstance1, lastNumberingInstance);
            }

            return(numberId);
        }
예제 #2
0
        /// <summary>
        /// Create a numbering config from a numbering instance using an other numbering config as template.
        /// </summary>
        /// <param name="abstractNumConfig">NumberingConfig used as template.</param>
        /// <param name="numberingInstance">NumberingInstance overriding the template.</param>
        /// <returns>New NumberingConfig combining the two parameters.</returns>
        public Config CreateFromNumbering(Config abstractNumConfig, NumberingInstance numberingInstance)
        {
            var numberingConfig = new Config();

            numberingConfig.AbstractNumberingId = abstractNumConfig.AbstractNumberingId;
            numberingConfig.NumberingId         = numberingInstance.NumberID;

            var levelOverrides = numberingInstance.Descendants <LevelOverride>();

            var abstractToBeOverride =
                abstractNumConfig
                .SelectMany(x => FindMatchingLevelOverride(x, levelOverrides));

            var abstractNotToBeOverride =
                abstractNumConfig.Except(abstractToBeOverride.Select(x => x.Item1));

            var levelOverrideWithoutAbstract =
                levelOverrides
                .Except(abstractToBeOverride.Select(x => x.Item2));

            var levels =
                abstractNotToBeOverride
                .Concat(abstractToBeOverride.Select(x => CreateFromOverride(x.Item2, x.Item1)))
                .Concat(levelOverrideWithoutAbstract.Select(x => CreateFromOverride(x)))
                .OrderBy(x => x.LevelIndex);

            foreach (var level in levels)
            {
                numberingConfig.AddLevel(level);
            }

            return(numberingConfig);
        }
            public NumberingProperties CreateNewNumberingSequence(WordprocessingDocument document)
            {
                // The numbering part API does not work correctly.
                // Any Numbering instance that becomes associated with the part as its property does not produce numbering in the final document

                var definitions = document.MainDocumentPart.NumberingDefinitionsPart ??
                                  document.MainDocumentPart.AddNewPart <NumberingDefinitionsPart>();

                definitions.Numbering ??= new Numbering(); // The property must be accessed but cannot be used.  It is null even on a new instance where this is the root part.
                // Using Numbering.Load produces the same result.

                var baseNumbering = new AbstractNum
                                    (
                    new Level
                {
                    NumberingFormat = new NumberingFormat
                    {
                        Val = NumberFormatValues.Decimal
                    },
                    LevelIndex = 0
                }
                                    )
                {
                    AbstractNumberId = _numbering
                                       .Descendants <AbstractNum>()
                                       .Select <AbstractNum, int>(an => an.AbstractNumberId)
                                       .DefaultIfEmpty(0)
                                       .Max() + 1,
                    MultiLevelType = new MultiLevelType {
                        Val = MultiLevelValues.SingleLevel
                    },
                };
                var numberingInstance = new NumberingInstance
                {
                    NumberID = _numbering
                               .Descendants <NumberingInstance>()
                               .Select <NumberingInstance, int>(an => an.NumberID)
                               .DefaultIfEmpty(0)
                               .Max() + 1,
                    AbstractNumId = new AbstractNumId {
                        Val = baseNumbering.AbstractNumberId
                    }
                };

                _numbering.AppendChild(baseNumbering);
                _numbering.AppendChild(numberingInstance);
                _numbering.Save(definitions);
                // Assigning a new Numbering to the property has the same result as using one accessed from the property, even if it was saved first.

                return(new NumberingProperties
                {
                    NumberingId = new NumberingId {
                        Val = numberingInstance.NumberID
                    },
                    NumberingLevelReference = new NumberingLevelReference {
                        Val = 0
                    }
                });
            }
예제 #4
0
        private void InitNumberDefinitions(NumberFormatValues numberFormat)
        {
            AbstractNum abstractNum = new AbstractNum()
            {
                AbstractNumberId = numberId
            };

            Level level = new Level()
            {
                LevelIndex = 0
            };
            StartNumberingValue startNumberingValue = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat = new NumberingFormat()
            {
                Val = numberFormat
            };
            LevelText levelText = new LevelText()
            {
                Val = "%1."
            };
            LevelJustification levelJustification = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            PreviousParagraphProperties previousParagraphProperties = new PreviousParagraphProperties();
            Indentation indentation = new Indentation()
            {
                Left    = "720",
                Hanging = "360"
            };

            previousParagraphProperties.Append(indentation);

            level.Append(startNumberingValue);
            level.Append(numberingFormat);
            level.Append(levelText);
            level.Append(levelJustification);
            level.Append(previousParagraphProperties);

            abstractNum.Append(level);

            NumberingInstance numberingInstance = new NumberingInstance()
            {
                NumberID = numberId
            };
            AbstractNumId abstractNumId = new AbstractNumId()
            {
                Val = numberId
            };

            numberingInstance.Append(abstractNumId);

            context.SaveNumberingDefinition(numberId, abstractNum, numberingInstance);
        }
예제 #5
0
            public static int Append(Context context)
            {
                var numbering = context.Package.MainDocumentPart.NumberingDefinitionsPart.Numbering;
                //
                AbstractNum anum = new AbstractNum()
                {
                    AbstractNumberId = context.AbstructNumberingId
                };

                anum.MultiLevelType = new MultiLevelType()
                {
                    Val = MultiLevelValues.Multilevel
                };

                var level = new Level();

                level.StartNumberingValue = new StartNumberingValue()
                {
                    Val = 1
                };
                level.LevelText = new LevelText()
                {
                    Val = "%1."
                };
                level.LevelJustification = new LevelJustification()
                {
                    Val = LevelJustificationValues.Left
                };
                level.LevelIndex = 0;
                level.PreviousParagraphProperties = new PreviousParagraphProperties(new Indentation()
                {
                    Left = "360"
                });

                anum.Append(level);

                var numberingId = context.NumberingId;

                var num = new NumberingInstance(new AbstractNumId()
                {
                    Val = context.AbstructNumberingId
                })
                {
                    NumberID = numberingId
                };

                var last = numbering.Descendants <AbstractNum>().Last();

                numbering.InsertAfter(anum, last);
                numbering.Append(num);

                //
                context.NumberingId++;
                context.AbstructNumberingId++;

                return(numberingId);
            }
예제 #6
0
        private Config GetNumberingConfigFromNumberingInstance(int numberingId)
        {
            NumberingInstance numberingInstance = FindNumberingInstancFromId(numberingId);
            Config            abstractNumConfig = GetNumberingConfigFromAbstract(numberingInstance);

            var result = _numberingConfigFactory.CreateFromNumbering(abstractNumConfig, numberingInstance);

            _cache.TryAdd(numberingId, result);
            return(result);
        }
예제 #7
0
        private static void AddFromOverride(int level, NumberingInstance num, Cursor cursor)
        {
            var numOverride =
                num
                .Elements <LevelOverride>()
                .FirstOrDefault(x => x.LevelIndex?.Value == level)
                ?.Level;

            if (numOverride != null)
            {
                cursor.results.Add(numOverride);
            }
        }
예제 #8
0
        // Creates an NumberingInstance instance and adds its children.
        public static NumberingInstance GenerateNumberingInstance7()
        {
            NumberingInstance numberingInstance1 = new NumberingInstance()
            {
                NumberID = 7
            };
            AbstractNumId abstractNumId1 = new AbstractNumId()
            {
                Val = 10
            };

            numberingInstance1.Append(abstractNumId1);
            return(numberingInstance1);
        }
예제 #9
0
        public int CreateNumberingInstance(int absId)
        {
            NumberingInstance lastNumbering        = WordDocument.MainDocumentPart.NumberingDefinitionsPart.Numbering.Elements <NumberingInstance>().Last();
            NumberingInstance newNumberingInstance = new NumberingInstance()
            {
                NumberID = lastNumbering.NumberID + 1
            };

            newNumberingInstance.AbstractNumId = new AbstractNumId()
            {
                Val = absId
            };
            WordDocument.MainDocumentPart.NumberingDefinitionsPart.Numbering.InsertAfter(newNumberingInstance, lastNumbering);
            return(lastNumbering.NumberID);
        }
예제 #10
0
        /// <summary>
        /// генарция настроек для списков
        /// </summary>
        public void GenerateListNumbering(ref Numbering numbering)
        {
            #region AbstractNum
            AbstractNum abstractNum1 = new AbstractNum() { AbstractNumberId = 0 };
            Nsid nsid1 = new Nsid() { Val = "2EB766E6" };
            MultiLevelType multiLevelType1 = new MultiLevelType() { Val = MultiLevelValues.HybridMultilevel };
            TemplateCode templateCode1 = new TemplateCode() { Val = "C1F20472" };

            Level level1 = new Level() { LevelIndex = 0, TemplateCode = "04190001" };
            StartNumberingValue startNumberingValue1 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat1 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText1 = new LevelText() { Val = "·" };
            LevelJustification levelJustification1 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties1 = new PreviousParagraphProperties();
            Indentation indentation1 = new Indentation() { Left = "1429", Hanging = "360" };

            previousParagraphProperties1.Append(indentation1);

            NumberingSymbolRunProperties numberingSymbolRunProperties1 = new NumberingSymbolRunProperties();
            RunFonts runFonts1 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };

            numberingSymbolRunProperties1.Append(runFonts1);

            level1.Append(startNumberingValue1);
            level1.Append(numberingFormat1);
            level1.Append(levelText1);
            level1.Append(levelJustification1);
            level1.Append(previousParagraphProperties1);
            level1.Append(numberingSymbolRunProperties1);
            abstractNum1.Append(nsid1);
            abstractNum1.Append(multiLevelType1);
            abstractNum1.Append(templateCode1);
            abstractNum1.Append(level1);
            #endregion

            NumberingInstance numberingInstance1 = new NumberingInstance() { NumberID = 1 };
            AbstractNumId abstractNumId1 = new AbstractNumId() { Val = 0 };
            numberingInstance1.Append(abstractNumId1);
            numbering.Append(abstractNum1);
            numbering.Append(numberingInstance1);
        }
예제 #11
0
        private void InitNumberDefinitions()
        {
            abstractNum = new AbstractNum()
            {
                AbstractNumberId = numIdValue
            };

            NumberingInstance numberingInstance = new NumberingInstance()
            {
                NumberID = numIdValue
            };
            AbstractNumId abstractNumId = new AbstractNumId()
            {
                Val = numIdValue
            };

            numberingInstance.Append(abstractNumId);

            context.SaveNumberingDefinition(numIdValue, abstractNum, numberingInstance);
        }
예제 #12
0
        public static NumberingInstance BuildNumberingInstance(int numId, int abstractNum)
        {
            LevelOverride levelOverride = new LevelOverride
            {
                LevelIndex = 0,
                Level      = new Level {
                    LevelIndex = 0
                }
            };
            var numberingInstance = new NumberingInstance(levelOverride)
            {
                NumberID      = numId,
                AbstractNumId = new AbstractNumId()
                {
                    Val = abstractNum
                }
            };

            return(numberingInstance);
        }
예제 #13
0
        private XmlNumbering BuildTestNumbering()
        {
            var anum = new AbstractNum(
                new Level
            {
                LevelIndex          = 0,
                StartNumberingValue = new StartNumberingValue
                {
                    Val = 1
                }
            }
                );

            anum.AbstractNumberId = 1;

            var num = new NumberingInstance(
                new LevelOverride(
                    new StartOverrideNumberingValue {
                Val = 3
            },
                    new Level
            {
                LevelIndex          = 0,
                StartNumberingValue = new StartNumberingValue()
                {
                    Val = 2
                }
            }
                    )
            {
                LevelIndex = 0
            }
                );

            num.AbstractNumId = new AbstractNumId {
                Val = 1
            };
            num.NumberID = 10;

            return(new XmlNumbering(anum, num));
        }
예제 #14
0
        private void InitNumberDefinitions(NumberFormatValues numberFormat)
        {
            if (!context.HasNumberingDefinition(numberFormat))
            {
                //Enum values starting from zero. We need non zero values here
                Int32 numberId = ((Int32)numberFormat) + 1;

                AbstractNum abstractNum = new AbstractNum() { AbstractNumberId = numberId };

                Level level = new Level() { LevelIndex = 0 };
                StartNumberingValue startNumberingValue = new StartNumberingValue() { Val = 1 };
                NumberingFormat numberingFormat = new NumberingFormat() { Val = numberFormat };
                LevelText levelText = new LevelText() { Val = "%1." };
                LevelJustification levelJustification = new LevelJustification() { Val = LevelJustificationValues.Left };

                PreviousParagraphProperties previousParagraphProperties = new PreviousParagraphProperties();
                Indentation indentation = new Indentation()
                {
                    Start = "720",
                    Hanging = "360"
                };

                previousParagraphProperties.Append(indentation);

                level.Append(startNumberingValue);
                level.Append(numberingFormat);
                level.Append(levelText);
                level.Append(levelJustification);
                level.Append(previousParagraphProperties);

                abstractNum.Append(level);

                NumberingInstance numberingInstance = new NumberingInstance() { NumberID = numberId };
                AbstractNumId abstractNumId = new AbstractNumId() { Val = numberId };

                numberingInstance.Append(abstractNumId);

                context.SaveNumberingDefinition(numberFormat, abstractNum, numberingInstance);
            }
        }
예제 #15
0
        public void SaveNumberingDefinition(Int16 numberId, AbstractNum abstractNum, NumberingInstance numberingInstance)
        {
            if (abstractNumList == null)
            {
                abstractNumList = new Dictionary <Int16, AbstractNum>();
            }

            if (numberingInstanceList == null)
            {
                numberingInstanceList = new Dictionary <Int16, NumberingInstance>();
            }

            if (!abstractNumList.ContainsKey(numberId))
            {
                abstractNumList.Add(numberId, abstractNum);
            }

            if (!numberingInstanceList.ContainsKey(numberId))
            {
                numberingInstanceList.Add(numberId, numberingInstance);
            }
        }
        public int GetHeadingNumberingId()
        {
            if (headingNumberingId == default(int))
            {
                int absNumberId = GetAbsNumIdFromType(HEADING_NUMBERING_NAME, true);

                NumberingInstance existingTitleNumbering = mainPart.NumberingDefinitionsPart.Numbering
                                                           .Elements <NumberingInstance>()
                                                           .FirstOrDefault(n => n != null && n.AbstractNumId.Val == absNumberId);

                if (existingTitleNumbering != null)
                {
                    headingNumberingId = existingTitleNumbering.NumberID.Value;
                }
                else
                {
                    headingNumberingId = CreateList(HEADING_NUMBERING_NAME, true);
                    EnsureMultilevel(absNumberId, true);
                }
            }

            return(headingNumberingId);
        }
        public override IEnumerable<OpenXmlElement> ToOpenXmlElements(DocumentFormat.OpenXml.Packaging.MainDocumentPart mainDocumentPart)
        {
            // Creates a new numbered instance for each Ordered list.
            NumberingInstanceId = IdHelper.GenerateIntId();

            var numberingDefinition = FindOrCreateNumberingDefinitionPart(mainDocumentPart);
            var numbering = new Numbering();
            numberingDefinition.Numbering = numbering;

            NumberingInstance numberingInstance = new NumberingInstance() { NumberID = NumberingInstanceId };
            numbering.Append(numberingInstance);

            AbstractNumId abstractNumId = new AbstractNumId() { Val = 0 };
            numberingInstance.Append(abstractNumId);

            var result = new List<OpenXmlElement>();
            ForEachChild(x =>
            {
                Debug.Assert(x is ListItemFormattedElement);
                result.AddRange(x.ToOpenXmlElements(mainDocumentPart));
            });
            return result;
        }
예제 #18
0
        private Config GetNumberingConfigFromAbstract(NumberingInstance numberingInstance)
        {
            Config result = null;
            var    abstractNumberingId = numberingInstance.AbstractNumId.Val.Value;

            try
            {
                result = GetNumberingFromAbstractId(abstractNumberingId);
            }
            catch (LinkedStyleNumberingException ex)
            {
                var numberingId = GetNumberingFromStyleId(ex.LinkedStyleId);
                if (numberingId == numberingInstance.NumberID.Value)
                {
                    throw new CircularNumberingException();
                }
                else
                {
                    return(Get(numberingId));
                }
            }

            return(result);
        }
예제 #19
0
        public void SaveNumberingDefinition(NumberFormatValues format, AbstractNum abstractNum, NumberingInstance numberingInstance)
        {
            if (abstractNumList == null)
            {
                abstractNumList = new Dictionary<NumberFormatValues, AbstractNum>();
            }

            if (numberingInstanceList == null)
            {
                numberingInstanceList = new Dictionary<NumberFormatValues, NumberingInstance>();
            }

            if (!abstractNumList.ContainsKey(format))
            {
                abstractNumList.Add(format, abstractNum);
            }

            if (!numberingInstanceList.ContainsKey(format))
            {
                numberingInstanceList.Add(format, numberingInstance);
            }
        }
예제 #20
0
        // Generates content of numberingDefinitionsPart1.
        private void GenerateNumberingDefinitionsPart1Content(NumberingDefinitionsPart numberingDefinitionsPart1)
        {
            Numbering numbering1 = new Numbering() { MCAttributes = new MarkupCompatibilityAttributes() { Ignorable = "w14 w15 w16se wp14" } };
            numbering1.AddNamespaceDeclaration("wpc", "http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas");
            numbering1.AddNamespaceDeclaration("cx", "http://schemas.microsoft.com/office/drawing/2014/chartex");
            numbering1.AddNamespaceDeclaration("cx1", "http://schemas.microsoft.com/office/drawing/2015/9/8/chartex");
            numbering1.AddNamespaceDeclaration("cx2", "http://schemas.microsoft.com/office/drawing/2015/10/21/chartex");
            numbering1.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");
            numbering1.AddNamespaceDeclaration("o", "urn:schemas-microsoft-com:office:office");
            numbering1.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            numbering1.AddNamespaceDeclaration("m", "http://schemas.openxmlformats.org/officeDocument/2006/math");
            numbering1.AddNamespaceDeclaration("v", "urn:schemas-microsoft-com:vml");
            numbering1.AddNamespaceDeclaration("wp14", "http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing");
            numbering1.AddNamespaceDeclaration("wp", "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing");
            numbering1.AddNamespaceDeclaration("w10", "urn:schemas-microsoft-com:office:word");
            numbering1.AddNamespaceDeclaration("w", "http://schemas.openxmlformats.org/wordprocessingml/2006/main");
            numbering1.AddNamespaceDeclaration("w14", "http://schemas.microsoft.com/office/word/2010/wordml");
            numbering1.AddNamespaceDeclaration("w15", "http://schemas.microsoft.com/office/word/2012/wordml");
            numbering1.AddNamespaceDeclaration("w16se", "http://schemas.microsoft.com/office/word/2015/wordml/symex");
            numbering1.AddNamespaceDeclaration("wpg", "http://schemas.microsoft.com/office/word/2010/wordprocessingGroup");
            numbering1.AddNamespaceDeclaration("wpi", "http://schemas.microsoft.com/office/word/2010/wordprocessingInk");
            numbering1.AddNamespaceDeclaration("wne", "http://schemas.microsoft.com/office/word/2006/wordml");
            numbering1.AddNamespaceDeclaration("wps", "http://schemas.microsoft.com/office/word/2010/wordprocessingShape");

            AbstractNum abstractNum1 = new AbstractNum() { AbstractNumberId = 0 };
            abstractNum1.SetAttribute(new OpenXmlAttribute("w15", "restartNumberingAfterBreak", "http://schemas.microsoft.com/office/word/2012/wordml", "0"));
            Nsid nsid1 = new Nsid() { Val = "10C33A66" };
            MultiLevelType multiLevelType1 = new MultiLevelType() { Val = MultiLevelValues.HybridMultilevel };
            TemplateCode templateCode1 = new TemplateCode() { Val = "3FEA53E8" };

            Level level1 = new Level() { LevelIndex = 0, TemplateCode = "04090001" };
            StartNumberingValue startNumberingValue1 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat1 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText1 = new LevelText() { Val = "·" };
            LevelJustification levelJustification1 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties1 = new PreviousParagraphProperties();

            Tabs tabs12 = new Tabs();
            TabStop tabStop14 = new TabStop() { Val = TabStopValues.Number, Position = 1080 };

            tabs12.Append(tabStop14);
            Indentation indentation29 = new Indentation() { Start = "1080", Hanging = "360" };

            previousParagraphProperties1.Append(tabs12);
            previousParagraphProperties1.Append(indentation29);

            NumberingSymbolRunProperties numberingSymbolRunProperties1 = new NumberingSymbolRunProperties();
            RunFonts runFonts1070 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };

            numberingSymbolRunProperties1.Append(runFonts1070);

            level1.Append(startNumberingValue1);
            level1.Append(numberingFormat1);
            level1.Append(levelText1);
            level1.Append(levelJustification1);
            level1.Append(previousParagraphProperties1);
            level1.Append(numberingSymbolRunProperties1);

            Level level2 = new Level() { LevelIndex = 1, TemplateCode = "04090003", Tentative = true };
            StartNumberingValue startNumberingValue2 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat2 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText2 = new LevelText() { Val = "o" };
            LevelJustification levelJustification2 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties2 = new PreviousParagraphProperties();

            Tabs tabs13 = new Tabs();
            TabStop tabStop15 = new TabStop() { Val = TabStopValues.Number, Position = 1800 };

            tabs13.Append(tabStop15);
            Indentation indentation30 = new Indentation() { Start = "1800", Hanging = "360" };

            previousParagraphProperties2.Append(tabs13);
            previousParagraphProperties2.Append(indentation30);

            NumberingSymbolRunProperties numberingSymbolRunProperties2 = new NumberingSymbolRunProperties();
            RunFonts runFonts1071 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New" };

            numberingSymbolRunProperties2.Append(runFonts1071);

            level2.Append(startNumberingValue2);
            level2.Append(numberingFormat2);
            level2.Append(levelText2);
            level2.Append(levelJustification2);
            level2.Append(previousParagraphProperties2);
            level2.Append(numberingSymbolRunProperties2);

            Level level3 = new Level() { LevelIndex = 2, TemplateCode = "04090005", Tentative = true };
            StartNumberingValue startNumberingValue3 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat3 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText3 = new LevelText() { Val = "§" };
            LevelJustification levelJustification3 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties3 = new PreviousParagraphProperties();

            Tabs tabs14 = new Tabs();
            TabStop tabStop16 = new TabStop() { Val = TabStopValues.Number, Position = 2520 };

            tabs14.Append(tabStop16);
            Indentation indentation31 = new Indentation() { Start = "2520", Hanging = "360" };

            previousParagraphProperties3.Append(tabs14);
            previousParagraphProperties3.Append(indentation31);

            NumberingSymbolRunProperties numberingSymbolRunProperties3 = new NumberingSymbolRunProperties();
            RunFonts runFonts1072 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };

            numberingSymbolRunProperties3.Append(runFonts1072);

            level3.Append(startNumberingValue3);
            level3.Append(numberingFormat3);
            level3.Append(levelText3);
            level3.Append(levelJustification3);
            level3.Append(previousParagraphProperties3);
            level3.Append(numberingSymbolRunProperties3);

            Level level4 = new Level() { LevelIndex = 3, TemplateCode = "04090001", Tentative = true };
            StartNumberingValue startNumberingValue4 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat4 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText4 = new LevelText() { Val = "·" };
            LevelJustification levelJustification4 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties4 = new PreviousParagraphProperties();

            Tabs tabs15 = new Tabs();
            TabStop tabStop17 = new TabStop() { Val = TabStopValues.Number, Position = 3240 };

            tabs15.Append(tabStop17);
            Indentation indentation32 = new Indentation() { Start = "3240", Hanging = "360" };

            previousParagraphProperties4.Append(tabs15);
            previousParagraphProperties4.Append(indentation32);

            NumberingSymbolRunProperties numberingSymbolRunProperties4 = new NumberingSymbolRunProperties();
            RunFonts runFonts1073 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };

            numberingSymbolRunProperties4.Append(runFonts1073);

            level4.Append(startNumberingValue4);
            level4.Append(numberingFormat4);
            level4.Append(levelText4);
            level4.Append(levelJustification4);
            level4.Append(previousParagraphProperties4);
            level4.Append(numberingSymbolRunProperties4);

            Level level5 = new Level() { LevelIndex = 4, TemplateCode = "04090003", Tentative = true };
            StartNumberingValue startNumberingValue5 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat5 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText5 = new LevelText() { Val = "o" };
            LevelJustification levelJustification5 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties5 = new PreviousParagraphProperties();

            Tabs tabs16 = new Tabs();
            TabStop tabStop18 = new TabStop() { Val = TabStopValues.Number, Position = 3960 };

            tabs16.Append(tabStop18);
            Indentation indentation33 = new Indentation() { Start = "3960", Hanging = "360" };

            previousParagraphProperties5.Append(tabs16);
            previousParagraphProperties5.Append(indentation33);

            NumberingSymbolRunProperties numberingSymbolRunProperties5 = new NumberingSymbolRunProperties();
            RunFonts runFonts1074 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New" };

            numberingSymbolRunProperties5.Append(runFonts1074);

            level5.Append(startNumberingValue5);
            level5.Append(numberingFormat5);
            level5.Append(levelText5);
            level5.Append(levelJustification5);
            level5.Append(previousParagraphProperties5);
            level5.Append(numberingSymbolRunProperties5);

            Level level6 = new Level() { LevelIndex = 5, TemplateCode = "04090005", Tentative = true };
            StartNumberingValue startNumberingValue6 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat6 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText6 = new LevelText() { Val = "§" };
            LevelJustification levelJustification6 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties6 = new PreviousParagraphProperties();

            Tabs tabs17 = new Tabs();
            TabStop tabStop19 = new TabStop() { Val = TabStopValues.Number, Position = 4680 };

            tabs17.Append(tabStop19);
            Indentation indentation34 = new Indentation() { Start = "4680", Hanging = "360" };

            previousParagraphProperties6.Append(tabs17);
            previousParagraphProperties6.Append(indentation34);

            NumberingSymbolRunProperties numberingSymbolRunProperties6 = new NumberingSymbolRunProperties();
            RunFonts runFonts1075 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };

            numberingSymbolRunProperties6.Append(runFonts1075);

            level6.Append(startNumberingValue6);
            level6.Append(numberingFormat6);
            level6.Append(levelText6);
            level6.Append(levelJustification6);
            level6.Append(previousParagraphProperties6);
            level6.Append(numberingSymbolRunProperties6);

            Level level7 = new Level() { LevelIndex = 6, TemplateCode = "04090001", Tentative = true };
            StartNumberingValue startNumberingValue7 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat7 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText7 = new LevelText() { Val = "·" };
            LevelJustification levelJustification7 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties7 = new PreviousParagraphProperties();

            Tabs tabs18 = new Tabs();
            TabStop tabStop20 = new TabStop() { Val = TabStopValues.Number, Position = 5400 };

            tabs18.Append(tabStop20);
            Indentation indentation35 = new Indentation() { Start = "5400", Hanging = "360" };

            previousParagraphProperties7.Append(tabs18);
            previousParagraphProperties7.Append(indentation35);

            NumberingSymbolRunProperties numberingSymbolRunProperties7 = new NumberingSymbolRunProperties();
            RunFonts runFonts1076 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };

            numberingSymbolRunProperties7.Append(runFonts1076);

            level7.Append(startNumberingValue7);
            level7.Append(numberingFormat7);
            level7.Append(levelText7);
            level7.Append(levelJustification7);
            level7.Append(previousParagraphProperties7);
            level7.Append(numberingSymbolRunProperties7);

            Level level8 = new Level() { LevelIndex = 7, TemplateCode = "04090003", Tentative = true };
            StartNumberingValue startNumberingValue8 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat8 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText8 = new LevelText() { Val = "o" };
            LevelJustification levelJustification8 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties8 = new PreviousParagraphProperties();

            Tabs tabs19 = new Tabs();
            TabStop tabStop21 = new TabStop() { Val = TabStopValues.Number, Position = 6120 };

            tabs19.Append(tabStop21);
            Indentation indentation36 = new Indentation() { Start = "6120", Hanging = "360" };

            previousParagraphProperties8.Append(tabs19);
            previousParagraphProperties8.Append(indentation36);

            NumberingSymbolRunProperties numberingSymbolRunProperties8 = new NumberingSymbolRunProperties();
            RunFonts runFonts1077 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New" };

            numberingSymbolRunProperties8.Append(runFonts1077);

            level8.Append(startNumberingValue8);
            level8.Append(numberingFormat8);
            level8.Append(levelText8);
            level8.Append(levelJustification8);
            level8.Append(previousParagraphProperties8);
            level8.Append(numberingSymbolRunProperties8);

            Level level9 = new Level() { LevelIndex = 8, TemplateCode = "04090005", Tentative = true };
            StartNumberingValue startNumberingValue9 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat9 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText9 = new LevelText() { Val = "§" };
            LevelJustification levelJustification9 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties9 = new PreviousParagraphProperties();

            Tabs tabs20 = new Tabs();
            TabStop tabStop22 = new TabStop() { Val = TabStopValues.Number, Position = 6840 };

            tabs20.Append(tabStop22);
            Indentation indentation37 = new Indentation() { Start = "6840", Hanging = "360" };

            previousParagraphProperties9.Append(tabs20);
            previousParagraphProperties9.Append(indentation37);

            NumberingSymbolRunProperties numberingSymbolRunProperties9 = new NumberingSymbolRunProperties();
            RunFonts runFonts1078 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };

            numberingSymbolRunProperties9.Append(runFonts1078);

            level9.Append(startNumberingValue9);
            level9.Append(numberingFormat9);
            level9.Append(levelText9);
            level9.Append(levelJustification9);
            level9.Append(previousParagraphProperties9);
            level9.Append(numberingSymbolRunProperties9);

            abstractNum1.Append(nsid1);
            abstractNum1.Append(multiLevelType1);
            abstractNum1.Append(templateCode1);
            abstractNum1.Append(level1);
            abstractNum1.Append(level2);
            abstractNum1.Append(level3);
            abstractNum1.Append(level4);
            abstractNum1.Append(level5);
            abstractNum1.Append(level6);
            abstractNum1.Append(level7);
            abstractNum1.Append(level8);
            abstractNum1.Append(level9);

            AbstractNum abstractNum2 = new AbstractNum() { AbstractNumberId = 1 };
            abstractNum2.SetAttribute(new OpenXmlAttribute("w15", "restartNumberingAfterBreak", "http://schemas.microsoft.com/office/word/2012/wordml", "0"));
            Nsid nsid2 = new Nsid() { Val = "1296366A" };
            MultiLevelType multiLevelType2 = new MultiLevelType() { Val = MultiLevelValues.HybridMultilevel };
            TemplateCode templateCode2 = new TemplateCode() { Val = "675A410C" };

            Level level10 = new Level() { LevelIndex = 0, TemplateCode = "183637AE" };
            StartNumberingValue startNumberingValue10 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat10 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText10 = new LevelText() { Val = "%1)" };
            LevelJustification levelJustification10 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties10 = new PreviousParagraphProperties();

            Tabs tabs21 = new Tabs();
            TabStop tabStop23 = new TabStop() { Val = TabStopValues.Number, Position = 1080 };

            tabs21.Append(tabStop23);
            Indentation indentation38 = new Indentation() { Start = "1080", Hanging = "720" };

            previousParagraphProperties10.Append(tabs21);
            previousParagraphProperties10.Append(indentation38);

            NumberingSymbolRunProperties numberingSymbolRunProperties10 = new NumberingSymbolRunProperties();
            RunFonts runFonts1079 = new RunFonts() { Hint = FontTypeHintValues.Default, ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties10.Append(runFonts1079);

            level10.Append(startNumberingValue10);
            level10.Append(numberingFormat10);
            level10.Append(levelText10);
            level10.Append(levelJustification10);
            level10.Append(previousParagraphProperties10);
            level10.Append(numberingSymbolRunProperties10);

            Level level11 = new Level() { LevelIndex = 1, TemplateCode = "04090019", Tentative = true };
            StartNumberingValue startNumberingValue11 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat11 = new NumberingFormat() { Val = NumberFormatValues.LowerLetter };
            LevelText levelText11 = new LevelText() { Val = "%2." };
            LevelJustification levelJustification11 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties11 = new PreviousParagraphProperties();

            Tabs tabs22 = new Tabs();
            TabStop tabStop24 = new TabStop() { Val = TabStopValues.Number, Position = 1440 };

            tabs22.Append(tabStop24);
            Indentation indentation39 = new Indentation() { Start = "1440", Hanging = "360" };

            previousParagraphProperties11.Append(tabs22);
            previousParagraphProperties11.Append(indentation39);

            NumberingSymbolRunProperties numberingSymbolRunProperties11 = new NumberingSymbolRunProperties();
            RunFonts runFonts1080 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties11.Append(runFonts1080);

            level11.Append(startNumberingValue11);
            level11.Append(numberingFormat11);
            level11.Append(levelText11);
            level11.Append(levelJustification11);
            level11.Append(previousParagraphProperties11);
            level11.Append(numberingSymbolRunProperties11);

            Level level12 = new Level() { LevelIndex = 2, TemplateCode = "0409001B", Tentative = true };
            StartNumberingValue startNumberingValue12 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat12 = new NumberingFormat() { Val = NumberFormatValues.LowerRoman };
            LevelText levelText12 = new LevelText() { Val = "%3." };
            LevelJustification levelJustification12 = new LevelJustification() { Val = LevelJustificationValues.Right };

            PreviousParagraphProperties previousParagraphProperties12 = new PreviousParagraphProperties();

            Tabs tabs23 = new Tabs();
            TabStop tabStop25 = new TabStop() { Val = TabStopValues.Number, Position = 2160 };

            tabs23.Append(tabStop25);
            Indentation indentation40 = new Indentation() { Start = "2160", Hanging = "180" };

            previousParagraphProperties12.Append(tabs23);
            previousParagraphProperties12.Append(indentation40);

            NumberingSymbolRunProperties numberingSymbolRunProperties12 = new NumberingSymbolRunProperties();
            RunFonts runFonts1081 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties12.Append(runFonts1081);

            level12.Append(startNumberingValue12);
            level12.Append(numberingFormat12);
            level12.Append(levelText12);
            level12.Append(levelJustification12);
            level12.Append(previousParagraphProperties12);
            level12.Append(numberingSymbolRunProperties12);

            Level level13 = new Level() { LevelIndex = 3, TemplateCode = "0409000F", Tentative = true };
            StartNumberingValue startNumberingValue13 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat13 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText13 = new LevelText() { Val = "%4." };
            LevelJustification levelJustification13 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties13 = new PreviousParagraphProperties();

            Tabs tabs24 = new Tabs();
            TabStop tabStop26 = new TabStop() { Val = TabStopValues.Number, Position = 2880 };

            tabs24.Append(tabStop26);
            Indentation indentation41 = new Indentation() { Start = "2880", Hanging = "360" };

            previousParagraphProperties13.Append(tabs24);
            previousParagraphProperties13.Append(indentation41);

            NumberingSymbolRunProperties numberingSymbolRunProperties13 = new NumberingSymbolRunProperties();
            RunFonts runFonts1082 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties13.Append(runFonts1082);

            level13.Append(startNumberingValue13);
            level13.Append(numberingFormat13);
            level13.Append(levelText13);
            level13.Append(levelJustification13);
            level13.Append(previousParagraphProperties13);
            level13.Append(numberingSymbolRunProperties13);

            Level level14 = new Level() { LevelIndex = 4, TemplateCode = "04090019", Tentative = true };
            StartNumberingValue startNumberingValue14 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat14 = new NumberingFormat() { Val = NumberFormatValues.LowerLetter };
            LevelText levelText14 = new LevelText() { Val = "%5." };
            LevelJustification levelJustification14 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties14 = new PreviousParagraphProperties();

            Tabs tabs25 = new Tabs();
            TabStop tabStop27 = new TabStop() { Val = TabStopValues.Number, Position = 3600 };

            tabs25.Append(tabStop27);
            Indentation indentation42 = new Indentation() { Start = "3600", Hanging = "360" };

            previousParagraphProperties14.Append(tabs25);
            previousParagraphProperties14.Append(indentation42);

            NumberingSymbolRunProperties numberingSymbolRunProperties14 = new NumberingSymbolRunProperties();
            RunFonts runFonts1083 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties14.Append(runFonts1083);

            level14.Append(startNumberingValue14);
            level14.Append(numberingFormat14);
            level14.Append(levelText14);
            level14.Append(levelJustification14);
            level14.Append(previousParagraphProperties14);
            level14.Append(numberingSymbolRunProperties14);

            Level level15 = new Level() { LevelIndex = 5, TemplateCode = "0409001B", Tentative = true };
            StartNumberingValue startNumberingValue15 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat15 = new NumberingFormat() { Val = NumberFormatValues.LowerRoman };
            LevelText levelText15 = new LevelText() { Val = "%6." };
            LevelJustification levelJustification15 = new LevelJustification() { Val = LevelJustificationValues.Right };

            PreviousParagraphProperties previousParagraphProperties15 = new PreviousParagraphProperties();

            Tabs tabs26 = new Tabs();
            TabStop tabStop28 = new TabStop() { Val = TabStopValues.Number, Position = 4320 };

            tabs26.Append(tabStop28);
            Indentation indentation43 = new Indentation() { Start = "4320", Hanging = "180" };

            previousParagraphProperties15.Append(tabs26);
            previousParagraphProperties15.Append(indentation43);

            NumberingSymbolRunProperties numberingSymbolRunProperties15 = new NumberingSymbolRunProperties();
            RunFonts runFonts1084 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties15.Append(runFonts1084);

            level15.Append(startNumberingValue15);
            level15.Append(numberingFormat15);
            level15.Append(levelText15);
            level15.Append(levelJustification15);
            level15.Append(previousParagraphProperties15);
            level15.Append(numberingSymbolRunProperties15);

            Level level16 = new Level() { LevelIndex = 6, TemplateCode = "0409000F", Tentative = true };
            StartNumberingValue startNumberingValue16 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat16 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText16 = new LevelText() { Val = "%7." };
            LevelJustification levelJustification16 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties16 = new PreviousParagraphProperties();

            Tabs tabs27 = new Tabs();
            TabStop tabStop29 = new TabStop() { Val = TabStopValues.Number, Position = 5040 };

            tabs27.Append(tabStop29);
            Indentation indentation44 = new Indentation() { Start = "5040", Hanging = "360" };

            previousParagraphProperties16.Append(tabs27);
            previousParagraphProperties16.Append(indentation44);

            NumberingSymbolRunProperties numberingSymbolRunProperties16 = new NumberingSymbolRunProperties();
            RunFonts runFonts1085 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties16.Append(runFonts1085);

            level16.Append(startNumberingValue16);
            level16.Append(numberingFormat16);
            level16.Append(levelText16);
            level16.Append(levelJustification16);
            level16.Append(previousParagraphProperties16);
            level16.Append(numberingSymbolRunProperties16);

            Level level17 = new Level() { LevelIndex = 7, TemplateCode = "04090019", Tentative = true };
            StartNumberingValue startNumberingValue17 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat17 = new NumberingFormat() { Val = NumberFormatValues.LowerLetter };
            LevelText levelText17 = new LevelText() { Val = "%8." };
            LevelJustification levelJustification17 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties17 = new PreviousParagraphProperties();

            Tabs tabs28 = new Tabs();
            TabStop tabStop30 = new TabStop() { Val = TabStopValues.Number, Position = 5760 };

            tabs28.Append(tabStop30);
            Indentation indentation45 = new Indentation() { Start = "5760", Hanging = "360" };

            previousParagraphProperties17.Append(tabs28);
            previousParagraphProperties17.Append(indentation45);

            NumberingSymbolRunProperties numberingSymbolRunProperties17 = new NumberingSymbolRunProperties();
            RunFonts runFonts1086 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties17.Append(runFonts1086);

            level17.Append(startNumberingValue17);
            level17.Append(numberingFormat17);
            level17.Append(levelText17);
            level17.Append(levelJustification17);
            level17.Append(previousParagraphProperties17);
            level17.Append(numberingSymbolRunProperties17);

            Level level18 = new Level() { LevelIndex = 8, TemplateCode = "0409001B", Tentative = true };
            StartNumberingValue startNumberingValue18 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat18 = new NumberingFormat() { Val = NumberFormatValues.LowerRoman };
            LevelText levelText18 = new LevelText() { Val = "%9." };
            LevelJustification levelJustification18 = new LevelJustification() { Val = LevelJustificationValues.Right };

            PreviousParagraphProperties previousParagraphProperties18 = new PreviousParagraphProperties();

            Tabs tabs29 = new Tabs();
            TabStop tabStop31 = new TabStop() { Val = TabStopValues.Number, Position = 6480 };

            tabs29.Append(tabStop31);
            Indentation indentation46 = new Indentation() { Start = "6480", Hanging = "180" };

            previousParagraphProperties18.Append(tabs29);
            previousParagraphProperties18.Append(indentation46);

            NumberingSymbolRunProperties numberingSymbolRunProperties18 = new NumberingSymbolRunProperties();
            RunFonts runFonts1087 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties18.Append(runFonts1087);

            level18.Append(startNumberingValue18);
            level18.Append(numberingFormat18);
            level18.Append(levelText18);
            level18.Append(levelJustification18);
            level18.Append(previousParagraphProperties18);
            level18.Append(numberingSymbolRunProperties18);

            abstractNum2.Append(nsid2);
            abstractNum2.Append(multiLevelType2);
            abstractNum2.Append(templateCode2);
            abstractNum2.Append(level10);
            abstractNum2.Append(level11);
            abstractNum2.Append(level12);
            abstractNum2.Append(level13);
            abstractNum2.Append(level14);
            abstractNum2.Append(level15);
            abstractNum2.Append(level16);
            abstractNum2.Append(level17);
            abstractNum2.Append(level18);

            AbstractNum abstractNum3 = new AbstractNum() { AbstractNumberId = 2 };
            abstractNum3.SetAttribute(new OpenXmlAttribute("w15", "restartNumberingAfterBreak", "http://schemas.microsoft.com/office/word/2012/wordml", "0"));
            Nsid nsid3 = new Nsid() { Val = "32E81A4B" };
            MultiLevelType multiLevelType3 = new MultiLevelType() { Val = MultiLevelValues.HybridMultilevel };
            TemplateCode templateCode3 = new TemplateCode() { Val = "5EA8BC10" };

            Level level19 = new Level() { LevelIndex = 0, TemplateCode = "FCC81E08" };
            StartNumberingValue startNumberingValue19 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat19 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText19 = new LevelText() { Val = "%1)" };
            LevelJustification levelJustification19 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties19 = new PreviousParagraphProperties();

            Tabs tabs30 = new Tabs();
            TabStop tabStop32 = new TabStop() { Val = TabStopValues.Number, Position = 1080 };

            tabs30.Append(tabStop32);
            Indentation indentation47 = new Indentation() { Start = "1080", Hanging = "720" };

            previousParagraphProperties19.Append(tabs30);
            previousParagraphProperties19.Append(indentation47);

            NumberingSymbolRunProperties numberingSymbolRunProperties19 = new NumberingSymbolRunProperties();
            RunFonts runFonts1088 = new RunFonts() { Hint = FontTypeHintValues.Default, ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties19.Append(runFonts1088);

            level19.Append(startNumberingValue19);
            level19.Append(numberingFormat19);
            level19.Append(levelText19);
            level19.Append(levelJustification19);
            level19.Append(previousParagraphProperties19);
            level19.Append(numberingSymbolRunProperties19);

            Level level20 = new Level() { LevelIndex = 1, TemplateCode = "04090019" };
            StartNumberingValue startNumberingValue20 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat20 = new NumberingFormat() { Val = NumberFormatValues.LowerLetter };
            LevelText levelText20 = new LevelText() { Val = "%2." };
            LevelJustification levelJustification20 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties20 = new PreviousParagraphProperties();

            Tabs tabs31 = new Tabs();
            TabStop tabStop33 = new TabStop() { Val = TabStopValues.Number, Position = 1440 };

            tabs31.Append(tabStop33);
            Indentation indentation48 = new Indentation() { Start = "1440", Hanging = "360" };

            previousParagraphProperties20.Append(tabs31);
            previousParagraphProperties20.Append(indentation48);

            NumberingSymbolRunProperties numberingSymbolRunProperties20 = new NumberingSymbolRunProperties();
            RunFonts runFonts1089 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties20.Append(runFonts1089);

            level20.Append(startNumberingValue20);
            level20.Append(numberingFormat20);
            level20.Append(levelText20);
            level20.Append(levelJustification20);
            level20.Append(previousParagraphProperties20);
            level20.Append(numberingSymbolRunProperties20);

            Level level21 = new Level() { LevelIndex = 2, TemplateCode = "0409001B", Tentative = true };
            StartNumberingValue startNumberingValue21 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat21 = new NumberingFormat() { Val = NumberFormatValues.LowerRoman };
            LevelText levelText21 = new LevelText() { Val = "%3." };
            LevelJustification levelJustification21 = new LevelJustification() { Val = LevelJustificationValues.Right };

            PreviousParagraphProperties previousParagraphProperties21 = new PreviousParagraphProperties();

            Tabs tabs32 = new Tabs();
            TabStop tabStop34 = new TabStop() { Val = TabStopValues.Number, Position = 2160 };

            tabs32.Append(tabStop34);
            Indentation indentation49 = new Indentation() { Start = "2160", Hanging = "180" };

            previousParagraphProperties21.Append(tabs32);
            previousParagraphProperties21.Append(indentation49);

            NumberingSymbolRunProperties numberingSymbolRunProperties21 = new NumberingSymbolRunProperties();
            RunFonts runFonts1090 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties21.Append(runFonts1090);

            level21.Append(startNumberingValue21);
            level21.Append(numberingFormat21);
            level21.Append(levelText21);
            level21.Append(levelJustification21);
            level21.Append(previousParagraphProperties21);
            level21.Append(numberingSymbolRunProperties21);

            Level level22 = new Level() { LevelIndex = 3, TemplateCode = "0409000F", Tentative = true };
            StartNumberingValue startNumberingValue22 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat22 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText22 = new LevelText() { Val = "%4." };
            LevelJustification levelJustification22 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties22 = new PreviousParagraphProperties();

            Tabs tabs33 = new Tabs();
            TabStop tabStop35 = new TabStop() { Val = TabStopValues.Number, Position = 2880 };

            tabs33.Append(tabStop35);
            Indentation indentation50 = new Indentation() { Start = "2880", Hanging = "360" };

            previousParagraphProperties22.Append(tabs33);
            previousParagraphProperties22.Append(indentation50);

            NumberingSymbolRunProperties numberingSymbolRunProperties22 = new NumberingSymbolRunProperties();
            RunFonts runFonts1091 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties22.Append(runFonts1091);

            level22.Append(startNumberingValue22);
            level22.Append(numberingFormat22);
            level22.Append(levelText22);
            level22.Append(levelJustification22);
            level22.Append(previousParagraphProperties22);
            level22.Append(numberingSymbolRunProperties22);

            Level level23 = new Level() { LevelIndex = 4, TemplateCode = "04090019", Tentative = true };
            StartNumberingValue startNumberingValue23 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat23 = new NumberingFormat() { Val = NumberFormatValues.LowerLetter };
            LevelText levelText23 = new LevelText() { Val = "%5." };
            LevelJustification levelJustification23 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties23 = new PreviousParagraphProperties();

            Tabs tabs34 = new Tabs();
            TabStop tabStop36 = new TabStop() { Val = TabStopValues.Number, Position = 3600 };

            tabs34.Append(tabStop36);
            Indentation indentation51 = new Indentation() { Start = "3600", Hanging = "360" };

            previousParagraphProperties23.Append(tabs34);
            previousParagraphProperties23.Append(indentation51);

            NumberingSymbolRunProperties numberingSymbolRunProperties23 = new NumberingSymbolRunProperties();
            RunFonts runFonts1092 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties23.Append(runFonts1092);

            level23.Append(startNumberingValue23);
            level23.Append(numberingFormat23);
            level23.Append(levelText23);
            level23.Append(levelJustification23);
            level23.Append(previousParagraphProperties23);
            level23.Append(numberingSymbolRunProperties23);

            Level level24 = new Level() { LevelIndex = 5, TemplateCode = "0409001B", Tentative = true };
            StartNumberingValue startNumberingValue24 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat24 = new NumberingFormat() { Val = NumberFormatValues.LowerRoman };
            LevelText levelText24 = new LevelText() { Val = "%6." };
            LevelJustification levelJustification24 = new LevelJustification() { Val = LevelJustificationValues.Right };

            PreviousParagraphProperties previousParagraphProperties24 = new PreviousParagraphProperties();

            Tabs tabs35 = new Tabs();
            TabStop tabStop37 = new TabStop() { Val = TabStopValues.Number, Position = 4320 };

            tabs35.Append(tabStop37);
            Indentation indentation52 = new Indentation() { Start = "4320", Hanging = "180" };

            previousParagraphProperties24.Append(tabs35);
            previousParagraphProperties24.Append(indentation52);

            NumberingSymbolRunProperties numberingSymbolRunProperties24 = new NumberingSymbolRunProperties();
            RunFonts runFonts1093 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties24.Append(runFonts1093);

            level24.Append(startNumberingValue24);
            level24.Append(numberingFormat24);
            level24.Append(levelText24);
            level24.Append(levelJustification24);
            level24.Append(previousParagraphProperties24);
            level24.Append(numberingSymbolRunProperties24);

            Level level25 = new Level() { LevelIndex = 6, TemplateCode = "0409000F", Tentative = true };
            StartNumberingValue startNumberingValue25 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat25 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText25 = new LevelText() { Val = "%7." };
            LevelJustification levelJustification25 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties25 = new PreviousParagraphProperties();

            Tabs tabs36 = new Tabs();
            TabStop tabStop38 = new TabStop() { Val = TabStopValues.Number, Position = 5040 };

            tabs36.Append(tabStop38);
            Indentation indentation53 = new Indentation() { Start = "5040", Hanging = "360" };

            previousParagraphProperties25.Append(tabs36);
            previousParagraphProperties25.Append(indentation53);

            NumberingSymbolRunProperties numberingSymbolRunProperties25 = new NumberingSymbolRunProperties();
            RunFonts runFonts1094 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties25.Append(runFonts1094);

            level25.Append(startNumberingValue25);
            level25.Append(numberingFormat25);
            level25.Append(levelText25);
            level25.Append(levelJustification25);
            level25.Append(previousParagraphProperties25);
            level25.Append(numberingSymbolRunProperties25);

            Level level26 = new Level() { LevelIndex = 7, TemplateCode = "04090019", Tentative = true };
            StartNumberingValue startNumberingValue26 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat26 = new NumberingFormat() { Val = NumberFormatValues.LowerLetter };
            LevelText levelText26 = new LevelText() { Val = "%8." };
            LevelJustification levelJustification26 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties26 = new PreviousParagraphProperties();

            Tabs tabs37 = new Tabs();
            TabStop tabStop39 = new TabStop() { Val = TabStopValues.Number, Position = 5760 };

            tabs37.Append(tabStop39);
            Indentation indentation54 = new Indentation() { Start = "5760", Hanging = "360" };

            previousParagraphProperties26.Append(tabs37);
            previousParagraphProperties26.Append(indentation54);

            NumberingSymbolRunProperties numberingSymbolRunProperties26 = new NumberingSymbolRunProperties();
            RunFonts runFonts1095 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties26.Append(runFonts1095);

            level26.Append(startNumberingValue26);
            level26.Append(numberingFormat26);
            level26.Append(levelText26);
            level26.Append(levelJustification26);
            level26.Append(previousParagraphProperties26);
            level26.Append(numberingSymbolRunProperties26);

            Level level27 = new Level() { LevelIndex = 8, TemplateCode = "0409001B", Tentative = true };
            StartNumberingValue startNumberingValue27 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat27 = new NumberingFormat() { Val = NumberFormatValues.LowerRoman };
            LevelText levelText27 = new LevelText() { Val = "%9." };
            LevelJustification levelJustification27 = new LevelJustification() { Val = LevelJustificationValues.Right };

            PreviousParagraphProperties previousParagraphProperties27 = new PreviousParagraphProperties();

            Tabs tabs38 = new Tabs();
            TabStop tabStop40 = new TabStop() { Val = TabStopValues.Number, Position = 6480 };

            tabs38.Append(tabStop40);
            Indentation indentation55 = new Indentation() { Start = "6480", Hanging = "180" };

            previousParagraphProperties27.Append(tabs38);
            previousParagraphProperties27.Append(indentation55);

            NumberingSymbolRunProperties numberingSymbolRunProperties27 = new NumberingSymbolRunProperties();
            RunFonts runFonts1096 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties27.Append(runFonts1096);

            level27.Append(startNumberingValue27);
            level27.Append(numberingFormat27);
            level27.Append(levelText27);
            level27.Append(levelJustification27);
            level27.Append(previousParagraphProperties27);
            level27.Append(numberingSymbolRunProperties27);

            abstractNum3.Append(nsid3);
            abstractNum3.Append(multiLevelType3);
            abstractNum3.Append(templateCode3);
            abstractNum3.Append(level19);
            abstractNum3.Append(level20);
            abstractNum3.Append(level21);
            abstractNum3.Append(level22);
            abstractNum3.Append(level23);
            abstractNum3.Append(level24);
            abstractNum3.Append(level25);
            abstractNum3.Append(level26);
            abstractNum3.Append(level27);

            AbstractNum abstractNum4 = new AbstractNum() { AbstractNumberId = 3 };
            abstractNum4.SetAttribute(new OpenXmlAttribute("w15", "restartNumberingAfterBreak", "http://schemas.microsoft.com/office/word/2012/wordml", "0"));
            Nsid nsid4 = new Nsid() { Val = "3A783B25" };
            MultiLevelType multiLevelType4 = new MultiLevelType() { Val = MultiLevelValues.Multilevel };
            TemplateCode templateCode4 = new TemplateCode() { Val = "93AEE3CA" };

            Level level28 = new Level() { LevelIndex = 0 };
            StartNumberingValue startNumberingValue28 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat28 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText28 = new LevelText() { Val = "%1." };
            LevelJustification levelJustification28 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties28 = new PreviousParagraphProperties();

            Tabs tabs39 = new Tabs();
            TabStop tabStop41 = new TabStop() { Val = TabStopValues.Number, Position = 720 };

            tabs39.Append(tabStop41);
            Indentation indentation56 = new Indentation() { Start = "720", Hanging = "360" };

            previousParagraphProperties28.Append(tabs39);
            previousParagraphProperties28.Append(indentation56);

            NumberingSymbolRunProperties numberingSymbolRunProperties28 = new NumberingSymbolRunProperties();
            RunFonts runFonts1097 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties28.Append(runFonts1097);

            level28.Append(startNumberingValue28);
            level28.Append(numberingFormat28);
            level28.Append(levelText28);
            level28.Append(levelJustification28);
            level28.Append(previousParagraphProperties28);
            level28.Append(numberingSymbolRunProperties28);

            Level level29 = new Level() { LevelIndex = 1 };
            StartNumberingValue startNumberingValue29 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat29 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText29 = new LevelText() { Val = "%2." };
            LevelJustification levelJustification29 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties29 = new PreviousParagraphProperties();

            Tabs tabs40 = new Tabs();
            TabStop tabStop42 = new TabStop() { Val = TabStopValues.Number, Position = 1440 };

            tabs40.Append(tabStop42);
            Indentation indentation57 = new Indentation() { Start = "1440", Hanging = "360" };

            previousParagraphProperties29.Append(tabs40);
            previousParagraphProperties29.Append(indentation57);

            NumberingSymbolRunProperties numberingSymbolRunProperties29 = new NumberingSymbolRunProperties();
            RunFonts runFonts1098 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties29.Append(runFonts1098);

            level29.Append(startNumberingValue29);
            level29.Append(numberingFormat29);
            level29.Append(levelText29);
            level29.Append(levelJustification29);
            level29.Append(previousParagraphProperties29);
            level29.Append(numberingSymbolRunProperties29);

            Level level30 = new Level() { LevelIndex = 2, Tentative = true };
            StartNumberingValue startNumberingValue30 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat30 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText30 = new LevelText() { Val = "%3." };
            LevelJustification levelJustification30 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties30 = new PreviousParagraphProperties();

            Tabs tabs41 = new Tabs();
            TabStop tabStop43 = new TabStop() { Val = TabStopValues.Number, Position = 2160 };

            tabs41.Append(tabStop43);
            Indentation indentation58 = new Indentation() { Start = "2160", Hanging = "360" };

            previousParagraphProperties30.Append(tabs41);
            previousParagraphProperties30.Append(indentation58);

            NumberingSymbolRunProperties numberingSymbolRunProperties30 = new NumberingSymbolRunProperties();
            RunFonts runFonts1099 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties30.Append(runFonts1099);

            level30.Append(startNumberingValue30);
            level30.Append(numberingFormat30);
            level30.Append(levelText30);
            level30.Append(levelJustification30);
            level30.Append(previousParagraphProperties30);
            level30.Append(numberingSymbolRunProperties30);

            Level level31 = new Level() { LevelIndex = 3, Tentative = true };
            StartNumberingValue startNumberingValue31 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat31 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText31 = new LevelText() { Val = "%4." };
            LevelJustification levelJustification31 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties31 = new PreviousParagraphProperties();

            Tabs tabs42 = new Tabs();
            TabStop tabStop44 = new TabStop() { Val = TabStopValues.Number, Position = 2880 };

            tabs42.Append(tabStop44);
            Indentation indentation59 = new Indentation() { Start = "2880", Hanging = "360" };

            previousParagraphProperties31.Append(tabs42);
            previousParagraphProperties31.Append(indentation59);

            NumberingSymbolRunProperties numberingSymbolRunProperties31 = new NumberingSymbolRunProperties();
            RunFonts runFonts1100 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties31.Append(runFonts1100);

            level31.Append(startNumberingValue31);
            level31.Append(numberingFormat31);
            level31.Append(levelText31);
            level31.Append(levelJustification31);
            level31.Append(previousParagraphProperties31);
            level31.Append(numberingSymbolRunProperties31);

            Level level32 = new Level() { LevelIndex = 4, Tentative = true };
            StartNumberingValue startNumberingValue32 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat32 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText32 = new LevelText() { Val = "%5." };
            LevelJustification levelJustification32 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties32 = new PreviousParagraphProperties();

            Tabs tabs43 = new Tabs();
            TabStop tabStop45 = new TabStop() { Val = TabStopValues.Number, Position = 3600 };

            tabs43.Append(tabStop45);
            Indentation indentation60 = new Indentation() { Start = "3600", Hanging = "360" };

            previousParagraphProperties32.Append(tabs43);
            previousParagraphProperties32.Append(indentation60);

            NumberingSymbolRunProperties numberingSymbolRunProperties32 = new NumberingSymbolRunProperties();
            RunFonts runFonts1101 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties32.Append(runFonts1101);

            level32.Append(startNumberingValue32);
            level32.Append(numberingFormat32);
            level32.Append(levelText32);
            level32.Append(levelJustification32);
            level32.Append(previousParagraphProperties32);
            level32.Append(numberingSymbolRunProperties32);

            Level level33 = new Level() { LevelIndex = 5, Tentative = true };
            StartNumberingValue startNumberingValue33 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat33 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText33 = new LevelText() { Val = "%6." };
            LevelJustification levelJustification33 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties33 = new PreviousParagraphProperties();

            Tabs tabs44 = new Tabs();
            TabStop tabStop46 = new TabStop() { Val = TabStopValues.Number, Position = 4320 };

            tabs44.Append(tabStop46);
            Indentation indentation61 = new Indentation() { Start = "4320", Hanging = "360" };

            previousParagraphProperties33.Append(tabs44);
            previousParagraphProperties33.Append(indentation61);

            NumberingSymbolRunProperties numberingSymbolRunProperties33 = new NumberingSymbolRunProperties();
            RunFonts runFonts1102 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties33.Append(runFonts1102);

            level33.Append(startNumberingValue33);
            level33.Append(numberingFormat33);
            level33.Append(levelText33);
            level33.Append(levelJustification33);
            level33.Append(previousParagraphProperties33);
            level33.Append(numberingSymbolRunProperties33);

            Level level34 = new Level() { LevelIndex = 6, Tentative = true };
            StartNumberingValue startNumberingValue34 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat34 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText34 = new LevelText() { Val = "%7." };
            LevelJustification levelJustification34 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties34 = new PreviousParagraphProperties();

            Tabs tabs45 = new Tabs();
            TabStop tabStop47 = new TabStop() { Val = TabStopValues.Number, Position = 5040 };

            tabs45.Append(tabStop47);
            Indentation indentation62 = new Indentation() { Start = "5040", Hanging = "360" };

            previousParagraphProperties34.Append(tabs45);
            previousParagraphProperties34.Append(indentation62);

            NumberingSymbolRunProperties numberingSymbolRunProperties34 = new NumberingSymbolRunProperties();
            RunFonts runFonts1103 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties34.Append(runFonts1103);

            level34.Append(startNumberingValue34);
            level34.Append(numberingFormat34);
            level34.Append(levelText34);
            level34.Append(levelJustification34);
            level34.Append(previousParagraphProperties34);
            level34.Append(numberingSymbolRunProperties34);

            Level level35 = new Level() { LevelIndex = 7, Tentative = true };
            StartNumberingValue startNumberingValue35 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat35 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText35 = new LevelText() { Val = "%8." };
            LevelJustification levelJustification35 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties35 = new PreviousParagraphProperties();

            Tabs tabs46 = new Tabs();
            TabStop tabStop48 = new TabStop() { Val = TabStopValues.Number, Position = 5760 };

            tabs46.Append(tabStop48);
            Indentation indentation63 = new Indentation() { Start = "5760", Hanging = "360" };

            previousParagraphProperties35.Append(tabs46);
            previousParagraphProperties35.Append(indentation63);

            NumberingSymbolRunProperties numberingSymbolRunProperties35 = new NumberingSymbolRunProperties();
            RunFonts runFonts1104 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties35.Append(runFonts1104);

            level35.Append(startNumberingValue35);
            level35.Append(numberingFormat35);
            level35.Append(levelText35);
            level35.Append(levelJustification35);
            level35.Append(previousParagraphProperties35);
            level35.Append(numberingSymbolRunProperties35);

            Level level36 = new Level() { LevelIndex = 8, Tentative = true };
            StartNumberingValue startNumberingValue36 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat36 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText36 = new LevelText() { Val = "%9." };
            LevelJustification levelJustification36 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties36 = new PreviousParagraphProperties();

            Tabs tabs47 = new Tabs();
            TabStop tabStop49 = new TabStop() { Val = TabStopValues.Number, Position = 6480 };

            tabs47.Append(tabStop49);
            Indentation indentation64 = new Indentation() { Start = "6480", Hanging = "360" };

            previousParagraphProperties36.Append(tabs47);
            previousParagraphProperties36.Append(indentation64);

            NumberingSymbolRunProperties numberingSymbolRunProperties36 = new NumberingSymbolRunProperties();
            RunFonts runFonts1105 = new RunFonts() { ComplexScript = "Times New Roman" };

            numberingSymbolRunProperties36.Append(runFonts1105);

            level36.Append(startNumberingValue36);
            level36.Append(numberingFormat36);
            level36.Append(levelText36);
            level36.Append(levelJustification36);
            level36.Append(previousParagraphProperties36);
            level36.Append(numberingSymbolRunProperties36);

            abstractNum4.Append(nsid4);
            abstractNum4.Append(multiLevelType4);
            abstractNum4.Append(templateCode4);
            abstractNum4.Append(level28);
            abstractNum4.Append(level29);
            abstractNum4.Append(level30);
            abstractNum4.Append(level31);
            abstractNum4.Append(level32);
            abstractNum4.Append(level33);
            abstractNum4.Append(level34);
            abstractNum4.Append(level35);
            abstractNum4.Append(level36);

            AbstractNum abstractNum5 = new AbstractNum() { AbstractNumberId = 4 };
            abstractNum5.SetAttribute(new OpenXmlAttribute("w15", "restartNumberingAfterBreak", "http://schemas.microsoft.com/office/word/2012/wordml", "0"));
            Nsid nsid5 = new Nsid() { Val = "3ABB4F29" };
            MultiLevelType multiLevelType5 = new MultiLevelType() { Val = MultiLevelValues.HybridMultilevel };
            TemplateCode templateCode5 = new TemplateCode() { Val = "C38A21FA" };

            Level level37 = new Level() { LevelIndex = 0, TemplateCode = "560ED3AA" };
            NumberingFormat numberingFormat37 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText37 = new LevelText() { Val = "-" };
            LevelJustification levelJustification37 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties37 = new PreviousParagraphProperties();
            Indentation indentation65 = new Indentation() { Start = "1080", Hanging = "360" };

            previousParagraphProperties37.Append(indentation65);

            NumberingSymbolRunProperties numberingSymbolRunProperties37 = new NumberingSymbolRunProperties();
            RunFonts runFonts1106 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Calibri", HighAnsi = "Calibri", EastAsia = "Times New Roman" };

            numberingSymbolRunProperties37.Append(runFonts1106);

            level37.Append(numberingFormat37);
            level37.Append(levelText37);
            level37.Append(levelJustification37);
            level37.Append(previousParagraphProperties37);
            level37.Append(numberingSymbolRunProperties37);

            Level level38 = new Level() { LevelIndex = 1, TemplateCode = "04090003" };
            StartNumberingValue startNumberingValue37 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat38 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText38 = new LevelText() { Val = "o" };
            LevelJustification levelJustification38 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties38 = new PreviousParagraphProperties();
            Indentation indentation66 = new Indentation() { Start = "1800", Hanging = "360" };

            previousParagraphProperties38.Append(indentation66);

            NumberingSymbolRunProperties numberingSymbolRunProperties38 = new NumberingSymbolRunProperties();
            RunFonts runFonts1107 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New" };

            numberingSymbolRunProperties38.Append(runFonts1107);

            level38.Append(startNumberingValue37);
            level38.Append(numberingFormat38);
            level38.Append(levelText38);
            level38.Append(levelJustification38);
            level38.Append(previousParagraphProperties38);
            level38.Append(numberingSymbolRunProperties38);

            Level level39 = new Level() { LevelIndex = 2, TemplateCode = "04090005" };
            StartNumberingValue startNumberingValue38 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat39 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText39 = new LevelText() { Val = "§" };
            LevelJustification levelJustification39 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties39 = new PreviousParagraphProperties();
            Indentation indentation67 = new Indentation() { Start = "2520", Hanging = "360" };

            previousParagraphProperties39.Append(indentation67);

            NumberingSymbolRunProperties numberingSymbolRunProperties39 = new NumberingSymbolRunProperties();
            RunFonts runFonts1108 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };

            numberingSymbolRunProperties39.Append(runFonts1108);

            level39.Append(startNumberingValue38);
            level39.Append(numberingFormat39);
            level39.Append(levelText39);
            level39.Append(levelJustification39);
            level39.Append(previousParagraphProperties39);
            level39.Append(numberingSymbolRunProperties39);

            Level level40 = new Level() { LevelIndex = 3, TemplateCode = "04090001", Tentative = true };
            StartNumberingValue startNumberingValue39 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat40 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText40 = new LevelText() { Val = "·" };
            LevelJustification levelJustification40 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties40 = new PreviousParagraphProperties();
            Indentation indentation68 = new Indentation() { Start = "3240", Hanging = "360" };

            previousParagraphProperties40.Append(indentation68);

            NumberingSymbolRunProperties numberingSymbolRunProperties40 = new NumberingSymbolRunProperties();
            RunFonts runFonts1109 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };

            numberingSymbolRunProperties40.Append(runFonts1109);

            level40.Append(startNumberingValue39);
            level40.Append(numberingFormat40);
            level40.Append(levelText40);
            level40.Append(levelJustification40);
            level40.Append(previousParagraphProperties40);
            level40.Append(numberingSymbolRunProperties40);

            Level level41 = new Level() { LevelIndex = 4, TemplateCode = "04090003", Tentative = true };
            StartNumberingValue startNumberingValue40 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat41 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText41 = new LevelText() { Val = "o" };
            LevelJustification levelJustification41 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties41 = new PreviousParagraphProperties();
            Indentation indentation69 = new Indentation() { Start = "3960", Hanging = "360" };

            previousParagraphProperties41.Append(indentation69);

            NumberingSymbolRunProperties numberingSymbolRunProperties41 = new NumberingSymbolRunProperties();
            RunFonts runFonts1110 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New" };

            numberingSymbolRunProperties41.Append(runFonts1110);

            level41.Append(startNumberingValue40);
            level41.Append(numberingFormat41);
            level41.Append(levelText41);
            level41.Append(levelJustification41);
            level41.Append(previousParagraphProperties41);
            level41.Append(numberingSymbolRunProperties41);

            Level level42 = new Level() { LevelIndex = 5, TemplateCode = "04090005", Tentative = true };
            StartNumberingValue startNumberingValue41 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat42 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText42 = new LevelText() { Val = "§" };
            LevelJustification levelJustification42 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties42 = new PreviousParagraphProperties();
            Indentation indentation70 = new Indentation() { Start = "4680", Hanging = "360" };

            previousParagraphProperties42.Append(indentation70);

            NumberingSymbolRunProperties numberingSymbolRunProperties42 = new NumberingSymbolRunProperties();
            RunFonts runFonts1111 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };

            numberingSymbolRunProperties42.Append(runFonts1111);

            level42.Append(startNumberingValue41);
            level42.Append(numberingFormat42);
            level42.Append(levelText42);
            level42.Append(levelJustification42);
            level42.Append(previousParagraphProperties42);
            level42.Append(numberingSymbolRunProperties42);

            Level level43 = new Level() { LevelIndex = 6, TemplateCode = "04090001", Tentative = true };
            StartNumberingValue startNumberingValue42 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat43 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText43 = new LevelText() { Val = "·" };
            LevelJustification levelJustification43 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties43 = new PreviousParagraphProperties();
            Indentation indentation71 = new Indentation() { Start = "5400", Hanging = "360" };

            previousParagraphProperties43.Append(indentation71);

            NumberingSymbolRunProperties numberingSymbolRunProperties43 = new NumberingSymbolRunProperties();
            RunFonts runFonts1112 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };

            numberingSymbolRunProperties43.Append(runFonts1112);

            level43.Append(startNumberingValue42);
            level43.Append(numberingFormat43);
            level43.Append(levelText43);
            level43.Append(levelJustification43);
            level43.Append(previousParagraphProperties43);
            level43.Append(numberingSymbolRunProperties43);

            Level level44 = new Level() { LevelIndex = 7, TemplateCode = "04090003", Tentative = true };
            StartNumberingValue startNumberingValue43 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat44 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText44 = new LevelText() { Val = "o" };
            LevelJustification levelJustification44 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties44 = new PreviousParagraphProperties();
            Indentation indentation72 = new Indentation() { Start = "6120", Hanging = "360" };

            previousParagraphProperties44.Append(indentation72);

            NumberingSymbolRunProperties numberingSymbolRunProperties44 = new NumberingSymbolRunProperties();
            RunFonts runFonts1113 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New" };

            numberingSymbolRunProperties44.Append(runFonts1113);

            level44.Append(startNumberingValue43);
            level44.Append(numberingFormat44);
            level44.Append(levelText44);
            level44.Append(levelJustification44);
            level44.Append(previousParagraphProperties44);
            level44.Append(numberingSymbolRunProperties44);

            Level level45 = new Level() { LevelIndex = 8, TemplateCode = "04090005", Tentative = true };
            StartNumberingValue startNumberingValue44 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat45 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText45 = new LevelText() { Val = "§" };
            LevelJustification levelJustification45 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties45 = new PreviousParagraphProperties();
            Indentation indentation73 = new Indentation() { Start = "6840", Hanging = "360" };

            previousParagraphProperties45.Append(indentation73);

            NumberingSymbolRunProperties numberingSymbolRunProperties45 = new NumberingSymbolRunProperties();
            RunFonts runFonts1114 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };

            numberingSymbolRunProperties45.Append(runFonts1114);

            level45.Append(startNumberingValue44);
            level45.Append(numberingFormat45);
            level45.Append(levelText45);
            level45.Append(levelJustification45);
            level45.Append(previousParagraphProperties45);
            level45.Append(numberingSymbolRunProperties45);

            abstractNum5.Append(nsid5);
            abstractNum5.Append(multiLevelType5);
            abstractNum5.Append(templateCode5);
            abstractNum5.Append(level37);
            abstractNum5.Append(level38);
            abstractNum5.Append(level39);
            abstractNum5.Append(level40);
            abstractNum5.Append(level41);
            abstractNum5.Append(level42);
            abstractNum5.Append(level43);
            abstractNum5.Append(level44);
            abstractNum5.Append(level45);

            AbstractNum abstractNum6 = new AbstractNum() { AbstractNumberId = 5 };
            abstractNum6.SetAttribute(new OpenXmlAttribute("w15", "restartNumberingAfterBreak", "http://schemas.microsoft.com/office/word/2012/wordml", "0"));
            Nsid nsid6 = new Nsid() { Val = "3F5F553F" };
            MultiLevelType multiLevelType6 = new MultiLevelType() { Val = MultiLevelValues.HybridMultilevel };
            TemplateCode templateCode6 = new TemplateCode() { Val = "2BDAC302" };

            Level level46 = new Level() { LevelIndex = 0, TemplateCode = "04090001" };
            StartNumberingValue startNumberingValue45 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat46 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText46 = new LevelText() { Val = "·" };
            LevelJustification levelJustification46 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties46 = new PreviousParagraphProperties();
            Indentation indentation74 = new Indentation() { Start = "720", Hanging = "360" };

            previousParagraphProperties46.Append(indentation74);

            NumberingSymbolRunProperties numberingSymbolRunProperties46 = new NumberingSymbolRunProperties();
            RunFonts runFonts1115 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };

            numberingSymbolRunProperties46.Append(runFonts1115);

            level46.Append(startNumberingValue45);
            level46.Append(numberingFormat46);
            level46.Append(levelText46);
            level46.Append(levelJustification46);
            level46.Append(previousParagraphProperties46);
            level46.Append(numberingSymbolRunProperties46);

            Level level47 = new Level() { LevelIndex = 1, TemplateCode = "04090003", Tentative = true };
            StartNumberingValue startNumberingValue46 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat47 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText47 = new LevelText() { Val = "o" };
            LevelJustification levelJustification47 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties47 = new PreviousParagraphProperties();
            Indentation indentation75 = new Indentation() { Start = "1440", Hanging = "360" };

            previousParagraphProperties47.Append(indentation75);

            NumberingSymbolRunProperties numberingSymbolRunProperties47 = new NumberingSymbolRunProperties();
            RunFonts runFonts1116 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New", ComplexScript = "Courier New" };

            numberingSymbolRunProperties47.Append(runFonts1116);

            level47.Append(startNumberingValue46);
            level47.Append(numberingFormat47);
            level47.Append(levelText47);
            level47.Append(levelJustification47);
            level47.Append(previousParagraphProperties47);
            level47.Append(numberingSymbolRunProperties47);

            Level level48 = new Level() { LevelIndex = 2, TemplateCode = "04090005", Tentative = true };
            StartNumberingValue startNumberingValue47 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat48 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText48 = new LevelText() { Val = "§" };
            LevelJustification levelJustification48 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties48 = new PreviousParagraphProperties();
            Indentation indentation76 = new Indentation() { Start = "2160", Hanging = "360" };

            previousParagraphProperties48.Append(indentation76);

            NumberingSymbolRunProperties numberingSymbolRunProperties48 = new NumberingSymbolRunProperties();
            RunFonts runFonts1117 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };

            numberingSymbolRunProperties48.Append(runFonts1117);

            level48.Append(startNumberingValue47);
            level48.Append(numberingFormat48);
            level48.Append(levelText48);
            level48.Append(levelJustification48);
            level48.Append(previousParagraphProperties48);
            level48.Append(numberingSymbolRunProperties48);

            Level level49 = new Level() { LevelIndex = 3, TemplateCode = "04090001", Tentative = true };
            StartNumberingValue startNumberingValue48 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat49 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText49 = new LevelText() { Val = "·" };
            LevelJustification levelJustification49 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties49 = new PreviousParagraphProperties();
            Indentation indentation77 = new Indentation() { Start = "2880", Hanging = "360" };

            previousParagraphProperties49.Append(indentation77);

            NumberingSymbolRunProperties numberingSymbolRunProperties49 = new NumberingSymbolRunProperties();
            RunFonts runFonts1118 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };

            numberingSymbolRunProperties49.Append(runFonts1118);

            level49.Append(startNumberingValue48);
            level49.Append(numberingFormat49);
            level49.Append(levelText49);
            level49.Append(levelJustification49);
            level49.Append(previousParagraphProperties49);
            level49.Append(numberingSymbolRunProperties49);

            Level level50 = new Level() { LevelIndex = 4, TemplateCode = "04090003", Tentative = true };
            StartNumberingValue startNumberingValue49 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat50 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText50 = new LevelText() { Val = "o" };
            LevelJustification levelJustification50 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties50 = new PreviousParagraphProperties();
            Indentation indentation78 = new Indentation() { Start = "3600", Hanging = "360" };

            previousParagraphProperties50.Append(indentation78);

            NumberingSymbolRunProperties numberingSymbolRunProperties50 = new NumberingSymbolRunProperties();
            RunFonts runFonts1119 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New", ComplexScript = "Courier New" };

            numberingSymbolRunProperties50.Append(runFonts1119);

            level50.Append(startNumberingValue49);
            level50.Append(numberingFormat50);
            level50.Append(levelText50);
            level50.Append(levelJustification50);
            level50.Append(previousParagraphProperties50);
            level50.Append(numberingSymbolRunProperties50);

            Level level51 = new Level() { LevelIndex = 5, TemplateCode = "04090005", Tentative = true };
            StartNumberingValue startNumberingValue50 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat51 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText51 = new LevelText() { Val = "§" };
            LevelJustification levelJustification51 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties51 = new PreviousParagraphProperties();
            Indentation indentation79 = new Indentation() { Start = "4320", Hanging = "360" };

            previousParagraphProperties51.Append(indentation79);

            NumberingSymbolRunProperties numberingSymbolRunProperties51 = new NumberingSymbolRunProperties();
            RunFonts runFonts1120 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };

            numberingSymbolRunProperties51.Append(runFonts1120);

            level51.Append(startNumberingValue50);
            level51.Append(numberingFormat51);
            level51.Append(levelText51);
            level51.Append(levelJustification51);
            level51.Append(previousParagraphProperties51);
            level51.Append(numberingSymbolRunProperties51);

            Level level52 = new Level() { LevelIndex = 6, TemplateCode = "04090001", Tentative = true };
            StartNumberingValue startNumberingValue51 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat52 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText52 = new LevelText() { Val = "·" };
            LevelJustification levelJustification52 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties52 = new PreviousParagraphProperties();
            Indentation indentation80 = new Indentation() { Start = "5040", Hanging = "360" };

            previousParagraphProperties52.Append(indentation80);

            NumberingSymbolRunProperties numberingSymbolRunProperties52 = new NumberingSymbolRunProperties();
            RunFonts runFonts1121 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };

            numberingSymbolRunProperties52.Append(runFonts1121);

            level52.Append(startNumberingValue51);
            level52.Append(numberingFormat52);
            level52.Append(levelText52);
            level52.Append(levelJustification52);
            level52.Append(previousParagraphProperties52);
            level52.Append(numberingSymbolRunProperties52);

            Level level53 = new Level() { LevelIndex = 7, TemplateCode = "04090003", Tentative = true };
            StartNumberingValue startNumberingValue52 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat53 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText53 = new LevelText() { Val = "o" };
            LevelJustification levelJustification53 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties53 = new PreviousParagraphProperties();
            Indentation indentation81 = new Indentation() { Start = "5760", Hanging = "360" };

            previousParagraphProperties53.Append(indentation81);

            NumberingSymbolRunProperties numberingSymbolRunProperties53 = new NumberingSymbolRunProperties();
            RunFonts runFonts1122 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New", ComplexScript = "Courier New" };

            numberingSymbolRunProperties53.Append(runFonts1122);

            level53.Append(startNumberingValue52);
            level53.Append(numberingFormat53);
            level53.Append(levelText53);
            level53.Append(levelJustification53);
            level53.Append(previousParagraphProperties53);
            level53.Append(numberingSymbolRunProperties53);

            Level level54 = new Level() { LevelIndex = 8, TemplateCode = "04090005", Tentative = true };
            StartNumberingValue startNumberingValue53 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat54 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText54 = new LevelText() { Val = "§" };
            LevelJustification levelJustification54 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties54 = new PreviousParagraphProperties();
            Indentation indentation82 = new Indentation() { Start = "6480", Hanging = "360" };

            previousParagraphProperties54.Append(indentation82);

            NumberingSymbolRunProperties numberingSymbolRunProperties54 = new NumberingSymbolRunProperties();
            RunFonts runFonts1123 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };

            numberingSymbolRunProperties54.Append(runFonts1123);

            level54.Append(startNumberingValue53);
            level54.Append(numberingFormat54);
            level54.Append(levelText54);
            level54.Append(levelJustification54);
            level54.Append(previousParagraphProperties54);
            level54.Append(numberingSymbolRunProperties54);

            abstractNum6.Append(nsid6);
            abstractNum6.Append(multiLevelType6);
            abstractNum6.Append(templateCode6);
            abstractNum6.Append(level46);
            abstractNum6.Append(level47);
            abstractNum6.Append(level48);
            abstractNum6.Append(level49);
            abstractNum6.Append(level50);
            abstractNum6.Append(level51);
            abstractNum6.Append(level52);
            abstractNum6.Append(level53);
            abstractNum6.Append(level54);

            AbstractNum abstractNum7 = new AbstractNum() { AbstractNumberId = 6 };
            abstractNum7.SetAttribute(new OpenXmlAttribute("w15", "restartNumberingAfterBreak", "http://schemas.microsoft.com/office/word/2012/wordml", "0"));
            Nsid nsid7 = new Nsid() { Val = "4EC82650" };
            MultiLevelType multiLevelType7 = new MultiLevelType() { Val = MultiLevelValues.HybridMultilevel };
            TemplateCode templateCode7 = new TemplateCode() { Val = "1A66371E" };

            Level level55 = new Level() { LevelIndex = 0, TemplateCode = "04090001" };
            StartNumberingValue startNumberingValue54 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat55 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText55 = new LevelText() { Val = "·" };
            LevelJustification levelJustification55 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties55 = new PreviousParagraphProperties();
            Indentation indentation83 = new Indentation() { Start = "720", Hanging = "360" };

            previousParagraphProperties55.Append(indentation83);

            NumberingSymbolRunProperties numberingSymbolRunProperties55 = new NumberingSymbolRunProperties();
            RunFonts runFonts1124 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };

            numberingSymbolRunProperties55.Append(runFonts1124);

            level55.Append(startNumberingValue54);
            level55.Append(numberingFormat55);
            level55.Append(levelText55);
            level55.Append(levelJustification55);
            level55.Append(previousParagraphProperties55);
            level55.Append(numberingSymbolRunProperties55);

            Level level56 = new Level() { LevelIndex = 1, TemplateCode = "04090003", Tentative = true };
            StartNumberingValue startNumberingValue55 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat56 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText56 = new LevelText() { Val = "o" };
            LevelJustification levelJustification56 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties56 = new PreviousParagraphProperties();
            Indentation indentation84 = new Indentation() { Start = "1440", Hanging = "360" };

            previousParagraphProperties56.Append(indentation84);

            NumberingSymbolRunProperties numberingSymbolRunProperties56 = new NumberingSymbolRunProperties();
            RunFonts runFonts1125 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New" };

            numberingSymbolRunProperties56.Append(runFonts1125);

            level56.Append(startNumberingValue55);
            level56.Append(numberingFormat56);
            level56.Append(levelText56);
            level56.Append(levelJustification56);
            level56.Append(previousParagraphProperties56);
            level56.Append(numberingSymbolRunProperties56);

            Level level57 = new Level() { LevelIndex = 2, TemplateCode = "04090005", Tentative = true };
            StartNumberingValue startNumberingValue56 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat57 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText57 = new LevelText() { Val = "§" };
            LevelJustification levelJustification57 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties57 = new PreviousParagraphProperties();
            Indentation indentation85 = new Indentation() { Start = "2160", Hanging = "360" };

            previousParagraphProperties57.Append(indentation85);

            NumberingSymbolRunProperties numberingSymbolRunProperties57 = new NumberingSymbolRunProperties();
            RunFonts runFonts1126 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };

            numberingSymbolRunProperties57.Append(runFonts1126);

            level57.Append(startNumberingValue56);
            level57.Append(numberingFormat57);
            level57.Append(levelText57);
            level57.Append(levelJustification57);
            level57.Append(previousParagraphProperties57);
            level57.Append(numberingSymbolRunProperties57);

            Level level58 = new Level() { LevelIndex = 3, TemplateCode = "04090001", Tentative = true };
            StartNumberingValue startNumberingValue57 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat58 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText58 = new LevelText() { Val = "·" };
            LevelJustification levelJustification58 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties58 = new PreviousParagraphProperties();
            Indentation indentation86 = new Indentation() { Start = "2880", Hanging = "360" };

            previousParagraphProperties58.Append(indentation86);

            NumberingSymbolRunProperties numberingSymbolRunProperties58 = new NumberingSymbolRunProperties();
            RunFonts runFonts1127 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };

            numberingSymbolRunProperties58.Append(runFonts1127);

            level58.Append(startNumberingValue57);
            level58.Append(numberingFormat58);
            level58.Append(levelText58);
            level58.Append(levelJustification58);
            level58.Append(previousParagraphProperties58);
            level58.Append(numberingSymbolRunProperties58);

            Level level59 = new Level() { LevelIndex = 4, TemplateCode = "04090003", Tentative = true };
            StartNumberingValue startNumberingValue58 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat59 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText59 = new LevelText() { Val = "o" };
            LevelJustification levelJustification59 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties59 = new PreviousParagraphProperties();
            Indentation indentation87 = new Indentation() { Start = "3600", Hanging = "360" };

            previousParagraphProperties59.Append(indentation87);

            NumberingSymbolRunProperties numberingSymbolRunProperties59 = new NumberingSymbolRunProperties();
            RunFonts runFonts1128 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New" };

            numberingSymbolRunProperties59.Append(runFonts1128);

            level59.Append(startNumberingValue58);
            level59.Append(numberingFormat59);
            level59.Append(levelText59);
            level59.Append(levelJustification59);
            level59.Append(previousParagraphProperties59);
            level59.Append(numberingSymbolRunProperties59);

            Level level60 = new Level() { LevelIndex = 5, TemplateCode = "04090005", Tentative = true };
            StartNumberingValue startNumberingValue59 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat60 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText60 = new LevelText() { Val = "§" };
            LevelJustification levelJustification60 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties60 = new PreviousParagraphProperties();
            Indentation indentation88 = new Indentation() { Start = "4320", Hanging = "360" };

            previousParagraphProperties60.Append(indentation88);

            NumberingSymbolRunProperties numberingSymbolRunProperties60 = new NumberingSymbolRunProperties();
            RunFonts runFonts1129 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };

            numberingSymbolRunProperties60.Append(runFonts1129);

            level60.Append(startNumberingValue59);
            level60.Append(numberingFormat60);
            level60.Append(levelText60);
            level60.Append(levelJustification60);
            level60.Append(previousParagraphProperties60);
            level60.Append(numberingSymbolRunProperties60);

            Level level61 = new Level() { LevelIndex = 6, TemplateCode = "04090001", Tentative = true };
            StartNumberingValue startNumberingValue60 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat61 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText61 = new LevelText() { Val = "·" };
            LevelJustification levelJustification61 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties61 = new PreviousParagraphProperties();
            Indentation indentation89 = new Indentation() { Start = "5040", Hanging = "360" };

            previousParagraphProperties61.Append(indentation89);

            NumberingSymbolRunProperties numberingSymbolRunProperties61 = new NumberingSymbolRunProperties();
            RunFonts runFonts1130 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };

            numberingSymbolRunProperties61.Append(runFonts1130);

            level61.Append(startNumberingValue60);
            level61.Append(numberingFormat61);
            level61.Append(levelText61);
            level61.Append(levelJustification61);
            level61.Append(previousParagraphProperties61);
            level61.Append(numberingSymbolRunProperties61);

            Level level62 = new Level() { LevelIndex = 7, TemplateCode = "04090003", Tentative = true };
            StartNumberingValue startNumberingValue61 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat62 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText62 = new LevelText() { Val = "o" };
            LevelJustification levelJustification62 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties62 = new PreviousParagraphProperties();
            Indentation indentation90 = new Indentation() { Start = "5760", Hanging = "360" };

            previousParagraphProperties62.Append(indentation90);

            NumberingSymbolRunProperties numberingSymbolRunProperties62 = new NumberingSymbolRunProperties();
            RunFonts runFonts1131 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New" };

            numberingSymbolRunProperties62.Append(runFonts1131);

            level62.Append(startNumberingValue61);
            level62.Append(numberingFormat62);
            level62.Append(levelText62);
            level62.Append(levelJustification62);
            level62.Append(previousParagraphProperties62);
            level62.Append(numberingSymbolRunProperties62);

            Level level63 = new Level() { LevelIndex = 8, TemplateCode = "04090005", Tentative = true };
            StartNumberingValue startNumberingValue62 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat63 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText63 = new LevelText() { Val = "§" };
            LevelJustification levelJustification63 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties63 = new PreviousParagraphProperties();
            Indentation indentation91 = new Indentation() { Start = "6480", Hanging = "360" };

            previousParagraphProperties63.Append(indentation91);

            NumberingSymbolRunProperties numberingSymbolRunProperties63 = new NumberingSymbolRunProperties();
            RunFonts runFonts1132 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };

            numberingSymbolRunProperties63.Append(runFonts1132);

            level63.Append(startNumberingValue62);
            level63.Append(numberingFormat63);
            level63.Append(levelText63);
            level63.Append(levelJustification63);
            level63.Append(previousParagraphProperties63);
            level63.Append(numberingSymbolRunProperties63);

            abstractNum7.Append(nsid7);
            abstractNum7.Append(multiLevelType7);
            abstractNum7.Append(templateCode7);
            abstractNum7.Append(level55);
            abstractNum7.Append(level56);
            abstractNum7.Append(level57);
            abstractNum7.Append(level58);
            abstractNum7.Append(level59);
            abstractNum7.Append(level60);
            abstractNum7.Append(level61);
            abstractNum7.Append(level62);
            abstractNum7.Append(level63);

            AbstractNum abstractNum8 = new AbstractNum() { AbstractNumberId = 7 };
            abstractNum8.SetAttribute(new OpenXmlAttribute("w15", "restartNumberingAfterBreak", "http://schemas.microsoft.com/office/word/2012/wordml", "0"));
            Nsid nsid8 = new Nsid() { Val = "558D3D84" };
            MultiLevelType multiLevelType8 = new MultiLevelType() { Val = MultiLevelValues.HybridMultilevel };
            TemplateCode templateCode8 = new TemplateCode() { Val = "53183C44" };

            Level level64 = new Level() { LevelIndex = 0, TemplateCode = "04090003" };
            StartNumberingValue startNumberingValue63 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat64 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText64 = new LevelText() { Val = "o" };
            LevelJustification levelJustification64 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties64 = new PreviousParagraphProperties();
            Indentation indentation92 = new Indentation() { Start = "360", Hanging = "360" };

            previousParagraphProperties64.Append(indentation92);

            NumberingSymbolRunProperties numberingSymbolRunProperties64 = new NumberingSymbolRunProperties();
            RunFonts runFonts1133 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New", ComplexScript = "Courier New" };

            numberingSymbolRunProperties64.Append(runFonts1133);

            level64.Append(startNumberingValue63);
            level64.Append(numberingFormat64);
            level64.Append(levelText64);
            level64.Append(levelJustification64);
            level64.Append(previousParagraphProperties64);
            level64.Append(numberingSymbolRunProperties64);

            Level level65 = new Level() { LevelIndex = 1, TemplateCode = "04090003", Tentative = true };
            StartNumberingValue startNumberingValue64 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat65 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText65 = new LevelText() { Val = "o" };
            LevelJustification levelJustification65 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties65 = new PreviousParagraphProperties();
            Indentation indentation93 = new Indentation() { Start = "1080", Hanging = "360" };

            previousParagraphProperties65.Append(indentation93);

            NumberingSymbolRunProperties numberingSymbolRunProperties65 = new NumberingSymbolRunProperties();
            RunFonts runFonts1134 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New", ComplexScript = "Courier New" };

            numberingSymbolRunProperties65.Append(runFonts1134);

            level65.Append(startNumberingValue64);
            level65.Append(numberingFormat65);
            level65.Append(levelText65);
            level65.Append(levelJustification65);
            level65.Append(previousParagraphProperties65);
            level65.Append(numberingSymbolRunProperties65);

            Level level66 = new Level() { LevelIndex = 2, TemplateCode = "04090005", Tentative = true };
            StartNumberingValue startNumberingValue65 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat66 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText66 = new LevelText() { Val = "§" };
            LevelJustification levelJustification66 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties66 = new PreviousParagraphProperties();
            Indentation indentation94 = new Indentation() { Start = "1800", Hanging = "360" };

            previousParagraphProperties66.Append(indentation94);

            NumberingSymbolRunProperties numberingSymbolRunProperties66 = new NumberingSymbolRunProperties();
            RunFonts runFonts1135 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };

            numberingSymbolRunProperties66.Append(runFonts1135);

            level66.Append(startNumberingValue65);
            level66.Append(numberingFormat66);
            level66.Append(levelText66);
            level66.Append(levelJustification66);
            level66.Append(previousParagraphProperties66);
            level66.Append(numberingSymbolRunProperties66);

            Level level67 = new Level() { LevelIndex = 3, TemplateCode = "04090001", Tentative = true };
            StartNumberingValue startNumberingValue66 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat67 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText67 = new LevelText() { Val = "·" };
            LevelJustification levelJustification67 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties67 = new PreviousParagraphProperties();
            Indentation indentation95 = new Indentation() { Start = "2520", Hanging = "360" };

            previousParagraphProperties67.Append(indentation95);

            NumberingSymbolRunProperties numberingSymbolRunProperties67 = new NumberingSymbolRunProperties();
            RunFonts runFonts1136 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };

            numberingSymbolRunProperties67.Append(runFonts1136);

            level67.Append(startNumberingValue66);
            level67.Append(numberingFormat67);
            level67.Append(levelText67);
            level67.Append(levelJustification67);
            level67.Append(previousParagraphProperties67);
            level67.Append(numberingSymbolRunProperties67);

            Level level68 = new Level() { LevelIndex = 4, TemplateCode = "04090003", Tentative = true };
            StartNumberingValue startNumberingValue67 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat68 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText68 = new LevelText() { Val = "o" };
            LevelJustification levelJustification68 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties68 = new PreviousParagraphProperties();
            Indentation indentation96 = new Indentation() { Start = "3240", Hanging = "360" };

            previousParagraphProperties68.Append(indentation96);

            NumberingSymbolRunProperties numberingSymbolRunProperties68 = new NumberingSymbolRunProperties();
            RunFonts runFonts1137 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New", ComplexScript = "Courier New" };

            numberingSymbolRunProperties68.Append(runFonts1137);

            level68.Append(startNumberingValue67);
            level68.Append(numberingFormat68);
            level68.Append(levelText68);
            level68.Append(levelJustification68);
            level68.Append(previousParagraphProperties68);
            level68.Append(numberingSymbolRunProperties68);

            Level level69 = new Level() { LevelIndex = 5, TemplateCode = "04090005", Tentative = true };
            StartNumberingValue startNumberingValue68 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat69 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText69 = new LevelText() { Val = "§" };
            LevelJustification levelJustification69 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties69 = new PreviousParagraphProperties();
            Indentation indentation97 = new Indentation() { Start = "3960", Hanging = "360" };

            previousParagraphProperties69.Append(indentation97);

            NumberingSymbolRunProperties numberingSymbolRunProperties69 = new NumberingSymbolRunProperties();
            RunFonts runFonts1138 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };

            numberingSymbolRunProperties69.Append(runFonts1138);

            level69.Append(startNumberingValue68);
            level69.Append(numberingFormat69);
            level69.Append(levelText69);
            level69.Append(levelJustification69);
            level69.Append(previousParagraphProperties69);
            level69.Append(numberingSymbolRunProperties69);

            Level level70 = new Level() { LevelIndex = 6, TemplateCode = "04090001", Tentative = true };
            StartNumberingValue startNumberingValue69 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat70 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText70 = new LevelText() { Val = "·" };
            LevelJustification levelJustification70 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties70 = new PreviousParagraphProperties();
            Indentation indentation98 = new Indentation() { Start = "4680", Hanging = "360" };

            previousParagraphProperties70.Append(indentation98);

            NumberingSymbolRunProperties numberingSymbolRunProperties70 = new NumberingSymbolRunProperties();
            RunFonts runFonts1139 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };

            numberingSymbolRunProperties70.Append(runFonts1139);

            level70.Append(startNumberingValue69);
            level70.Append(numberingFormat70);
            level70.Append(levelText70);
            level70.Append(levelJustification70);
            level70.Append(previousParagraphProperties70);
            level70.Append(numberingSymbolRunProperties70);

            Level level71 = new Level() { LevelIndex = 7, TemplateCode = "04090003", Tentative = true };
            StartNumberingValue startNumberingValue70 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat71 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText71 = new LevelText() { Val = "o" };
            LevelJustification levelJustification71 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties71 = new PreviousParagraphProperties();
            Indentation indentation99 = new Indentation() { Start = "5400", Hanging = "360" };

            previousParagraphProperties71.Append(indentation99);

            NumberingSymbolRunProperties numberingSymbolRunProperties71 = new NumberingSymbolRunProperties();
            RunFonts runFonts1140 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New", ComplexScript = "Courier New" };

            numberingSymbolRunProperties71.Append(runFonts1140);

            level71.Append(startNumberingValue70);
            level71.Append(numberingFormat71);
            level71.Append(levelText71);
            level71.Append(levelJustification71);
            level71.Append(previousParagraphProperties71);
            level71.Append(numberingSymbolRunProperties71);

            Level level72 = new Level() { LevelIndex = 8, TemplateCode = "04090005", Tentative = true };
            StartNumberingValue startNumberingValue71 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat72 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText72 = new LevelText() { Val = "§" };
            LevelJustification levelJustification72 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties72 = new PreviousParagraphProperties();
            Indentation indentation100 = new Indentation() { Start = "6120", Hanging = "360" };

            previousParagraphProperties72.Append(indentation100);

            NumberingSymbolRunProperties numberingSymbolRunProperties72 = new NumberingSymbolRunProperties();
            RunFonts runFonts1141 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };

            numberingSymbolRunProperties72.Append(runFonts1141);

            level72.Append(startNumberingValue71);
            level72.Append(numberingFormat72);
            level72.Append(levelText72);
            level72.Append(levelJustification72);
            level72.Append(previousParagraphProperties72);
            level72.Append(numberingSymbolRunProperties72);

            abstractNum8.Append(nsid8);
            abstractNum8.Append(multiLevelType8);
            abstractNum8.Append(templateCode8);
            abstractNum8.Append(level64);
            abstractNum8.Append(level65);
            abstractNum8.Append(level66);
            abstractNum8.Append(level67);
            abstractNum8.Append(level68);
            abstractNum8.Append(level69);
            abstractNum8.Append(level70);
            abstractNum8.Append(level71);
            abstractNum8.Append(level72);

            AbstractNum abstractNum9 = new AbstractNum() { AbstractNumberId = 8 };
            abstractNum9.SetAttribute(new OpenXmlAttribute("w15", "restartNumberingAfterBreak", "http://schemas.microsoft.com/office/word/2012/wordml", "0"));
            Nsid nsid9 = new Nsid() { Val = "5E0A7050" };
            MultiLevelType multiLevelType9 = new MultiLevelType() { Val = MultiLevelValues.HybridMultilevel };
            TemplateCode templateCode9 = new TemplateCode() { Val = "0F3CAC40" };

            Level level73 = new Level() { LevelIndex = 0, TemplateCode = "04090001" };
            StartNumberingValue startNumberingValue72 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat73 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText73 = new LevelText() { Val = "·" };
            LevelJustification levelJustification73 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties73 = new PreviousParagraphProperties();
            Indentation indentation101 = new Indentation() { Start = "630", Hanging = "360" };

            previousParagraphProperties73.Append(indentation101);

            NumberingSymbolRunProperties numberingSymbolRunProperties73 = new NumberingSymbolRunProperties();
            RunFonts runFonts1142 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };

            numberingSymbolRunProperties73.Append(runFonts1142);

            level73.Append(startNumberingValue72);
            level73.Append(numberingFormat73);
            level73.Append(levelText73);
            level73.Append(levelJustification73);
            level73.Append(previousParagraphProperties73);
            level73.Append(numberingSymbolRunProperties73);

            Level level74 = new Level() { LevelIndex = 1, TemplateCode = "04090003" };
            StartNumberingValue startNumberingValue73 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat74 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText74 = new LevelText() { Val = "o" };
            LevelJustification levelJustification74 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties74 = new PreviousParagraphProperties();
            Indentation indentation102 = new Indentation() { Start = "1440", Hanging = "360" };

            previousParagraphProperties74.Append(indentation102);

            NumberingSymbolRunProperties numberingSymbolRunProperties74 = new NumberingSymbolRunProperties();
            RunFonts runFonts1143 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New", ComplexScript = "Courier New" };

            numberingSymbolRunProperties74.Append(runFonts1143);

            level74.Append(startNumberingValue73);
            level74.Append(numberingFormat74);
            level74.Append(levelText74);
            level74.Append(levelJustification74);
            level74.Append(previousParagraphProperties74);
            level74.Append(numberingSymbolRunProperties74);

            Level level75 = new Level() { LevelIndex = 2, TemplateCode = "04090005", Tentative = true };
            StartNumberingValue startNumberingValue74 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat75 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText75 = new LevelText() { Val = "§" };
            LevelJustification levelJustification75 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties75 = new PreviousParagraphProperties();
            Indentation indentation103 = new Indentation() { Start = "2160", Hanging = "360" };

            previousParagraphProperties75.Append(indentation103);

            NumberingSymbolRunProperties numberingSymbolRunProperties75 = new NumberingSymbolRunProperties();
            RunFonts runFonts1144 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };

            numberingSymbolRunProperties75.Append(runFonts1144);

            level75.Append(startNumberingValue74);
            level75.Append(numberingFormat75);
            level75.Append(levelText75);
            level75.Append(levelJustification75);
            level75.Append(previousParagraphProperties75);
            level75.Append(numberingSymbolRunProperties75);

            Level level76 = new Level() { LevelIndex = 3, TemplateCode = "04090001", Tentative = true };
            StartNumberingValue startNumberingValue75 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat76 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText76 = new LevelText() { Val = "·" };
            LevelJustification levelJustification76 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties76 = new PreviousParagraphProperties();
            Indentation indentation104 = new Indentation() { Start = "2880", Hanging = "360" };

            previousParagraphProperties76.Append(indentation104);

            NumberingSymbolRunProperties numberingSymbolRunProperties76 = new NumberingSymbolRunProperties();
            RunFonts runFonts1145 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };

            numberingSymbolRunProperties76.Append(runFonts1145);

            level76.Append(startNumberingValue75);
            level76.Append(numberingFormat76);
            level76.Append(levelText76);
            level76.Append(levelJustification76);
            level76.Append(previousParagraphProperties76);
            level76.Append(numberingSymbolRunProperties76);

            Level level77 = new Level() { LevelIndex = 4, TemplateCode = "04090003", Tentative = true };
            StartNumberingValue startNumberingValue76 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat77 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText77 = new LevelText() { Val = "o" };
            LevelJustification levelJustification77 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties77 = new PreviousParagraphProperties();
            Indentation indentation105 = new Indentation() { Start = "3600", Hanging = "360" };

            previousParagraphProperties77.Append(indentation105);

            NumberingSymbolRunProperties numberingSymbolRunProperties77 = new NumberingSymbolRunProperties();
            RunFonts runFonts1146 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New", ComplexScript = "Courier New" };

            numberingSymbolRunProperties77.Append(runFonts1146);

            level77.Append(startNumberingValue76);
            level77.Append(numberingFormat77);
            level77.Append(levelText77);
            level77.Append(levelJustification77);
            level77.Append(previousParagraphProperties77);
            level77.Append(numberingSymbolRunProperties77);

            Level level78 = new Level() { LevelIndex = 5, TemplateCode = "04090005", Tentative = true };
            StartNumberingValue startNumberingValue77 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat78 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText78 = new LevelText() { Val = "§" };
            LevelJustification levelJustification78 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties78 = new PreviousParagraphProperties();
            Indentation indentation106 = new Indentation() { Start = "4320", Hanging = "360" };

            previousParagraphProperties78.Append(indentation106);

            NumberingSymbolRunProperties numberingSymbolRunProperties78 = new NumberingSymbolRunProperties();
            RunFonts runFonts1147 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };

            numberingSymbolRunProperties78.Append(runFonts1147);

            level78.Append(startNumberingValue77);
            level78.Append(numberingFormat78);
            level78.Append(levelText78);
            level78.Append(levelJustification78);
            level78.Append(previousParagraphProperties78);
            level78.Append(numberingSymbolRunProperties78);

            Level level79 = new Level() { LevelIndex = 6, TemplateCode = "04090001", Tentative = true };
            StartNumberingValue startNumberingValue78 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat79 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText79 = new LevelText() { Val = "·" };
            LevelJustification levelJustification79 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties79 = new PreviousParagraphProperties();
            Indentation indentation107 = new Indentation() { Start = "5040", Hanging = "360" };

            previousParagraphProperties79.Append(indentation107);

            NumberingSymbolRunProperties numberingSymbolRunProperties79 = new NumberingSymbolRunProperties();
            RunFonts runFonts1148 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };

            numberingSymbolRunProperties79.Append(runFonts1148);

            level79.Append(startNumberingValue78);
            level79.Append(numberingFormat79);
            level79.Append(levelText79);
            level79.Append(levelJustification79);
            level79.Append(previousParagraphProperties79);
            level79.Append(numberingSymbolRunProperties79);

            Level level80 = new Level() { LevelIndex = 7, TemplateCode = "04090003", Tentative = true };
            StartNumberingValue startNumberingValue79 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat80 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText80 = new LevelText() { Val = "o" };
            LevelJustification levelJustification80 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties80 = new PreviousParagraphProperties();
            Indentation indentation108 = new Indentation() { Start = "5760", Hanging = "360" };

            previousParagraphProperties80.Append(indentation108);

            NumberingSymbolRunProperties numberingSymbolRunProperties80 = new NumberingSymbolRunProperties();
            RunFonts runFonts1149 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New", ComplexScript = "Courier New" };

            numberingSymbolRunProperties80.Append(runFonts1149);

            level80.Append(startNumberingValue79);
            level80.Append(numberingFormat80);
            level80.Append(levelText80);
            level80.Append(levelJustification80);
            level80.Append(previousParagraphProperties80);
            level80.Append(numberingSymbolRunProperties80);

            Level level81 = new Level() { LevelIndex = 8, TemplateCode = "04090005", Tentative = true };
            StartNumberingValue startNumberingValue80 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat81 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText81 = new LevelText() { Val = "§" };
            LevelJustification levelJustification81 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties81 = new PreviousParagraphProperties();
            Indentation indentation109 = new Indentation() { Start = "6480", Hanging = "360" };

            previousParagraphProperties81.Append(indentation109);

            NumberingSymbolRunProperties numberingSymbolRunProperties81 = new NumberingSymbolRunProperties();
            RunFonts runFonts1150 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };

            numberingSymbolRunProperties81.Append(runFonts1150);

            level81.Append(startNumberingValue80);
            level81.Append(numberingFormat81);
            level81.Append(levelText81);
            level81.Append(levelJustification81);
            level81.Append(previousParagraphProperties81);
            level81.Append(numberingSymbolRunProperties81);

            abstractNum9.Append(nsid9);
            abstractNum9.Append(multiLevelType9);
            abstractNum9.Append(templateCode9);
            abstractNum9.Append(level73);
            abstractNum9.Append(level74);
            abstractNum9.Append(level75);
            abstractNum9.Append(level76);
            abstractNum9.Append(level77);
            abstractNum9.Append(level78);
            abstractNum9.Append(level79);
            abstractNum9.Append(level80);
            abstractNum9.Append(level81);

            AbstractNum abstractNum10 = new AbstractNum() { AbstractNumberId = 9 };
            abstractNum10.SetAttribute(new OpenXmlAttribute("w15", "restartNumberingAfterBreak", "http://schemas.microsoft.com/office/word/2012/wordml", "0"));
            Nsid nsid10 = new Nsid() { Val = "79894ABD" };
            MultiLevelType multiLevelType10 = new MultiLevelType() { Val = MultiLevelValues.Multilevel };
            TemplateCode templateCode10 = new TemplateCode() { Val = "D8BC25B6" };

            Level level82 = new Level() { LevelIndex = 0 };
            StartNumberingValue startNumberingValue81 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat82 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText82 = new LevelText() { Val = "·" };
            LevelJustification levelJustification82 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties82 = new PreviousParagraphProperties();

            Tabs tabs48 = new Tabs();
            TabStop tabStop50 = new TabStop() { Val = TabStopValues.Number, Position = 720 };

            tabs48.Append(tabStop50);
            Indentation indentation110 = new Indentation() { Start = "720", Hanging = "360" };

            previousParagraphProperties82.Append(tabs48);
            previousParagraphProperties82.Append(indentation110);

            NumberingSymbolRunProperties numberingSymbolRunProperties82 = new NumberingSymbolRunProperties();
            RunFonts runFonts1151 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };
            FontSize fontSize1078 = new FontSize() { Val = "20" };

            numberingSymbolRunProperties82.Append(runFonts1151);
            numberingSymbolRunProperties82.Append(fontSize1078);

            level82.Append(startNumberingValue81);
            level82.Append(numberingFormat82);
            level82.Append(levelText82);
            level82.Append(levelJustification82);
            level82.Append(previousParagraphProperties82);
            level82.Append(numberingSymbolRunProperties82);

            Level level83 = new Level() { LevelIndex = 1 };
            StartNumberingValue startNumberingValue82 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat83 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText83 = new LevelText() { Val = "·" };
            LevelJustification levelJustification83 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties83 = new PreviousParagraphProperties();

            Tabs tabs49 = new Tabs();
            TabStop tabStop51 = new TabStop() { Val = TabStopValues.Number, Position = 1440 };

            tabs49.Append(tabStop51);
            Indentation indentation111 = new Indentation() { Start = "1440", Hanging = "360" };

            previousParagraphProperties83.Append(tabs49);
            previousParagraphProperties83.Append(indentation111);

            NumberingSymbolRunProperties numberingSymbolRunProperties83 = new NumberingSymbolRunProperties();
            RunFonts runFonts1152 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };
            FontSize fontSize1079 = new FontSize() { Val = "20" };

            numberingSymbolRunProperties83.Append(runFonts1152);
            numberingSymbolRunProperties83.Append(fontSize1079);

            level83.Append(startNumberingValue82);
            level83.Append(numberingFormat83);
            level83.Append(levelText83);
            level83.Append(levelJustification83);
            level83.Append(previousParagraphProperties83);
            level83.Append(numberingSymbolRunProperties83);

            Level level84 = new Level() { LevelIndex = 2 };
            StartNumberingValue startNumberingValue83 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat84 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText84 = new LevelText() { Val = "·" };
            LevelJustification levelJustification84 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties84 = new PreviousParagraphProperties();

            Tabs tabs50 = new Tabs();
            TabStop tabStop52 = new TabStop() { Val = TabStopValues.Number, Position = 2160 };

            tabs50.Append(tabStop52);
            Indentation indentation112 = new Indentation() { Start = "2160", Hanging = "360" };

            previousParagraphProperties84.Append(tabs50);
            previousParagraphProperties84.Append(indentation112);

            NumberingSymbolRunProperties numberingSymbolRunProperties84 = new NumberingSymbolRunProperties();
            RunFonts runFonts1153 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };
            FontSize fontSize1080 = new FontSize() { Val = "20" };

            numberingSymbolRunProperties84.Append(runFonts1153);
            numberingSymbolRunProperties84.Append(fontSize1080);

            level84.Append(startNumberingValue83);
            level84.Append(numberingFormat84);
            level84.Append(levelText84);
            level84.Append(levelJustification84);
            level84.Append(previousParagraphProperties84);
            level84.Append(numberingSymbolRunProperties84);

            Level level85 = new Level() { LevelIndex = 3, Tentative = true };
            StartNumberingValue startNumberingValue84 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat85 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText85 = new LevelText() { Val = "·" };
            LevelJustification levelJustification85 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties85 = new PreviousParagraphProperties();

            Tabs tabs51 = new Tabs();
            TabStop tabStop53 = new TabStop() { Val = TabStopValues.Number, Position = 2880 };

            tabs51.Append(tabStop53);
            Indentation indentation113 = new Indentation() { Start = "2880", Hanging = "360" };

            previousParagraphProperties85.Append(tabs51);
            previousParagraphProperties85.Append(indentation113);

            NumberingSymbolRunProperties numberingSymbolRunProperties85 = new NumberingSymbolRunProperties();
            RunFonts runFonts1154 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };
            FontSize fontSize1081 = new FontSize() { Val = "20" };

            numberingSymbolRunProperties85.Append(runFonts1154);
            numberingSymbolRunProperties85.Append(fontSize1081);

            level85.Append(startNumberingValue84);
            level85.Append(numberingFormat85);
            level85.Append(levelText85);
            level85.Append(levelJustification85);
            level85.Append(previousParagraphProperties85);
            level85.Append(numberingSymbolRunProperties85);

            Level level86 = new Level() { LevelIndex = 4, Tentative = true };
            StartNumberingValue startNumberingValue85 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat86 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText86 = new LevelText() { Val = "·" };
            LevelJustification levelJustification86 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties86 = new PreviousParagraphProperties();

            Tabs tabs52 = new Tabs();
            TabStop tabStop54 = new TabStop() { Val = TabStopValues.Number, Position = 3600 };

            tabs52.Append(tabStop54);
            Indentation indentation114 = new Indentation() { Start = "3600", Hanging = "360" };

            previousParagraphProperties86.Append(tabs52);
            previousParagraphProperties86.Append(indentation114);

            NumberingSymbolRunProperties numberingSymbolRunProperties86 = new NumberingSymbolRunProperties();
            RunFonts runFonts1155 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };
            FontSize fontSize1082 = new FontSize() { Val = "20" };

            numberingSymbolRunProperties86.Append(runFonts1155);
            numberingSymbolRunProperties86.Append(fontSize1082);

            level86.Append(startNumberingValue85);
            level86.Append(numberingFormat86);
            level86.Append(levelText86);
            level86.Append(levelJustification86);
            level86.Append(previousParagraphProperties86);
            level86.Append(numberingSymbolRunProperties86);

            Level level87 = new Level() { LevelIndex = 5, Tentative = true };
            StartNumberingValue startNumberingValue86 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat87 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText87 = new LevelText() { Val = "·" };
            LevelJustification levelJustification87 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties87 = new PreviousParagraphProperties();

            Tabs tabs53 = new Tabs();
            TabStop tabStop55 = new TabStop() { Val = TabStopValues.Number, Position = 4320 };

            tabs53.Append(tabStop55);
            Indentation indentation115 = new Indentation() { Start = "4320", Hanging = "360" };

            previousParagraphProperties87.Append(tabs53);
            previousParagraphProperties87.Append(indentation115);

            NumberingSymbolRunProperties numberingSymbolRunProperties87 = new NumberingSymbolRunProperties();
            RunFonts runFonts1156 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };
            FontSize fontSize1083 = new FontSize() { Val = "20" };

            numberingSymbolRunProperties87.Append(runFonts1156);
            numberingSymbolRunProperties87.Append(fontSize1083);

            level87.Append(startNumberingValue86);
            level87.Append(numberingFormat87);
            level87.Append(levelText87);
            level87.Append(levelJustification87);
            level87.Append(previousParagraphProperties87);
            level87.Append(numberingSymbolRunProperties87);

            Level level88 = new Level() { LevelIndex = 6, Tentative = true };
            StartNumberingValue startNumberingValue87 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat88 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText88 = new LevelText() { Val = "·" };
            LevelJustification levelJustification88 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties88 = new PreviousParagraphProperties();

            Tabs tabs54 = new Tabs();
            TabStop tabStop56 = new TabStop() { Val = TabStopValues.Number, Position = 5040 };

            tabs54.Append(tabStop56);
            Indentation indentation116 = new Indentation() { Start = "5040", Hanging = "360" };

            previousParagraphProperties88.Append(tabs54);
            previousParagraphProperties88.Append(indentation116);

            NumberingSymbolRunProperties numberingSymbolRunProperties88 = new NumberingSymbolRunProperties();
            RunFonts runFonts1157 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };
            FontSize fontSize1084 = new FontSize() { Val = "20" };

            numberingSymbolRunProperties88.Append(runFonts1157);
            numberingSymbolRunProperties88.Append(fontSize1084);

            level88.Append(startNumberingValue87);
            level88.Append(numberingFormat88);
            level88.Append(levelText88);
            level88.Append(levelJustification88);
            level88.Append(previousParagraphProperties88);
            level88.Append(numberingSymbolRunProperties88);

            Level level89 = new Level() { LevelIndex = 7, Tentative = true };
            StartNumberingValue startNumberingValue88 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat89 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText89 = new LevelText() { Val = "·" };
            LevelJustification levelJustification89 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties89 = new PreviousParagraphProperties();

            Tabs tabs55 = new Tabs();
            TabStop tabStop57 = new TabStop() { Val = TabStopValues.Number, Position = 5760 };

            tabs55.Append(tabStop57);
            Indentation indentation117 = new Indentation() { Start = "5760", Hanging = "360" };

            previousParagraphProperties89.Append(tabs55);
            previousParagraphProperties89.Append(indentation117);

            NumberingSymbolRunProperties numberingSymbolRunProperties89 = new NumberingSymbolRunProperties();
            RunFonts runFonts1158 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };
            FontSize fontSize1085 = new FontSize() { Val = "20" };

            numberingSymbolRunProperties89.Append(runFonts1158);
            numberingSymbolRunProperties89.Append(fontSize1085);

            level89.Append(startNumberingValue88);
            level89.Append(numberingFormat89);
            level89.Append(levelText89);
            level89.Append(levelJustification89);
            level89.Append(previousParagraphProperties89);
            level89.Append(numberingSymbolRunProperties89);

            Level level90 = new Level() { LevelIndex = 8, Tentative = true };
            StartNumberingValue startNumberingValue89 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat90 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText90 = new LevelText() { Val = "·" };
            LevelJustification levelJustification90 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties90 = new PreviousParagraphProperties();

            Tabs tabs56 = new Tabs();
            TabStop tabStop58 = new TabStop() { Val = TabStopValues.Number, Position = 6480 };

            tabs56.Append(tabStop58);
            Indentation indentation118 = new Indentation() { Start = "6480", Hanging = "360" };

            previousParagraphProperties90.Append(tabs56);
            previousParagraphProperties90.Append(indentation118);

            NumberingSymbolRunProperties numberingSymbolRunProperties90 = new NumberingSymbolRunProperties();
            RunFonts runFonts1159 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };
            FontSize fontSize1086 = new FontSize() { Val = "20" };

            numberingSymbolRunProperties90.Append(runFonts1159);
            numberingSymbolRunProperties90.Append(fontSize1086);

            level90.Append(startNumberingValue89);
            level90.Append(numberingFormat90);
            level90.Append(levelText90);
            level90.Append(levelJustification90);
            level90.Append(previousParagraphProperties90);
            level90.Append(numberingSymbolRunProperties90);

            abstractNum10.Append(nsid10);
            abstractNum10.Append(multiLevelType10);
            abstractNum10.Append(templateCode10);
            abstractNum10.Append(level82);
            abstractNum10.Append(level83);
            abstractNum10.Append(level84);
            abstractNum10.Append(level85);
            abstractNum10.Append(level86);
            abstractNum10.Append(level87);
            abstractNum10.Append(level88);
            abstractNum10.Append(level89);
            abstractNum10.Append(level90);

            NumberingInstance numberingInstance1 = new NumberingInstance() { NumberID = 1 };
            AbstractNumId abstractNumId1 = new AbstractNumId() { Val = 9 };

            numberingInstance1.Append(abstractNumId1);

            NumberingInstance numberingInstance2 = new NumberingInstance() { NumberID = 2 };
            AbstractNumId abstractNumId2 = new AbstractNumId() { Val = 3 };

            numberingInstance2.Append(abstractNumId2);

            NumberingInstance numberingInstance3 = new NumberingInstance() { NumberID = 3 };
            AbstractNumId abstractNumId3 = new AbstractNumId() { Val = 2 };

            numberingInstance3.Append(abstractNumId3);

            NumberingInstance numberingInstance4 = new NumberingInstance() { NumberID = 4 };
            AbstractNumId abstractNumId4 = new AbstractNumId() { Val = 1 };

            numberingInstance4.Append(abstractNumId4);

            NumberingInstance numberingInstance5 = new NumberingInstance() { NumberID = 5 };
            AbstractNumId abstractNumId5 = new AbstractNumId() { Val = 4 };

            numberingInstance5.Append(abstractNumId5);

            NumberingInstance numberingInstance6 = new NumberingInstance() { NumberID = 6 };
            AbstractNumId abstractNumId6 = new AbstractNumId() { Val = 0 };

            numberingInstance6.Append(abstractNumId6);

            NumberingInstance numberingInstance7 = new NumberingInstance() { NumberID = 7 };
            AbstractNumId abstractNumId7 = new AbstractNumId() { Val = 6 };

            numberingInstance7.Append(abstractNumId7);

            NumberingInstance numberingInstance8 = new NumberingInstance() { NumberID = 8 };
            AbstractNumId abstractNumId8 = new AbstractNumId() { Val = 8 };

            numberingInstance8.Append(abstractNumId8);

            NumberingInstance numberingInstance9 = new NumberingInstance() { NumberID = 9 };
            AbstractNumId abstractNumId9 = new AbstractNumId() { Val = 5 };

            numberingInstance9.Append(abstractNumId9);

            NumberingInstance numberingInstance10 = new NumberingInstance() { NumberID = 10 };
            AbstractNumId abstractNumId10 = new AbstractNumId() { Val = 7 };

            numberingInstance10.Append(abstractNumId10);

            numbering1.Append(abstractNum1);
            numbering1.Append(abstractNum2);
            numbering1.Append(abstractNum3);
            numbering1.Append(abstractNum4);
            numbering1.Append(abstractNum5);
            numbering1.Append(abstractNum6);
            numbering1.Append(abstractNum7);
            numbering1.Append(abstractNum8);
            numbering1.Append(abstractNum9);
            numbering1.Append(abstractNum10);
            numbering1.Append(numberingInstance1);
            numbering1.Append(numberingInstance2);
            numbering1.Append(numberingInstance3);
            numbering1.Append(numberingInstance4);
            numbering1.Append(numberingInstance5);
            numbering1.Append(numberingInstance6);
            numbering1.Append(numberingInstance7);
            numbering1.Append(numberingInstance8);
            numbering1.Append(numberingInstance9);
            numbering1.Append(numberingInstance10);

            numberingDefinitionsPart1.Numbering = numbering1;
        }
예제 #21
0
        public static void AppendList(
            WordprocessingDocument wordDoc, IEnumerable <MarkGeneralDataPoint> markGeneralDataPoints)
        {
            NumberingDefinitionsPart numberingPart = wordDoc.MainDocumentPart.NumberingDefinitionsPart;

            if (numberingPart == null)
            {
                numberingPart = wordDoc.MainDocumentPart.AddNewPart <NumberingDefinitionsPart>(
                    "NumberingDefinitionsPart1");
                Numbering element = new Numbering();
                element.Save(numberingPart);
            }

            var abstractNumberId = numberingPart.Numbering.Elements <AbstractNum>().Count() + 1;
            var abstractLevel    = new Level(
                new NumberingFormat()
            {
                Val = NumberFormatValues.Decimal
            },
                new LevelText()
            {
                Val = "%1"
            },
                new StartNumberingValue()
            {
                Val = 1,
            },
                new RunProperties()
            {
                RunFonts = new RunFonts()
                {
                    Ascii         = "GOST type B",
                    HighAnsi      = "GOST type B",
                    ComplexScript = "GOST type B"
                },
                Italic = new Italic()
                {
                    Val = OnOffValue.FromBoolean(true)
                },
                FontSize = new FontSize()
                {
                    Val = 26.ToString(),
                }
            })
            {
                LevelIndex = 0
            };
            var abstractLevel2 = new Level(
                new NumberingFormat()
            {
                Val = NumberFormatValues.Decimal
            },
                new LevelText()
            {
                Val = "%1.%2"
            },
                new StartNumberingValue()
            {
                Val = 1,
            },
                new RunProperties()
            {
                RunFonts = new RunFonts()
                {
                    Ascii         = "GOST type B",
                    HighAnsi      = "GOST type B",
                    ComplexScript = "GOST type B"
                },
                Italic = new Italic()
                {
                    Val = OnOffValue.FromBoolean(true)
                },
                FontSize = new FontSize()
                {
                    Val = 26.ToString(),
                }
            })
            {
                LevelIndex = 1
            };
            var abstractLevel3 = new Level(
                new NumberingFormat()
            {
                Val = NumberFormatValues.Bullet
            },
                new LevelText()
            {
                Val = "–"
            },
                new RunProperties()
            {
                RunFonts = new RunFonts()
                {
                    Ascii         = "Calibri",
                    HighAnsi      = "Calibri",
                    ComplexScript = "Calibri"
                },
            })
            {
                LevelIndex = 2
            };
            var abstractLevel4 = new Level(
                new LevelSuffix()
            {
                Val = LevelSuffixValues.Space
            })
            {
                LevelIndex = 3
            };

            var abstractNum = new AbstractNum(
                abstractLevel, abstractLevel2, abstractLevel3, abstractLevel4)
            {
                AbstractNumberId = abstractNumberId
            };

            if (abstractNumberId == 1)
            {
                numberingPart.Numbering.Append(abstractNum);
            }
            else
            {
                AbstractNum lastAbstractNum = numberingPart.Numbering.Elements <AbstractNum>().Last();
                numberingPart.Numbering.InsertAfter(abstractNum, lastAbstractNum);
            }

            var numberId = numberingPart.Numbering.Elements <NumberingInstance>().Count() + 1;
            NumberingInstance numberingInstance = new NumberingInstance()
            {
                NumberID = numberId
            };
            AbstractNumId abstractNumId = new AbstractNumId()
            {
                Val = abstractNumberId
            };

            numberingInstance.Append(abstractNumId);

            if (numberId == 1)
            {
                numberingPart.Numbering.Append(numberingInstance);
            }
            else
            {
                var lastNumberingInstance = numberingPart.Numbering.Elements <NumberingInstance>().Last();
                numberingPart.Numbering.InsertAfter(numberingInstance, lastNumberingInstance);
            }

            Body body = wordDoc.MainDocumentPart.Document.Body;
            var  markGeneralDataPointsList = markGeneralDataPoints.ToList();

            for (var i = 0; i < markGeneralDataPoints.Count(); i++)
            {
                var item = markGeneralDataPointsList[i];
                var spacingBetweenLines = new SpacingBetweenLines()
                {
                    After = "120", Line = "240"
                };
                var indentation = new Indentation()
                {
                    Left = "360", Right = "360", FirstLine = "720"
                };

                NumberingProperties numberingProperties;
                var pointText = item.Text;
                if (item.OrderNum == 1)
                {
                    numberingProperties = new NumberingProperties(
                        new NumberingLevelReference()
                    {
                        Val = 0
                    }, new NumberingId()
                    {
                        Val = numberId
                    });
                }
                else if (item.Text[0] == '#' && item.Text[1] == ' ')
                {
                    numberingProperties = new NumberingProperties(
                        new NumberingLevelReference()
                    {
                        Val = 1
                    }, new NumberingId()
                    {
                        Val = numberId
                    });

                    pointText = pointText.Substring(2) + ".";
                }
                else if (item.Text[0] == '-' && item.Text[1] == ' ')
                {
                    numberingProperties = new NumberingProperties(
                        new NumberingLevelReference()
                    {
                        Val = 2
                    }, new NumberingId()
                    {
                        Val = numberId
                    });

                    if (i == 0)
                    {
                        pointText = pointText.Substring(2) + ".";
                    }
                    else if (markGeneralDataPointsList[i - 1].OrderNum == 1)
                    {
                        pointText = pointText.Substring(2) + ".";
                    }
                    else if (markGeneralDataPointsList[i - 1].Text[0] == '#' &&
                             markGeneralDataPointsList[i - 1].Text[1] == ' ')
                    {
                        pointText = pointText.Substring(2) + ".";
                    }
                    else
                    {
                        pointText = pointText.Substring(2) + ";";
                    }
                }
                else
                {
                    numberingProperties = new NumberingProperties(
                        new NumberingLevelReference()
                    {
                        Val = 3
                    }, new NumberingId()
                    {
                        Val = numberId
                    });
                    pointText   = pointText + ".";
                    indentation = new Indentation()
                    {
                        Left = "360", Right = "360", FirstLine = "640"
                    };
                }

                var paragraphProperties = new ParagraphProperties(
                    numberingProperties, spacingBetweenLines, indentation);
                var newPara = new Paragraph(paragraphProperties);

                if (pointText.Contains('^'))
                {
                    var split = pointText.Split('^');
                    if (split.Count() > 1)
                    {
                        for (int k = 0; k < split.Count(); k++)
                        {
                            if (k > 0)
                            {
                                newPara.AppendChild(GetWordTextElement(split[k][0].ToString(), 26, false, true));
                            }
                            if (k == 0)
                            {
                                newPara.AppendChild(GetWordTextElement(split[k], 26));
                            }
                            else
                            if (split[k].Length > 1)
                            {
                                newPara.AppendChild(GetWordTextElement(split[k].Substring(1), 26));
                            }
                        }
                    }
                    else
                    {
                        newPara.AppendChild(GetWordTextElement(pointText, 26));
                    }
                }
                else
                {
                    newPara.AppendChild(GetWordTextElement(pointText, 26));
                }
                // if (pointText.Contains('^'))
                // {
                //     var split = pointText.Split("^2");
                //     if (split.Count() > 1)
                //     {
                //         for (int k = 0; k < split.Count(); k++)
                //         {
                //             if (k > 0)
                //             {
                //                 newPara.AppendChild(GetWordTextElement("2", 26, false, true));
                //             }
                //             newPara.AppendChild(GetWordTextElement(split[k], 26));
                //         }
                //         // var split2 = s.Split("^3");
                //         // if (s.Count() > 1)
                //         // {

                //         // }
                //     }
                //     else
                //     {
                //         split = pointText.Split("^3");
                //         if (split.Count() > 1)
                //         {
                //             for (int k = 0; k < split.Count(); k++)
                //             {
                //                 if (k > 0)
                //                 {
                //                     newPara.AppendChild(GetWordTextElement("3", 26, false, true));
                //                 }
                //                 newPara.AppendChild(GetWordTextElement(split[k], 26));
                //             }
                //         }
                //         else
                //             newPara.AppendChild(GetWordTextElement(pointText, 26));
                //     }
                // }
                // else
                //     newPara.AppendChild(GetWordTextElement(pointText, 26));
                body.PrependChild(newPara);
            }
        }
예제 #22
0
        public static void AddBulletList(WordprocessingDocument document, IEnumerable <Run> runList)
        {
            var numberingPart = document.MainDocumentPart.NumberingDefinitionsPart;

            if (numberingPart == null)
            {
                numberingPart =
                    document.MainDocumentPart.AddNewPart <NumberingDefinitionsPart>(
                        "NumberingDefinitionsPart001");
                var element = new Numbering();
                element.Save(numberingPart);
            }

            // Insert an AbstractNum into the numbering part numbering list.  The order seems to matter or it will not pass the
            // Open XML SDK Productivity Tools validation test.  AbstractNum comes first and then NumberingInstance and we want to
            // insert this AFTER the last AbstractNum and BEFORE the first NumberingInstance or we will get a validation error.
            var abstractNumberId = numberingPart.Numbering.Elements <AbstractNum>().Count() + 1;
            var abstractLevel    =
                new Level(new NumberingFormat()
            {
                Val = NumberFormatValues.Bullet
            }, new LevelText()
            {
                Val = "·"
            })
            {
                LevelIndex = 0
            };
            var abstractNum1 = new AbstractNum(abstractLevel)
            {
                AbstractNumberId = abstractNumberId
            };

            if (abstractNumberId == 1)
            {
                numberingPart.Numbering.Append(abstractNum1);
            }
            else
            {
                var lastAbstractNum = numberingPart.Numbering.Elements <AbstractNum>().Last();
                numberingPart.Numbering.InsertAfter(abstractNum1, lastAbstractNum);
            }

            // Insert an NumberingInstance into the numbering part numbering list.  The order seems to matter or it will not pass the
            // Open XML SDK Productivity Tools validation test.  AbstractNum comes first and then NumberingInstance and we want to
            // insert this AFTER the last NumberingInstance and AFTER all the AbstractNum entries or we will get a validation error.
            var numberId           = numberingPart.Numbering.Elements <NumberingInstance>().Count() + 1;
            var numberingInstance1 = new NumberingInstance()
            {
                NumberID = numberId
            };
            var abstractNumId1 = new AbstractNumId()
            {
                Val = abstractNumberId
            };

            numberingInstance1.Append(abstractNumId1);

            if (numberId == 1)
            {
                numberingPart.Numbering.Append(numberingInstance1);
            }
            else
            {
                var lastNumberingInstance = numberingPart.Numbering.Elements <NumberingInstance>().Last();
                numberingPart.Numbering.InsertAfter(numberingInstance1, lastNumberingInstance);
            }

            var body = document.MainDocumentPart.Document.Body;

            foreach (var runItem in runList)
            {
                // Create items for paragraph properties
                var numberingProperties = new NumberingProperties(new NumberingLevelReference()
                {
                    Val = 0
                },
                                                                  new NumberingId()
                {
                    Val = numberId
                });
                var spacingBetweenLines1 = new SpacingBetweenLines()
                {
                    After = "0"
                };                                                                  // Get rid of space between bullets
                var indentation = new Indentation()
                {
                    Left = "720", Hanging = "360"
                };                                                                   // correct indentation

                var paragraphMarkRunProperties1 = new ParagraphMarkRunProperties();
                var runFonts1 = new RunFonts()
                {
                    Ascii = "Symbol", HighAnsi = "Symbol"
                };
                paragraphMarkRunProperties1.Append(runFonts1);

                // create paragraph properties
                var paragraphProperties = new ParagraphProperties(numberingProperties, spacingBetweenLines1,
                                                                  indentation, paragraphMarkRunProperties1);

                // Create paragraph
                var newPara = new Paragraph(paragraphProperties);

                // Add run to the paragraph
                newPara.AppendChild(runItem);

                // Add one bullet item to the body
                body.AppendChild(newPara);
            }
        }
        private void AppendList(
            WordprocessingDocument wordDoc,
            IEnumerable <MarkGeneralDataPoint> markGeneralDataPoints,
            MarkOperatingConditions markOperatingConditions)
        {
            NumberingDefinitionsPart numberingPart = wordDoc.MainDocumentPart.NumberingDefinitionsPart;

            if (numberingPart == null)
            {
                numberingPart = wordDoc.MainDocumentPart.AddNewPart <NumberingDefinitionsPart>(
                    "NumberingDefinitionsPart1");
                Numbering element = new Numbering();
                element.Save(numberingPart);
            }

            var abstractNumberId = numberingPart.Numbering.Elements <AbstractNum>().Count() + 1;
            var abstractLevel    = new Level(
                new NumberingFormat()
            {
                Val = NumberFormatValues.Decimal
            },
                new LevelText()
            {
                Val = "%1"
            },
                new StartNumberingValue()
            {
                Val = 1,
            },
                new RunProperties()
            {
                RunFonts = new RunFonts()
                {
                    Ascii         = "GOST type B",
                    HighAnsi      = "GOST type B",
                    ComplexScript = "GOST type B"
                },
                Italic = new Italic()
                {
                    Val = OnOffValue.FromBoolean(true)
                },
                FontSize = new FontSize()
                {
                    Val = 26.ToString(),
                }
            })
            {
                LevelIndex = 0
            };
            var abstractLevel2 = new Level(
                new NumberingFormat()
            {
                Val = NumberFormatValues.Decimal
            },
                new LevelText()
            {
                Val = "%1.%2"
            },
                new StartNumberingValue()
            {
                Val = 1,
            },
                new RunProperties()
            {
                RunFonts = new RunFonts()
                {
                    Ascii         = "GOST type B",
                    HighAnsi      = "GOST type B",
                    ComplexScript = "GOST type B"
                },
                Italic = new Italic()
                {
                    Val = OnOffValue.FromBoolean(true)
                },
                FontSize = new FontSize()
                {
                    Val = 26.ToString(),
                }
            })
            {
                LevelIndex = 1
            };
            var abstractLevel3 = new Level(
                new NumberingFormat()
            {
                Val = NumberFormatValues.Bullet
            },
                new LevelText()
            {
                Val = "–"
            },
                new RunProperties()
            {
                RunFonts = new RunFonts()
                {
                    Ascii         = "Calibri",
                    HighAnsi      = "Calibri",
                    ComplexScript = "Calibri"
                },
            })
            {
                LevelIndex = 2
            };
            var abstractLevel4 = new Level(
                new LevelSuffix()
            {
                Val = LevelSuffixValues.Space
            })
            {
                LevelIndex = 3
            };

            var abstractNum = new AbstractNum(
                abstractLevel, abstractLevel2, abstractLevel3, abstractLevel4)
            {
                AbstractNumberId = abstractNumberId
            };

            if (abstractNumberId == 1)
            {
                numberingPart.Numbering.Append(abstractNum);
            }
            else
            {
                AbstractNum lastAbstractNum = numberingPart.Numbering.Elements <AbstractNum>().Last();
                numberingPart.Numbering.InsertAfter(abstractNum, lastAbstractNum);
            }

            var numberId = numberingPart.Numbering.Elements <NumberingInstance>().Count() + 1;
            NumberingInstance numberingInstance = new NumberingInstance()
            {
                NumberID = numberId
            };
            AbstractNumId abstractNumId = new AbstractNumId()
            {
                Val = abstractNumberId
            };

            numberingInstance.Append(abstractNumId);

            if (numberId == 1)
            {
                numberingPart.Numbering.Append(numberingInstance);
            }
            else
            {
                var lastNumberingInstance = numberingPart.Numbering.Elements <NumberingInstance>().Last();
                numberingPart.Numbering.InsertAfter(numberingInstance, lastNumberingInstance);
            }

            Body body = wordDoc.MainDocumentPart.Document.Body;
            var  markGeneralDataPointsList = markGeneralDataPoints.ToList();

            for (var i = 0; i < markGeneralDataPoints.Count(); i++)
            {
                var item = markGeneralDataPointsList[i];
                var spacingBetweenLines = new SpacingBetweenLines()
                {
                    After = "120", Line = "240"
                };
                var indentation = new Indentation()
                {
                    Left = "360", Right = "360", FirstLine = "720"
                };

                NumberingProperties numberingProperties;
                var pointText = item.Text;
                if (item.OrderNum == 1)
                {
                    numberingProperties = new NumberingProperties(
                        new NumberingLevelReference()
                    {
                        Val = 0
                    }, new NumberingId()
                    {
                        Val = numberId
                    });
                }
                else if (item.Text[0] == '#' && item.Text[1] == ' ')
                {
                    numberingProperties = new NumberingProperties(
                        new NumberingLevelReference()
                    {
                        Val = 1
                    }, new NumberingId()
                    {
                        Val = numberId
                    });

                    pointText = pointText.Substring(2) + ".";
                }
                else if (item.Text[0] == '-' && item.Text[1] == ' ')
                {
                    numberingProperties = new NumberingProperties(
                        new NumberingLevelReference()
                    {
                        Val = 2
                    }, new NumberingId()
                    {
                        Val = numberId
                    });

                    if (i == 0)
                    {
                        pointText = pointText.Substring(2) + ".";
                    }
                    else if (markGeneralDataPointsList[i - 1].OrderNum == 1)
                    {
                        pointText = pointText.Substring(2) + ".";
                    }
                    else if (markGeneralDataPointsList[i - 1].Text[0] == '#' &&
                             markGeneralDataPointsList[i - 1].Text[1] == ' ')
                    {
                        pointText = pointText.Substring(2) + ".";
                    }
                    else
                    {
                        pointText = pointText.Substring(2) + ";";
                    }
                }
                else
                {
                    numberingProperties = new NumberingProperties(
                        new NumberingLevelReference()
                    {
                        Val = 3
                    }, new NumberingId()
                    {
                        Val = numberId
                    });
                    pointText   = pointText + ".";
                    indentation = new Indentation()
                    {
                        Left = "360", Right = "360", FirstLine = "640"
                    };
                }

                var paragraphProperties = new ParagraphProperties(
                    numberingProperties, spacingBetweenLines, indentation);
                var newPara = new Paragraph(paragraphProperties);

                if (item.Section.Id == 7)
                {
                    if (pointText.Contains("коэффициент надежности по ответственности"))
                    {
                        pointText = pointText.Replace("{}", markOperatingConditions.SafetyCoeff.ToString());
                    }
                    else if (pointText.Contains("степень агрессивного воздействия среды"))
                    {
                        pointText = pointText.Replace("{}", markOperatingConditions.EnvAggressiveness.Name);
                    }
                    else if (pointText.Contains("расчетная температура эксплуатации"))
                    {
                        pointText = pointText.Replace("{}",
                                                      $"{(markOperatingConditions.Temperature < 0 ? ("минус " + -markOperatingConditions.Temperature) : markOperatingConditions.Temperature)}");
                    }
                }

                if (pointText.Contains('^'))
                {
                    var split = pointText.Split('^');
                    if (split.Count() > 1)
                    {
                        for (int k = 0; k < split.Count(); k++)
                        {
                            if (k > 0)
                            {
                                newPara.AppendChild(Word.GetTextElement(split[k][0].ToString(), 26, false, true));
                            }
                            if (k == 0)
                            {
                                newPara.AppendChild(Word.GetTextElement(split[k], 26));
                            }
                            else
                            if (split[k].Length > 1)
                            {
                                newPara.AppendChild(Word.GetTextElement(split[k].Substring(1), 26));
                            }
                        }
                    }
                    else
                    {
                        newPara.AppendChild(Word.GetTextElement(pointText, 26));
                    }
                }
                else
                {
                    newPara.AppendChild(Word.GetTextElement(pointText, 26));
                }
                body.PrependChild(newPara);
            }
        }
        public static void GenerateNumberingDefinitionsPart1Content(NumberingDefinitionsPart numberingDefinitionsPart1)
        {
            Numbering numbering1 = new Numbering()
            {
                MCAttributes = new MarkupCompatibilityAttributes()
                {
                    Ignorable = "w14 w15 w16se w16cid wp14"
                }
            };

            numbering1.AddNamespaceDeclaration("wpc", "http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas");
            numbering1.AddNamespaceDeclaration("cx", "http://schemas.microsoft.com/office/drawing/2014/chartex");
            numbering1.AddNamespaceDeclaration("cx1", "http://schemas.microsoft.com/office/drawing/2015/9/8/chartex");
            numbering1.AddNamespaceDeclaration("cx2", "http://schemas.microsoft.com/office/drawing/2015/10/21/chartex");
            numbering1.AddNamespaceDeclaration("cx3", "http://schemas.microsoft.com/office/drawing/2016/5/9/chartex");
            numbering1.AddNamespaceDeclaration("cx4", "http://schemas.microsoft.com/office/drawing/2016/5/10/chartex");
            numbering1.AddNamespaceDeclaration("cx5", "http://schemas.microsoft.com/office/drawing/2016/5/11/chartex");
            numbering1.AddNamespaceDeclaration("cx6", "http://schemas.microsoft.com/office/drawing/2016/5/12/chartex");
            numbering1.AddNamespaceDeclaration("cx7", "http://schemas.microsoft.com/office/drawing/2016/5/13/chartex");
            numbering1.AddNamespaceDeclaration("cx8", "http://schemas.microsoft.com/office/drawing/2016/5/14/chartex");
            numbering1.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");
            numbering1.AddNamespaceDeclaration("aink", "http://schemas.microsoft.com/office/drawing/2016/ink");
            numbering1.AddNamespaceDeclaration("am3d", "http://schemas.microsoft.com/office/drawing/2017/model3d");
            numbering1.AddNamespaceDeclaration("o", "urn:schemas-microsoft-com:office:office");
            numbering1.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            numbering1.AddNamespaceDeclaration("m", "http://schemas.openxmlformats.org/officeDocument/2006/math");
            numbering1.AddNamespaceDeclaration("v", "urn:schemas-microsoft-com:vml");
            numbering1.AddNamespaceDeclaration("wp14", "http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing");
            numbering1.AddNamespaceDeclaration("wp", "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing");
            numbering1.AddNamespaceDeclaration("w10", "urn:schemas-microsoft-com:office:word");
            numbering1.AddNamespaceDeclaration("w", "http://schemas.openxmlformats.org/wordprocessingml/2006/main");
            numbering1.AddNamespaceDeclaration("w14", "http://schemas.microsoft.com/office/word/2010/wordml");
            numbering1.AddNamespaceDeclaration("w15", "http://schemas.microsoft.com/office/word/2012/wordml");
            numbering1.AddNamespaceDeclaration("w16cid", "http://schemas.microsoft.com/office/word/2016/wordml/cid");
            numbering1.AddNamespaceDeclaration("w16se", "http://schemas.microsoft.com/office/word/2015/wordml/symex");
            numbering1.AddNamespaceDeclaration("wpg", "http://schemas.microsoft.com/office/word/2010/wordprocessingGroup");
            numbering1.AddNamespaceDeclaration("wpi", "http://schemas.microsoft.com/office/word/2010/wordprocessingInk");
            numbering1.AddNamespaceDeclaration("wne", "http://schemas.microsoft.com/office/word/2006/wordml");
            numbering1.AddNamespaceDeclaration("wps", "http://schemas.microsoft.com/office/word/2010/wordprocessingShape");

            AbstractNum abstractNum1 = new AbstractNum()
            {
                AbstractNumberId = 0
            };

            abstractNum1.SetAttribute(new OpenXmlAttribute("w15", "restartNumberingAfterBreak", "http://schemas.microsoft.com/office/word/2012/wordml", "0"));
            Nsid nsid1 = new Nsid()
            {
                Val = "1FFE17EE"
            };
            MultiLevelType multiLevelType1 = new MultiLevelType()
            {
                Val = MultiLevelValues.HybridMultilevel
            };
            TemplateCode templateCode1 = new TemplateCode()
            {
                Val = "65746D14"
            };

            Level level1 = new Level()
            {
                LevelIndex = 0, TemplateCode = "04260001"
            };
            StartNumberingValue startNumberingValue1 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat1 = new NumberingFormat()
            {
                Val = NumberFormatValues.Bullet
            };
            LevelText levelText1 = new LevelText()
            {
                Val = "·"
            };
            LevelJustification levelJustification1 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            PreviousParagraphProperties previousParagraphProperties1 = new PreviousParagraphProperties();
            Indentation indentation2 = new Indentation()
            {
                Start = "720", Hanging = "360"
            };

            previousParagraphProperties1.Append(indentation2);

            NumberingSymbolRunProperties numberingSymbolRunProperties1 = new NumberingSymbolRunProperties();
            RunFonts runFonts2 = new RunFonts()
            {
                Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol"
            };

            numberingSymbolRunProperties1.Append(runFonts2);

            level1.Append(startNumberingValue1);
            level1.Append(numberingFormat1);
            level1.Append(levelText1);
            level1.Append(levelJustification1);
            level1.Append(previousParagraphProperties1);
            level1.Append(numberingSymbolRunProperties1);

            Level level2 = new Level()
            {
                LevelIndex = 1, TemplateCode = "04260003", Tentative = true
            };
            StartNumberingValue startNumberingValue2 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat2 = new NumberingFormat()
            {
                Val = NumberFormatValues.Bullet
            };
            LevelText levelText2 = new LevelText()
            {
                Val = "o"
            };
            LevelJustification levelJustification2 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            PreviousParagraphProperties previousParagraphProperties2 = new PreviousParagraphProperties();
            Indentation indentation3 = new Indentation()
            {
                Start = "1440", Hanging = "360"
            };

            previousParagraphProperties2.Append(indentation3);

            NumberingSymbolRunProperties numberingSymbolRunProperties2 = new NumberingSymbolRunProperties();
            RunFonts runFonts3 = new RunFonts()
            {
                Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New", ComplexScript = "Courier New"
            };

            numberingSymbolRunProperties2.Append(runFonts3);

            level2.Append(startNumberingValue2);
            level2.Append(numberingFormat2);
            level2.Append(levelText2);
            level2.Append(levelJustification2);
            level2.Append(previousParagraphProperties2);
            level2.Append(numberingSymbolRunProperties2);

            Level level3 = new Level()
            {
                LevelIndex = 2, TemplateCode = "04260005", Tentative = true
            };
            StartNumberingValue startNumberingValue3 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat3 = new NumberingFormat()
            {
                Val = NumberFormatValues.Bullet
            };
            LevelText levelText3 = new LevelText()
            {
                Val = "§"
            };
            LevelJustification levelJustification3 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            PreviousParagraphProperties previousParagraphProperties3 = new PreviousParagraphProperties();
            Indentation indentation4 = new Indentation()
            {
                Start = "2160", Hanging = "360"
            };

            previousParagraphProperties3.Append(indentation4);

            NumberingSymbolRunProperties numberingSymbolRunProperties3 = new NumberingSymbolRunProperties();
            RunFonts runFonts4 = new RunFonts()
            {
                Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings"
            };

            numberingSymbolRunProperties3.Append(runFonts4);

            level3.Append(startNumberingValue3);
            level3.Append(numberingFormat3);
            level3.Append(levelText3);
            level3.Append(levelJustification3);
            level3.Append(previousParagraphProperties3);
            level3.Append(numberingSymbolRunProperties3);

            Level level4 = new Level()
            {
                LevelIndex = 3, TemplateCode = "04260001", Tentative = true
            };
            StartNumberingValue startNumberingValue4 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat4 = new NumberingFormat()
            {
                Val = NumberFormatValues.Bullet
            };
            LevelText levelText4 = new LevelText()
            {
                Val = "·"
            };
            LevelJustification levelJustification4 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            PreviousParagraphProperties previousParagraphProperties4 = new PreviousParagraphProperties();
            Indentation indentation5 = new Indentation()
            {
                Start = "2880", Hanging = "360"
            };

            previousParagraphProperties4.Append(indentation5);

            NumberingSymbolRunProperties numberingSymbolRunProperties4 = new NumberingSymbolRunProperties();
            RunFonts runFonts5 = new RunFonts()
            {
                Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol"
            };

            numberingSymbolRunProperties4.Append(runFonts5);

            level4.Append(startNumberingValue4);
            level4.Append(numberingFormat4);
            level4.Append(levelText4);
            level4.Append(levelJustification4);
            level4.Append(previousParagraphProperties4);
            level4.Append(numberingSymbolRunProperties4);

            Level level5 = new Level()
            {
                LevelIndex = 4, TemplateCode = "04260003", Tentative = true
            };
            StartNumberingValue startNumberingValue5 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat5 = new NumberingFormat()
            {
                Val = NumberFormatValues.Bullet
            };
            LevelText levelText5 = new LevelText()
            {
                Val = "o"
            };
            LevelJustification levelJustification5 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            PreviousParagraphProperties previousParagraphProperties5 = new PreviousParagraphProperties();
            Indentation indentation6 = new Indentation()
            {
                Start = "3600", Hanging = "360"
            };

            previousParagraphProperties5.Append(indentation6);

            NumberingSymbolRunProperties numberingSymbolRunProperties5 = new NumberingSymbolRunProperties();
            RunFonts runFonts6 = new RunFonts()
            {
                Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New", ComplexScript = "Courier New"
            };

            numberingSymbolRunProperties5.Append(runFonts6);

            level5.Append(startNumberingValue5);
            level5.Append(numberingFormat5);
            level5.Append(levelText5);
            level5.Append(levelJustification5);
            level5.Append(previousParagraphProperties5);
            level5.Append(numberingSymbolRunProperties5);

            Level level6 = new Level()
            {
                LevelIndex = 5, TemplateCode = "04260005", Tentative = true
            };
            StartNumberingValue startNumberingValue6 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat6 = new NumberingFormat()
            {
                Val = NumberFormatValues.Bullet
            };
            LevelText levelText6 = new LevelText()
            {
                Val = "§"
            };
            LevelJustification levelJustification6 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            PreviousParagraphProperties previousParagraphProperties6 = new PreviousParagraphProperties();
            Indentation indentation7 = new Indentation()
            {
                Start = "4320", Hanging = "360"
            };

            previousParagraphProperties6.Append(indentation7);

            NumberingSymbolRunProperties numberingSymbolRunProperties6 = new NumberingSymbolRunProperties();
            RunFonts runFonts7 = new RunFonts()
            {
                Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings"
            };

            numberingSymbolRunProperties6.Append(runFonts7);

            level6.Append(startNumberingValue6);
            level6.Append(numberingFormat6);
            level6.Append(levelText6);
            level6.Append(levelJustification6);
            level6.Append(previousParagraphProperties6);
            level6.Append(numberingSymbolRunProperties6);

            Level level7 = new Level()
            {
                LevelIndex = 6, TemplateCode = "04260001", Tentative = true
            };
            StartNumberingValue startNumberingValue7 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat7 = new NumberingFormat()
            {
                Val = NumberFormatValues.Bullet
            };
            LevelText levelText7 = new LevelText()
            {
                Val = "·"
            };
            LevelJustification levelJustification7 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            PreviousParagraphProperties previousParagraphProperties7 = new PreviousParagraphProperties();
            Indentation indentation8 = new Indentation()
            {
                Start = "5040", Hanging = "360"
            };

            previousParagraphProperties7.Append(indentation8);

            NumberingSymbolRunProperties numberingSymbolRunProperties7 = new NumberingSymbolRunProperties();
            RunFonts runFonts8 = new RunFonts()
            {
                Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol"
            };

            numberingSymbolRunProperties7.Append(runFonts8);

            level7.Append(startNumberingValue7);
            level7.Append(numberingFormat7);
            level7.Append(levelText7);
            level7.Append(levelJustification7);
            level7.Append(previousParagraphProperties7);
            level7.Append(numberingSymbolRunProperties7);

            Level level8 = new Level()
            {
                LevelIndex = 7, TemplateCode = "04260003", Tentative = true
            };
            StartNumberingValue startNumberingValue8 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat8 = new NumberingFormat()
            {
                Val = NumberFormatValues.Bullet
            };
            LevelText levelText8 = new LevelText()
            {
                Val = "o"
            };
            LevelJustification levelJustification8 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            PreviousParagraphProperties previousParagraphProperties8 = new PreviousParagraphProperties();
            Indentation indentation9 = new Indentation()
            {
                Start = "5760", Hanging = "360"
            };

            previousParagraphProperties8.Append(indentation9);

            NumberingSymbolRunProperties numberingSymbolRunProperties8 = new NumberingSymbolRunProperties();
            RunFonts runFonts9 = new RunFonts()
            {
                Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New", ComplexScript = "Courier New"
            };

            numberingSymbolRunProperties8.Append(runFonts9);

            level8.Append(startNumberingValue8);
            level8.Append(numberingFormat8);
            level8.Append(levelText8);
            level8.Append(levelJustification8);
            level8.Append(previousParagraphProperties8);
            level8.Append(numberingSymbolRunProperties8);

            Level level9 = new Level()
            {
                LevelIndex = 8, TemplateCode = "04260005", Tentative = true
            };
            StartNumberingValue startNumberingValue9 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat9 = new NumberingFormat()
            {
                Val = NumberFormatValues.Bullet
            };
            LevelText levelText9 = new LevelText()
            {
                Val = "§"
            };
            LevelJustification levelJustification9 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            PreviousParagraphProperties previousParagraphProperties9 = new PreviousParagraphProperties();
            Indentation indentation10 = new Indentation()
            {
                Start = "6480", Hanging = "360"
            };

            previousParagraphProperties9.Append(indentation10);

            NumberingSymbolRunProperties numberingSymbolRunProperties9 = new NumberingSymbolRunProperties();
            RunFonts runFonts10 = new RunFonts()
            {
                Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings"
            };

            numberingSymbolRunProperties9.Append(runFonts10);

            level9.Append(startNumberingValue9);
            level9.Append(numberingFormat9);
            level9.Append(levelText9);
            level9.Append(levelJustification9);
            level9.Append(previousParagraphProperties9);
            level9.Append(numberingSymbolRunProperties9);

            abstractNum1.Append(nsid1);
            abstractNum1.Append(multiLevelType1);
            abstractNum1.Append(templateCode1);
            abstractNum1.Append(level1);
            abstractNum1.Append(level2);
            abstractNum1.Append(level3);
            abstractNum1.Append(level4);
            abstractNum1.Append(level5);
            abstractNum1.Append(level6);
            abstractNum1.Append(level7);
            abstractNum1.Append(level8);
            abstractNum1.Append(level9);

            NumberingInstance numberingInstance1 = new NumberingInstance()
            {
                NumberID = 1
            };
            AbstractNumId abstractNumId1 = new AbstractNumId()
            {
                Val = 0
            };

            numberingInstance1.Append(abstractNumId1);

            numbering1.Append(abstractNum1);
            numbering1.Append(numberingInstance1);

            numberingDefinitionsPart1.Numbering = numbering1;
        }
예제 #25
0
        public void SaveNumberingDefinition(NumberFormatValues format, AbstractNum abstractNum, NumberingInstance numberingInstance)
        {
            if (abstractNumList == null)
            {
                abstractNumList = new Dictionary <NumberFormatValues, AbstractNum>();
            }

            if (numberingInstanceList == null)
            {
                numberingInstanceList = new Dictionary <NumberFormatValues, NumberingInstance>();
            }

            if (!abstractNumList.ContainsKey(format))
            {
                abstractNumList.Add(format, abstractNum);
            }

            if (!numberingInstanceList.ContainsKey(format))
            {
                numberingInstanceList.Add(format, numberingInstance);
            }
        }
        public int CreateBulletList()
        {
            NumberingDefinitionsPart numberingPart = wdMainDocumentPart.NumberingDefinitionsPart;

            if (numberingPart == null)
            {
                numberingPart = wdMainDocumentPart.AddNewPart <NumberingDefinitionsPart>();
                Numbering element = new Numbering();
                element.Save(numberingPart);
            }

            // Insert an AbstractNum into the numbering part numbering list.  The order seems to matter or it will not pass the
            // Open XML SDK Productity Tools validation test.  AbstractNum comes first and then NumberingInstance and we want to
            // insert this AFTER the last AbstractNum and BEFORE the first NumberingInstance or we will get a validation error.
            var abstractNumberId = numberingPart.Numbering.Elements <AbstractNum>().Count() + 1;
            var lvls             = new List <Level>();

            for (int i = 0; i < 6; i++)
            {
                var abstractLevel = new Level(new NumberingFormat()
                {
                    Val = NumberFormatValues.Bullet
                }, new LevelText()
                {
                    Val = ""
                }, new ParagraphProperties()
                {
                    Indentation = new Indentation()
                    {
                        Left = (720 * (i + 1)).ToString(), Hanging = "360"
                    }
                }, new RunProperties()
                {
                    RunFonts = new RunFonts()
                    {
                        Ascii = "Symbol", HighAnsi = "Symbol"
                    }
                })
                {
                    LevelIndex = i
                };
                lvls.Add(abstractLevel);
            }
            var abstractNum1 = new AbstractNum(lvls)
            {
                AbstractNumberId = abstractNumberId
            };

            if (abstractNumberId == 1)
            {
                numberingPart.Numbering.Append(abstractNum1);
            }
            else
            {
                AbstractNum lastAbstractNum = numberingPart.Numbering.Elements <AbstractNum>().Last();
                numberingPart.Numbering.InsertAfter(abstractNum1, lastAbstractNum);
            }

            // Insert an NumberingInstance into the numbering part numbering list.  The order seems to matter or it will not pass the
            // Open XML SDK Productity Tools validation test.  AbstractNum comes first and then NumberingInstance and we want to
            // insert this AFTER the last NumberingInstance and AFTER all the AbstractNum entries or we will get a validation error.
            var numberId = numberingPart.Numbering.Elements <NumberingInstance>().Count() + 1;
            NumberingInstance numberingInstance1 = new NumberingInstance()
            {
                NumberID = numberId
            };
            AbstractNumId abstractNumId1 = new AbstractNumId()
            {
                Val = abstractNumberId
            };

            numberingInstance1.Append(abstractNumId1);

            if (numberId == 1)
            {
                numberingPart.Numbering.Append(numberingInstance1);
            }
            else
            {
                var lastNumberingInstance = numberingPart.Numbering.Elements <NumberingInstance>().Last();
                numberingPart.Numbering.InsertAfter(numberingInstance1, lastNumberingInstance);
            }

            return(numberId);
        }
예제 #27
0
        // Creates an NumberingInstance instance and adds its children.
        public static NumberingInstance GenerateNumberingInstance()
        {
            NumberingInstance numberingInstance1 = new NumberingInstance()
            {
                NumberID = 7
            };
            AbstractNumId abstractNumId1 = new AbstractNumId()
            {
                Val = 1
            };

            LevelOverride levelOverride1 = new LevelOverride()
            {
                LevelIndex = 0
            };
            StartOverrideNumberingValue startOverrideNumberingValue1 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            Level level1 = new Level()
            {
                LevelIndex = 0
            };
            StartNumberingValue startNumberingValue1 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat1 = new NumberingFormat()
            {
                Val = NumberFormatValues.Decimal
            };
            ParagraphStyleIdInLevel paragraphStyleIdInLevel1 = new ParagraphStyleIdInLevel()
            {
                Val = "Legal1"
            };
            LevelText levelText1 = new LevelText()
            {
                Val = "%1."
            };
            LevelJustification levelJustification1 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            NumberingSymbolRunProperties numberingSymbolRunProperties1 = new NumberingSymbolRunProperties();
            RunFonts runFonts1 = new RunFonts()
            {
                ComplexScript = "Times New Roman"
            };

            numberingSymbolRunProperties1.Append(runFonts1);

            level1.Append(startNumberingValue1);
            level1.Append(numberingFormat1);
            level1.Append(paragraphStyleIdInLevel1);
            level1.Append(levelText1);
            level1.Append(levelJustification1);
            level1.Append(numberingSymbolRunProperties1);

            levelOverride1.Append(startOverrideNumberingValue1);
            levelOverride1.Append(level1);

            LevelOverride levelOverride2 = new LevelOverride()
            {
                LevelIndex = 1
            };
            StartOverrideNumberingValue startOverrideNumberingValue2 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            LevelOverride levelOverride3 = new LevelOverride()
            {
                LevelIndex = 2
            };
            StartOverrideNumberingValue startOverrideNumberingValue3 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            Level level3 = new Level()
            {
                LevelIndex = 2
            };
            StartNumberingValue startNumberingValue3 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat3 = new NumberingFormat()
            {
                Val = NumberFormatValues.Decimal
            };
            ParagraphStyleIdInLevel paragraphStyleIdInLevel3 = new ParagraphStyleIdInLevel()
            {
                Val = "Legal3"
            };
            LevelText levelText3 = new LevelText()
            {
                Val = "(%3)"
            };
            LevelJustification levelJustification3 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            NumberingSymbolRunProperties numberingSymbolRunProperties3 = new NumberingSymbolRunProperties();
            RunFonts runFonts3 = new RunFonts()
            {
                ComplexScript = "Times New Roman"
            };

            numberingSymbolRunProperties3.Append(runFonts3);

            level3.Append(startNumberingValue3);
            level3.Append(numberingFormat3);
            level3.Append(paragraphStyleIdInLevel3);
            level3.Append(levelText3);
            level3.Append(levelJustification3);
            level3.Append(numberingSymbolRunProperties3);

            levelOverride3.Append(startOverrideNumberingValue3);
            levelOverride3.Append(level3);

            LevelOverride levelOverride4 = new LevelOverride()
            {
                LevelIndex = 3
            };
            StartOverrideNumberingValue startOverrideNumberingValue4 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            Level level4 = new Level()
            {
                LevelIndex = 3
            };
            StartNumberingValue startNumberingValue4 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat4 = new NumberingFormat()
            {
                Val = NumberFormatValues.DecimalEnclosedCircle
            };
            ParagraphStyleIdInLevel paragraphStyleIdInLevel4 = new ParagraphStyleIdInLevel()
            {
                Val = "Legal4"
            };
            LevelText levelText4 = new LevelText()
            {
                Val = "(%4)"
            };
            LevelJustification levelJustification4 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            NumberingSymbolRunProperties numberingSymbolRunProperties4 = new NumberingSymbolRunProperties();
            RunFonts runFonts4 = new RunFonts()
            {
                ComplexScript = "Times New Roman"
            };

            numberingSymbolRunProperties4.Append(runFonts4);

            level4.Append(startNumberingValue4);
            level4.Append(numberingFormat4);
            level4.Append(paragraphStyleIdInLevel4);
            level4.Append(levelText4);
            level4.Append(levelJustification4);
            level4.Append(numberingSymbolRunProperties4);

            levelOverride4.Append(startOverrideNumberingValue4);
            levelOverride4.Append(level4);

            LevelOverride levelOverride5 = new LevelOverride()
            {
                LevelIndex = 4
            };
            StartOverrideNumberingValue startOverrideNumberingValue5 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            Level level5 = new Level()
            {
                LevelIndex = 4
            };
            //StartNumberingValue startNumberingValue5 = new StartNumberingValue() { Val = 1 };
            //NumberingFormat numberingFormat5 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            //LevelText levelText5 = new LevelText() { Val = "%5" };
            //LevelJustification levelJustification5 = new LevelJustification() { Val = LevelJustificationValues.Left };

            //NumberingSymbolRunProperties numberingSymbolRunProperties5 = new NumberingSymbolRunProperties();
            //RunFonts runFonts5 = new RunFonts() { ComplexScript = "Times New Roman" };

            //numberingSymbolRunProperties5.Append(runFonts5);

            //level5.Append(startNumberingValue5);
            //level5.Append(numberingFormat5);
            //level5.Append(levelText5);
            //level5.Append(levelJustification5);
            //level5.Append(numberingSymbolRunProperties5);

            //levelOverride5.Append(startOverrideNumberingValue5);
            //levelOverride5.Append(level5);

            LevelOverride levelOverride6 = new LevelOverride()
            {
                LevelIndex = 5
            };
            StartOverrideNumberingValue startOverrideNumberingValue6 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            Level level6 = new Level()
            {
                LevelIndex = 5
            };
            StartNumberingValue startNumberingValue6 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat6 = new NumberingFormat()
            {
                Val = NumberFormatValues.Decimal
            };
            LevelText levelText6 = new LevelText()
            {
                Val = "%6"
            };
            LevelJustification levelJustification6 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            NumberingSymbolRunProperties numberingSymbolRunProperties6 = new NumberingSymbolRunProperties();
            RunFonts runFonts6 = new RunFonts()
            {
                ComplexScript = "Times New Roman"
            };

            numberingSymbolRunProperties6.Append(runFonts6);

            level6.Append(startNumberingValue6);
            level6.Append(numberingFormat6);
            level6.Append(levelText6);
            level6.Append(levelJustification6);
            level6.Append(numberingSymbolRunProperties6);

            levelOverride6.Append(startOverrideNumberingValue6);
            levelOverride6.Append(level6);

            LevelOverride levelOverride7 = new LevelOverride()
            {
                LevelIndex = 6
            };
            StartOverrideNumberingValue startOverrideNumberingValue7 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            Level level7 = new Level()
            {
                LevelIndex = 6
            };
            StartNumberingValue startNumberingValue7 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat7 = new NumberingFormat()
            {
                Val = NumberFormatValues.Decimal
            };
            LevelText levelText7 = new LevelText()
            {
                Val = "%7"
            };
            LevelJustification levelJustification7 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            NumberingSymbolRunProperties numberingSymbolRunProperties7 = new NumberingSymbolRunProperties();
            RunFonts runFonts7 = new RunFonts()
            {
                ComplexScript = "Times New Roman"
            };

            numberingSymbolRunProperties7.Append(runFonts7);

            level7.Append(startNumberingValue7);
            level7.Append(numberingFormat7);
            level7.Append(levelText7);
            level7.Append(levelJustification7);
            level7.Append(numberingSymbolRunProperties7);

            levelOverride7.Append(startOverrideNumberingValue7);
            levelOverride7.Append(level7);

            LevelOverride levelOverride8 = new LevelOverride()
            {
                LevelIndex = 7
            };
            StartOverrideNumberingValue startOverrideNumberingValue8 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            Level level8 = new Level()
            {
                LevelIndex = 7
            };
            StartNumberingValue startNumberingValue8 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat8 = new NumberingFormat()
            {
                Val = NumberFormatValues.Decimal
            };
            LevelText levelText8 = new LevelText()
            {
                Val = "%8"
            };
            LevelJustification levelJustification8 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            NumberingSymbolRunProperties numberingSymbolRunProperties8 = new NumberingSymbolRunProperties();
            RunFonts runFonts8 = new RunFonts()
            {
                ComplexScript = "Times New Roman"
            };

            numberingSymbolRunProperties8.Append(runFonts8);

            level8.Append(startNumberingValue8);
            level8.Append(numberingFormat8);
            level8.Append(levelText8);
            level8.Append(levelJustification8);
            level8.Append(numberingSymbolRunProperties8);

            levelOverride8.Append(startOverrideNumberingValue8);
            levelOverride8.Append(level8);

            numberingInstance1.Append(abstractNumId1);
            numberingInstance1.Append(levelOverride1);
            //numberingInstance1.Append(levelOverride2);
            numberingInstance1.Append(levelOverride3);
            numberingInstance1.Append(levelOverride4);
            numberingInstance1.Append(levelOverride5);
            numberingInstance1.Append(levelOverride6);
            numberingInstance1.Append(levelOverride7);
            numberingInstance1.Append(levelOverride8);
            return(numberingInstance1);
        }
예제 #28
0
        // Creates an Numbering instance and adds its children.
        public static Numbering GenerateNumbering()
        {
            Numbering numbering1 = new Numbering()
            {
                MCAttributes = new MarkupCompatibilityAttributes()
                {
                    Ignorable = "w14 w15 w16se w16cid wp14"
                }
            };

            numbering1.AddNamespaceDeclaration("wpc", "http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas");
            numbering1.AddNamespaceDeclaration("cx", "http://schemas.microsoft.com/office/drawing/2014/chartex");
            numbering1.AddNamespaceDeclaration("cx1", "http://schemas.microsoft.com/office/drawing/2015/9/8/chartex");
            numbering1.AddNamespaceDeclaration("cx2", "http://schemas.microsoft.com/office/drawing/2015/10/21/chartex");
            numbering1.AddNamespaceDeclaration("cx3", "http://schemas.microsoft.com/office/drawing/2016/5/9/chartex");
            numbering1.AddNamespaceDeclaration("cx4", "http://schemas.microsoft.com/office/drawing/2016/5/10/chartex");
            numbering1.AddNamespaceDeclaration("cx5", "http://schemas.microsoft.com/office/drawing/2016/5/11/chartex");
            numbering1.AddNamespaceDeclaration("cx6", "http://schemas.microsoft.com/office/drawing/2016/5/12/chartex");
            numbering1.AddNamespaceDeclaration("cx7", "http://schemas.microsoft.com/office/drawing/2016/5/13/chartex");
            numbering1.AddNamespaceDeclaration("cx8", "http://schemas.microsoft.com/office/drawing/2016/5/14/chartex");
            numbering1.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");
            numbering1.AddNamespaceDeclaration("aink", "http://schemas.microsoft.com/office/drawing/2016/ink");
            numbering1.AddNamespaceDeclaration("am3d", "http://schemas.microsoft.com/office/drawing/2017/model3d");
            numbering1.AddNamespaceDeclaration("o", "urn:schemas-microsoft-com:office:office");
            numbering1.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            numbering1.AddNamespaceDeclaration("m", "http://schemas.openxmlformats.org/officeDocument/2006/math");
            numbering1.AddNamespaceDeclaration("v", "urn:schemas-microsoft-com:vml");
            numbering1.AddNamespaceDeclaration("wp14", "http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing");
            numbering1.AddNamespaceDeclaration("wp", "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing");
            numbering1.AddNamespaceDeclaration("w10", "urn:schemas-microsoft-com:office:word");
            numbering1.AddNamespaceDeclaration("w", "http://schemas.openxmlformats.org/wordprocessingml/2006/main");
            numbering1.AddNamespaceDeclaration("w14", "http://schemas.microsoft.com/office/word/2010/wordml");
            numbering1.AddNamespaceDeclaration("w15", "http://schemas.microsoft.com/office/word/2012/wordml");
            numbering1.AddNamespaceDeclaration("w16cid", "http://schemas.microsoft.com/office/word/2016/wordml/cid");
            numbering1.AddNamespaceDeclaration("w16se", "http://schemas.microsoft.com/office/word/2015/wordml/symex");
            numbering1.AddNamespaceDeclaration("wpg", "http://schemas.microsoft.com/office/word/2010/wordprocessingGroup");
            numbering1.AddNamespaceDeclaration("wpi", "http://schemas.microsoft.com/office/word/2010/wordprocessingInk");
            numbering1.AddNamespaceDeclaration("wne", "http://schemas.microsoft.com/office/word/2006/wordml");
            numbering1.AddNamespaceDeclaration("wps", "http://schemas.microsoft.com/office/word/2010/wordprocessingShape");

            AbstractNum abstractNum1 = new AbstractNum()
            {
                AbstractNumberId = 0
            };

            abstractNum1.SetAttribute(new OpenXmlAttribute("w15", "restartNumberingAfterBreak", "http://schemas.microsoft.com/office/word/2012/wordml", "0"));
            Nsid nsid1 = new Nsid()
            {
                Val = "02791BC6"
            };
            MultiLevelType multiLevelType1 = new MultiLevelType()
            {
                Val = MultiLevelValues.Multilevel
            };
            TemplateCode templateCode1 = new TemplateCode()
            {
                Val = "565C7098"
            };

            Level level1 = new Level()
            {
                LevelIndex = 0
            };
            StartNumberingValue startNumberingValue1 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat1 = new NumberingFormat()
            {
                Val = NumberFormatValues.Decimal
            };
            ParagraphStyleIdInLevel paragraphStyleIdInLevel1 = new ParagraphStyleIdInLevel()
            {
                Val = "Heading1"
            };
            LevelSuffix levelSuffix1 = new LevelSuffix()
            {
                Val = LevelSuffixValues.Nothing
            };
            LevelText levelText1 = new LevelText()
            {
                Val = "Article %1"
            };
            LevelJustification levelJustification1 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            PreviousParagraphProperties previousParagraphProperties1 = new PreviousParagraphProperties();
            Indentation indentation1 = new Indentation()
            {
                Left = "0", FirstLine = "0"
            };

            previousParagraphProperties1.Append(indentation1);

            NumberingSymbolRunProperties numberingSymbolRunProperties1 = new NumberingSymbolRunProperties();
            RunFonts runFonts1 = new RunFonts()
            {
                Hint = FontTypeHintValues.Default
            };

            numberingSymbolRunProperties1.Append(runFonts1);

            level1.Append(startNumberingValue1);
            level1.Append(numberingFormat1);
            level1.Append(paragraphStyleIdInLevel1);
            level1.Append(levelSuffix1);
            level1.Append(levelText1);
            level1.Append(levelJustification1);
            level1.Append(previousParagraphProperties1);
            level1.Append(numberingSymbolRunProperties1);

            Level level2 = new Level()
            {
                LevelIndex = 1
            };
            StartNumberingValue startNumberingValue2 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat2 = new NumberingFormat()
            {
                Val = NumberFormatValues.Decimal
            };
            ParagraphStyleIdInLevel paragraphStyleIdInLevel2 = new ParagraphStyleIdInLevel()
            {
                Val = "Heading2"
            };
            LevelText levelText2 = new LevelText()
            {
                Val = "%1.%2"
            };
            LevelJustification levelJustification2 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            PreviousParagraphProperties previousParagraphProperties2 = new PreviousParagraphProperties();

            Tabs    tabs1    = new Tabs();
            TabStop tabStop1 = new TabStop()
            {
                Val = TabStopValues.Number, Position = 720
            };

            tabs1.Append(tabStop1);
            Indentation indentation2 = new Indentation()
            {
                Left = "0", FirstLine = "0"
            };

            previousParagraphProperties2.Append(tabs1);
            previousParagraphProperties2.Append(indentation2);

            NumberingSymbolRunProperties numberingSymbolRunProperties2 = new NumberingSymbolRunProperties();
            RunFonts runFonts2 = new RunFonts()
            {
                Hint = FontTypeHintValues.Default, ComplexScript = "Times New Roman"
            };
            Bold bold1 = new Bold()
            {
                Val = false
            };
            Italic italic1 = new Italic()
            {
                Val = false
            };
            ItalicComplexScript italicComplexScript1 = new ItalicComplexScript()
            {
                Val = false
            };
            Caps caps1 = new Caps()
            {
                Val = false
            };
            SmallCaps smallCaps1 = new SmallCaps()
            {
                Val = false
            };
            Strike strike1 = new Strike()
            {
                Val = false
            };
            DoubleStrike doubleStrike1 = new DoubleStrike()
            {
                Val = false
            };
            NoProof noProof1 = new NoProof()
            {
                Val = false
            };
            Vanish vanish1 = new Vanish()
            {
                Val = false
            };
            Color color1 = new Color()
            {
                Val = "000000"
            };
            Spacing spacing1 = new Spacing()
            {
                Val = 0
            };
            Kern kern1 = new Kern()
            {
                Val = 0U
            };
            Position position1 = new Position()
            {
                Val = "0"
            };
            Underline underline1 = new Underline()
            {
                Val = UnderlineValues.None
            };
            TextEffect textEffect1 = new TextEffect()
            {
                Val = TextEffectValues.None
            };
            VerticalTextAlignment verticalTextAlignment1 = new VerticalTextAlignment()
            {
                Val = VerticalPositionValues.Baseline
            };
            Emphasis emphasis1 = new Emphasis()
            {
                Val = EmphasisMarkValues.None
            };
            SpecVanish specVanish1 = new SpecVanish()
            {
                Val = false
            };

            OpenXmlUnknownElement openXmlUnknownElement1 = OpenXmlUnknownElement.CreateOpenXmlUnknownElement("<w14:shadow w14:blurRad=\"0\" w14:dist=\"0\" w14:dir=\"0\" w14:sx=\"0\" w14:sy=\"0\" w14:kx=\"0\" w14:ky=\"0\" w14:algn=\"none\" xmlns:w14=\"http://schemas.microsoft.com/office/word/2010/wordml\"><w14:srgbClr w14:val=\"000000\" /></w14:shadow>");

            OpenXmlUnknownElement openXmlUnknownElement2 = OpenXmlUnknownElement.CreateOpenXmlUnknownElement("<w14:textOutline w14:w=\"0\" w14:cap=\"rnd\" w14:cmpd=\"sng\" w14:algn=\"ctr\" xmlns:w14=\"http://schemas.microsoft.com/office/word/2010/wordml\"><w14:noFill /><w14:prstDash w14:val=\"solid\" /><w14:bevel /></w14:textOutline>");

            numberingSymbolRunProperties2.Append(runFonts2);
            numberingSymbolRunProperties2.Append(bold1);
            numberingSymbolRunProperties2.Append(italic1);
            numberingSymbolRunProperties2.Append(italicComplexScript1);
            numberingSymbolRunProperties2.Append(caps1);
            numberingSymbolRunProperties2.Append(smallCaps1);
            numberingSymbolRunProperties2.Append(strike1);
            numberingSymbolRunProperties2.Append(doubleStrike1);
            numberingSymbolRunProperties2.Append(noProof1);
            numberingSymbolRunProperties2.Append(vanish1);
            numberingSymbolRunProperties2.Append(color1);
            numberingSymbolRunProperties2.Append(spacing1);
            numberingSymbolRunProperties2.Append(kern1);
            numberingSymbolRunProperties2.Append(position1);
            numberingSymbolRunProperties2.Append(underline1);
            numberingSymbolRunProperties2.Append(textEffect1);
            numberingSymbolRunProperties2.Append(verticalTextAlignment1);
            numberingSymbolRunProperties2.Append(emphasis1);
            numberingSymbolRunProperties2.Append(specVanish1);
            numberingSymbolRunProperties2.Append(openXmlUnknownElement1);
            numberingSymbolRunProperties2.Append(openXmlUnknownElement2);

            level2.Append(startNumberingValue2);
            level2.Append(numberingFormat2);
            level2.Append(paragraphStyleIdInLevel2);
            level2.Append(levelText2);
            level2.Append(levelJustification2);
            level2.Append(previousParagraphProperties2);
            level2.Append(numberingSymbolRunProperties2);

            Level level3 = new Level()
            {
                LevelIndex = 2
            };
            StartNumberingValue startNumberingValue3 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat3 = new NumberingFormat()
            {
                Val = NumberFormatValues.LowerLetter
            };
            ParagraphStyleIdInLevel paragraphStyleIdInLevel3 = new ParagraphStyleIdInLevel()
            {
                Val = "Heading3"
            };
            LevelText levelText3 = new LevelText()
            {
                Val = "(%3)"
            };
            LevelJustification levelJustification3 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            PreviousParagraphProperties previousParagraphProperties3 = new PreviousParagraphProperties();

            Tabs    tabs2    = new Tabs();
            TabStop tabStop2 = new TabStop()
            {
                Val = TabStopValues.Number, Position = 1800
            };

            tabs2.Append(tabStop2);
            Indentation indentation3 = new Indentation()
            {
                Left = "1800", Hanging = "720"
            };

            previousParagraphProperties3.Append(tabs2);
            previousParagraphProperties3.Append(indentation3);

            NumberingSymbolRunProperties numberingSymbolRunProperties3 = new NumberingSymbolRunProperties();
            RunFonts runFonts3 = new RunFonts()
            {
                Hint = FontTypeHintValues.Default
            };

            numberingSymbolRunProperties3.Append(runFonts3);

            level3.Append(startNumberingValue3);
            level3.Append(numberingFormat3);
            level3.Append(paragraphStyleIdInLevel3);
            level3.Append(levelText3);
            level3.Append(levelJustification3);
            level3.Append(previousParagraphProperties3);
            level3.Append(numberingSymbolRunProperties3);

            Level level4 = new Level()
            {
                LevelIndex = 3
            };
            StartNumberingValue startNumberingValue4 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat4 = new NumberingFormat()
            {
                Val = NumberFormatValues.LowerRoman
            };
            ParagraphStyleIdInLevel paragraphStyleIdInLevel4 = new ParagraphStyleIdInLevel()
            {
                Val = "Heading4"
            };
            LevelText levelText4 = new LevelText()
            {
                Val = "(%4)"
            };
            LevelJustification levelJustification4 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            PreviousParagraphProperties previousParagraphProperties4 = new PreviousParagraphProperties();

            Tabs    tabs3    = new Tabs();
            TabStop tabStop3 = new TabStop()
            {
                Val = TabStopValues.Number, Position = 2160
            };

            tabs3.Append(tabStop3);
            Indentation indentation4 = new Indentation()
            {
                Left = "2160", Hanging = "720"
            };

            previousParagraphProperties4.Append(tabs3);
            previousParagraphProperties4.Append(indentation4);

            NumberingSymbolRunProperties numberingSymbolRunProperties4 = new NumberingSymbolRunProperties();
            RunFonts runFonts4 = new RunFonts()
            {
                Hint = FontTypeHintValues.Default
            };
            Bold bold2 = new Bold()
            {
                Val = false
            };
            Italic italic2 = new Italic()
            {
                Val = false
            };

            numberingSymbolRunProperties4.Append(runFonts4);
            numberingSymbolRunProperties4.Append(bold2);
            numberingSymbolRunProperties4.Append(italic2);

            level4.Append(startNumberingValue4);
            level4.Append(numberingFormat4);
            level4.Append(paragraphStyleIdInLevel4);
            level4.Append(levelText4);
            level4.Append(levelJustification4);
            level4.Append(previousParagraphProperties4);
            level4.Append(numberingSymbolRunProperties4);

            Level level5 = new Level()
            {
                LevelIndex = 4
            };
            StartNumberingValue startNumberingValue5 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat5 = new NumberingFormat()
            {
                Val = NumberFormatValues.LowerLetter
            };
            ParagraphStyleIdInLevel paragraphStyleIdInLevel5 = new ParagraphStyleIdInLevel()
            {
                Val = "Heading5"
            };
            LevelText levelText5 = new LevelText()
            {
                Val = "%5)"
            };
            LevelJustification levelJustification5 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            PreviousParagraphProperties previousParagraphProperties5 = new PreviousParagraphProperties();

            Tabs    tabs4    = new Tabs();
            TabStop tabStop4 = new TabStop()
            {
                Val = TabStopValues.Number, Position = 2880
            };

            tabs4.Append(tabStop4);
            Indentation indentation5 = new Indentation()
            {
                Left = "2880", Hanging = "720"
            };

            previousParagraphProperties5.Append(tabs4);
            previousParagraphProperties5.Append(indentation5);

            NumberingSymbolRunProperties numberingSymbolRunProperties5 = new NumberingSymbolRunProperties();
            RunFonts runFonts5 = new RunFonts()
            {
                Hint = FontTypeHintValues.Default, Ascii = "Book Antiqua", HighAnsi = "Book Antiqua"
            };
            Bold bold3 = new Bold()
            {
                Val = false
            };
            Italic italic3 = new Italic()
            {
                Val = false
            };
            FontSize fontSize1 = new FontSize()
            {
                Val = "22"
            };

            numberingSymbolRunProperties5.Append(runFonts5);
            numberingSymbolRunProperties5.Append(bold3);
            numberingSymbolRunProperties5.Append(italic3);
            numberingSymbolRunProperties5.Append(fontSize1);

            level5.Append(startNumberingValue5);
            level5.Append(numberingFormat5);
            level5.Append(paragraphStyleIdInLevel5);
            level5.Append(levelText5);
            level5.Append(levelJustification5);
            level5.Append(previousParagraphProperties5);
            level5.Append(numberingSymbolRunProperties5);

            Level level6 = new Level()
            {
                LevelIndex = 5
            };
            StartNumberingValue startNumberingValue6 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat6 = new NumberingFormat()
            {
                Val = NumberFormatValues.LowerRoman
            };
            ParagraphStyleIdInLevel paragraphStyleIdInLevel6 = new ParagraphStyleIdInLevel()
            {
                Val = "Heading6"
            };
            LevelText levelText6 = new LevelText()
            {
                Val = "(%6)"
            };
            LevelJustification levelJustification6 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            PreviousParagraphProperties previousParagraphProperties6 = new PreviousParagraphProperties();

            Tabs    tabs5    = new Tabs();
            TabStop tabStop5 = new TabStop()
            {
                Val = TabStopValues.Number, Position = 1440
            };

            tabs5.Append(tabStop5);
            Indentation indentation6 = new Indentation()
            {
                Left = "1440", Hanging = "720"
            };

            previousParagraphProperties6.Append(tabs5);
            previousParagraphProperties6.Append(indentation6);

            NumberingSymbolRunProperties numberingSymbolRunProperties6 = new NumberingSymbolRunProperties();
            RunFonts runFonts6 = new RunFonts()
            {
                Hint = FontTypeHintValues.Default, Ascii = "Book Antiqua", HighAnsi = "Book Antiqua"
            };
            Bold bold4 = new Bold()
            {
                Val = false
            };
            Italic italic4 = new Italic()
            {
                Val = false
            };
            FontSize fontSize2 = new FontSize()
            {
                Val = "22"
            };

            numberingSymbolRunProperties6.Append(runFonts6);
            numberingSymbolRunProperties6.Append(bold4);
            numberingSymbolRunProperties6.Append(italic4);
            numberingSymbolRunProperties6.Append(fontSize2);

            level6.Append(startNumberingValue6);
            level6.Append(numberingFormat6);
            level6.Append(paragraphStyleIdInLevel6);
            level6.Append(levelText6);
            level6.Append(levelJustification6);
            level6.Append(previousParagraphProperties6);
            level6.Append(numberingSymbolRunProperties6);

            Level level7 = new Level()
            {
                LevelIndex = 6
            };
            StartNumberingValue startNumberingValue7 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat7 = new NumberingFormat()
            {
                Val = NumberFormatValues.Decimal
            };
            LevelText levelText7 = new LevelText()
            {
                Val = "%1.%2.%3.%4.%5.%6.%7."
            };
            LevelJustification levelJustification7 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            PreviousParagraphProperties previousParagraphProperties7 = new PreviousParagraphProperties();

            Tabs    tabs6    = new Tabs();
            TabStop tabStop6 = new TabStop()
            {
                Val = TabStopValues.Number, Position = 5400
            };

            tabs6.Append(tabStop6);
            Indentation indentation7 = new Indentation()
            {
                Left = "3240", Hanging = "1080"
            };

            previousParagraphProperties7.Append(tabs6);
            previousParagraphProperties7.Append(indentation7);

            NumberingSymbolRunProperties numberingSymbolRunProperties7 = new NumberingSymbolRunProperties();
            RunFonts runFonts7 = new RunFonts()
            {
                Hint = FontTypeHintValues.Default
            };

            numberingSymbolRunProperties7.Append(runFonts7);

            level7.Append(startNumberingValue7);
            level7.Append(numberingFormat7);
            level7.Append(levelText7);
            level7.Append(levelJustification7);
            level7.Append(previousParagraphProperties7);
            level7.Append(numberingSymbolRunProperties7);

            Level level8 = new Level()
            {
                LevelIndex = 7
            };
            StartNumberingValue startNumberingValue8 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat8 = new NumberingFormat()
            {
                Val = NumberFormatValues.Decimal
            };
            LevelText levelText8 = new LevelText()
            {
                Val = "%1.%2.%3.%4.%5.%6.%7.%8."
            };
            LevelJustification levelJustification8 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            PreviousParagraphProperties previousParagraphProperties8 = new PreviousParagraphProperties();

            Tabs    tabs7    = new Tabs();
            TabStop tabStop7 = new TabStop()
            {
                Val = TabStopValues.Number, Position = 6120
            };

            tabs7.Append(tabStop7);
            Indentation indentation8 = new Indentation()
            {
                Left = "3744", Hanging = "1224"
            };

            previousParagraphProperties8.Append(tabs7);
            previousParagraphProperties8.Append(indentation8);

            NumberingSymbolRunProperties numberingSymbolRunProperties8 = new NumberingSymbolRunProperties();
            RunFonts runFonts8 = new RunFonts()
            {
                Hint = FontTypeHintValues.Default
            };

            numberingSymbolRunProperties8.Append(runFonts8);

            level8.Append(startNumberingValue8);
            level8.Append(numberingFormat8);
            level8.Append(levelText8);
            level8.Append(levelJustification8);
            level8.Append(previousParagraphProperties8);
            level8.Append(numberingSymbolRunProperties8);

            Level level9 = new Level()
            {
                LevelIndex = 8
            };
            StartNumberingValue startNumberingValue9 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat9 = new NumberingFormat()
            {
                Val = NumberFormatValues.Decimal
            };
            LevelText levelText9 = new LevelText()
            {
                Val = "%1.%2.%3.%4.%5.%6.%7.%8.%9."
            };
            LevelJustification levelJustification9 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            PreviousParagraphProperties previousParagraphProperties9 = new PreviousParagraphProperties();

            Tabs    tabs8    = new Tabs();
            TabStop tabStop8 = new TabStop()
            {
                Val = TabStopValues.Number, Position = 6840
            };

            tabs8.Append(tabStop8);
            Indentation indentation9 = new Indentation()
            {
                Left = "4320", Hanging = "1440"
            };

            previousParagraphProperties9.Append(tabs8);
            previousParagraphProperties9.Append(indentation9);

            NumberingSymbolRunProperties numberingSymbolRunProperties9 = new NumberingSymbolRunProperties();
            RunFonts runFonts9 = new RunFonts()
            {
                Hint = FontTypeHintValues.Default
            };

            numberingSymbolRunProperties9.Append(runFonts9);

            level9.Append(startNumberingValue9);
            level9.Append(numberingFormat9);
            level9.Append(levelText9);
            level9.Append(levelJustification9);
            level9.Append(previousParagraphProperties9);
            level9.Append(numberingSymbolRunProperties9);

            abstractNum1.Append(nsid1);
            abstractNum1.Append(multiLevelType1);
            abstractNum1.Append(templateCode1);
            abstractNum1.Append(level1);
            abstractNum1.Append(level2);
            abstractNum1.Append(level3);
            abstractNum1.Append(level4);
            abstractNum1.Append(level5);
            abstractNum1.Append(level6);
            abstractNum1.Append(level7);
            abstractNum1.Append(level8);
            abstractNum1.Append(level9);

            NumberingInstance numberingInstance1 = new NumberingInstance()
            {
                NumberID = 1
            };
            AbstractNumId abstractNumId1 = new AbstractNumId()
            {
                Val = 0
            };

            LevelOverride levelOverride1 = new LevelOverride()
            {
                LevelIndex = 0
            };
            StartOverrideNumberingValue startOverrideNumberingValue1 = new StartOverrideNumberingValue()
            {
                Val = 2
            };

            levelOverride1.Append(startOverrideNumberingValue1);

            LevelOverride levelOverride2 = new LevelOverride()
            {
                LevelIndex = 1
            };
            StartOverrideNumberingValue startOverrideNumberingValue2 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            levelOverride2.Append(startOverrideNumberingValue2);

            LevelOverride levelOverride3 = new LevelOverride()
            {
                LevelIndex = 2
            };
            StartOverrideNumberingValue startOverrideNumberingValue3 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            levelOverride3.Append(startOverrideNumberingValue3);

            LevelOverride levelOverride4 = new LevelOverride()
            {
                LevelIndex = 3
            };
            StartOverrideNumberingValue startOverrideNumberingValue4 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            levelOverride4.Append(startOverrideNumberingValue4);

            LevelOverride levelOverride5 = new LevelOverride()
            {
                LevelIndex = 4
            };
            StartOverrideNumberingValue startOverrideNumberingValue5 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            levelOverride5.Append(startOverrideNumberingValue5);

            LevelOverride levelOverride6 = new LevelOverride()
            {
                LevelIndex = 5
            };
            StartOverrideNumberingValue startOverrideNumberingValue6 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            levelOverride6.Append(startOverrideNumberingValue6);

            LevelOverride levelOverride7 = new LevelOverride()
            {
                LevelIndex = 6
            };
            StartOverrideNumberingValue startOverrideNumberingValue7 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            levelOverride7.Append(startOverrideNumberingValue7);

            LevelOverride levelOverride8 = new LevelOverride()
            {
                LevelIndex = 7
            };
            StartOverrideNumberingValue startOverrideNumberingValue8 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            levelOverride8.Append(startOverrideNumberingValue8);

            LevelOverride levelOverride9 = new LevelOverride()
            {
                LevelIndex = 8
            };
            StartOverrideNumberingValue startOverrideNumberingValue9 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            levelOverride9.Append(startOverrideNumberingValue9);

            numberingInstance1.Append(abstractNumId1);
            numberingInstance1.Append(levelOverride1);
            numberingInstance1.Append(levelOverride2);
            numberingInstance1.Append(levelOverride3);
            numberingInstance1.Append(levelOverride4);
            numberingInstance1.Append(levelOverride5);
            numberingInstance1.Append(levelOverride6);
            numberingInstance1.Append(levelOverride7);
            numberingInstance1.Append(levelOverride8);
            numberingInstance1.Append(levelOverride9);

            NumberingInstance numberingInstance2 = new NumberingInstance()
            {
                NumberID = 2
            };
            AbstractNumId abstractNumId2 = new AbstractNumId()
            {
                Val = 0
            };

            numberingInstance2.Append(abstractNumId2);

            numbering1.Append(abstractNum1);
            numbering1.Append(numberingInstance1);
            numbering1.Append(numberingInstance2);
            return(numbering1);
        }
예제 #29
0
        /// <summary>
        /// Saves the document in OOXML format.
        /// </summary>
        private void SaveInOOXML()
        {
            //First create the file if this is a new file
            if (_isNew && _template != null)
            {
                //Create a new file based on the template
                //Read the template stream inot a new document.
                using (_template)
                {
                    using (var documentStream = new MemoryStream((int)_template.Length))
                    {
                        _template.Position = 0L;
                        byte[] buffer = new byte[2048];
                        int    length = buffer.Length;
                        int    size;
                        while ((size = _template.Read(buffer, 0, length)) != 0)
                        {
                            documentStream.Write(buffer, 0, size);
                        }
                        documentStream.Position = 0L;
                        // Modify the document to ensure it is correctly marked as a Document and not Template
                        using (var document = WordprocessingDocument.Open(documentStream, true))
                        {
                            document.ChangeDocumentType(WordprocessingDocumentType.Document);
                        }
                        //Save the stream to a new file.
                        File.WriteAllBytes(Filename, documentStream.ToArray());
                    }
                }
            }
            else if (_isNew && !string.IsNullOrWhiteSpace(_filenameTemplate))
            {
                //Create a new file based on the template
                //Read the file in to a stream.
                using (var templateStream = File.OpenRead(_filenameTemplate))
                {
                    using (var documentStream = new MemoryStream((int)templateStream.Length))
                    {
                        templateStream.Position = 0L;
                        byte[] buffer = new byte[2048];
                        int    length = buffer.Length;
                        int    size;
                        while ((size = templateStream.Read(buffer, 0, length)) != 0)
                        {
                            documentStream.Write(buffer, 0, size);
                        }
                        documentStream.Position = 0L;
                        // Modify the document to ensure it is correctly marked as a Document and not Template
                        using (var document = WordprocessingDocument.Open(documentStream, true))
                        {
                            document.ChangeDocumentType(WordprocessingDocumentType.Document);
                        }
                        //Save the stream to a new file.
                        File.WriteAllBytes(Filename, documentStream.ToArray());
                    }
                }
            }
            else if (_isNew)
            {
                using (var doc = WordprocessingDocument.Create(Filename, WordprocessingDocumentType.Document))
                {
                    var mainPart = doc.AddMainDocumentPart();
                    var document = new Document(
                        new Body());
                    document.Save(mainPart);

                    //Create the styles part.
                    var styleDefinitionsPart = mainPart.AddNewPart <StyleDefinitionsPart>();
                    StyleGenerator.DefaultStyle().Save(styleDefinitionsPart);

                    //Close the document
                    doc.Close();
                }
            }

            using (var doc = WordprocessingDocument.Open(Filename, true))
            {
                try
                {
                    var mainPart = doc.MainDocumentPart;
                    /* Create the contents */
                    var body       = mainPart.Document.Body;
                    var imageCount = 1; //This is a counter for setting the image number.
                    var listCount  = 0; //This is the counter for the number of lists.
                    //Create the list templates
                    var numberingDefinitionsPart = mainPart.NumberingDefinitionsPart ?? mainPart.AddNewPart <NumberingDefinitionsPart>();
                    var numbering = ListGenerator.CreateNumbering(numberingDefinitionsPart);

                    foreach (var paragraph in Paragraphs)
                    {
                        //If this is an image we also need to pass the MainpArt as this is needed to generate the image part
                        var img   = paragraph.Value as Picture;
                        var table = paragraph.Value as Table;
                        var list  = paragraph.Value as List;
                        if (img != null)
                        {
                            foreach (var p in img.GetOOXMLParagraph(mainPart, paragraph.Key, ref imageCount))
                            {
                                body.Append(p);
                            }
                        }
                        else if (table != null)
                        {
                            //Add the table
                            body.Append(table.GetOOXMLTable());
                            //Add an extra paragraph so two following tables will not be concatenated.
                            body.Append(Paragraph.EmptyParagraph());
                        }
                        else if (list != null)
                        {
                            //Add the list
                            listCount++;
                            //Add the reference to the list
                            NumberingInstance numberingInstance = new NumberingInstance {
                                NumberID = listCount
                            };
                            AbstractNumId abstractNumId = new AbstractNumId {
                                Val = list.Type == ListType.Bullet ? 0 : 1
                            };

                            numberingInstance.Append(abstractNumId);
                            numbering.Append(numberingInstance);

                            foreach (var item in list.GetOOXMLList(listCount))
                            {
                                body.Append(item);
                            }
                        }
                        else
                        {
                            //Add the text paragraph(s)
                            foreach (var p in paragraph.Value.GetOOXMLParagraph())
                            {
                                body.Append(p);
                            }
                        }
                    }

                    //All the paragraphs are done.Save the numbering.
                    numbering.Save(numberingDefinitionsPart);

                    //Replace the custom tags.
                    foreach (var customPart in _customParts)
                    {
                        customPart.Replace(mainPart, ref imageCount);
                    }

                    /* Save the results and close */
                    mainPart.Document.Save();
                    doc.Close();
                }
                catch (Exception ex)
                {
                    throw new FileLoadException("An error occured when saving the document", Filename, ex);
                }
            }
        }
예제 #30
0
        // Creates an NumberingInstance instance and adds its children.
        public static NumberingInstance GenerateNumberingInstance8()
        {
            NumberingInstance numberingInstance1 = new NumberingInstance()
            {
                NumberID = 8
            };
            AbstractNumId abstractNumId1 = new AbstractNumId()
            {
                Val = 18
            };

            LevelOverride levelOverride1 = new LevelOverride()
            {
                LevelIndex = 0
            };
            StartOverrideNumberingValue startOverrideNumberingValue1 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            levelOverride1.Append(startOverrideNumberingValue1);

            LevelOverride levelOverride2 = new LevelOverride()
            {
                LevelIndex = 1
            };
            StartOverrideNumberingValue startOverrideNumberingValue2 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            levelOverride2.Append(startOverrideNumberingValue2);

            LevelOverride levelOverride3 = new LevelOverride()
            {
                LevelIndex = 2
            };
            StartOverrideNumberingValue startOverrideNumberingValue3 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            levelOverride3.Append(startOverrideNumberingValue3);

            LevelOverride levelOverride4 = new LevelOverride()
            {
                LevelIndex = 3
            };
            StartOverrideNumberingValue startOverrideNumberingValue4 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            levelOverride4.Append(startOverrideNumberingValue4);

            LevelOverride levelOverride5 = new LevelOverride()
            {
                LevelIndex = 4
            };
            StartOverrideNumberingValue startOverrideNumberingValue5 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            levelOverride5.Append(startOverrideNumberingValue5);

            LevelOverride levelOverride6 = new LevelOverride()
            {
                LevelIndex = 5
            };
            StartOverrideNumberingValue startOverrideNumberingValue6 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            levelOverride6.Append(startOverrideNumberingValue6);

            LevelOverride levelOverride7 = new LevelOverride()
            {
                LevelIndex = 6
            };
            StartOverrideNumberingValue startOverrideNumberingValue7 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            levelOverride7.Append(startOverrideNumberingValue7);

            LevelOverride levelOverride8 = new LevelOverride()
            {
                LevelIndex = 7
            };
            StartOverrideNumberingValue startOverrideNumberingValue8 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            levelOverride8.Append(startOverrideNumberingValue8);

            LevelOverride levelOverride9 = new LevelOverride()
            {
                LevelIndex = 8
            };
            StartOverrideNumberingValue startOverrideNumberingValue9 = new StartOverrideNumberingValue()
            {
                Val = 1
            };

            levelOverride9.Append(startOverrideNumberingValue9);

            numberingInstance1.Append(abstractNumId1);
            numberingInstance1.Append(levelOverride1);
            numberingInstance1.Append(levelOverride2);
            numberingInstance1.Append(levelOverride3);
            numberingInstance1.Append(levelOverride4);
            numberingInstance1.Append(levelOverride5);
            numberingInstance1.Append(levelOverride6);
            numberingInstance1.Append(levelOverride7);
            numberingInstance1.Append(levelOverride8);
            numberingInstance1.Append(levelOverride9);
            return(numberingInstance1);
        }
예제 #31
0
        public void GetNumbering(ref Numbering numbering, int abstractNumId, int numberingInstanceId )
        {
            AbstractNum abstractNum1 = new AbstractNum() { AbstractNumberId = abstractNumId };
            Nsid nsid1 = new Nsid() { Val = "3C7E7798" };
            MultiLevelType multiLevelType1 = new MultiLevelType() { Val = MultiLevelValues.HybridMultilevel };
            TemplateCode templateCode1 = new TemplateCode() { Val = "46C6786C" };

            Level level1 = new Level() { LevelIndex = 0, TemplateCode = "38EAF7A0" };
            StartNumberingValue startNumberingValue1 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat1 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText1 = new LevelText() { Val = "%1." };
            LevelJustification levelJustification1 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties1 = new PreviousParagraphProperties();
            Indentation indentation1 = new Indentation() { Left = "786", Hanging = "360" };

            previousParagraphProperties1.Append(indentation1);

            NumberingSymbolRunProperties numberingSymbolRunProperties1 = new NumberingSymbolRunProperties();
            RunFonts runFonts1 = new RunFonts() { Hint = FontTypeHintValues.Default };

            numberingSymbolRunProperties1.Append(runFonts1);

            level1.Append(startNumberingValue1);
            level1.Append(numberingFormat1);
            level1.Append(levelText1);
            level1.Append(levelJustification1);
            level1.Append(previousParagraphProperties1);
            level1.Append(numberingSymbolRunProperties1);

            Level level2 = new Level() { LevelIndex = 1, TemplateCode = "04190019", Tentative = true };
            StartNumberingValue startNumberingValue2 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat2 = new NumberingFormat() { Val = NumberFormatValues.LowerLetter };
            LevelText levelText2 = new LevelText() { Val = "%2." };
            LevelJustification levelJustification2 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties2 = new PreviousParagraphProperties();
            Indentation indentation2 = new Indentation() { Left = "1647", Hanging = "360" };

            previousParagraphProperties2.Append(indentation2);

            level2.Append(startNumberingValue2);
            level2.Append(numberingFormat2);
            level2.Append(levelText2);
            level2.Append(levelJustification2);
            level2.Append(previousParagraphProperties2);

            Level level3 = new Level() { LevelIndex = 2, TemplateCode = "0419001B", Tentative = true };
            StartNumberingValue startNumberingValue3 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat3 = new NumberingFormat() { Val = NumberFormatValues.LowerRoman };
            LevelText levelText3 = new LevelText() { Val = "%3." };
            LevelJustification levelJustification3 = new LevelJustification() { Val = LevelJustificationValues.Right };

            PreviousParagraphProperties previousParagraphProperties3 = new PreviousParagraphProperties();
            Indentation indentation3 = new Indentation() { Left = "2367", Hanging = "180" };

            previousParagraphProperties3.Append(indentation3);

            level3.Append(startNumberingValue3);
            level3.Append(numberingFormat3);
            level3.Append(levelText3);
            level3.Append(levelJustification3);
            level3.Append(previousParagraphProperties3);

            Level level4 = new Level() { LevelIndex = 3, TemplateCode = "0419000F", Tentative = true };
            StartNumberingValue startNumberingValue4 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat4 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText4 = new LevelText() { Val = "%4." };
            LevelJustification levelJustification4 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties4 = new PreviousParagraphProperties();
            Indentation indentation4 = new Indentation() { Left = "3087", Hanging = "360" };

            previousParagraphProperties4.Append(indentation4);

            level4.Append(startNumberingValue4);
            level4.Append(numberingFormat4);
            level4.Append(levelText4);
            level4.Append(levelJustification4);
            level4.Append(previousParagraphProperties4);

            Level level5 = new Level() { LevelIndex = 4, TemplateCode = "04190019", Tentative = true };
            StartNumberingValue startNumberingValue5 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat5 = new NumberingFormat() { Val = NumberFormatValues.LowerLetter };
            LevelText levelText5 = new LevelText() { Val = "%5." };
            LevelJustification levelJustification5 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties5 = new PreviousParagraphProperties();
            Indentation indentation5 = new Indentation() { Left = "3807", Hanging = "360" };

            previousParagraphProperties5.Append(indentation5);

            level5.Append(startNumberingValue5);
            level5.Append(numberingFormat5);
            level5.Append(levelText5);
            level5.Append(levelJustification5);
            level5.Append(previousParagraphProperties5);

            Level level6 = new Level() { LevelIndex = 5, TemplateCode = "0419001B", Tentative = true };
            StartNumberingValue startNumberingValue6 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat6 = new NumberingFormat() { Val = NumberFormatValues.LowerRoman };
            LevelText levelText6 = new LevelText() { Val = "%6." };
            LevelJustification levelJustification6 = new LevelJustification() { Val = LevelJustificationValues.Right };

            PreviousParagraphProperties previousParagraphProperties6 = new PreviousParagraphProperties();
            Indentation indentation6 = new Indentation() { Left = "4527", Hanging = "180" };

            previousParagraphProperties6.Append(indentation6);

            level6.Append(startNumberingValue6);
            level6.Append(numberingFormat6);
            level6.Append(levelText6);
            level6.Append(levelJustification6);
            level6.Append(previousParagraphProperties6);

            Level level7 = new Level() { LevelIndex = 6, TemplateCode = "0419000F", Tentative = true };
            StartNumberingValue startNumberingValue7 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat7 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText7 = new LevelText() { Val = "%7." };
            LevelJustification levelJustification7 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties7 = new PreviousParagraphProperties();
            Indentation indentation7 = new Indentation() { Left = "5247", Hanging = "360" };

            previousParagraphProperties7.Append(indentation7);

            level7.Append(startNumberingValue7);
            level7.Append(numberingFormat7);
            level7.Append(levelText7);
            level7.Append(levelJustification7);
            level7.Append(previousParagraphProperties7);

            Level level8 = new Level() { LevelIndex = 7, TemplateCode = "04190019", Tentative = true };
            StartNumberingValue startNumberingValue8 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat8 = new NumberingFormat() { Val = NumberFormatValues.LowerLetter };
            LevelText levelText8 = new LevelText() { Val = "%8." };
            LevelJustification levelJustification8 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties8 = new PreviousParagraphProperties();
            Indentation indentation8 = new Indentation() { Left = "5967", Hanging = "360" };

            previousParagraphProperties8.Append(indentation8);

            level8.Append(startNumberingValue8);
            level8.Append(numberingFormat8);
            level8.Append(levelText8);
            level8.Append(levelJustification8);
            level8.Append(previousParagraphProperties8);

            Level level9 = new Level() { LevelIndex = 8, TemplateCode = "0419001B", Tentative = true };
            StartNumberingValue startNumberingValue9 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat9 = new NumberingFormat() { Val = NumberFormatValues.LowerRoman };
            LevelText levelText9 = new LevelText() { Val = "%9." };
            LevelJustification levelJustification9 = new LevelJustification() { Val = LevelJustificationValues.Right };

            PreviousParagraphProperties previousParagraphProperties9 = new PreviousParagraphProperties();
            Indentation indentation9 = new Indentation() { Left = "6687", Hanging = "180" };

            previousParagraphProperties9.Append(indentation9);

            level9.Append(startNumberingValue9);
            level9.Append(numberingFormat9);
            level9.Append(levelText9);
            level9.Append(levelJustification9);
            level9.Append(previousParagraphProperties9);

            abstractNum1.Append(nsid1);
            abstractNum1.Append(multiLevelType1);
            abstractNum1.Append(templateCode1);
            abstractNum1.Append(level1);
            abstractNum1.Append(level2);
            abstractNum1.Append(level3);
            abstractNum1.Append(level4);
            abstractNum1.Append(level5);
            abstractNum1.Append(level6);
            abstractNum1.Append(level7);
            abstractNum1.Append(level8);
            abstractNum1.Append(level9);

            NumberingInstance numberingInstance1 = new NumberingInstance() { NumberID = numberingInstanceId };
            AbstractNumId abstractNumId1 = new AbstractNumId() { Val = 0 };

            numberingInstance1.Append(abstractNumId1);

            numbering.Append(abstractNum1);
            numbering.Append(numberingInstance1);
        }
예제 #32
0
        public static List <Paragraph> GetBulletList(WordprocessingDocument doc, List <Tuple <string, int> > list)
        {
            var items = new List <Paragraph>();

            var numberingPart = GetOrCreateNumberingDefinitionsPart(doc);

            // Insert an AbstractNum into the numbering part numbering list.  The order seems to matter or it will not pass the
            // Open XML SDK Productity Tools validation test.  AbstractNum comes first and then NumberingInstance and we want to
            // insert this AFTER the last AbstractNum and BEFORE the first NumberingInstance or we will get a validation error.
            var abstractNumberId = numberingPart.Numbering.Elements <AbstractNum>().Count() + 1;
            var abstractLevel1   = new Level(new NumberingFormat()
            {
                Val = NumberFormatValues.Bullet
            }, new LevelText()
            {
                Val = "·"
            })
            {
                LevelIndex = 0
            };
            var abstractLevel2 = new Level(new NumberingFormat()
            {
                Val = NumberFormatValues.Bullet
            }, new LevelText()
            {
                Val = "o"
            })
            {
                LevelIndex = 1
            };
            var abstractLevel3 = new Level(new NumberingFormat()
            {
                Val = NumberFormatValues.Bullet
            }, new LevelText()
            {
                Val = "·"
            })
            {
                LevelIndex = 2
            };
            var abstractLevel4 = new Level(new NumberingFormat()
            {
                Val = NumberFormatValues.Bullet
            }, new LevelText()
            {
                Val = "o"
            })
            {
                LevelIndex = 3
            };
            var ml = new MultiLevelType()
            {
                Val = MultiLevelValues.HybridMultilevel
            };
            var abstractNum1 = new AbstractNum(ml)
            {
                AbstractNumberId = abstractNumberId
            };

            abstractNum1.Append(abstractLevel1);
            abstractNum1.Append(abstractLevel2);
            abstractNum1.Append(abstractLevel3);
            abstractNum1.Append(abstractLevel4);

            if (abstractNumberId == 1)
            {
                numberingPart.Numbering.Append(abstractNum1);
            }
            else
            {
                AbstractNum lastAbstractNum = numberingPart.Numbering.Elements <AbstractNum>().Last();
                numberingPart.Numbering.InsertAfter(abstractNum1, lastAbstractNum);
            }

            // Insert an NumberingInstance into the numbering part numbering list.  The order seems to matter or it will not pass the
            // Open XML SDK Productity Tools validation test.  AbstractNum comes first and then NumberingInstance and we want to
            // insert this AFTER the last NumberingInstance and AFTER all the AbstractNum entries or we will get a validation error.
            var numberId = numberingPart.Numbering.Elements <NumberingInstance>().Count() + 1;
            NumberingInstance numberingInstance1 = new NumberingInstance()
            {
                NumberID = numberId
            };
            AbstractNumId abstractNumId1 = new AbstractNumId()
            {
                Val = abstractNumberId
            };

            numberingInstance1.Append(abstractNumId1);

            if (numberId == 1)
            {
                numberingPart.Numbering.Append(numberingInstance1);
            }
            else
            {
                var lastNumberingInstance = numberingPart.Numbering.Elements <NumberingInstance>().Last();
                numberingPart.Numbering.InsertAfter(numberingInstance1, lastNumberingInstance);
            }

            Body body = doc.MainDocumentPart.Document.Body;

            foreach (var item in list)
            {
                // Create items for paragraph properties
                var numberingProperties = new NumberingProperties(new NumberingLevelReference()
                {
                    Val = item.Item2
                }, new NumberingId()
                {
                    Val = numberId
                });
                var spacingBetweenLines1 = new SpacingBetweenLines()
                {
                    After = "0"
                };                                                                     // Get rid of space between bullets
                var indentation = new Indentation()
                {
                    Left    = (720 + 360 * item.Item2).ToString(),
                    Hanging = (360).ToString(),
                };  // correct indentation

                ParagraphMarkRunProperties paragraphMarkRunProperties1 = new ParagraphMarkRunProperties();
                if (item.Item2 % 2 == 0)
                {
                    RunFonts runFonts1 = new RunFonts()
                    {
                        Ascii = "Symbol", HighAnsi = "Symbol"
                    };
                    paragraphMarkRunProperties1.Append(runFonts1);
                }
                else
                {
                    RunFonts runFonts1 = new RunFonts()
                    {
                        Ascii = "Courier New", HighAnsi = "Courier New"
                    };
                    paragraphMarkRunProperties1.Append(runFonts1);
                }

                // create paragraph properties
                var paragraphProperties = new ParagraphProperties(numberingProperties, spacingBetweenLines1, indentation, paragraphMarkRunProperties1);

                // Create paragraph
                var newPara = new Paragraph(paragraphProperties);

                // Add run to the paragraph
                newPara.AppendChild(new Run(new Text(item.Item1)));

                // Add one bullet item to the body
                items.Add(newPara);
            }

            return(items);
        }
예제 #33
0
        private void SetupStyles()
        {
            WordprocessingCommentsPart commentsPart        = AddTemplatePart <WordprocessingCommentsPart>(this.document, CommentsStyleResource);
            EndnotesPart             endNotesPart          = AddTemplatePart <EndnotesPart>(this.document, EndNotesStyleResource);
            FontTablePart            fontTablePart         = AddTemplatePart <FontTablePart>(this.document, FontsTableStyleResource);
            FootnotesPart            footnotesPart         = AddTemplatePart <FootnotesPart>(this.document, FootNotesStyleResource);
            HeaderPart               headerPart            = AddTemplatePart <HeaderPart>(this.document, HeaderStyleResource);
            DocumentSettingsPart     settingsPart          = AddTemplatePart <DocumentSettingsPart>(this.document, SettingsStyleResource);
            StyleDefinitionsPart     styles                = AddTemplatePart <StyleDefinitionsPart>(this.document, StylesStyleResource);
            StylesWithEffectsPart    stylesWithEffectsPart = AddTemplatePart <StylesWithEffectsPart>(this.document, StylesWithEffectsStyleResource);
            WebSettingsPart          webSettingsPart       = AddTemplatePart <WebSettingsPart>(this.document, WebSettingsStyleResource);
            ThemePart                themePart             = AddTemplatePart <ThemePart>(this.document, ThemeStyleResource);
            NumberingDefinitionsPart numberingPart         = AddTemplatePart <NumberingDefinitionsPart>(this.document, NumberingStyleResource);

            // Initialize the comments manager with the comments part
            this.commentManager = new CommentManager(commentsPart.Comments);

            // Initialize the footer
            string     footerTitle      = this.implementationGuide.GetDisplayName();
            DateTime   footerDate       = this.implementationGuide.PublishDate != null ? this.implementationGuide.PublishDate.Value : DateTime.Now;
            string     footerDateString = footerDate.ToString("m");
            FooterPart newFooterPart    = this.document.MainDocumentPart.AddNewPart <FooterPart>();
            Footer     newFooter        = new Footer();
            Paragraph  pFooter          = new Paragraph(
                new ParagraphProperties(
                    new ParagraphStyleId()
            {
                Val = "Footer"
            }));

            pFooter.Append(
                new Run(
                    new Text(footerTitle)),
                new Run(
                    new TabChar(),
                    new Text(footerDateString)
            {
                Space = SpaceProcessingModeValues.Preserve
            }),
                new Run(
                    new TabChar(),
                    new Text("Page ")
            {
                Space = SpaceProcessingModeValues.Preserve
            }),
                new Run(
                    new FieldChar()
            {
                FieldCharType = FieldCharValues.Begin
            }),
                new Run(
                    new FieldCode(" PAGE ")
            {
                Space = SpaceProcessingModeValues.Preserve
            }),
                new Run(
                    new FieldChar()
            {
                FieldCharType = FieldCharValues.Separate
            }),
                new Run(
                    new RunProperties(
                        new NoProof()),
                    new Text("54")),
                new Run(
                    new FieldChar()
            {
                FieldCharType = FieldCharValues.End
            }));
            newFooter.Append(pFooter);
            newFooterPart.Footer = newFooter;

            // Add numbering for templates
            foreach (Template cTemplate in this.templates)
            {
                NumberingInstance ni = new NumberingInstance(
                    new AbstractNumId()
                {
                    Val = 3
                })
                {
                    NumberID = GenerationConstants.BASE_TEMPLATE_INDEX + (int)cTemplate.Id
                };

                for (int i = 0; i < 9; i++)
                {
                    ni.Append(new LevelOverride(
                                  new StartOverrideNumberingValue()
                    {
                        Val = 1
                    })
                    {
                        LevelIndex = i
                    });
                }

                numberingPart.Numbering.Append(ni);
            }
        }
예제 #34
0
        private void InitNumberDefinitions()
        {
            AbstractNum abstractNum = new AbstractNum()
            {
                AbstractNumberId = numberId
            };

            Level level = new Level()
            {
                LevelIndex = 0
            };
            StartNumberingValue startNumberingValue = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat = new NumberingFormat()
            {
                Val = NumberFormatValues.Bullet
            };
            LevelText levelText = new LevelText()
            {
                Val = "·"
            };
            LevelJustification levelJustification = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            PreviousParagraphProperties previousParagraphProperties = new PreviousParagraphProperties();
            Indentation indentation = new Indentation()
            {
                Start   = "720",
                Hanging = "360"
            };

            previousParagraphProperties.Append(indentation);

            NumberingSymbolRunProperties numberingSymbolRunProperties = new NumberingSymbolRunProperties();
            RunFonts runFonts = new RunFonts()
            {
                Hint     = FontTypeHintValues.Default,
                Ascii    = "Symbol",
                HighAnsi = "Symbol"
            };

            numberingSymbolRunProperties.Append(runFonts);

            level.Append(startNumberingValue);
            level.Append(numberingFormat);
            level.Append(levelText);
            level.Append(levelJustification);
            level.Append(previousParagraphProperties);
            level.Append(numberingSymbolRunProperties);

            abstractNum.Append(level);

            NumberingInstance numberingInstance = new NumberingInstance()
            {
                NumberID = numberId
            };
            AbstractNumId abstractNumId = new AbstractNumId()
            {
                Val = numberId
            };

            numberingInstance.Append(abstractNumId);

            context.SaveNumberingDefinition(numberId, abstractNum, numberingInstance);
        }
        // Creates an Numbering instance and adds its children.
        public static Numbering GenerateNumbering()
        {
            Numbering numbering1 = new Numbering()
            {
                MCAttributes = new MarkupCompatibilityAttributes()
                {
                    Ignorable = "w14 w15 w16se w16cid wp14"
                }
            };

            numbering1.AddNamespaceDeclaration("wpc", "http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas");
            numbering1.AddNamespaceDeclaration("cx", "http://schemas.microsoft.com/office/drawing/2014/chartex");
            numbering1.AddNamespaceDeclaration("cx1", "http://schemas.microsoft.com/office/drawing/2015/9/8/chartex");
            numbering1.AddNamespaceDeclaration("cx2", "http://schemas.microsoft.com/office/drawing/2015/10/21/chartex");
            numbering1.AddNamespaceDeclaration("cx3", "http://schemas.microsoft.com/office/drawing/2016/5/9/chartex");
            numbering1.AddNamespaceDeclaration("cx4", "http://schemas.microsoft.com/office/drawing/2016/5/10/chartex");
            numbering1.AddNamespaceDeclaration("cx5", "http://schemas.microsoft.com/office/drawing/2016/5/11/chartex");
            numbering1.AddNamespaceDeclaration("cx6", "http://schemas.microsoft.com/office/drawing/2016/5/12/chartex");
            numbering1.AddNamespaceDeclaration("cx7", "http://schemas.microsoft.com/office/drawing/2016/5/13/chartex");
            numbering1.AddNamespaceDeclaration("cx8", "http://schemas.microsoft.com/office/drawing/2016/5/14/chartex");
            numbering1.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");
            numbering1.AddNamespaceDeclaration("aink", "http://schemas.microsoft.com/office/drawing/2016/ink");
            numbering1.AddNamespaceDeclaration("am3d", "http://schemas.microsoft.com/office/drawing/2017/model3d");
            numbering1.AddNamespaceDeclaration("o", "urn:schemas-microsoft-com:office:office");
            numbering1.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            numbering1.AddNamespaceDeclaration("m", "http://schemas.openxmlformats.org/officeDocument/2006/math");
            numbering1.AddNamespaceDeclaration("v", "urn:schemas-microsoft-com:vml");
            numbering1.AddNamespaceDeclaration("wp14", "http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing");
            numbering1.AddNamespaceDeclaration("wp", "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing");
            numbering1.AddNamespaceDeclaration("w10", "urn:schemas-microsoft-com:office:word");
            numbering1.AddNamespaceDeclaration("w", "http://schemas.openxmlformats.org/wordprocessingml/2006/main");
            numbering1.AddNamespaceDeclaration("w14", "http://schemas.microsoft.com/office/word/2010/wordml");
            numbering1.AddNamespaceDeclaration("w15", "http://schemas.microsoft.com/office/word/2012/wordml");
            numbering1.AddNamespaceDeclaration("w16cid", "http://schemas.microsoft.com/office/word/2016/wordml/cid");
            numbering1.AddNamespaceDeclaration("w16se", "http://schemas.microsoft.com/office/word/2015/wordml/symex");
            numbering1.AddNamespaceDeclaration("wpg", "http://schemas.microsoft.com/office/word/2010/wordprocessingGroup");
            numbering1.AddNamespaceDeclaration("wpi", "http://schemas.microsoft.com/office/word/2010/wordprocessingInk");
            numbering1.AddNamespaceDeclaration("wne", "http://schemas.microsoft.com/office/word/2006/wordml");
            numbering1.AddNamespaceDeclaration("wps", "http://schemas.microsoft.com/office/word/2010/wordprocessingShape");

            AbstractNum abstractNum1 = new AbstractNum()
            {
                AbstractNumberId = 0
            };

            abstractNum1.SetAttribute(new OpenXmlAttribute("w15", "restartNumberingAfterBreak", "http://schemas.microsoft.com/office/word/2012/wordml", "0"));
            Nsid nsid1 = new Nsid()
            {
                Val = "10C4535E"
            };
            MultiLevelType multiLevelType1 = new MultiLevelType()
            {
                Val = MultiLevelValues.SingleLevel
            };
            TemplateCode templateCode1 = new TemplateCode()
            {
                Val = "2CD42C2E"
            };

            Level level1 = new Level()
            {
                LevelIndex = 0
            };
            StartNumberingValue startNumberingValue1 = new StartNumberingValue()
            {
                Val = 1
            };
            NumberingFormat numberingFormat1 = new NumberingFormat()
            {
                Val = NumberFormatValues.LowerRoman
            };
            LevelText levelText1 = new LevelText()
            {
                Val = "(%1)"
            };
            LevelJustification levelJustification1 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            PreviousParagraphProperties previousParagraphProperties1 = new PreviousParagraphProperties();

            Tabs    tabs1    = new Tabs();
            TabStop tabStop1 = new TabStop()
            {
                Val = TabStopValues.Number, Position = 1440
            };

            tabs1.Append(tabStop1);
            Indentation indentation1 = new Indentation()
            {
                Left = "1440", Hanging = "720"
            };

            previousParagraphProperties1.Append(tabs1);
            previousParagraphProperties1.Append(indentation1);

            NumberingSymbolRunProperties numberingSymbolRunProperties1 = new NumberingSymbolRunProperties();
            RunFonts runFonts1 = new RunFonts()
            {
                Hint = FontTypeHintValues.Default
            };

            numberingSymbolRunProperties1.Append(runFonts1);

            level1.Append(startNumberingValue1);
            level1.Append(numberingFormat1);
            level1.Append(levelText1);
            level1.Append(levelJustification1);
            level1.Append(previousParagraphProperties1);
            level1.Append(numberingSymbolRunProperties1);

            abstractNum1.Append(nsid1);
            abstractNum1.Append(multiLevelType1);
            abstractNum1.Append(templateCode1);
            abstractNum1.Append(level1);

            AbstractNum abstractNum2 = new AbstractNum()
            {
                AbstractNumberId = 1
            };

            abstractNum2.SetAttribute(new OpenXmlAttribute("w15", "restartNumberingAfterBreak", "http://schemas.microsoft.com/office/word/2012/wordml", "0"));
            Nsid nsid2 = new Nsid()
            {
                Val = "59A96530"
            };
            MultiLevelType multiLevelType2 = new MultiLevelType()
            {
                Val = MultiLevelValues.SingleLevel
            };
            TemplateCode templateCode2 = new TemplateCode()
            {
                Val = "519068B4"
            };

            Level level2 = new Level()
            {
                LevelIndex = 0
            };
            StartNumberingValue startNumberingValue2 = new StartNumberingValue()
            {
                Val = 3
            };
            NumberingFormat numberingFormat2 = new NumberingFormat()
            {
                Val = NumberFormatValues.LowerLetter
            };
            LevelText levelText2 = new LevelText()
            {
                Val = "(%1)"
            };
            LevelJustification levelJustification2 = new LevelJustification()
            {
                Val = LevelJustificationValues.Left
            };

            PreviousParagraphProperties previousParagraphProperties2 = new PreviousParagraphProperties();

            Tabs    tabs2    = new Tabs();
            TabStop tabStop2 = new TabStop()
            {
                Val = TabStopValues.Number, Position = 720
            };

            tabs2.Append(tabStop2);
            Indentation indentation2 = new Indentation()
            {
                Left = "720", Hanging = "720"
            };

            previousParagraphProperties2.Append(tabs2);
            previousParagraphProperties2.Append(indentation2);

            NumberingSymbolRunProperties numberingSymbolRunProperties2 = new NumberingSymbolRunProperties();
            RunFonts runFonts2 = new RunFonts()
            {
                Hint = FontTypeHintValues.Default
            };

            numberingSymbolRunProperties2.Append(runFonts2);

            level2.Append(startNumberingValue2);
            level2.Append(numberingFormat2);
            level2.Append(levelText2);
            level2.Append(levelJustification2);
            level2.Append(previousParagraphProperties2);
            level2.Append(numberingSymbolRunProperties2);

            abstractNum2.Append(nsid2);
            abstractNum2.Append(multiLevelType2);
            abstractNum2.Append(templateCode2);
            abstractNum2.Append(level2);

            NumberingInstance numberingInstance1 = new NumberingInstance()
            {
                NumberID = 1
            };
            AbstractNumId abstractNumId1 = new AbstractNumId()
            {
                Val = 1
            };

            numberingInstance1.Append(abstractNumId1);

            NumberingInstance numberingInstance2 = new NumberingInstance()
            {
                NumberID = 2
            };
            AbstractNumId abstractNumId2 = new AbstractNumId()
            {
                Val = 0
            };

            numberingInstance2.Append(abstractNumId2);

            numbering1.Append(abstractNum1);
            numbering1.Append(abstractNum2);
            numbering1.Append(numberingInstance1);
            numbering1.Append(numberingInstance2);
            return(numbering1);
        }
        // Generates content of numberingDefinitionsPart1.
        private void GenerateNumberingDefinitionsPart1Content(NumberingDefinitionsPart numberingDefinitionsPart1)
        {
            Numbering numbering1 = new Numbering();

            AbstractNum abstractNum1 = new AbstractNum() { AbstractNumberId = 0 };
            Nsid nsid1 = new Nsid() { Val = "2BE110B5" };
            MultiLevelType multiLevelType1 = new MultiLevelType() { Val = MultiLevelValues.Multilevel };
            TemplateCode templateCode1 = new TemplateCode() { Val = "263EA1D2" };

            Level level1 = new Level() { LevelIndex = 0 };
            StartNumberingValue startNumberingValue1 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat1 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            ParagraphStyleIdInLevel paragraphStyleIdInLevel1 = new ParagraphStyleIdInLevel() { Val = "NumberedList" };
            LevelText levelText1 = new LevelText() { Val = "%1." };
            LevelJustification levelJustification1 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties1 = new PreviousParagraphProperties();

            Tabs tabs1 = new Tabs();
            TabStop tabStop1 = new TabStop() { Val = TabStopValues.Number, Position = 720 };

            tabs1.Append(tabStop1);
            Indentation indentation1 = new Indentation() { Left = "720", Hanging = "360" };

            previousParagraphProperties1.Append(tabs1);
            previousParagraphProperties1.Append(indentation1);

            NumberingSymbolRunProperties numberingSymbolRunProperties1 = new NumberingSymbolRunProperties();
            RunFonts runFonts1 = new RunFonts() { Hint = FontTypeHintValues.Default };

            numberingSymbolRunProperties1.Append(runFonts1);

            level1.Append(startNumberingValue1);
            level1.Append(numberingFormat1);
            level1.Append(paragraphStyleIdInLevel1);
            level1.Append(levelText1);
            level1.Append(levelJustification1);
            level1.Append(previousParagraphProperties1);
            level1.Append(numberingSymbolRunProperties1);

            Level level2 = new Level() { LevelIndex = 1 };
            StartNumberingValue startNumberingValue2 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat2 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText2 = new LevelText() { Val = "%1.%2." };
            LevelJustification levelJustification2 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties2 = new PreviousParagraphProperties();

            Tabs tabs2 = new Tabs();
            TabStop tabStop2 = new TabStop() { Val = TabStopValues.Number, Position = 792 };

            tabs2.Append(tabStop2);
            Indentation indentation2 = new Indentation() { Left = "792", Hanging = "432" };

            previousParagraphProperties2.Append(tabs2);
            previousParagraphProperties2.Append(indentation2);

            NumberingSymbolRunProperties numberingSymbolRunProperties2 = new NumberingSymbolRunProperties();
            RunFonts runFonts2 = new RunFonts() { Hint = FontTypeHintValues.Default };

            numberingSymbolRunProperties2.Append(runFonts2);

            level2.Append(startNumberingValue2);
            level2.Append(numberingFormat2);
            level2.Append(levelText2);
            level2.Append(levelJustification2);
            level2.Append(previousParagraphProperties2);
            level2.Append(numberingSymbolRunProperties2);

            Level level3 = new Level() { LevelIndex = 2 };
            StartNumberingValue startNumberingValue3 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat3 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText3 = new LevelText() { Val = "%1.%2.%3." };
            LevelJustification levelJustification3 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties3 = new PreviousParagraphProperties();

            Tabs tabs3 = new Tabs();
            TabStop tabStop3 = new TabStop() { Val = TabStopValues.Number, Position = 1224 };

            tabs3.Append(tabStop3);
            Indentation indentation3 = new Indentation() { Left = "1224", Hanging = "504" };

            previousParagraphProperties3.Append(tabs3);
            previousParagraphProperties3.Append(indentation3);

            NumberingSymbolRunProperties numberingSymbolRunProperties3 = new NumberingSymbolRunProperties();
            RunFonts runFonts3 = new RunFonts() { Hint = FontTypeHintValues.Default };

            numberingSymbolRunProperties3.Append(runFonts3);

            level3.Append(startNumberingValue3);
            level3.Append(numberingFormat3);
            level3.Append(levelText3);
            level3.Append(levelJustification3);
            level3.Append(previousParagraphProperties3);
            level3.Append(numberingSymbolRunProperties3);

            Level level4 = new Level() { LevelIndex = 3 };
            StartNumberingValue startNumberingValue4 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat4 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText4 = new LevelText() { Val = "%1.%2.%3.%4." };
            LevelJustification levelJustification4 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties4 = new PreviousParagraphProperties();

            Tabs tabs4 = new Tabs();
            TabStop tabStop4 = new TabStop() { Val = TabStopValues.Number, Position = 1728 };

            tabs4.Append(tabStop4);
            Indentation indentation4 = new Indentation() { Left = "1728", Hanging = "648" };

            previousParagraphProperties4.Append(tabs4);
            previousParagraphProperties4.Append(indentation4);

            NumberingSymbolRunProperties numberingSymbolRunProperties4 = new NumberingSymbolRunProperties();
            RunFonts runFonts4 = new RunFonts() { Hint = FontTypeHintValues.Default };

            numberingSymbolRunProperties4.Append(runFonts4);

            level4.Append(startNumberingValue4);
            level4.Append(numberingFormat4);
            level4.Append(levelText4);
            level4.Append(levelJustification4);
            level4.Append(previousParagraphProperties4);
            level4.Append(numberingSymbolRunProperties4);

            Level level5 = new Level() { LevelIndex = 4 };
            StartNumberingValue startNumberingValue5 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat5 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText5 = new LevelText() { Val = "%1.%2.%3.%4.%5." };
            LevelJustification levelJustification5 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties5 = new PreviousParagraphProperties();

            Tabs tabs5 = new Tabs();
            TabStop tabStop5 = new TabStop() { Val = TabStopValues.Number, Position = 2232 };

            tabs5.Append(tabStop5);
            Indentation indentation5 = new Indentation() { Left = "2232", Hanging = "792" };

            previousParagraphProperties5.Append(tabs5);
            previousParagraphProperties5.Append(indentation5);

            NumberingSymbolRunProperties numberingSymbolRunProperties5 = new NumberingSymbolRunProperties();
            RunFonts runFonts5 = new RunFonts() { Hint = FontTypeHintValues.Default };

            numberingSymbolRunProperties5.Append(runFonts5);

            level5.Append(startNumberingValue5);
            level5.Append(numberingFormat5);
            level5.Append(levelText5);
            level5.Append(levelJustification5);
            level5.Append(previousParagraphProperties5);
            level5.Append(numberingSymbolRunProperties5);

            Level level6 = new Level() { LevelIndex = 5 };
            StartNumberingValue startNumberingValue6 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat6 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText6 = new LevelText() { Val = "%1.%2.%3.%4.%5.%6." };
            LevelJustification levelJustification6 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties6 = new PreviousParagraphProperties();

            Tabs tabs6 = new Tabs();
            TabStop tabStop6 = new TabStop() { Val = TabStopValues.Number, Position = 2736 };

            tabs6.Append(tabStop6);
            Indentation indentation6 = new Indentation() { Left = "2736", Hanging = "936" };

            previousParagraphProperties6.Append(tabs6);
            previousParagraphProperties6.Append(indentation6);

            NumberingSymbolRunProperties numberingSymbolRunProperties6 = new NumberingSymbolRunProperties();
            RunFonts runFonts6 = new RunFonts() { Hint = FontTypeHintValues.Default };

            numberingSymbolRunProperties6.Append(runFonts6);

            level6.Append(startNumberingValue6);
            level6.Append(numberingFormat6);
            level6.Append(levelText6);
            level6.Append(levelJustification6);
            level6.Append(previousParagraphProperties6);
            level6.Append(numberingSymbolRunProperties6);

            Level level7 = new Level() { LevelIndex = 6 };
            StartNumberingValue startNumberingValue7 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat7 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText7 = new LevelText() { Val = "%1.%2.%3.%4.%5.%6.%7." };
            LevelJustification levelJustification7 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties7 = new PreviousParagraphProperties();

            Tabs tabs7 = new Tabs();
            TabStop tabStop7 = new TabStop() { Val = TabStopValues.Number, Position = 3240 };

            tabs7.Append(tabStop7);
            Indentation indentation7 = new Indentation() { Left = "3240", Hanging = "1080" };

            previousParagraphProperties7.Append(tabs7);
            previousParagraphProperties7.Append(indentation7);

            NumberingSymbolRunProperties numberingSymbolRunProperties7 = new NumberingSymbolRunProperties();
            RunFonts runFonts7 = new RunFonts() { Hint = FontTypeHintValues.Default };

            numberingSymbolRunProperties7.Append(runFonts7);

            level7.Append(startNumberingValue7);
            level7.Append(numberingFormat7);
            level7.Append(levelText7);
            level7.Append(levelJustification7);
            level7.Append(previousParagraphProperties7);
            level7.Append(numberingSymbolRunProperties7);

            Level level8 = new Level() { LevelIndex = 7 };
            StartNumberingValue startNumberingValue8 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat8 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText8 = new LevelText() { Val = "%1.%2.%3.%4.%5.%6.%7.%8." };
            LevelJustification levelJustification8 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties8 = new PreviousParagraphProperties();

            Tabs tabs8 = new Tabs();
            TabStop tabStop8 = new TabStop() { Val = TabStopValues.Number, Position = 3744 };

            tabs8.Append(tabStop8);
            Indentation indentation8 = new Indentation() { Left = "3744", Hanging = "1224" };

            previousParagraphProperties8.Append(tabs8);
            previousParagraphProperties8.Append(indentation8);

            NumberingSymbolRunProperties numberingSymbolRunProperties8 = new NumberingSymbolRunProperties();
            RunFonts runFonts8 = new RunFonts() { Hint = FontTypeHintValues.Default };

            numberingSymbolRunProperties8.Append(runFonts8);

            level8.Append(startNumberingValue8);
            level8.Append(numberingFormat8);
            level8.Append(levelText8);
            level8.Append(levelJustification8);
            level8.Append(previousParagraphProperties8);
            level8.Append(numberingSymbolRunProperties8);

            Level level9 = new Level() { LevelIndex = 8 };
            StartNumberingValue startNumberingValue9 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat9 = new NumberingFormat() { Val = NumberFormatValues.Decimal };
            LevelText levelText9 = new LevelText() { Val = "%1.%2.%3.%4.%5.%6.%7.%8.%9." };
            LevelJustification levelJustification9 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties9 = new PreviousParagraphProperties();

            Tabs tabs9 = new Tabs();
            TabStop tabStop9 = new TabStop() { Val = TabStopValues.Number, Position = 4320 };

            tabs9.Append(tabStop9);
            Indentation indentation9 = new Indentation() { Left = "4320", Hanging = "1440" };

            previousParagraphProperties9.Append(tabs9);
            previousParagraphProperties9.Append(indentation9);

            NumberingSymbolRunProperties numberingSymbolRunProperties9 = new NumberingSymbolRunProperties();
            RunFonts runFonts9 = new RunFonts() { Hint = FontTypeHintValues.Default };

            numberingSymbolRunProperties9.Append(runFonts9);

            level9.Append(startNumberingValue9);
            level9.Append(numberingFormat9);
            level9.Append(levelText9);
            level9.Append(levelJustification9);
            level9.Append(previousParagraphProperties9);
            level9.Append(numberingSymbolRunProperties9);

            abstractNum1.Append(nsid1);
            abstractNum1.Append(multiLevelType1);
            abstractNum1.Append(templateCode1);
            abstractNum1.Append(level1);
            abstractNum1.Append(level2);
            abstractNum1.Append(level3);
            abstractNum1.Append(level4);
            abstractNum1.Append(level5);
            abstractNum1.Append(level6);
            abstractNum1.Append(level7);
            abstractNum1.Append(level8);
            abstractNum1.Append(level9);

            AbstractNum abstractNum2 = new AbstractNum() { AbstractNumberId = 1 };
            Nsid nsid2 = new Nsid() { Val = "460E3EC6" };
            MultiLevelType multiLevelType2 = new MultiLevelType() { Val = MultiLevelValues.Multilevel };
            TemplateCode templateCode2 = new TemplateCode() { Val = "DD28C6DC" };

            Level level10 = new Level() { LevelIndex = 0 };
            StartNumberingValue startNumberingValue10 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat10 = new NumberingFormat() { Val = NumberFormatValues.Bullet };
            LevelText levelText10 = new LevelText() { Val = "·" };
            LevelJustification levelJustification10 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties10 = new PreviousParagraphProperties();

            Tabs tabs10 = new Tabs();
            TabStop tabStop10 = new TabStop() { Val = TabStopValues.Number, Position = 720 };

            tabs10.Append(tabStop10);
            Indentation indentation10 = new Indentation() { Left = "720", Hanging = "360" };

            previousParagraphProperties10.Append(tabs10);
            previousParagraphProperties10.Append(indentation10);

            NumberingSymbolRunProperties numberingSymbolRunProperties10 = new NumberingSymbolRunProperties();
            RunFonts runFonts10 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol" };
            FontSize fontSize1 = new FontSize() { Val = "16" };

            numberingSymbolRunProperties10.Append(runFonts10);
            numberingSymbolRunProperties10.Append(fontSize1);

            level10.Append(startNumberingValue10);
            level10.Append(numberingFormat10);
            level10.Append(levelText10);
            level10.Append(levelJustification10);
            level10.Append(previousParagraphProperties10);
            level10.Append(numberingSymbolRunProperties10);

            Level level11 = new Level() { LevelIndex = 1 };
            StartNumberingValue startNumberingValue11 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat11 = new NumberingFormat() { Val = NumberFormatValues.None };
            LevelText levelText11 = new LevelText() { Val = "n" };
            LevelJustification levelJustification11 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties11 = new PreviousParagraphProperties();

            Tabs tabs11 = new Tabs();
            TabStop tabStop11 = new TabStop() { Val = TabStopValues.Number, Position = 1080 };

            tabs11.Append(tabStop11);
            Indentation indentation11 = new Indentation() { Left = "1080", Hanging = "360" };

            previousParagraphProperties11.Append(tabs11);
            previousParagraphProperties11.Append(indentation11);

            NumberingSymbolRunProperties numberingSymbolRunProperties11 = new NumberingSymbolRunProperties();
            RunFonts runFonts11 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };
            FontSize fontSize2 = new FontSize() { Val = "16" };

            numberingSymbolRunProperties11.Append(runFonts11);
            numberingSymbolRunProperties11.Append(fontSize2);

            level11.Append(startNumberingValue11);
            level11.Append(numberingFormat11);
            level11.Append(levelText11);
            level11.Append(levelJustification11);
            level11.Append(previousParagraphProperties11);
            level11.Append(numberingSymbolRunProperties11);

            Level level12 = new Level() { LevelIndex = 2 };
            StartNumberingValue startNumberingValue12 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat12 = new NumberingFormat() { Val = NumberFormatValues.None };
            LevelText levelText12 = new LevelText() { Val = "n" };
            LevelJustification levelJustification12 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties12 = new PreviousParagraphProperties();

            Tabs tabs12 = new Tabs();
            TabStop tabStop12 = new TabStop() { Val = TabStopValues.Number, Position = 1440 };

            tabs12.Append(tabStop12);
            Indentation indentation12 = new Indentation() { Left = "1440", Hanging = "360" };

            previousParagraphProperties12.Append(tabs12);
            previousParagraphProperties12.Append(indentation12);

            NumberingSymbolRunProperties numberingSymbolRunProperties12 = new NumberingSymbolRunProperties();
            RunFonts runFonts12 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };
            FontSize fontSize3 = new FontSize() { Val = "16" };

            numberingSymbolRunProperties12.Append(runFonts12);
            numberingSymbolRunProperties12.Append(fontSize3);

            level12.Append(startNumberingValue12);
            level12.Append(numberingFormat12);
            level12.Append(levelText12);
            level12.Append(levelJustification12);
            level12.Append(previousParagraphProperties12);
            level12.Append(numberingSymbolRunProperties12);

            Level level13 = new Level() { LevelIndex = 3 };
            StartNumberingValue startNumberingValue13 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat13 = new NumberingFormat() { Val = NumberFormatValues.None };
            LevelText levelText13 = new LevelText() { Val = "n" };
            LevelJustification levelJustification13 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties13 = new PreviousParagraphProperties();

            Tabs tabs13 = new Tabs();
            TabStop tabStop13 = new TabStop() { Val = TabStopValues.Number, Position = 1800 };

            tabs13.Append(tabStop13);
            Indentation indentation13 = new Indentation() { Left = "1800", Hanging = "360" };

            previousParagraphProperties13.Append(tabs13);
            previousParagraphProperties13.Append(indentation13);

            NumberingSymbolRunProperties numberingSymbolRunProperties13 = new NumberingSymbolRunProperties();
            RunFonts runFonts13 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };
            FontSize fontSize4 = new FontSize() { Val = "16" };

            numberingSymbolRunProperties13.Append(runFonts13);
            numberingSymbolRunProperties13.Append(fontSize4);

            level13.Append(startNumberingValue13);
            level13.Append(numberingFormat13);
            level13.Append(levelText13);
            level13.Append(levelJustification13);
            level13.Append(previousParagraphProperties13);
            level13.Append(numberingSymbolRunProperties13);

            Level level14 = new Level() { LevelIndex = 4 };
            StartNumberingValue startNumberingValue14 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat14 = new NumberingFormat() { Val = NumberFormatValues.None };
            LevelText levelText14 = new LevelText() { Val = "n" };
            LevelJustification levelJustification14 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties14 = new PreviousParagraphProperties();

            Tabs tabs14 = new Tabs();
            TabStop tabStop14 = new TabStop() { Val = TabStopValues.Number, Position = 2160 };

            tabs14.Append(tabStop14);
            Indentation indentation14 = new Indentation() { Left = "2160", Hanging = "360" };

            previousParagraphProperties14.Append(tabs14);
            previousParagraphProperties14.Append(indentation14);

            NumberingSymbolRunProperties numberingSymbolRunProperties14 = new NumberingSymbolRunProperties();
            RunFonts runFonts14 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };
            FontSize fontSize5 = new FontSize() { Val = "16" };

            numberingSymbolRunProperties14.Append(runFonts14);
            numberingSymbolRunProperties14.Append(fontSize5);

            level14.Append(startNumberingValue14);
            level14.Append(numberingFormat14);
            level14.Append(levelText14);
            level14.Append(levelJustification14);
            level14.Append(previousParagraphProperties14);
            level14.Append(numberingSymbolRunProperties14);

            Level level15 = new Level() { LevelIndex = 5 };
            StartNumberingValue startNumberingValue15 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat15 = new NumberingFormat() { Val = NumberFormatValues.None };
            LevelText levelText15 = new LevelText() { Val = "n" };
            LevelJustification levelJustification15 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties15 = new PreviousParagraphProperties();

            Tabs tabs15 = new Tabs();
            TabStop tabStop15 = new TabStop() { Val = TabStopValues.Number, Position = 2520 };

            tabs15.Append(tabStop15);
            Indentation indentation15 = new Indentation() { Left = "2520", Hanging = "360" };

            previousParagraphProperties15.Append(tabs15);
            previousParagraphProperties15.Append(indentation15);

            NumberingSymbolRunProperties numberingSymbolRunProperties15 = new NumberingSymbolRunProperties();
            RunFonts runFonts15 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };
            FontSize fontSize6 = new FontSize() { Val = "16" };

            numberingSymbolRunProperties15.Append(runFonts15);
            numberingSymbolRunProperties15.Append(fontSize6);

            level15.Append(startNumberingValue15);
            level15.Append(numberingFormat15);
            level15.Append(levelText15);
            level15.Append(levelJustification15);
            level15.Append(previousParagraphProperties15);
            level15.Append(numberingSymbolRunProperties15);

            Level level16 = new Level() { LevelIndex = 6 };
            StartNumberingValue startNumberingValue16 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat16 = new NumberingFormat() { Val = NumberFormatValues.None };
            LevelText levelText16 = new LevelText() { Val = "n" };
            LevelJustification levelJustification16 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties16 = new PreviousParagraphProperties();

            Tabs tabs16 = new Tabs();
            TabStop tabStop16 = new TabStop() { Val = TabStopValues.Number, Position = 2880 };

            tabs16.Append(tabStop16);
            Indentation indentation16 = new Indentation() { Left = "2880", Hanging = "360" };

            previousParagraphProperties16.Append(tabs16);
            previousParagraphProperties16.Append(indentation16);

            NumberingSymbolRunProperties numberingSymbolRunProperties16 = new NumberingSymbolRunProperties();
            RunFonts runFonts16 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };
            FontSize fontSize7 = new FontSize() { Val = "16" };

            numberingSymbolRunProperties16.Append(runFonts16);
            numberingSymbolRunProperties16.Append(fontSize7);

            level16.Append(startNumberingValue16);
            level16.Append(numberingFormat16);
            level16.Append(levelText16);
            level16.Append(levelJustification16);
            level16.Append(previousParagraphProperties16);
            level16.Append(numberingSymbolRunProperties16);

            Level level17 = new Level() { LevelIndex = 7 };
            StartNumberingValue startNumberingValue17 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat17 = new NumberingFormat() { Val = NumberFormatValues.None };
            LevelText levelText17 = new LevelText() { Val = "n" };
            LevelJustification levelJustification17 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties17 = new PreviousParagraphProperties();

            Tabs tabs17 = new Tabs();
            TabStop tabStop17 = new TabStop() { Val = TabStopValues.Number, Position = 3240 };

            tabs17.Append(tabStop17);
            Indentation indentation17 = new Indentation() { Left = "3240", Hanging = "360" };

            previousParagraphProperties17.Append(tabs17);
            previousParagraphProperties17.Append(indentation17);

            NumberingSymbolRunProperties numberingSymbolRunProperties17 = new NumberingSymbolRunProperties();
            RunFonts runFonts17 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };
            FontSize fontSize8 = new FontSize() { Val = "16" };

            numberingSymbolRunProperties17.Append(runFonts17);
            numberingSymbolRunProperties17.Append(fontSize8);

            level17.Append(startNumberingValue17);
            level17.Append(numberingFormat17);
            level17.Append(levelText17);
            level17.Append(levelJustification17);
            level17.Append(previousParagraphProperties17);
            level17.Append(numberingSymbolRunProperties17);

            Level level18 = new Level() { LevelIndex = 8 };
            StartNumberingValue startNumberingValue18 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat18 = new NumberingFormat() { Val = NumberFormatValues.None };
            LevelText levelText18 = new LevelText() { Val = "n" };
            LevelJustification levelJustification18 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties18 = new PreviousParagraphProperties();

            Tabs tabs18 = new Tabs();
            TabStop tabStop18 = new TabStop() { Val = TabStopValues.Number, Position = 3600 };

            tabs18.Append(tabStop18);
            Indentation indentation18 = new Indentation() { Left = "3600", Hanging = "360" };

            previousParagraphProperties18.Append(tabs18);
            previousParagraphProperties18.Append(indentation18);

            NumberingSymbolRunProperties numberingSymbolRunProperties18 = new NumberingSymbolRunProperties();
            RunFonts runFonts18 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };
            FontSize fontSize9 = new FontSize() { Val = "16" };

            numberingSymbolRunProperties18.Append(runFonts18);
            numberingSymbolRunProperties18.Append(fontSize9);

            level18.Append(startNumberingValue18);
            level18.Append(numberingFormat18);
            level18.Append(levelText18);
            level18.Append(levelJustification18);
            level18.Append(previousParagraphProperties18);
            level18.Append(numberingSymbolRunProperties18);

            abstractNum2.Append(nsid2);
            abstractNum2.Append(multiLevelType2);
            abstractNum2.Append(templateCode2);
            abstractNum2.Append(level10);
            abstractNum2.Append(level11);
            abstractNum2.Append(level12);
            abstractNum2.Append(level13);
            abstractNum2.Append(level14);
            abstractNum2.Append(level15);
            abstractNum2.Append(level16);
            abstractNum2.Append(level17);
            abstractNum2.Append(level18);

            AbstractNum abstractNum3 = new AbstractNum() { AbstractNumberId = 2 };
            Nsid nsid3 = new Nsid() { Val = "70913756" };
            MultiLevelType multiLevelType3 = new MultiLevelType() { Val = MultiLevelValues.Multilevel };
            TemplateCode templateCode3 = new TemplateCode() { Val = "624EA66A" };
            AbstractNumDefinitionName abstractNumDefinitionName1 = new AbstractNumDefinitionName() { Val = "RussellSubbullet" };

            Level level19 = new Level() { LevelIndex = 0 };
            StartNumberingValue startNumberingValue19 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat19 = new NumberingFormat() { Val = NumberFormatValues.None };
            LevelText levelText19 = new LevelText() { Val = "n" };
            LevelJustification levelJustification19 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties19 = new PreviousParagraphProperties();

            Tabs tabs19 = new Tabs();
            TabStop tabStop19 = new TabStop() { Val = TabStopValues.Number, Position = 360 };

            tabs19.Append(tabStop19);
            Indentation indentation19 = new Indentation() { Left = "360", Hanging = "360" };

            previousParagraphProperties19.Append(tabs19);
            previousParagraphProperties19.Append(indentation19);

            NumberingSymbolRunProperties numberingSymbolRunProperties19 = new NumberingSymbolRunProperties();
            RunFonts runFonts19 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };
            FontSize fontSize10 = new FontSize() { Val = "16" };

            numberingSymbolRunProperties19.Append(runFonts19);
            numberingSymbolRunProperties19.Append(fontSize10);

            level19.Append(startNumberingValue19);
            level19.Append(numberingFormat19);
            level19.Append(levelText19);
            level19.Append(levelJustification19);
            level19.Append(previousParagraphProperties19);
            level19.Append(numberingSymbolRunProperties19);

            Level level20 = new Level() { LevelIndex = 1 };
            StartNumberingValue startNumberingValue20 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat20 = new NumberingFormat() { Val = NumberFormatValues.None };
            LevelText levelText20 = new LevelText() { Val = "n" };
            LevelJustification levelJustification20 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties20 = new PreviousParagraphProperties();

            Tabs tabs20 = new Tabs();
            TabStop tabStop20 = new TabStop() { Val = TabStopValues.Number, Position = 720 };

            tabs20.Append(tabStop20);
            Indentation indentation20 = new Indentation() { Left = "720", Hanging = "360" };

            previousParagraphProperties20.Append(tabs20);
            previousParagraphProperties20.Append(indentation20);

            NumberingSymbolRunProperties numberingSymbolRunProperties20 = new NumberingSymbolRunProperties();
            RunFonts runFonts20 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };
            FontSize fontSize11 = new FontSize() { Val = "16" };

            numberingSymbolRunProperties20.Append(runFonts20);
            numberingSymbolRunProperties20.Append(fontSize11);

            level20.Append(startNumberingValue20);
            level20.Append(numberingFormat20);
            level20.Append(levelText20);
            level20.Append(levelJustification20);
            level20.Append(previousParagraphProperties20);
            level20.Append(numberingSymbolRunProperties20);

            Level level21 = new Level() { LevelIndex = 2 };
            StartNumberingValue startNumberingValue21 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat21 = new NumberingFormat() { Val = NumberFormatValues.None };
            LevelText levelText21 = new LevelText() { Val = "n" };
            LevelJustification levelJustification21 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties21 = new PreviousParagraphProperties();

            Tabs tabs21 = new Tabs();
            TabStop tabStop21 = new TabStop() { Val = TabStopValues.Number, Position = 1080 };

            tabs21.Append(tabStop21);
            Indentation indentation21 = new Indentation() { Left = "1080", Hanging = "360" };

            previousParagraphProperties21.Append(tabs21);
            previousParagraphProperties21.Append(indentation21);

            NumberingSymbolRunProperties numberingSymbolRunProperties21 = new NumberingSymbolRunProperties();
            RunFonts runFonts21 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };
            FontSize fontSize12 = new FontSize() { Val = "16" };

            numberingSymbolRunProperties21.Append(runFonts21);
            numberingSymbolRunProperties21.Append(fontSize12);

            level21.Append(startNumberingValue21);
            level21.Append(numberingFormat21);
            level21.Append(levelText21);
            level21.Append(levelJustification21);
            level21.Append(previousParagraphProperties21);
            level21.Append(numberingSymbolRunProperties21);

            Level level22 = new Level() { LevelIndex = 3 };
            StartNumberingValue startNumberingValue22 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat22 = new NumberingFormat() { Val = NumberFormatValues.None };
            LevelText levelText22 = new LevelText() { Val = "n" };
            LevelJustification levelJustification22 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties22 = new PreviousParagraphProperties();

            Tabs tabs22 = new Tabs();
            TabStop tabStop22 = new TabStop() { Val = TabStopValues.Number, Position = 1440 };

            tabs22.Append(tabStop22);
            Indentation indentation22 = new Indentation() { Left = "1440", Hanging = "360" };

            previousParagraphProperties22.Append(tabs22);
            previousParagraphProperties22.Append(indentation22);

            NumberingSymbolRunProperties numberingSymbolRunProperties22 = new NumberingSymbolRunProperties();
            RunFonts runFonts22 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };
            FontSize fontSize13 = new FontSize() { Val = "16" };

            numberingSymbolRunProperties22.Append(runFonts22);
            numberingSymbolRunProperties22.Append(fontSize13);

            level22.Append(startNumberingValue22);
            level22.Append(numberingFormat22);
            level22.Append(levelText22);
            level22.Append(levelJustification22);
            level22.Append(previousParagraphProperties22);
            level22.Append(numberingSymbolRunProperties22);

            Level level23 = new Level() { LevelIndex = 4 };
            StartNumberingValue startNumberingValue23 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat23 = new NumberingFormat() { Val = NumberFormatValues.None };
            LevelText levelText23 = new LevelText() { Val = "n" };
            LevelJustification levelJustification23 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties23 = new PreviousParagraphProperties();

            Tabs tabs23 = new Tabs();
            TabStop tabStop23 = new TabStop() { Val = TabStopValues.Number, Position = 1800 };

            tabs23.Append(tabStop23);
            Indentation indentation23 = new Indentation() { Left = "1800", Hanging = "360" };

            previousParagraphProperties23.Append(tabs23);
            previousParagraphProperties23.Append(indentation23);

            NumberingSymbolRunProperties numberingSymbolRunProperties23 = new NumberingSymbolRunProperties();
            RunFonts runFonts23 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };
            FontSize fontSize14 = new FontSize() { Val = "16" };

            numberingSymbolRunProperties23.Append(runFonts23);
            numberingSymbolRunProperties23.Append(fontSize14);

            level23.Append(startNumberingValue23);
            level23.Append(numberingFormat23);
            level23.Append(levelText23);
            level23.Append(levelJustification23);
            level23.Append(previousParagraphProperties23);
            level23.Append(numberingSymbolRunProperties23);

            Level level24 = new Level() { LevelIndex = 5 };
            StartNumberingValue startNumberingValue24 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat24 = new NumberingFormat() { Val = NumberFormatValues.None };
            LevelText levelText24 = new LevelText() { Val = "n" };
            LevelJustification levelJustification24 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties24 = new PreviousParagraphProperties();

            Tabs tabs24 = new Tabs();
            TabStop tabStop24 = new TabStop() { Val = TabStopValues.Number, Position = 2160 };

            tabs24.Append(tabStop24);
            Indentation indentation24 = new Indentation() { Left = "2160", Hanging = "360" };

            previousParagraphProperties24.Append(tabs24);
            previousParagraphProperties24.Append(indentation24);

            NumberingSymbolRunProperties numberingSymbolRunProperties24 = new NumberingSymbolRunProperties();
            RunFonts runFonts24 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };
            FontSize fontSize15 = new FontSize() { Val = "16" };

            numberingSymbolRunProperties24.Append(runFonts24);
            numberingSymbolRunProperties24.Append(fontSize15);

            level24.Append(startNumberingValue24);
            level24.Append(numberingFormat24);
            level24.Append(levelText24);
            level24.Append(levelJustification24);
            level24.Append(previousParagraphProperties24);
            level24.Append(numberingSymbolRunProperties24);

            Level level25 = new Level() { LevelIndex = 6 };
            StartNumberingValue startNumberingValue25 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat25 = new NumberingFormat() { Val = NumberFormatValues.None };
            LevelText levelText25 = new LevelText() { Val = "n" };
            LevelJustification levelJustification25 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties25 = new PreviousParagraphProperties();

            Tabs tabs25 = new Tabs();
            TabStop tabStop25 = new TabStop() { Val = TabStopValues.Number, Position = 2520 };

            tabs25.Append(tabStop25);
            Indentation indentation25 = new Indentation() { Left = "2520", Hanging = "360" };

            previousParagraphProperties25.Append(tabs25);
            previousParagraphProperties25.Append(indentation25);

            NumberingSymbolRunProperties numberingSymbolRunProperties25 = new NumberingSymbolRunProperties();
            RunFonts runFonts25 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };
            FontSize fontSize16 = new FontSize() { Val = "16" };

            numberingSymbolRunProperties25.Append(runFonts25);
            numberingSymbolRunProperties25.Append(fontSize16);

            level25.Append(startNumberingValue25);
            level25.Append(numberingFormat25);
            level25.Append(levelText25);
            level25.Append(levelJustification25);
            level25.Append(previousParagraphProperties25);
            level25.Append(numberingSymbolRunProperties25);

            Level level26 = new Level() { LevelIndex = 7 };
            StartNumberingValue startNumberingValue26 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat26 = new NumberingFormat() { Val = NumberFormatValues.None };
            LevelText levelText26 = new LevelText() { Val = "n" };
            LevelJustification levelJustification26 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties26 = new PreviousParagraphProperties();

            Tabs tabs26 = new Tabs();
            TabStop tabStop26 = new TabStop() { Val = TabStopValues.Number, Position = 2880 };

            tabs26.Append(tabStop26);
            Indentation indentation26 = new Indentation() { Left = "2880", Hanging = "360" };

            previousParagraphProperties26.Append(tabs26);
            previousParagraphProperties26.Append(indentation26);

            NumberingSymbolRunProperties numberingSymbolRunProperties26 = new NumberingSymbolRunProperties();
            RunFonts runFonts26 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };
            FontSize fontSize17 = new FontSize() { Val = "16" };

            numberingSymbolRunProperties26.Append(runFonts26);
            numberingSymbolRunProperties26.Append(fontSize17);

            level26.Append(startNumberingValue26);
            level26.Append(numberingFormat26);
            level26.Append(levelText26);
            level26.Append(levelJustification26);
            level26.Append(previousParagraphProperties26);
            level26.Append(numberingSymbolRunProperties26);

            Level level27 = new Level() { LevelIndex = 8 };
            StartNumberingValue startNumberingValue27 = new StartNumberingValue() { Val = 1 };
            NumberingFormat numberingFormat27 = new NumberingFormat() { Val = NumberFormatValues.None };
            LevelText levelText27 = new LevelText() { Val = "n" };
            LevelJustification levelJustification27 = new LevelJustification() { Val = LevelJustificationValues.Left };

            PreviousParagraphProperties previousParagraphProperties27 = new PreviousParagraphProperties();

            Tabs tabs27 = new Tabs();
            TabStop tabStop27 = new TabStop() { Val = TabStopValues.Number, Position = 3240 };

            tabs27.Append(tabStop27);
            Indentation indentation27 = new Indentation() { Left = "3240", Hanging = "360" };

            previousParagraphProperties27.Append(tabs27);
            previousParagraphProperties27.Append(indentation27);

            NumberingSymbolRunProperties numberingSymbolRunProperties27 = new NumberingSymbolRunProperties();
            RunFonts runFonts27 = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Wingdings", HighAnsi = "Wingdings" };
            FontSize fontSize18 = new FontSize() { Val = "16" };

            numberingSymbolRunProperties27.Append(runFonts27);
            numberingSymbolRunProperties27.Append(fontSize18);

            level27.Append(startNumberingValue27);
            level27.Append(numberingFormat27);
            level27.Append(levelText27);
            level27.Append(levelJustification27);
            level27.Append(previousParagraphProperties27);
            level27.Append(numberingSymbolRunProperties27);

            abstractNum3.Append(nsid3);
            abstractNum3.Append(multiLevelType3);
            abstractNum3.Append(templateCode3);
            abstractNum3.Append(abstractNumDefinitionName1);
            abstractNum3.Append(level19);
            abstractNum3.Append(level20);
            abstractNum3.Append(level21);
            abstractNum3.Append(level22);
            abstractNum3.Append(level23);
            abstractNum3.Append(level24);
            abstractNum3.Append(level25);
            abstractNum3.Append(level26);
            abstractNum3.Append(level27);

            NumberingInstance numberingInstance1 = new NumberingInstance() { NumberID = 1 };
            AbstractNumId abstractNumId1 = new AbstractNumId() { Val = 2 };

            numberingInstance1.Append(abstractNumId1);

            NumberingInstance numberingInstance2 = new NumberingInstance() { NumberID = 2 };
            AbstractNumId abstractNumId2 = new AbstractNumId() { Val = 0 };

            numberingInstance2.Append(abstractNumId2);

            NumberingInstance numberingInstance3 = new NumberingInstance() { NumberID = 3 };
            AbstractNumId abstractNumId3 = new AbstractNumId() { Val = 1 };

            numberingInstance3.Append(abstractNumId3);

            NumberingInstance numberingInstance4 = new NumberingInstance() { NumberID = 4 };

            LevelOverride levelOverride1 = new LevelOverride() { LevelIndex = 0 };
            StartOverrideNumberingValue startOverrideNumberingValue1 = new StartOverrideNumberingValue() { Val = 1 };

            levelOverride1.Append(startOverrideNumberingValue1);

            LevelOverride levelOverride2 = new LevelOverride() { LevelIndex = 1 };
            StartOverrideNumberingValue startOverrideNumberingValue2 = new StartOverrideNumberingValue() { Val = 1 };

            levelOverride2.Append(startOverrideNumberingValue2);

            LevelOverride levelOverride3 = new LevelOverride() { LevelIndex = 2 };
            StartOverrideNumberingValue startOverrideNumberingValue3 = new StartOverrideNumberingValue() { Val = 1 };

            levelOverride3.Append(startOverrideNumberingValue3);

            LevelOverride levelOverride4 = new LevelOverride() { LevelIndex = 3 };
            StartOverrideNumberingValue startOverrideNumberingValue4 = new StartOverrideNumberingValue() { Val = 1 };

            levelOverride4.Append(startOverrideNumberingValue4);

            LevelOverride levelOverride5 = new LevelOverride() { LevelIndex = 4 };
            StartOverrideNumberingValue startOverrideNumberingValue5 = new StartOverrideNumberingValue() { Val = 1 };

            levelOverride5.Append(startOverrideNumberingValue5);

            LevelOverride levelOverride6 = new LevelOverride() { LevelIndex = 5 };
            StartOverrideNumberingValue startOverrideNumberingValue6 = new StartOverrideNumberingValue() { Val = 1 };

            levelOverride6.Append(startOverrideNumberingValue6);

            LevelOverride levelOverride7 = new LevelOverride() { LevelIndex = 6 };
            StartOverrideNumberingValue startOverrideNumberingValue7 = new StartOverrideNumberingValue() { Val = 1 };

            levelOverride7.Append(startOverrideNumberingValue7);

            LevelOverride levelOverride8 = new LevelOverride() { LevelIndex = 7 };
            StartOverrideNumberingValue startOverrideNumberingValue8 = new StartOverrideNumberingValue() { Val = 1 };

            levelOverride8.Append(startOverrideNumberingValue8);

            LevelOverride levelOverride9 = new LevelOverride() { LevelIndex = 8 };
            StartOverrideNumberingValue startOverrideNumberingValue9 = new StartOverrideNumberingValue() { Val = 1 };

            levelOverride9.Append(startOverrideNumberingValue9);

            numberingInstance4.Append(levelOverride1);
            numberingInstance4.Append(levelOverride2);
            numberingInstance4.Append(levelOverride3);
            numberingInstance4.Append(levelOverride4);
            numberingInstance4.Append(levelOverride5);
            numberingInstance4.Append(levelOverride6);
            numberingInstance4.Append(levelOverride7);
            numberingInstance4.Append(levelOverride8);
            numberingInstance4.Append(levelOverride9);

            numbering1.Append(abstractNum1);
            numbering1.Append(abstractNum2);
            numbering1.Append(abstractNum3);
            numbering1.Append(numberingInstance1);
            numbering1.Append(numberingInstance2);
            numbering1.Append(numberingInstance3);
            numbering1.Append(numberingInstance4);

            numberingDefinitionsPart1.Numbering = numbering1;
        }
예제 #37
0
        private static NumberingInstance GenerateNumberingInstance(int id)
        {
            NumberingInstance numberingInstance1 = new NumberingInstance() { NumberID = id };
            AbstractNumId abstractNumId1 = new AbstractNumId() { Val = id };

            numberingInstance1.Append(abstractNumId1);
            return numberingInstance1;
        }
예제 #38
0
        IEnumerable <OpenXmlCompositeElement> Paragraph2Paragraphs(MarkdownParagraph md)
        {
            if (md.IsHeading)
            {
                var mdh   = md as MarkdownParagraph.Heading;
                var level = mdh.Item1;
                var spans = mdh.Item2;
                var sr    = sections[new SectionRef(mdh, filename).Url];
                var props = new ParagraphProperties(new ParagraphStyleId()
                {
                    Val = $"Heading{level}"
                });
                var p = new Paragraph {
                    ParagraphProperties = props
                };
                maxBookmarkId.Value += 1;
                p.AppendChild(new BookmarkStart {
                    Name = sr.BookmarkName, Id = maxBookmarkId.Value.ToString()
                });
                p.Append(Spans2Elements(spans));
                p.AppendChild(new BookmarkEnd {
                    Id = maxBookmarkId.Value.ToString()
                });
                yield return(p);

                Console.WriteLine(new string(' ', level * 4 - 4) + sr.Number + " " + sr.Title);
                yield break;
            }

            else if (md.IsParagraph)
            {
                var mdp   = md as MarkdownParagraph.Paragraph;
                var spans = mdp.Item;
                yield return(new Paragraph(Spans2Elements(spans)));

                yield break;
            }

            else if (md.IsListBlock)
            {
                var mdl  = md as MarkdownParagraph.ListBlock;
                var flat = FlattenList(mdl);

                // Let's figure out what kind of list it is - ordered or unordered? nested?
                var format0 = new[] { "1", "1", "1", "1" };
                foreach (var item in flat)
                {
                    format0[item.Level] = (item.IsBulletOrdered ? "1" : "o");
                }
                var format = string.Join("", format0);

                var numberingPart = wdoc.MainDocumentPart.NumberingDefinitionsPart ?? wdoc.MainDocumentPart.AddNewPart <NumberingDefinitionsPart>("NumberingDefinitionsPart001");
                if (numberingPart.Numbering == null)
                {
                    numberingPart.Numbering = new Numbering();
                }

                Func <int, bool, Level> createLevel;
                createLevel = (level, isOrdered) =>
                {
                    var numformat = NumberFormatValues.Bullet;
                    var levelText = new[] { "·", "o", "·", "o" }[level];
                    if (isOrdered && level == 0)
                    {
                        numformat = NumberFormatValues.Decimal; levelText = "%1.";
                    }
                    if (isOrdered && level == 1)
                    {
                        numformat = NumberFormatValues.LowerLetter; levelText = "%2.";
                    }
                    if (isOrdered && level == 2)
                    {
                        numformat = NumberFormatValues.LowerRoman; levelText = "%3.";
                    }
                    if (isOrdered && level == 3)
                    {
                        numformat = NumberFormatValues.LowerRoman; levelText = "%4.";
                    }
                    var r = new Level {
                        LevelIndex = level
                    };
                    r.Append(new StartNumberingValue {
                        Val = 1
                    });
                    r.Append(new NumberingFormat {
                        Val = numformat
                    });
                    r.Append(new LevelText {
                        Val = levelText
                    });
                    r.Append(new ParagraphProperties(new Indentation {
                        Left = (540 + 360 * level).ToString(), Hanging = "360"
                    }));
                    if (levelText == "·")
                    {
                        r.Append(new NumberingSymbolRunProperties(new RunFonts {
                            Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol", EastAsia = "Times new Roman", ComplexScript = "Times new Roman"
                        }));
                    }
                    if (levelText == "o")
                    {
                        r.Append(new NumberingSymbolRunProperties(new RunFonts {
                            Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New", ComplexScript = "Courier New"
                        }));
                    }
                    return(r);
                };
                var level0 = createLevel(0, format[0] == '1');
                var level1 = createLevel(1, format[1] == '1');
                var level2 = createLevel(2, format[2] == '1');
                var level3 = createLevel(3, format[3] == '1');

                var abstracts = numberingPart.Numbering.OfType <AbstractNum>().Select(an => an.AbstractNumberId.Value).ToList();
                var aid       = (abstracts.Count == 0 ? 1 : abstracts.Max() + 1);
                var aabstract = new AbstractNum(new MultiLevelType()
                {
                    Val = MultiLevelValues.Multilevel
                }, level0, level1, level2, level3)
                {
                    AbstractNumberId = aid
                };
                numberingPart.Numbering.InsertAt(aabstract, 0);

                var instances   = numberingPart.Numbering.OfType <NumberingInstance>().Select(ni => ni.NumberID.Value);
                var nid         = (instances.Count() == 0 ? 1 : instances.Max() + 1);
                var numInstance = new NumberingInstance(new AbstractNumId {
                    Val = aid
                })
                {
                    NumberID = nid
                };
                numberingPart.Numbering.AppendChild(numInstance);

                // We'll also figure out the indentation(for the benefit of those paragraphs that should be
                // indendent with the list but aren't numbered). I'm not sure what the indent comes from.
                // in the docx, each AbstractNum that I created has an indent for each of its levels,
                // defaulted at 900, 1260, 1620, ... but I can't see where in the above code that's created?
                Func <int, string> calcIndent = level => (540 + level * 360).ToString();

                foreach (var item in flat)
                {
                    var content = item.Paragraph;
                    if (content.IsParagraph || content.IsSpan)
                    {
                        var spans = (content.IsParagraph ? (content as MarkdownParagraph.Paragraph).Item : (content as MarkdownParagraph.Span).Item);
                        if (item.HasBullet)
                        {
                            yield return new Paragraph(Spans2Elements(spans))
                                   {
                                       ParagraphProperties = new ParagraphProperties(new NumberingProperties(new ParagraphStyleId {
                                    Val = "ListParagraph"
                                }, new NumberingLevelReference {
                                    Val = item.Level
                                }, new NumberingId {
                                    Val = nid
                                }))
                                   }
                        }
                        ;
                        else
                        {
                            yield return new Paragraph(Spans2Elements(spans))
                                   {
                                       ParagraphProperties = new ParagraphProperties(new Indentation {
                                    Left = calcIndent(item.Level)
                                })
                                   }
                        };
                    }
                    else if (content.IsQuotedBlock || content.IsCodeBlock)
                    {
                        foreach (var p in Paragraph2Paragraphs(content))
                        {
                            var props = p.GetFirstChild <ParagraphProperties>();

                            if (props == null)
                            {
                                props = new ParagraphProperties(); p.InsertAt(props, 0);
                            }
                            var indent = props?.GetFirstChild <Indentation>();
                            if (indent == null)
                            {
                                indent = new Indentation(); props.Append(indent);
                            }
                            indent.Left = calcIndent(item.Level);
                            yield return(p);
                        }
                    }
                    else if (content.IsTableBlock)
                    {
                        foreach (var p in Paragraph2Paragraphs(content))
                        {
                            var table = p as Table;
                            if (table == null)
                            {
                                yield return(p); continue;
                            }
                            var tprops  = table.GetFirstChild <TableProperties>();
                            var tindent = tprops?.GetFirstChild <TableIndentation>();
                            if (tindent == null)
                            {
                                throw new Exception("Ooops! Table is missing indentation");
                            }
                            tindent.Width = int.Parse(calcIndent(item.Level));
                            yield return(table);
                        }
                    }
                    else
                    {
                        throw new Exception("Unexpected item in list");
                    }
                }
            }

            else if (md.IsCodeBlock)
            {
                var mdc  = md as MarkdownParagraph.CodeBlock;
                var code = mdc.Item1;
                var lang = mdc.Item2;
                code = BugWorkaroundDecode(code);
                var runs        = new List <Run>();
                var onFirstLine = true;
                IEnumerable <ColorizedLine> lines;
                if (lang == "csharp" || lang == "c#" || lang == "cs")
                {
                    lines = Colorize.CSharp(code);
                }
                else if (lang == "vb" || lang == "vbnet" || lang == "vb.net")
                {
                    lines = Colorize.VB(code);
                }
                else if (lang == "" || lang == "xml")
                {
                    lines = Colorize.PlainText(code);
                }
                else if (lang == "antlr")
                {
                    lines = Antlr.ColorizeAntlr(code);
                }
                else
                {
                    throw new NotSupportedException($"unrecognized language {lang}");
                }
                foreach (var line in lines)
                {
                    if (onFirstLine)
                    {
                        onFirstLine = false;
                    }
                    else
                    {
                        runs.Add(new Run(new Break()));
                    }
                    foreach (var word in line.Words)
                    {
                        var run   = new Run();
                        var props = new RunProperties();
                        if (word.Red != 0 || word.Green != 0 || word.Blue != 0)
                        {
                            props.Append(new Color {
                                Val = $"{word.Red:X2}{word.Green:X2}{word.Blue:X2}"
                            });
                        }
                        if (word.IsItalic)
                        {
                            props.Append(new Italic());
                        }
                        if (props.HasChildren)
                        {
                            run.Append(props);
                        }
                        run.Append(new Text(word.Text)
                        {
                            Space = SpaceProcessingModeValues.Preserve
                        });
                        runs.Add(run);
                    }
                }
                var style = new ParagraphStyleId {
                    Val = (lang == "antlr" ? "Grammar" : "Code")
                };
                yield return(new Paragraph(runs)
                {
                    ParagraphProperties = new ParagraphProperties(style)
                });
            }

            else if (md.IsQuotedBlock)
            {
                var mdq     = md as MarkdownParagraph.QuotedBlock;
                var quoteds = mdq.Item;
                var kind    = "";
                foreach (var quoted0 in quoteds)
                {
                    var quoted = quoted0;
                    if (quoted.IsParagraph)
                    {
                        var p     = quoted as MarkdownParagraph.Paragraph;
                        var spans = p.Item;
                        if (spans.Any() && spans.First().IsStrong)
                        {
                            var strong = (spans.First() as MarkdownSpan.Strong).Item;
                            if (strong.Any() && strong.First().IsLiteral)
                            {
                                var literal = mdunescape(strong.First() as MarkdownSpan.Literal);
                                if (literal == "Note")
                                {
                                    kind = "AlertText";
                                }
                                else if (literal == "Annotation")
                                {
                                    kind = "Annotation";
                                    yield return(new Paragraph(Span2Elements(spans.Head))
                                    {
                                        ParagraphProperties = new ParagraphProperties(new ParagraphStyleId {
                                            Val = kind
                                        })
                                    });

                                    if (spans.Tail.Any() && spans.Tail.First().IsLiteral)
                                    {
                                        quoted = MarkdownParagraph.NewParagraph(new Microsoft.FSharp.Collections.FSharpList <MarkdownSpan>(MarkdownSpan.NewLiteral(mdunescape(spans.Tail.First() as MarkdownSpan.Literal).TrimStart()), spans.Tail.Tail));
                                    }
                                    else
                                    {
                                        quoted = MarkdownParagraph.NewParagraph(spans.Tail);
                                    }
                                }
                            }
                        }
                        //
                        foreach (var qp in Paragraph2Paragraphs(quoted))
                        {
                            var qpp = qp as Paragraph;
                            if (qpp != null)
                            {
                                var props = new ParagraphProperties(new ParagraphStyleId()
                                {
                                    Val = kind
                                }); qpp.ParagraphProperties = props;
                            }
                            yield return(qp);
                        }
                    }

                    else if (quoted.IsCodeBlock)
                    {
                        var mdc              = quoted as MarkdownParagraph.CodeBlock;
                        var code             = mdc.Item1;
                        var lang             = mdc.Item2;
                        var ignoredAfterLang = mdc.Item3;
                        var lines            = code.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None).ToList();
                        if (string.IsNullOrWhiteSpace(lines.Last()))
                        {
                            lines.RemoveAt(lines.Count - 1);
                        }
                        var run = new Run()
                        {
                            RunProperties = new RunProperties(new RunStyle {
                                Val = "CodeEmbedded"
                            })
                        };
                        foreach (var line in lines)
                        {
                            if (run.ChildElements.Count() > 1)
                            {
                                run.Append(new Break());
                            }
                            run.Append(new Text("    " + line)
                            {
                                Space = SpaceProcessingModeValues.Preserve
                            });
                        }
                        yield return(new Paragraph(run)
                        {
                            ParagraphProperties = new ParagraphProperties(new ParagraphStyleId {
                                Val = kind
                            })
                        });
                    }

                    else if (quoted.IsListBlock)
                    {
                        if (!(quoted as MarkdownParagraph.ListBlock).Item1.IsOrdered)
                        {
                            throw new NotImplementedException("unordered list inside annotation");
                        }
                        var count = 1;
                        foreach (var qp in Paragraph2Paragraphs(quoted))
                        {
                            var qpp = qp as Paragraph;
                            if (qpp == null)
                            {
                                yield return(qp); continue;
                            }
                            qp.InsertAt(new Run(new Text($"{count}. ")
                            {
                                Space = SpaceProcessingModeValues.Preserve
                            }), 0);
                            count += 1;
                            var props = new ParagraphProperties(new ParagraphStyleId()
                            {
                                Val = kind
                            });
                            qpp.ParagraphProperties = props;
                            yield return(qp);
                        }
                    }
                }
            }

            else if (md.IsTableBlock)
            {
                var mdt    = md as MarkdownParagraph.TableBlock;
                var header = mdt.Item1.Option();
                var align  = mdt.Item2;
                var rows   = mdt.Item3;
                var table  = new Table();
                var tstyle = new TableStyle {
                    Val = "TableGrid"
                };
                var tindent = new TableIndentation {
                    Width = 360, Type = TableWidthUnitValues.Dxa
                };
                var tborders = new TableBorders();
                tborders.TopBorder = new TopBorder {
                    Val = BorderValues.Single
                };
                tborders.BottomBorder = new BottomBorder {
                    Val = BorderValues.Single
                };
                tborders.LeftBorder = new LeftBorder {
                    Val = BorderValues.Single
                };
                tborders.RightBorder = new RightBorder {
                    Val = BorderValues.Single
                };
                tborders.InsideHorizontalBorder = new InsideHorizontalBorder {
                    Val = BorderValues.Single
                };
                tborders.InsideVerticalBorder = new InsideVerticalBorder {
                    Val = BorderValues.Single
                };
                var tcellmar = new TableCellMarginDefault();
                tcellmar.Append();
                table.Append(new TableProperties(tstyle, tindent, tborders));
                var ncols = align.Length;
                for (int irow = -1; irow < rows.Length; irow++)
                {
                    if (irow == -1 && header == null)
                    {
                        continue;
                    }
                    var mdrow = (irow == -1 ? header : rows[irow]);
                    var row   = new TableRow();
                    for (int icol = 0; icol < Math.Min(ncols, mdrow.Length); icol++)
                    {
                        var mdcell = mdrow[icol];
                        var cell   = new TableCell();
                        var pars   = Paragraphs2Paragraphs(mdcell).ToList();
                        for (int ip = 0; ip < pars.Count; ip++)
                        {
                            var p = pars[ip] as Paragraph;
                            if (p == null)
                            {
                                cell.Append(pars[ip]); continue;
                            }
                            var props = new ParagraphProperties(new ParagraphStyleId {
                                Val = "TableCellNormal"
                            });
                            if (align[icol].IsAlignCenter)
                            {
                                props.Append(new Justification {
                                    Val = JustificationValues.Center
                                });
                            }
                            if (align[icol].IsAlignRight)
                            {
                                props.Append(new Justification {
                                    Val = JustificationValues.Right
                                });
                            }
                            p.InsertAt(props, 0);
                            cell.Append(pars[ip]);
                        }
                        if (pars.Count == 0)
                        {
                            cell.Append(new Paragraph(new ParagraphProperties(new SpacingBetweenLines {
                                After = "0"
                            }), new Run(new Text(""))));
                        }
                        row.Append(cell);
                    }
                    table.Append(row);
                }
                yield return(new Paragraph(new Run(new Text("")))
                {
                    ParagraphProperties = new ParagraphProperties(new ParagraphStyleId {
                        Val = "TableLineBefore"
                    })
                });

                yield return(table);

                yield return(new Paragraph(new Run(new Text("")))
                {
                    ParagraphProperties = new ParagraphProperties(new ParagraphStyleId {
                        Val = "TableLineAfter"
                    })
                });
            }
            else
            {
                yield return(new Paragraph(new Run(new Text($"[{md.GetType().Name}]"))));
            }
        }