ooxml-core 1.14.0 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/dist/{PptxHandler-5YP75BPO.cjs → PptxHandler-OGLITB3F.cjs} +2 -2
  2. package/dist/{PptxHandler-KNBFECUE.mjs → PptxHandler-R5BVKEBW.mjs} +2 -2
  3. package/dist/{PptxHandler-GT5Q66TG.mjs → PptxHandler-UKAA5T5U.mjs} +1 -1
  4. package/dist/{PresentationBuilder-II7C4A3R.cjs → PresentationBuilder-4AF3PZHG.cjs} +4 -4
  5. package/dist/{PresentationBuilder-CVM6LJ7L.mjs → PresentationBuilder-54QGEZ2F.mjs} +1 -1
  6. package/dist/{PresentationBuilder-5DCCFHWJ.mjs → PresentationBuilder-W67DIJBV.mjs} +2 -2
  7. package/dist/automation/index.cjs +372 -669
  8. package/dist/automation/index.mjs +372 -669
  9. package/dist/{chunk-ORH32TO3.mjs → chunk-7ZIZFJXT.mjs} +1509 -754
  10. package/dist/{chunk-XGXIS4PN.mjs → chunk-EMZIHAOH.mjs} +1508 -739
  11. package/dist/{chunk-4WZLFUUA.mjs → chunk-HU36GIYM.mjs} +642 -200
  12. package/dist/{chunk-54ASP65T.mjs → chunk-JFMIPOPV.mjs} +1 -1
  13. package/dist/{chunk-2D4IFQ5M.mjs → chunk-NWAQEXBK.mjs} +1 -1
  14. package/dist/{chunk-TNNXOW2O.mjs → chunk-OPBZBSJF.mjs} +1 -1
  15. package/dist/{chunk-TQE7FFNT.cjs → chunk-ZWI7MTLF.cjs} +1509 -754
  16. package/dist/geometry/index.cjs +259 -0
  17. package/dist/geometry/index.d.ts +1 -0
  18. package/dist/geometry/index.d.ts.map +1 -1
  19. package/dist/geometry/index.mjs +255 -1
  20. package/dist/geometry/shape-gallery-catalog.d.ts +32 -0
  21. package/dist/geometry/shape-gallery-catalog.d.ts.map +1 -0
  22. package/dist/index.cjs +371 -112
  23. package/dist/index.mjs +371 -112
  24. package/dist/pptx/automation/index.cjs +2203 -1415
  25. package/dist/pptx/automation/index.d.ts +4 -4
  26. package/dist/pptx/automation/index.mjs +5 -5
  27. package/dist/pptx/chunks/{elements-tK7xnWeS.d.ts → elements-Cadkqht8.d.ts} +143 -2
  28. package/dist/pptx/chunks/elements-Cadkqht8.d.ts.map +1 -0
  29. package/dist/pptx/chunks/{index-DS9Y4Ne3.d.ts → index-CJI2EugA.d.ts} +5 -3
  30. package/dist/pptx/chunks/{index-DS9Y4Ne3.d.ts.map → index-CJI2EugA.d.ts.map} +1 -1
  31. package/dist/pptx/chunks/{index-BSpNQuvz.d.ts → index-CozqpSPL.d.ts} +112 -5
  32. package/dist/pptx/chunks/index-CozqpSPL.d.ts.map +1 -0
  33. package/dist/pptx/chunks/{text-operations-BdD_UQ11.d.ts → text-operations-C3L9xrqx.d.ts} +2 -2
  34. package/dist/pptx/chunks/{text-operations-BdD_UQ11.d.ts.map → text-operations-C3L9xrqx.d.ts.map} +1 -1
  35. package/dist/pptx/cli/index.cjs +2151 -1363
  36. package/dist/pptx/cli/index.d.ts +1 -1
  37. package/dist/pptx/cli/index.mjs +4 -4
  38. package/dist/pptx/converter/index.cjs +7 -0
  39. package/dist/pptx/converter/index.d.ts +1 -1
  40. package/dist/pptx/converter/index.mjs +2 -2
  41. package/dist/pptx/editor/render/find-replace.d.ts +2 -2
  42. package/dist/pptx/editor/render/slide-operations.cjs +1 -1
  43. package/dist/pptx/editor/render/slide-operations.mjs +1 -1
  44. package/dist/pptx/editor/render/text-runs-style-patch.d.ts +1 -1
  45. package/dist/pptx/editor/render/text-style-scope.d.ts +1 -1
  46. package/dist/pptx/index.cjs +2990 -1726
  47. package/dist/pptx/index.d.ts +5 -5
  48. package/dist/pptx/index.mjs +5 -5
  49. package/dist/teams/ics.d.ts.map +1 -1
  50. package/dist/teams/index.cjs +527 -622
  51. package/dist/teams/index.d.ts +1 -0
  52. package/dist/teams/index.d.ts.map +1 -1
  53. package/dist/teams/index.mjs +512 -623
  54. package/dist/teams/meetings.d.ts +11 -1
  55. package/dist/teams/meetings.d.ts.map +1 -1
  56. package/dist/teams/recurrence-calendar.d.ts +41 -0
  57. package/dist/teams/recurrence-calendar.d.ts.map +1 -0
  58. package/dist/teams/recurrence.d.ts +1 -1
  59. package/dist/teams/recurrence.d.ts.map +1 -1
  60. package/dist/teams/server-session.d.ts +19 -0
  61. package/dist/teams/server-session.d.ts.map +1 -1
  62. package/dist/xlsx/edit/pivots.d.ts.map +1 -1
  63. package/dist/xlsx/index.cjs +386 -676
  64. package/dist/xlsx/index.mjs +385 -677
  65. package/dist/xlsx/load/index.cjs +328 -633
  66. package/dist/xlsx/load/index.mjs +328 -633
  67. package/dist/xlsx/model-pivots.d.ts +17 -4
  68. package/dist/xlsx/model-pivots.d.ts.map +1 -1
  69. package/dist/xlsx/pivot/aggregate.d.ts +6 -3
  70. package/dist/xlsx/pivot/aggregate.d.ts.map +1 -1
  71. package/dist/xlsx/pivot/axes.d.ts +5 -0
  72. package/dist/xlsx/pivot/axes.d.ts.map +1 -1
  73. package/dist/xlsx/pivot/columns.d.ts +9 -3
  74. package/dist/xlsx/pivot/columns.d.ts.map +1 -1
  75. package/dist/xlsx/pivot/data.d.ts.map +1 -1
  76. package/dist/xlsx/pivot/date-axes.d.ts +1 -1
  77. package/dist/xlsx/pivot/date-axes.d.ts.map +1 -1
  78. package/dist/xlsx/pivot/date-group-read.d.ts.map +1 -1
  79. package/dist/xlsx/pivot/date-groups.d.ts +8 -3
  80. package/dist/xlsx/pivot/date-groups.d.ts.map +1 -1
  81. package/dist/xlsx/pivot/index.d.ts +2 -1
  82. package/dist/xlsx/pivot/index.d.ts.map +1 -1
  83. package/dist/xlsx/pivot/measures.d.ts +0 -7
  84. package/dist/xlsx/pivot/measures.d.ts.map +1 -1
  85. package/dist/xlsx/pivot/nested.d.ts +4 -2
  86. package/dist/xlsx/pivot/nested.d.ts.map +1 -1
  87. package/dist/xlsx/pivot/page-filter-admission.d.ts.map +1 -1
  88. package/dist/xlsx/pivot/page-filter.d.ts.map +1 -1
  89. package/dist/xlsx/pivot/read.d.ts.map +1 -1
  90. package/dist/xlsx/pivot/subtotals.d.ts +6 -1
  91. package/dist/xlsx/pivot/subtotals.d.ts.map +1 -1
  92. package/dist/xlsx/pivot/table-xml.d.ts.map +1 -1
  93. package/dist/xlsx/pivot/values-axis.d.ts +7 -4
  94. package/dist/xlsx/pivot/values-axis.d.ts.map +1 -1
  95. package/dist/xlsx/ui/commands/i18n/pivots.d.ts.map +1 -1
  96. package/dist/xlsx/ui/index.cjs +271 -584
  97. package/dist/xlsx/ui/index.mjs +271 -584
  98. package/package.json +1 -1
  99. package/dist/pptx/chunks/elements-tK7xnWeS.d.ts.map +0 -1
  100. package/dist/pptx/chunks/index-BSpNQuvz.d.ts.map +0 -1
  101. package/dist/xlsx/pivot/hierarchy-first.d.ts +0 -21
  102. package/dist/xlsx/pivot/hierarchy-first.d.ts.map +0 -1
  103. package/dist/xlsx/pivot/hierarchy.d.ts +0 -8
  104. package/dist/xlsx/pivot/hierarchy.d.ts.map +0 -1
@@ -1,4 +1,4 @@
1
- import { NS, SMART_ART_DEFINITION_PARTS, VML_SHAPE_TAGS, isAlternateContentChoiceXmlSupported, parseVmlElement, unwrapAlternateContent, xmlChild, xmlAttr, parseDrawingMediaReference, cropShapeForPresetGeometry, isHeaderFooterPlaceholder, xmlPath, inheritedPlaceholderFieldType, parseParagraphLevel, xmlHasChild, parseParagraphExtraAttributes, parseParagraphMargins, parseAlignmentAttr, parseParagraphRtl, parseTabStops, resolveParagraphAlignment, xmlText, parseBodyPrBooleanAttrs, selectAlternateContentBranch, parseBulletSizePercent, extractColorChoiceXml, formatAutoNumberMarker, parseParagraphSpacingPx, createBuiltinVariables, resolveCoordinate, readPathListCommandOrder, parseStructuredCustomGeometry, parseAdjustmentValues, parseGuideDefinitions, evaluateGuides, evaluateGeometryPaths, inheritCustomGeometryCommandOrder, parseInkMlContent, parseModel3DScene, remapElementShapeIds, parseShapeId, isTemplateElementId, remapShapeIdReferences, reapplyAlternateContentToTree, buildOle2, SHAPE_TREE_ELEMENT_TAGS, MAX_SHAPE_ID, orderedXmlKey, safeResolveZipPath, parseXml, elements, parseDataUrlToBytes, base64Decode, EMU_PER_PX, reorderObjectKeys, encodeCompressedPng, zlibStore, hash, concatArrays, encodePasswordUtf16LE, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, uint32LE, pptxActionToElementAction, buildClrMapOverrideXml, applyActiveXControlsToSlide, BLIP_FILL_ORDER, SP_PR_ORDER, hasShapeProperties, ensureXmlChild, hasTextProperties, inkElementToStrokes, buildInkMlContent, ensureXmlChildOrCreate, isXmlNode, applyChartLayouts, stripXmlOrderSuffix, serializeTabStop, colorsEqual, generateFontGuid, applyBubbleChartOptions, applyChartUpDownBars, applyDataLabelsRangeToDLbls, applyChartAxisScaling, applyChartAxisLabelFormatting, upsertChartAxisChild, applyChartDateAxisUnits, applyChartAxisDisplayUnitsToXml, writeChartShapeProps, resolveTxPrDefRPr, buildDefRPrTextProperties, buildChartGradFillXml, applySeriesMarkerToXml, applySeriesDataPointsToXml, chartColorHex, applyChartManualLayout, chartTrendlineType, buildTrendlineLabel, serializeColorChoice, replaceOleEmbedding, findKey, collectAllText, buildNodeGuidMap, buildPresentationGuidMap, regenerateSmartArtDrawingShapes, buildFabricatedDrawingXml, buildFabricatedDiagramDataXml, DIAGRAM_DRAWING_CONTENT_TYPE, DIAGRAM_DRAWING_REL_TYPE, applyDiagramRelationshipIds, buildSaveTimeCustomGeometryXml, applyCustomGeometryGuideOverrides, avLstForPreset, filterValidShapeAdjustmentEntries, applyDrawingMediaReference, XML_PROLOG, DGM_XMLNS, xmlEscape, writeBodyPrBooleanAttrs, applyTextBodySp3d, writeShapeEffects, SHAPE_STYLE_ORDER, roundCoordinate, scaleVectorToIntegers, EMU_PER_PIXEL, P14_GUIDE_URI, P15_GUIDE_URI, buildGuideListExtension, resetSpPrFormattingForStyleMatrix, fillIsPurelyStyleMatrix, serializeColorChoiceWithRef, createLineStyleGate, applyDrawingLineDash, getSignaturePathsToStrip, mergeSmartArtPointXml, mergeSmartArtConnectionXml, obfuscateFont, containsConvertibleStrictNamespaceAttribute, convertXmlToStrict, applySeriesPictureOptionsToXml, findChartExtByUri, findChildByLocalName, regenerateClonedUniqueId, buildChartUniqueIdExtLst, createOfficeGuid, isContentPoint, newSmartArtGuid, parseChartUserShapesDrawing, xmlChildren, applyChartGradientToSpPr, setAutoTitleDeleted, insertAt, replaceFirstText, shouldRebuildFromParagraphs, buildPointFromParagraphs, shouldRebuildFromRuns, buildPointFromRuns, buildPointText, ensureXmlChildren, TC_PR_BORDERS_ORDER, writeChartColorChoice, parseChartFormulaRange, expandRangeAddresses, applyCellWritesToWorksheet, stripParentDirSegments, parseChartUniqueId, buildChartMarkerXml, chartGradientsEqual, chartColorChoiceValue, preservesSpreadsheetXmlWhitespace, buildEffectDagTreeFromXml, syncPictureShapeTypeWithCropShape, buildSrgbColorChoice, fetchUrlToBytes, parseChartWideTextStyle, parseDefRPrTextStyle, parseChartDataLabelOptions, shadowOffsetToDistanceAndDirection, positiveFixedAngleAttribute, xmlAttrNumber, parseCustomShows, parseShapeProps, parseActiveXControlsFromSlide, convertMetafileToDataUrl, blobUrlToDataUrl, first, children, ooxmlGradientAngleToCssDegrees, isAlternateContentChoiceSupported, SvgExporter, detectStrictConformance, normalizeStrictXml, normalizeStShapeType, applyCustomShows, applySections, reorderObjectKeysByLocalName, PRESENTATION_CHILD_ORDER, applyKinsokuToXml, normalizeNamespaceUri, captureStyleBaseline, STYLE_MATRIX_FILL_KEYS, STYLE_MATRIX_LINE_KEYS, STYLE_MATRIX_EFFECT_KEYS, detectOleObjectType, inferOleExtensionFromTarget, deriveSlideTitles, parseSlideDrawingGuides, parseP14DirectChild, parseP14FromExtLst, P14_TRANSITION_TYPES, decodeXmlEntities, preservesXmlWhitespace, annotateCustomGeometryCommandOrder, annotateSmartArtTextOrder, encodeXmlAttributeValue, encodeXmlTextValue, stripXmlOrderMarkers, MIN_ELEMENT_SIZE, createDrawingObjectId, DEFAULT_TEXT_FONT_SIZE, EncryptedFileError, decodePptxJsonText, deserializePptxFromJson, applyImportedPptxData, DEFAULT_CHART_GRADIENT_ANGLE, supportsChartGradientFill, svgToCustomGeometryPaths, MIN_TABLE_DIMENSION, MAX_TABLE_DIMENSION, SYSTEM_COLOR_MAP, PRESET_COLOR_MAP, effectChild, mergeEffectNode, mergeAttributeEffectNode, estimateMediaDurationMs, parseVmlElements, prismFamilyFlags, prismFamilyTypeOfNode, prismFamilyTypeForFlags, P14_DIR_IS_ORIENTATION_TYPE, IncorrectPasswordError, applyThemeToData, detectFileFormat, parseOle2, decryptPptx, encryptPptx, escAttr, escText, parseDrawingLineDash, parseLineSpacingMultiplier, parseLineSpacingExactPt, parseEncryptionInfo, RC4_ALG_ID, isOle2CompoundFile, ENTRY_TYPE_ROOT, PML_XMLNS, solidFill, esc, OOXML_PERCENT_UNITS, parsePresentationDrawingGuides, parsePresentationSmartTags, resolveLayoutDisplayName, detectDigitalSignatures, unwrapOleEmbedding, mimeTypeForOleFile, oleBytesToDataUrl, emu, extractGuidFromPartName, deobfuscateFont, detectFontFormat, gradFill, parseKinsoku, parseLineStyle, parseChartUpDownBars, parseDataTable, parseChart3DSurfaces, parseChartAxes, parseBubbleChartOptions, parseChartLayouts, parseCxChartSeries, parseChartDataPointPictureBlipRel, parseSeriesDataPoints, parseMarker, parseSeriesDataLabels, parseChartDataPointPicture, parseImplicitBlipPictureFill, parseEmbeddedXlsx, relAttr, buildXml, EMU_PER_POINT, chartTrendlineKind, parseChartManualLayout, parseDiagramRelationshipIds, parseSmartArtTextParagraphs, firstParagraphRuns, smartArtParagraphsText, parseSmartArtPresLayoutVars, readChartManualLayoutValues, parseSmartArtConnection, projectSmartArtNodeText, resolveSmartArtNodeStyleRoles, resolveSmartArtNodeCoherent3DOff, parseSmartArtDefinitionMetadata, parseSmartArtColorStyleLabels, buildSmartArtColorLists, buildSmartArtColorRoleMap, parseSmartArtQuickStyleLabels, resolveSmartArtEffectIntensity, parseSmartArtStyleLabelRefs, extractStyleReferenceColorXml, withThemePlaceholderColor, getElementOrientationMatrix, isTextOrientationMatrix, TEXT_ORIENTATION_IDENTITY, multiplyTextOrientationMatrices, CHART_ERROR_VALUE_TYPES, CHART_ERROR_BAR_TYPES, CHART_ERROR_BAR_DIRECTIONS } from './chunk-54ASP65T.mjs';
1
+ import { NS, SMART_ART_DEFINITION_PARTS, VML_SHAPE_TAGS, isAlternateContentChoiceXmlSupported, parseVmlElement, unwrapAlternateContent, xmlChild, xmlAttr, parseDrawingMediaReference, cropShapeForPresetGeometry, isHeaderFooterPlaceholder, xmlPath, inheritedPlaceholderFieldType, parseParagraphLevel, xmlHasChild, parseParagraphExtraAttributes, parseParagraphMargins, parseAlignmentAttr, parseParagraphRtl, parseTabStops, resolveParagraphAlignment, xmlText, parseBodyPrBooleanAttrs, selectAlternateContentBranch, parseBulletSizePercent, extractColorChoiceXml, formatAutoNumberMarker, parseParagraphSpacingPx, createBuiltinVariables, resolveCoordinate, readPathListCommandOrder, parseStructuredCustomGeometry, parseAdjustmentValues, parseGuideDefinitions, evaluateGuides, evaluateGeometryPaths, inheritCustomGeometryCommandOrder, parseInkMlContent, parseModel3DScene, remapElementShapeIds, parseShapeId, isTemplateElementId, remapShapeIdReferences, reapplyAlternateContentToTree, buildOle2, SHAPE_TREE_ELEMENT_TAGS, MAX_SHAPE_ID, orderedXmlKey, safeResolveZipPath, parseXml, elements, parseDataUrlToBytes, base64Decode, EMU_PER_PX, reorderObjectKeys, encodeCompressedPng, zlibStore, hash, concatArrays, encodePasswordUtf16LE, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, uint32LE, pptxActionToElementAction, buildClrMapOverrideXml, applyActiveXControlsToSlide, BLIP_FILL_ORDER, SP_PR_ORDER, hasShapeProperties, ensureXmlChild, hasTextProperties, inkElementToStrokes, buildInkMlContent, ensureXmlChildOrCreate, isXmlNode, applyChartLayouts, stripXmlOrderSuffix, serializeTabStop, colorsEqual, generateFontGuid, applyBubbleChartOptions, applyChartUpDownBars, applyDataLabelsRangeToDLbls, applyChartAxisScaling, applyChartAxisLabelFormatting, upsertChartAxisChild, applyChartDateAxisUnits, applyChartAxisDisplayUnitsToXml, writeChartShapeProps, resolveTxPrDefRPr, buildDefRPrTextProperties, buildChartGradFillXml, applySeriesMarkerToXml, applySeriesDataPointsToXml, chartColorHex, applyChartManualLayout, chartTrendlineType, buildTrendlineLabel, serializeColorChoice, replaceOleEmbedding, findKey, collectAllText, buildNodeGuidMap, buildPresentationGuidMap, regenerateSmartArtDrawingShapes, buildFabricatedDrawingXml, buildFabricatedDiagramDataXml, DIAGRAM_DRAWING_CONTENT_TYPE, DIAGRAM_DRAWING_REL_TYPE, applyDiagramRelationshipIds, buildSaveTimeCustomGeometryXml, applyCustomGeometryGuideOverrides, avLstForPreset, filterValidShapeAdjustmentEntries, applyDrawingMediaReference, XML_PROLOG, DGM_XMLNS, xmlEscape, writeBodyPrBooleanAttrs, applyTextBodySp3d, writeShapeEffects, SHAPE_STYLE_ORDER, roundCoordinate, scaleVectorToIntegers, EMU_PER_PIXEL, P14_GUIDE_URI, P15_GUIDE_URI, buildGuideListExtension, resetSpPrFormattingForStyleMatrix, fillIsPurelyStyleMatrix, serializeColorChoiceWithRef, createLineStyleGate, applyDrawingLineDash, getSignaturePathsToStrip, mergeSmartArtPointXml, mergeSmartArtConnectionXml, obfuscateFont, containsConvertibleStrictNamespaceAttribute, convertXmlToStrict, applySeriesPictureOptionsToXml, findChartExtByUri, findChildByLocalName, regenerateClonedUniqueId, buildChartUniqueIdExtLst, createOfficeGuid, isContentPoint, newSmartArtGuid, parseChartUserShapesDrawing, xmlChildren, applyChartGradientToSpPr, setAutoTitleDeleted, insertAt, replaceFirstText, shouldRebuildFromParagraphs, buildPointFromParagraphs, shouldRebuildFromRuns, buildPointFromRuns, buildPointText, ensureXmlChildren, TC_PR_BORDERS_ORDER, writeChartColorChoice, parseChartFormulaRange, expandRangeAddresses, applyCellWritesToWorksheet, stripParentDirSegments, parseChartUniqueId, buildChartMarkerXml, chartGradientsEqual, chartColorChoiceValue, preservesSpreadsheetXmlWhitespace, buildEffectDagTreeFromXml, syncPictureShapeTypeWithCropShape, buildSrgbColorChoice, fetchUrlToBytes, parseChartWideTextStyle, parseDefRPrTextStyle, parseChartDataLabelOptions, shadowOffsetToDistanceAndDirection, positiveFixedAngleAttribute, xmlAttrNumber, parseCustomShows, parseShapeProps, parseActiveXControlsFromSlide, convertMetafileToDataUrl, blobUrlToDataUrl, first, children, ooxmlGradientAngleToCssDegrees, isAlternateContentChoiceSupported, SvgExporter, detectStrictConformance, normalizeStrictXml, normalizeStShapeType, applyCustomShows, applySections, reorderObjectKeysByLocalName, PRESENTATION_CHILD_ORDER, applyKinsokuToXml, normalizeNamespaceUri, captureStyleBaseline, STYLE_MATRIX_FILL_KEYS, STYLE_MATRIX_LINE_KEYS, STYLE_MATRIX_EFFECT_KEYS, detectOleObjectType, inferOleExtensionFromTarget, deriveSlideTitles, parseSlideDrawingGuides, parseP14DirectChild, parseP14FromExtLst, P14_TRANSITION_TYPES, decodeXmlEntities, preservesXmlWhitespace, annotateCustomGeometryCommandOrder, annotateSmartArtTextOrder, encodeXmlAttributeValue, encodeXmlTextValue, stripXmlOrderMarkers, MIN_ELEMENT_SIZE, createDrawingObjectId, DEFAULT_TEXT_FONT_SIZE, EncryptedFileError, decodePptxJsonText, deserializePptxFromJson, applyImportedPptxData, DEFAULT_CHART_GRADIENT_ANGLE, supportsChartGradientFill, svgToCustomGeometryPaths, MIN_TABLE_DIMENSION, MAX_TABLE_DIMENSION, SYSTEM_COLOR_MAP, PRESET_COLOR_MAP, effectChild, mergeEffectNode, mergeAttributeEffectNode, estimateMediaDurationMs, parseVmlElements, prismFamilyFlags, prismFamilyTypeOfNode, prismFamilyTypeForFlags, P14_DIR_IS_ORIENTATION_TYPE, IncorrectPasswordError, applyThemeToData, detectFileFormat, parseOle2, decryptPptx, encryptPptx, escAttr, escText, parseDrawingLineDash, parseLineSpacingMultiplier, parseLineSpacingExactPt, parseEncryptionInfo, RC4_ALG_ID, isOle2CompoundFile, ENTRY_TYPE_ROOT, PML_XMLNS, solidFill, esc, OOXML_PERCENT_UNITS, parsePresentationDrawingGuides, parsePresentationSmartTags, resolveLayoutDisplayName, detectDigitalSignatures, unwrapOleEmbedding, mimeTypeForOleFile, oleBytesToDataUrl, emu, extractGuidFromPartName, deobfuscateFont, detectFontFormat, gradFill, parseKinsoku, parseLineStyle, parseChartUpDownBars, parseDataTable, parseChart3DSurfaces, parseChartAxes, parseBubbleChartOptions, parseChartLayouts, parseCxChartSeries, parseChartDataPointPictureBlipRel, parseSeriesDataPoints, parseMarker, parseSeriesDataLabels, parseChartDataPointPicture, parseImplicitBlipPictureFill, parseEmbeddedXlsx, relAttr, buildXml, EMU_PER_POINT, chartTrendlineKind, parseChartManualLayout, parseDiagramRelationshipIds, parseSmartArtTextParagraphs, firstParagraphRuns, smartArtParagraphsText, parseSmartArtPresLayoutVars, readChartManualLayoutValues, parseSmartArtConnection, projectSmartArtNodeText, resolveSmartArtNodeStyleRoles, resolveSmartArtNodeCoherent3DOff, parseSmartArtDefinitionMetadata, parseSmartArtColorStyleLabels, buildSmartArtColorLists, buildSmartArtColorRoleMap, parseSmartArtQuickStyleLabels, resolveSmartArtEffectIntensity, parseSmartArtStyleLabelRefs, extractStyleReferenceColorXml, withThemePlaceholderColor, getElementOrientationMatrix, isTextOrientationMatrix, TEXT_ORIENTATION_IDENTITY, multiplyTextOrientationMatrices, CHART_ERROR_VALUE_TYPES, CHART_ERROR_BAR_TYPES, CHART_ERROR_BAR_DIRECTIONS } from './chunk-JFMIPOPV.mjs';
2
2
  import { openPptxZip, DIGITAL_SIGNATURE_ORIGIN_REL_TYPE, openNestedZip, DEFAULT_MAX_UNCOMPRESSED_BYTES, guardZip, ZipBombError, MAX_ZIP_ENTRY_COUNT } from './chunk-M4XLF4R7.mjs';
3
3
  import { resolveSmartArtLayoutCategory } from './chunk-3GXV5MPC.mjs';
4
4
  import { cloneXmlObject, applySmartArtLayoutDefinition, cloneSlide, parseSmartArtLayoutDefinition } from './chunk-54S5A5PZ.mjs';
@@ -254,9 +254,9 @@ function scan(xml) {
254
254
  };
255
255
  return { root, children: [] };
256
256
  }
257
- const children5 = [];
257
+ const children6 = [];
258
258
  let depth = 0;
259
- let child14;
259
+ let child16;
260
260
  i = openEnd;
261
261
  for (; ; ) {
262
262
  const lt = xml.indexOf("<", i);
@@ -271,16 +271,16 @@ function scan(xml) {
271
271
  if (xml[lt + 1] === "/") {
272
272
  if (depth === 0) {
273
273
  const root = { start: rootStart, openEnd, closeStart: lt, end, selfClosing: false };
274
- return { root, children: children5 };
274
+ return { root, children: children6 };
275
275
  }
276
276
  depth--;
277
- if (depth === 0 && child14)
278
- children5.push({ ...child14, closeStart: lt, end, selfClosing: false });
277
+ if (depth === 0 && child16)
278
+ children6.push({ ...child16, closeStart: lt, end, selfClosing: false });
279
279
  } else if (xml[end - 2] === "/") {
280
280
  if (depth === 0)
281
- children5.push({ start: lt, openEnd: end, closeStart: end, end, selfClosing: true });
281
+ children6.push({ start: lt, openEnd: end, closeStart: end, end, selfClosing: true });
282
282
  } else {
283
- if (depth === 0) child14 = { start: lt, openEnd: end };
283
+ if (depth === 0) child16 = { start: lt, openEnd: end };
284
284
  depth++;
285
285
  }
286
286
  }
@@ -290,10 +290,10 @@ var qualifiedName = (xml, span) => /^<([^\s/>]+)/.exec(xml.slice(span.start, spa
290
290
  var PartPatch = class {
291
291
  constructor(xml, rootElement) {
292
292
  this.xml = xml;
293
- const { root, children: children5 } = scan(xml);
293
+ const { root, children: children6 } = scan(xml);
294
294
  const kids = elements(rootElement);
295
- if (kids.length !== children5.length) throw new Error("Property part markup is not supported");
296
- kids.forEach((kid, index) => this.spans.set(kid, children5[index]));
295
+ if (kids.length !== children6.length) throw new Error("Property part markup is not supported");
296
+ kids.forEach((kid, index) => this.spans.set(kid, children6[index]));
297
297
  this.root = root;
298
298
  for (const attribute3 of Array.from(rootElement.attributes)) {
299
299
  if (attribute3.name === "xmlns") this.defaultNs = attribute3.value;
@@ -735,9 +735,9 @@ function booleanAttribute(element, name) {
735
735
 
736
736
  // diagram/data-model.ts
737
737
  var TRANSITION_TYPES = /* @__PURE__ */ new Set(["parTrans", "sibTrans"]);
738
- function collectTransitionText(points4, describe, text) {
738
+ function collectTransitionText(points5, describe, text) {
739
739
  const byId = /* @__PURE__ */ new Map();
740
- for (const point of points4) {
740
+ for (const point of points5) {
741
741
  const { type, modelId } = describe(point);
742
742
  if (!TRANSITION_TYPES.has((type ?? "").trim())) continue;
743
743
  const id = (modelId ?? "").trim();
@@ -783,9 +783,9 @@ function parseDrawingColor(element) {
783
783
  const color = {
784
784
  kind,
785
785
  value: colorValue(kind, element),
786
- transforms: elements(element).map((child14) => ({
787
- name: child14.localName,
788
- value: child14.getAttribute("val") ?? ""
786
+ transforms: elements(element).map((child16) => ({
787
+ name: child16.localName,
788
+ value: child16.getAttribute("val") ?? ""
789
789
  }))
790
790
  };
791
791
  const fallback = kind === "system" ? element.getAttribute("lastClr") : null;
@@ -922,9 +922,9 @@ function parseRun(run) {
922
922
  }
923
923
  function parseParagraph(paragraph) {
924
924
  const runs = [];
925
- for (const child14 of elements(paragraph))
926
- if (child14.namespaceURI === NS.a && ["r", "fld", "br"].includes(child14.localName))
927
- runs.push(parseRun(child14));
925
+ for (const child16 of elements(paragraph))
926
+ if (child16.namespaceURI === NS.a && ["r", "fld", "br"].includes(child16.localName))
927
+ runs.push(parseRun(child16));
928
928
  const properties = first(paragraph, "pPr", NS.a);
929
929
  const align = properties?.getAttribute("algn");
930
930
  const defaults = parseProperties(first(properties, "defRPr", NS.a));
@@ -2346,13 +2346,13 @@ var SHARED_RELATIONSHIPS = /* @__PURE__ */ new Set([
2346
2346
  var RAW_XML_KEYS = /* @__PURE__ */ new Set(["rawXml", "rawTiming", "inkPartRawXml", "rawMediaReferenceXml"]);
2347
2347
  function remapPartPaths(value, copies) {
2348
2348
  if (!value || typeof value !== "object") return;
2349
- for (const [key2, child14] of Object.entries(value)) {
2349
+ for (const [key2, child16] of Object.entries(value)) {
2350
2350
  if (RAW_XML_KEYS.has(key2)) continue;
2351
- if (typeof child14 === "string" && /path$/iu.test(key2)) {
2352
- const destination = copies.get(child14);
2351
+ if (typeof child16 === "string" && /path$/iu.test(key2)) {
2352
+ const destination = copies.get(child16);
2353
2353
  if (destination) value[key2] = destination;
2354
2354
  } else {
2355
- remapPartPaths(child14, copies);
2355
+ remapPartPaths(child16, copies);
2356
2356
  }
2357
2357
  }
2358
2358
  }
@@ -3047,8 +3047,8 @@ function invertOffsetAxisEmu(relativeEmu, chOffEmu, chExtEmu, extEmu) {
3047
3047
  }
3048
3048
  return chOffEmu + Math.round(relativeEmu * chExtEmu / extEmu);
3049
3049
  }
3050
- function resolveRotatedChildResizeOffset(child14, owner, emuPerPx) {
3051
- if (!child14.rotation || child14.xEmu === void 0 || child14.yEmu === void 0 || child14.widthEmu === void 0 || child14.heightEmu === void 0) {
3050
+ function resolveRotatedChildResizeOffset(child16, owner, emuPerPx) {
3051
+ if (!child16.rotation || child16.xEmu === void 0 || child16.yEmu === void 0 || child16.widthEmu === void 0 || child16.heightEmu === void 0) {
3052
3052
  return void 0;
3053
3053
  }
3054
3054
  const extCx = owner.widthEmu ?? 0;
@@ -3057,16 +3057,16 @@ function resolveRotatedChildResizeOffset(child14, owner, emuPerPx) {
3057
3057
  const chOffYEmu = owner.chOffYEmu;
3058
3058
  const chExtWidthEmu = owner.chExtWidthEmu;
3059
3059
  const chExtHeightEmu = owner.chExtHeightEmu;
3060
- const oldRenderXEmu = forwardOffsetAxis(child14.xEmu, chOffXEmu, chExtWidthEmu, extCx);
3061
- const oldRenderYEmu = forwardOffsetAxis(child14.yEmu, chOffYEmu, chExtHeightEmu, extCy);
3062
- const oldRenderWidthEmu = forwardExtentAxis(child14.widthEmu, chExtWidthEmu, extCx);
3063
- const oldRenderHeightEmu = forwardExtentAxis(child14.heightEmu, chExtHeightEmu, extCy);
3064
- const naiveRenderXEmu = Math.round(child14.x * emuPerPx);
3065
- const naiveRenderYEmu = Math.round(child14.y * emuPerPx);
3066
- const newRenderWidthEmu = Math.round(child14.width * emuPerPx);
3067
- const newRenderHeightEmu = Math.round(child14.height * emuPerPx);
3060
+ const oldRenderXEmu = forwardOffsetAxis(child16.xEmu, chOffXEmu, chExtWidthEmu, extCx);
3061
+ const oldRenderYEmu = forwardOffsetAxis(child16.yEmu, chOffYEmu, chExtHeightEmu, extCy);
3062
+ const oldRenderWidthEmu = forwardExtentAxis(child16.widthEmu, chExtWidthEmu, extCx);
3063
+ const oldRenderHeightEmu = forwardExtentAxis(child16.heightEmu, chExtHeightEmu, extCy);
3064
+ const naiveRenderXEmu = Math.round(child16.x * emuPerPx);
3065
+ const naiveRenderYEmu = Math.round(child16.y * emuPerPx);
3066
+ const newRenderWidthEmu = Math.round(child16.width * emuPerPx);
3067
+ const newRenderHeightEmu = Math.round(child16.height * emuPerPx);
3068
3068
  const rotatedResize = resolveRotatedResizeOffset({
3069
- rotationDeg: child14.rotation,
3069
+ rotationDeg: child16.rotation,
3070
3070
  oldOffXEmu: oldRenderXEmu,
3071
3071
  oldOffYEmu: oldRenderYEmu,
3072
3072
  oldExtWidthEmu: oldRenderWidthEmu,
@@ -3089,7 +3089,7 @@ function resolveRotatedChildResizeOffset(child14, owner, emuPerPx) {
3089
3089
  function hasCapturedChildSpace(group) {
3090
3090
  return group.chOffXEmu !== void 0 && group.chOffYEmu !== void 0 && group.chExtWidthEmu !== void 0 && group.chExtHeightEmu !== void 0 && group.chExtWidthEmu > 0 && group.chExtHeightEmu > 0;
3091
3091
  }
3092
- function isGroupChildUnchanged(child14, owner, emuPerPx) {
3092
+ function isGroupChildUnchanged(child16, owner, emuPerPx) {
3093
3093
  if (!hasCapturedChildSpace(owner)) {
3094
3094
  return false;
3095
3095
  }
@@ -3104,11 +3104,11 @@ function isGroupChildUnchanged(child14, owner, emuPerPx) {
3104
3104
  if (!Number.isFinite(scaleX) || !Number.isFinite(scaleY) || scaleX <= 0 || scaleY <= 0) {
3105
3105
  return false;
3106
3106
  }
3107
- const childSpaceX = chX + child14.x / scaleX;
3108
- const childSpaceY = chY + child14.y / scaleY;
3109
- const childSpaceWidth = child14.width / scaleX;
3110
- const childSpaceHeight = child14.height / scaleY;
3111
- return isXfrmEmuUnchanged(childSpaceX, child14.xEmu, emuPerPx) && isXfrmEmuUnchanged(childSpaceY, child14.yEmu, emuPerPx) && isXfrmEmuUnchanged(childSpaceWidth, child14.widthEmu, emuPerPx) && isXfrmEmuUnchanged(childSpaceHeight, child14.heightEmu, emuPerPx);
3107
+ const childSpaceX = chX + child16.x / scaleX;
3108
+ const childSpaceY = chY + child16.y / scaleY;
3109
+ const childSpaceWidth = child16.width / scaleX;
3110
+ const childSpaceHeight = child16.height / scaleY;
3111
+ return isXfrmEmuUnchanged(childSpaceX, child16.xEmu, emuPerPx) && isXfrmEmuUnchanged(childSpaceY, child16.yEmu, emuPerPx) && isXfrmEmuUnchanged(childSpaceWidth, child16.widthEmu, emuPerPx) && isXfrmEmuUnchanged(childSpaceHeight, child16.heightEmu, emuPerPx);
3112
3112
  }
3113
3113
  function invertOffsetAxis(relativePx, chOffEmu, chExtEmu, extEmu, emuPerPx) {
3114
3114
  const relativeEmu = Math.round(relativePx * emuPerPx);
@@ -3124,42 +3124,42 @@ function invertExtentAxis(px, chExtEmu, extEmu, emuPerPx) {
3124
3124
  }
3125
3125
  return Math.round(emu2 * chExtEmu / extEmu);
3126
3126
  }
3127
- function invertChildIntoGroupSpace(child14, owner, emuPerPx) {
3127
+ function invertChildIntoGroupSpace(child16, owner, emuPerPx) {
3128
3128
  if (!hasCapturedChildSpace(owner)) {
3129
3129
  return void 0;
3130
3130
  }
3131
- if (child14.xEmu !== void 0 && child14.yEmu !== void 0 && child14.widthEmu !== void 0 && child14.heightEmu !== void 0 && isGroupChildUnchanged(child14, owner, emuPerPx)) {
3131
+ if (child16.xEmu !== void 0 && child16.yEmu !== void 0 && child16.widthEmu !== void 0 && child16.heightEmu !== void 0 && isGroupChildUnchanged(child16, owner, emuPerPx)) {
3132
3132
  return {
3133
- xEmu: child14.xEmu,
3134
- yEmu: child14.yEmu,
3135
- widthEmu: child14.widthEmu,
3136
- heightEmu: child14.heightEmu
3133
+ xEmu: child16.xEmu,
3134
+ yEmu: child16.yEmu,
3135
+ widthEmu: child16.widthEmu,
3136
+ heightEmu: child16.heightEmu
3137
3137
  };
3138
3138
  }
3139
3139
  const extCx = owner.widthEmu ?? 0;
3140
3140
  const extCy = owner.heightEmu ?? 0;
3141
- const widthEmu = invertExtentAxis(child14.width, owner.chExtWidthEmu, extCx, emuPerPx);
3142
- const heightEmu = invertExtentAxis(child14.height, owner.chExtHeightEmu, extCy, emuPerPx);
3143
- const rotatedResize = resolveRotatedChildResizeOffset(child14, owner, emuPerPx);
3141
+ const widthEmu = invertExtentAxis(child16.width, owner.chExtWidthEmu, extCx, emuPerPx);
3142
+ const heightEmu = invertExtentAxis(child16.height, owner.chExtHeightEmu, extCy, emuPerPx);
3143
+ const rotatedResize = resolveRotatedChildResizeOffset(child16, owner, emuPerPx);
3144
3144
  return {
3145
- xEmu: rotatedResize ? rotatedResize.xEmu : invertOffsetAxis(child14.x, owner.chOffXEmu, owner.chExtWidthEmu, extCx, emuPerPx),
3146
- yEmu: rotatedResize ? rotatedResize.yEmu : invertOffsetAxis(child14.y, owner.chOffYEmu, owner.chExtHeightEmu, extCy, emuPerPx),
3145
+ xEmu: rotatedResize ? rotatedResize.xEmu : invertOffsetAxis(child16.x, owner.chOffXEmu, owner.chExtWidthEmu, extCx, emuPerPx),
3146
+ yEmu: rotatedResize ? rotatedResize.yEmu : invertOffsetAxis(child16.y, owner.chOffYEmu, owner.chExtHeightEmu, extCy, emuPerPx),
3147
3147
  widthEmu,
3148
3148
  heightEmu
3149
3149
  };
3150
3150
  }
3151
3151
 
3152
3152
  // pptx/core/core/runtime/group-tight-rewrap.ts
3153
- function computeTightChildBox(children5) {
3153
+ function computeTightChildBox(children6) {
3154
3154
  let minX = Infinity;
3155
3155
  let minY = Infinity;
3156
3156
  let maxX = -Infinity;
3157
3157
  let maxY = -Infinity;
3158
- for (const child14 of children5) {
3159
- minX = Math.min(minX, child14.xEmu);
3160
- minY = Math.min(minY, child14.yEmu);
3161
- maxX = Math.max(maxX, child14.xEmu + child14.widthEmu);
3162
- maxY = Math.max(maxY, child14.yEmu + child14.heightEmu);
3158
+ for (const child16 of children6) {
3159
+ minX = Math.min(minX, child16.xEmu);
3160
+ minY = Math.min(minY, child16.yEmu);
3161
+ maxX = Math.max(maxX, child16.xEmu + child16.widthEmu);
3162
+ maxY = Math.max(maxY, child16.yEmu + child16.heightEmu);
3163
3163
  }
3164
3164
  return {
3165
3165
  chOffXEmu: minX,
@@ -3168,9 +3168,9 @@ function computeTightChildBox(children5) {
3168
3168
  chExtHeightEmu: maxY - minY
3169
3169
  };
3170
3170
  }
3171
- function resolveGroupChildBoxEmu(child14, owner, emuPerPx) {
3172
- if (child14.type === "group") {
3173
- const nestedRewrap = resolveGroupTightRewrap(child14, emuPerPx);
3171
+ function resolveGroupChildBoxEmu(child16, owner, emuPerPx) {
3172
+ if (child16.type === "group") {
3173
+ const nestedRewrap = resolveGroupTightRewrap(child16, emuPerPx);
3174
3174
  if (nestedRewrap) {
3175
3175
  return {
3176
3176
  xEmu: nestedRewrap.offXEmu,
@@ -3180,7 +3180,7 @@ function resolveGroupChildBoxEmu(child14, owner, emuPerPx) {
3180
3180
  };
3181
3181
  }
3182
3182
  }
3183
- return invertChildIntoGroupSpace(child14, owner, emuPerPx);
3183
+ return invertChildIntoGroupSpace(child16, owner, emuPerPx);
3184
3184
  }
3185
3185
  function resolveGroupTightRewrap(group, emuPerPx) {
3186
3186
  if (!hasCapturedChildSpace(group)) {
@@ -3188,9 +3188,9 @@ function resolveGroupTightRewrap(group, emuPerPx) {
3188
3188
  }
3189
3189
  const childResults = [];
3190
3190
  let anyChanged = false;
3191
- for (const child14 of group.children) {
3192
- const nestedRewrap = child14.type === "group" ? resolveGroupTightRewrap(child14, emuPerPx) : void 0;
3193
- if (nestedRewrap !== void 0 || !isGroupChildUnchanged(child14, group, emuPerPx)) {
3191
+ for (const child16 of group.children) {
3192
+ const nestedRewrap = child16.type === "group" ? resolveGroupTightRewrap(child16, emuPerPx) : void 0;
3193
+ if (nestedRewrap !== void 0 || !isGroupChildUnchanged(child16, group, emuPerPx)) {
3194
3194
  anyChanged = true;
3195
3195
  }
3196
3196
  const emu2 = nestedRewrap ? {
@@ -3198,7 +3198,7 @@ function resolveGroupTightRewrap(group, emuPerPx) {
3198
3198
  yEmu: nestedRewrap.offYEmu,
3199
3199
  widthEmu: nestedRewrap.extWidthEmu,
3200
3200
  heightEmu: nestedRewrap.extHeightEmu
3201
- } : invertChildIntoGroupSpace(child14, group, emuPerPx);
3201
+ } : invertChildIntoGroupSpace(child16, group, emuPerPx);
3202
3202
  if (emu2) {
3203
3203
  childResults.push(emu2);
3204
3204
  }
@@ -3828,9 +3828,9 @@ function drawingChild(node, requestedName) {
3828
3828
  if (key2.split(":").at(-1) !== requestedName) {
3829
3829
  continue;
3830
3830
  }
3831
- const child14 = Array.isArray(value) ? value[0] : value;
3832
- if (child14 && typeof child14 === "object" && !Array.isArray(child14)) {
3833
- return child14;
3831
+ const child16 = Array.isArray(value) ? value[0] : value;
3832
+ if (child16 && typeof child16 === "object" && !Array.isArray(child16)) {
3833
+ return child16;
3834
3834
  }
3835
3835
  }
3836
3836
  return void 0;
@@ -3860,11 +3860,11 @@ function hasEmptyDrawingChild(node, requestedName) {
3860
3860
  if (key2.split(":").at(-1) !== requestedName) {
3861
3861
  continue;
3862
3862
  }
3863
- const child14 = Array.isArray(value) ? value[0] : value;
3864
- if (child14 === "" || child14 === void 0) {
3863
+ const child16 = Array.isArray(value) ? value[0] : value;
3864
+ if (child16 === "" || child16 === void 0) {
3865
3865
  return true;
3866
3866
  }
3867
- return typeof child14 === "object" && !Array.isArray(child14) && Object.keys(child14).every((childKey2) => childKey2.startsWith(ATTRIBUTE_PREFIX));
3867
+ return typeof child16 === "object" && !Array.isArray(child16) && Object.keys(child16).every((childKey2) => childKey2.startsWith(ATTRIBUTE_PREFIX));
3868
3868
  }
3869
3869
  return false;
3870
3870
  }
@@ -3878,7 +3878,7 @@ function drawingChildren(node, requestedName) {
3878
3878
  }
3879
3879
  const values = Array.isArray(value) ? value : [value];
3880
3880
  return values.filter(
3881
- (child14) => Boolean(child14) && typeof child14 === "object" && !Array.isArray(child14)
3881
+ (child16) => Boolean(child16) && typeof child16 === "object" && !Array.isArray(child16)
3882
3882
  );
3883
3883
  }
3884
3884
  return [];
@@ -3888,12 +3888,12 @@ function qualifiedLocalName(key2) {
3888
3888
  }
3889
3889
  function mergeDrawingFillXml(original, generated, modeledChildren, childOrder2) {
3890
3890
  const attributes = [];
3891
- const children5 = /* @__PURE__ */ new Map();
3891
+ const children6 = /* @__PURE__ */ new Map();
3892
3892
  for (const [key2, value] of Object.entries(original ?? {})) {
3893
3893
  if (key2.startsWith(ATTRIBUTE_PREFIX)) {
3894
3894
  attributes.push([key2, value]);
3895
3895
  } else if (!modeledChildren.includes(qualifiedLocalName(key2))) {
3896
- children5.set(key2, value);
3896
+ children6.set(key2, value);
3897
3897
  }
3898
3898
  }
3899
3899
  for (const [key2, value] of Object.entries(generated)) {
@@ -3904,7 +3904,7 @@ function mergeDrawingFillXml(original, generated, modeledChildren, childOrder2)
3904
3904
  }
3905
3905
  attributes.push([key2, value]);
3906
3906
  } else {
3907
- children5.set(key2, value);
3907
+ children6.set(key2, value);
3908
3908
  }
3909
3909
  }
3910
3910
  const result = {};
@@ -3912,14 +3912,14 @@ function mergeDrawingFillXml(original, generated, modeledChildren, childOrder2)
3912
3912
  result[key2] = value;
3913
3913
  }
3914
3914
  for (const name of childOrder2) {
3915
- for (const [key2, value] of children5) {
3915
+ for (const [key2, value] of children6) {
3916
3916
  if (qualifiedLocalName(key2) === name) {
3917
3917
  result[key2] = value;
3918
- children5.delete(key2);
3918
+ children6.delete(key2);
3919
3919
  }
3920
3920
  }
3921
3921
  }
3922
- for (const [key2, value] of children5) {
3922
+ for (const [key2, value] of children6) {
3923
3923
  result[key2] = value;
3924
3924
  }
3925
3925
  return result;
@@ -5981,9 +5981,9 @@ var PptxShapeStyleExtractor = class {
5981
5981
  "a:prstClr"
5982
5982
  ];
5983
5983
  for (const key2 of keys) {
5984
- const child14 = refNode[key2];
5985
- if (child14 !== void 0) {
5986
- return { [key2]: child14 };
5984
+ const child16 = refNode[key2];
5985
+ if (child16 !== void 0) {
5986
+ return { [key2]: child16 };
5987
5987
  }
5988
5988
  }
5989
5989
  return void 0;
@@ -6126,36 +6126,36 @@ function parseBorderSide(side) {
6126
6126
  }
6127
6127
  const ln = typeof side["a:ln"] === "object" ? side["a:ln"] : {};
6128
6128
  const border = {};
6129
- let has = false;
6129
+ let has2 = false;
6130
6130
  if (ln["a:noFill"] !== void 0) {
6131
6131
  border.noFill = true;
6132
- has = true;
6132
+ has2 = true;
6133
6133
  }
6134
6134
  const widthEmu = parseInt(String(ln["@_w"] || "0"), 10);
6135
6135
  if (widthEmu > 0) {
6136
6136
  border.width = Math.max(1, Math.round(widthEmu / EMU_PER_PIXEL2));
6137
- has = true;
6137
+ has2 = true;
6138
6138
  }
6139
6139
  const prstDash = ln["a:prstDash"];
6140
6140
  const dashVal = prstDash ? String(prstDash["@_val"] || "").trim() : "";
6141
6141
  if (dashVal) {
6142
6142
  border.dash = dashVal;
6143
- has = true;
6143
+ has2 = true;
6144
6144
  }
6145
6145
  const solidFill2 = ln["a:solidFill"];
6146
6146
  const fill = parseSolidFillStyle(solidFill2);
6147
6147
  if (fill) {
6148
6148
  border.fill = fill;
6149
- has = true;
6149
+ has2 = true;
6150
6150
  } else {
6151
6151
  const srgb = solidFill2?.["a:srgbClr"];
6152
6152
  const hex3 = srgb ? String(srgb["@_val"] || "").trim() : "";
6153
6153
  if (hex3) {
6154
6154
  border.color = hex3.startsWith("#") ? hex3 : `#${hex3}`;
6155
- has = true;
6155
+ has2 = true;
6156
6156
  }
6157
6157
  }
6158
- return has ? border : void 0;
6158
+ return has2 ? border : void 0;
6159
6159
  }
6160
6160
  function parseTableStyleBorders(tcStyle) {
6161
6161
  const tcBdr = tcStyle?.["a:tcBdr"];
@@ -6163,16 +6163,16 @@ function parseTableStyleBorders(tcStyle) {
6163
6163
  return void 0;
6164
6164
  }
6165
6165
  const result = {};
6166
- let has = false;
6166
+ let has2 = false;
6167
6167
  for (const name of BORDER_SIDES) {
6168
6168
  const node = tcBdr[`a:${name}`] ?? (name === "tr2bl" ? tcBdr["a:bl2tr"] : void 0);
6169
6169
  const border = parseBorderSide(node);
6170
6170
  if (border) {
6171
6171
  result[name] = border;
6172
- has = true;
6172
+ has2 = true;
6173
6173
  }
6174
6174
  }
6175
- return has ? result : void 0;
6175
+ return has2 ? result : void 0;
6176
6176
  }
6177
6177
  function parseTableStyleSectionCell3D(tcStyle) {
6178
6178
  const cell3DNode = tcStyle?.["a:cell3D"];
@@ -6799,7 +6799,7 @@ function nextTag(xml, from) {
6799
6799
  return null;
6800
6800
  }
6801
6801
  function scanDirectChildren(inner) {
6802
- const children5 = [];
6802
+ const children6 = [];
6803
6803
  let depth = 0;
6804
6804
  let open = null;
6805
6805
  let cursor = 0;
@@ -6808,12 +6808,12 @@ function scanDirectChildren(inner) {
6808
6808
  if (tag.closing) {
6809
6809
  depth = Math.max(0, depth - 1);
6810
6810
  if (depth === 0 && open) {
6811
- children5.push({ tag: open.tag, inner: inner.slice(open.innerStart, tag.start) });
6811
+ children6.push({ tag: open.tag, inner: inner.slice(open.innerStart, tag.start) });
6812
6812
  open = null;
6813
6813
  }
6814
6814
  } else if (tag.selfClosing) {
6815
6815
  if (depth === 0) {
6816
- children5.push({ tag: tag.name, inner: "" });
6816
+ children6.push({ tag: tag.name, inner: "" });
6817
6817
  }
6818
6818
  } else {
6819
6819
  if (depth === 0) {
@@ -6824,7 +6824,7 @@ function scanDirectChildren(inner) {
6824
6824
  cursor = tag.end;
6825
6825
  tag = nextTag(inner, cursor);
6826
6826
  }
6827
- return children5;
6827
+ return children6;
6828
6828
  }
6829
6829
  function extractElementInnerXml(xml, wanted) {
6830
6830
  const fragments = [];
@@ -6936,7 +6936,7 @@ function annotateParagraphSiblingOrder(xml, parsed) {
6936
6936
  if (!MIXED_CONTENT_MARKERS.some((marker) => xml.includes(marker))) {
6937
6937
  return;
6938
6938
  }
6939
- const orders = extractElementInnerXml(xml, "p").map((inner) => scanDirectChildren(inner).map((child14) => child14.tag)).filter((order) => order.length > 0);
6939
+ const orders = extractElementInnerXml(xml, "p").map((inner) => scanDirectChildren(inner).map((child16) => child16.tag)).filter((order) => order.length > 0);
6940
6940
  if (orders.length === 0) {
6941
6941
  return;
6942
6942
  }
@@ -7356,9 +7356,9 @@ var PptxTableDataParser = class {
7356
7356
  return parsed;
7357
7357
  }
7358
7358
  }
7359
- const child14 = tableProperties[`a:${key2}`];
7360
- if (child14) {
7361
- const childVal = parseInt(String(child14["@_val"] ?? ""), 10);
7359
+ const child16 = tableProperties[`a:${key2}`];
7360
+ if (child16) {
7361
+ const childVal = parseInt(String(child16["@_val"] ?? ""), 10);
7362
7362
  if (Number.isFinite(childVal) && childVal > 0) {
7363
7363
  return childVal;
7364
7364
  }
@@ -7568,8 +7568,8 @@ function scanForVmlImageDataRelationshipId(node, depth) {
7568
7568
  if (typeof value !== "object") {
7569
7569
  continue;
7570
7570
  }
7571
- for (const child14 of ensureArrayLike2(value)) {
7572
- const relId = scanForVmlImageDataRelationshipId(child14, depth + 1);
7571
+ for (const child16 of ensureArrayLike2(value)) {
7572
+ const relId = scanForVmlImageDataRelationshipId(child16, depth + 1);
7573
7573
  if (relId) {
7574
7574
  return relId;
7575
7575
  }
@@ -9222,9 +9222,9 @@ function collectCnvPrNodes(node, results, ensureArray12) {
9222
9222
  }
9223
9223
  const shapeLists = ["p:sp", "p:pic", "p:cxnSp", "p:graphicFrame", "p:grpSp", "p:contentPart"];
9224
9224
  for (const listKey of shapeLists) {
9225
- const children5 = ensureArray12(node[listKey]);
9226
- for (const child14 of children5) {
9227
- collectCnvPrNodes(child14, results, ensureArray12);
9225
+ const children6 = ensureArray12(node[listKey]);
9226
+ for (const child16 of children6) {
9227
+ collectCnvPrNodes(child16, results, ensureArray12);
9228
9228
  }
9229
9229
  }
9230
9230
  for (const alternate of ensureArray12(node["mc:AlternateContent"])) {
@@ -12873,10 +12873,10 @@ function assertAfterAnimationClearSupported(effectCTn) {
12873
12873
  if (!isXmlObject3(sub)) return;
12874
12874
  const countAfterFlags = (value) => {
12875
12875
  if (Array.isArray(value))
12876
- return value.reduce((count, child14) => count + countAfterFlags(child14), 0);
12876
+ return value.reduce((count, child16) => count + countAfterFlags(child16), 0);
12877
12877
  if (!isXmlObject3(value)) return 0;
12878
12878
  return Object.entries(value).reduce(
12879
- (count, [key2, child14]) => count + (key2 === "@_afterEffect" && ["1", "true"].includes(String(child14)) ? 1 : countAfterFlags(child14)),
12879
+ (count, [key2, child16]) => count + (key2 === "@_afterEffect" && ["1", "true"].includes(String(child16)) ? 1 : countAfterFlags(child16)),
12880
12880
  0
12881
12881
  );
12882
12882
  };
@@ -13333,8 +13333,8 @@ function preservedP14ChildKey(node, transitionType, getXmlLocalName) {
13333
13333
  if (localName15 !== "prism") {
13334
13334
  continue;
13335
13335
  }
13336
- const child14 = value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
13337
- if (prismFamilyTypeOfNode(child14) === prismFamilyTypeForFlags(prismFlags)) {
13336
+ const child16 = value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
13337
+ if (prismFamilyTypeOfNode(child16) === prismFamilyTypeForFlags(prismFlags)) {
13338
13338
  return key2;
13339
13339
  }
13340
13340
  continue;
@@ -14404,17 +14404,17 @@ function collectMediaNodes(node, animations) {
14404
14404
  const childTnList = cTn?.["p:childTnLst"];
14405
14405
  if (childTnList) {
14406
14406
  for (const container of ["p:par", "p:seq", "p:excl"]) {
14407
- const children5 = ensureArray3(childTnList[container]);
14408
- for (const child14 of children5) {
14409
- collectMediaNodes(child14, animations);
14407
+ const children6 = ensureArray3(childTnList[container]);
14408
+ for (const child16 of children6) {
14409
+ collectMediaNodes(child16, animations);
14410
14410
  }
14411
14411
  }
14412
14412
  collectMediaNodes(childTnList, animations);
14413
14413
  }
14414
14414
  for (const container of ["p:par", "p:seq", "p:excl", "p:tnLst"]) {
14415
- const children5 = ensureArray3(node[container]);
14416
- for (const child14 of children5) {
14417
- collectMediaNodes(child14, animations);
14415
+ const children6 = ensureArray3(node[container]);
14416
+ for (const child16 of children6) {
14417
+ collectMediaNodes(child16, animations);
14418
14418
  }
14419
14419
  }
14420
14420
  }
@@ -14700,9 +14700,9 @@ var neutralTiming = (node) => [
14700
14700
  ].every((key2) => node[key2] === void 0) && (node["@_repeatCount"] === void 0 || String(node["@_repeatCount"]) === "1000") && (node["@_autoRev"] === void 0 || ["0", "false"].includes(String(node["@_autoRev"]))) && (node["@_spd"] === void 0 || String(node["@_spd"]) === "100000") && (node["@_accel"] === void 0 || String(node["@_accel"]) === "0") && (node["@_decel"] === void 0 || String(node["@_decel"]) === "0");
14701
14701
  function hasNativeVisibilitySet(node) {
14702
14702
  if (node["@_presetClass"] !== "entr" || String(node["@_presetID"]) !== "0") return false;
14703
- const children5 = node["p:childTnLst"];
14704
- if (!isXmlObject3(children5)) return false;
14705
- return ensureArray3(children5["p:set"]).some((set) => {
14703
+ const children6 = node["p:childTnLst"];
14704
+ if (!isXmlObject3(children6)) return false;
14705
+ return ensureArray3(children6["p:set"]).some((set) => {
14706
14706
  const common = set["p:cBhvr"];
14707
14707
  const list = isXmlObject3(common) ? common["p:attrNameLst"] : void 0;
14708
14708
  const names = isXmlObject3(list) ? list["p:attrName"] : void 0;
@@ -14730,10 +14730,10 @@ function unsupportedVisibilityContainerTiming(node) {
14730
14730
  function extractVisibilitySetTiming(node) {
14731
14731
  if (node["@_presetClass"] !== "entr" || String(node["@_presetID"]) !== "0" || String(node["@_presetSubtype"] ?? "0") !== "0" || node["@_dur"] !== void 0 || node["@_fill"] !== "hold" || !neutralTiming(node) || !simpleStarts(node))
14732
14732
  return void 0;
14733
- const children5 = node["p:childTnLst"];
14734
- if (!isXmlObject3(children5) || Object.keys(children5).length !== 1 || !children5["p:set"])
14733
+ const children6 = node["p:childTnLst"];
14734
+ if (!isXmlObject3(children6) || Object.keys(children6).length !== 1 || !children6["p:set"])
14735
14735
  return void 0;
14736
- const sets = ensureArray3(children5["p:set"]);
14736
+ const sets = ensureArray3(children6["p:set"]);
14737
14737
  if (sets.length !== 1) return void 0;
14738
14738
  if (Object.keys(sets[0]).some((key2) => !["p:cBhvr", "p:to"].includes(key2))) return void 0;
14739
14739
  const to = sets[0]["p:to"];
@@ -14747,10 +14747,10 @@ function extractVisibilitySetTiming(node) {
14747
14747
  const target = common["p:tgtEl"];
14748
14748
  if (!isXmlObject3(target) || Object.keys(target).length !== 1 || !isXmlObject3(target["p:spTgt"]) || Object.keys(target["p:spTgt"]).some((key2) => key2 !== "@_spid") || !/^\d+$/u.test(String(target["p:spTgt"]["@_spid"])))
14749
14749
  return void 0;
14750
- const child14 = common["p:cTn"];
14751
- if (!isXmlObject3(child14) || !neutralTiming(child14) || !simpleStarts(child14) || String(child14["@_dur"]) !== "1" || child14["@_fill"] !== "hold")
14750
+ const child16 = common["p:cTn"];
14751
+ if (!isXmlObject3(child16) || !neutralTiming(child16) || !simpleStarts(child16) || String(child16["@_dur"]) !== "1" || child16["@_fill"] !== "hold")
14752
14752
  return void 0;
14753
- const behavior = extractBehaviors(children5)?.[0];
14753
+ const behavior = extractBehaviors(children6)?.[0];
14754
14754
  if (!behavior || behavior.kind !== "set" || behavior.value !== "visible" || behavior.attrNames.length !== 1 || behavior.attrNames[0] !== "style.visibility" || behavior.timing.unsupportedSetTiming)
14755
14755
  return void 0;
14756
14756
  try {
@@ -15443,27 +15443,27 @@ function rawTransitionHasExplicitCutChild(raw, localName15) {
15443
15443
  return Object.keys(raw).some((key2) => !key2.startsWith("@_") && localName15(key2) === "cut");
15444
15444
  }
15445
15445
  function buildStandardTransitionChild(transition) {
15446
- const child14 = {};
15446
+ const child16 = {};
15447
15447
  if (DIR_IS_ORIENTATION_TYPE.has(transition.type) && transition.orient) {
15448
- child14["@_dir"] = transition.orient;
15448
+ child16["@_dir"] = transition.orient;
15449
15449
  } else {
15450
15450
  if (transition.direction) {
15451
- child14["@_dir"] = transition.direction;
15451
+ child16["@_dir"] = transition.direction;
15452
15452
  }
15453
15453
  if (transition.orient) {
15454
- child14["@_orient"] = transition.orient;
15454
+ child16["@_orient"] = transition.orient;
15455
15455
  }
15456
15456
  }
15457
15457
  if (validUnsignedInteger(transition.spokes, 1)) {
15458
- child14["@_spokes"] = String(transition.spokes);
15458
+ child16["@_spokes"] = String(transition.spokes);
15459
15459
  }
15460
15460
  if (transition.pattern) {
15461
- child14["@_pattern"] = transition.pattern;
15461
+ child16["@_pattern"] = transition.pattern;
15462
15462
  }
15463
15463
  if (typeof transition.thruBlk === "boolean") {
15464
- child14["@_thruBlk"] = transition.thruBlk ? "1" : "0";
15464
+ child16["@_thruBlk"] = transition.thruBlk ? "1" : "0";
15465
15465
  }
15466
- return child14;
15466
+ return child16;
15467
15467
  }
15468
15468
  function applyTransitionAttributes(node, transition) {
15469
15469
  if (transition.speed && SPEEDS.has(transition.speed)) {
@@ -15812,7 +15812,7 @@ var PptxSlideTransitionService = class {
15812
15812
  const isExtensionType = isP14Type || isP15Type || isMorphType;
15813
15813
  if (isP14Type) {
15814
15814
  if (!p14ChildKey) {
15815
- const child14 = buildP14DirectChild(
15815
+ const child16 = buildP14DirectChild(
15816
15816
  transitionType,
15817
15817
  {
15818
15818
  direction: transition.direction,
@@ -15822,17 +15822,17 @@ var PptxSlideTransitionService = class {
15822
15822
  },
15823
15823
  extensionContext
15824
15824
  );
15825
- node[child14.key] = child14.node;
15825
+ node[child16.key] = child16.node;
15826
15826
  }
15827
15827
  } else if (isP15Type) {
15828
15828
  if (!p15ChildKey) {
15829
- const child14 = buildP15DirectChild(transitionType, extensionContext, transition.direction);
15830
- node[child14.key] = child14.node;
15829
+ const child16 = buildP15DirectChild(transitionType, extensionContext, transition.direction);
15830
+ node[child16.key] = child16.node;
15831
15831
  }
15832
15832
  } else if (isMorphType) {
15833
15833
  if (!hasDirectMorphChild(node, this.getXmlLocalName)) {
15834
- const child14 = buildMorphDirectChild(transition.morphOption, extensionContext);
15835
- node[child14.key] = child14.node;
15834
+ const child16 = buildMorphDirectChild(transition.morphOption, extensionContext);
15835
+ node[child16.key] = child16.node;
15836
15836
  }
15837
15837
  } else if (transitionType === "cut" && transition.rawTransition && !rawTransitionHasExplicitCutChild(transition.rawTransition, this.getXmlLocalName)) ; else {
15838
15838
  node[`p:${transitionType}`] = buildStandardTransitionChild(transition);
@@ -32647,14 +32647,14 @@ var KIND_ORDER = [
32647
32647
  function isBehaviorKind(value) {
32648
32648
  return KIND_ORDER.includes(value ?? "");
32649
32649
  }
32650
- function groupBehaviorChildren(children5) {
32650
+ function groupBehaviorChildren(children6) {
32651
32651
  const groups = /* @__PURE__ */ new Map();
32652
- for (const child14 of children5) {
32653
- const tag = child14["_type"];
32654
- delete child14["_type"];
32652
+ for (const child16 of children6) {
32653
+ const tag = child16["_type"];
32654
+ delete child16["_type"];
32655
32655
  const kind = isBehaviorKind(tag) ? tag : "animEffect";
32656
32656
  const list = groups.get(kind) ?? [];
32657
- list.push(child14);
32657
+ list.push(child16);
32658
32658
  groups.set(kind, list);
32659
32659
  }
32660
32660
  const childTnLst = {};
@@ -32991,9 +32991,9 @@ function resolveOoxmlPresetMapping(token2, defaultSubtypeFor) {
32991
32991
  const defaultSubtype = presetClass === "emph" ? 0 : defaultSubtypeFor?.(presetClass, presetId) ?? 0;
32992
32992
  return { presetClass, presetId, defaultSubtype };
32993
32993
  }
32994
- function buildReverseLookup(presetClass, canonical) {
32994
+ function buildReverseLookup(presetClass, canonical2) {
32995
32995
  const out = {};
32996
- for (const [id, name] of canonical) {
32996
+ for (const [id, name] of canonical2) {
32997
32997
  out[id] = name;
32998
32998
  }
32999
32999
  for (const [name, mapping] of Object.entries(PRESET_TO_OOXML)) {
@@ -33043,17 +33043,17 @@ function buildEntranceExitChildren(anim, presetClass, presetId, presetSubtype, d
33043
33043
  allocateId
33044
33044
  );
33045
33045
  if (!real) {
33046
- const children5 = [];
33046
+ const children6 = [];
33047
33047
  if (presetClass === "entr") {
33048
- children5.push(buildVisibilitySet(shapeId, durationMs, true, allocateId));
33048
+ children6.push(buildVisibilitySet(shapeId, durationMs, true, allocateId));
33049
33049
  }
33050
- children5.push(
33050
+ children6.push(
33051
33051
  buildAnimEffectNode(shapeId, durationMs, presetClass === "entr" ? "in" : "out", allocateId)
33052
33052
  );
33053
33053
  if (presetClass === "exit") {
33054
- children5.push(buildVisibilitySet(shapeId, durationMs, false, allocateId));
33054
+ children6.push(buildVisibilitySet(shapeId, durationMs, false, allocateId));
33055
33055
  }
33056
- return { children: children5, presetSubtype, ...curve };
33056
+ return { children: children6, presetSubtype, ...curve };
33057
33057
  }
33058
33058
  const useDefaultCurve = anim.timingCurve === void 0;
33059
33059
  return {
@@ -33415,7 +33415,7 @@ function wrapInInteractiveSequence(effectNodes, triggerShapeId, allocateId) {
33415
33415
  }
33416
33416
  };
33417
33417
  }
33418
- function buildMainSequenceNode(mainSeqId, children5) {
33418
+ function buildMainSequenceNode(mainSeqId, children6) {
33419
33419
  const node = {
33420
33420
  "@_concurrent": "1",
33421
33421
  "@_nextAc": "seek",
@@ -33423,9 +33423,9 @@ function buildMainSequenceNode(mainSeqId, children5) {
33423
33423
  "@_id": String(mainSeqId),
33424
33424
  "@_dur": "indefinite",
33425
33425
  "@_nodeType": "mainSeq",
33426
- ...children5.length > 0 ? {
33426
+ ...children6.length > 0 ? {
33427
33427
  "p:childTnLst": {
33428
- "p:par": children5.length === 1 ? children5[0] : children5
33428
+ "p:par": children6.length === 1 ? children6[0] : children6
33429
33429
  }
33430
33430
  } : {}
33431
33431
  },
@@ -33786,7 +33786,7 @@ function refreshEffectBehaviors(cTn, anim, preset, mapping, shapeId, allocateId)
33786
33786
  return;
33787
33787
  }
33788
33788
  if (mapping.presetClass === "emph" && presetChanged) {
33789
- const children5 = buildEmphasisBehaviorNodes(
33789
+ const children6 = buildEmphasisBehaviorNodes(
33790
33790
  shapeId,
33791
33791
  duration,
33792
33792
  preset,
@@ -33794,7 +33794,7 @@ function refreshEffectBehaviors(cTn, anim, preset, mapping, shapeId, allocateId)
33794
33794
  mapping.presetId,
33795
33795
  subtype
33796
33796
  );
33797
- cTn["p:childTnLst"] = groupBehaviorChildren(children5);
33797
+ cTn["p:childTnLst"] = groupBehaviorChildren(children6);
33798
33798
  cTn["@_presetSubtype"] = String(subtype);
33799
33799
  } else {
33800
33800
  cTn["@_presetSubtype"] = String(subtype);
@@ -34190,7 +34190,7 @@ function capturedPresetNativeAnimation(presetClass, presetId, presetSubtype, dur
34190
34190
  let parsed = cache.get(key2);
34191
34191
  if (parsed === void 0) {
34192
34192
  let nextId = 10;
34193
- const children5 = buildCapturedBehaviorNodes(captured.nodes, SHAPE_ID, dur, () => nextId++);
34193
+ const children6 = buildCapturedBehaviorNodes(captured.nodes, SHAPE_ID, dur, () => nextId++);
34194
34194
  const effectCTn = {
34195
34195
  "@_id": "5",
34196
34196
  "@_presetID": String(presetId),
@@ -34201,7 +34201,7 @@ function capturedPresetNativeAnimation(presetClass, presetId, presetSubtype, dur
34201
34201
  ...captured.preset.effect?.accel ? { "@_accel": captured.preset.effect.accel } : {},
34202
34202
  ...captured.preset.effect?.decel ? { "@_decel": captured.preset.effect.decel } : {},
34203
34203
  "p:stCondLst": { "p:cond": { "@_delay": "0" } },
34204
- "p:childTnLst": groupBehaviorChildren(children5)
34204
+ "p:childTnLst": groupBehaviorChildren(children6)
34205
34205
  };
34206
34206
  const animations = new PptxNativeAnimationService().parseNativeAnimations(
34207
34207
  wrapInSlide(effectCTn)
@@ -34538,22 +34538,22 @@ function collectParsedOmathNodes(root) {
34538
34538
  return result;
34539
34539
  }
34540
34540
  function reorderContainer(node, rawInner) {
34541
- const children5 = scanDirectChildren(rawInner);
34542
- if (children5.length === 0) {
34541
+ const children6 = scanDirectChildren(rawInner);
34542
+ if (children6.length === 0) {
34543
34543
  return;
34544
34544
  }
34545
34545
  const occurrence = /* @__PURE__ */ new Map();
34546
34546
  const resolved = [];
34547
- for (const child14 of children5) {
34548
- const index = occurrence.get(child14.tag) ?? 0;
34549
- occurrence.set(child14.tag, index + 1);
34550
- const value = ensureItems(node[child14.tag])[index];
34551
- resolved.push({ tag: child14.tag, value });
34552
- if (isXmlObject(value) && child14.inner) {
34553
- reorderContainer(value, child14.inner);
34547
+ for (const child16 of children6) {
34548
+ const index = occurrence.get(child16.tag) ?? 0;
34549
+ occurrence.set(child16.tag, index + 1);
34550
+ const value = ensureItems(node[child16.tag])[index];
34551
+ resolved.push({ tag: child16.tag, value });
34552
+ if (isXmlObject(value) && child16.inner) {
34553
+ reorderContainer(value, child16.inner);
34554
34554
  }
34555
34555
  }
34556
- if (isGroupedByTag(children5.map((child14) => child14.tag))) {
34556
+ if (isGroupedByTag(children6.map((child16) => child16.tag))) {
34557
34557
  return;
34558
34558
  }
34559
34559
  for (const [tag, count] of occurrence) {
@@ -35679,6 +35679,708 @@ function applyHeaderFooterToMaster(masterRoot, headerFooter) {
35679
35679
  }
35680
35680
  }
35681
35681
 
35682
+ // pptx/core/utils/chart-element-format-keys.ts
35683
+ function chartFormatTargetKey(target) {
35684
+ switch (target.kind) {
35685
+ case "axis":
35686
+ case "majorGridlines":
35687
+ case "minorGridlines":
35688
+ return `${target.kind}:${target.axisIndex}`;
35689
+ case "series":
35690
+ return `series:${target.seriesIndex}`;
35691
+ case "dataLabels":
35692
+ return target.seriesIndex === void 0 ? "dataLabels" : `dataLabels:${target.seriesIndex}`;
35693
+ default:
35694
+ return target.kind;
35695
+ }
35696
+ }
35697
+ function parseChartFormatTargetKey(key2) {
35698
+ const [kind, raw] = key2.split(":");
35699
+ const index = raw === void 0 ? void 0 : Number(raw);
35700
+ if (index !== void 0 && (!Number.isInteger(index) || index < 0)) {
35701
+ return void 0;
35702
+ }
35703
+ switch (kind) {
35704
+ case "chartArea":
35705
+ case "plotArea":
35706
+ case "title":
35707
+ case "legend":
35708
+ return index === void 0 ? { kind } : void 0;
35709
+ case "axis":
35710
+ case "majorGridlines":
35711
+ case "minorGridlines":
35712
+ return index === void 0 ? void 0 : { kind, axisIndex: index };
35713
+ case "series":
35714
+ return index === void 0 ? void 0 : { kind, seriesIndex: index };
35715
+ case "dataLabels":
35716
+ return index === void 0 ? { kind } : { kind, seriesIndex: index };
35717
+ default:
35718
+ return void 0;
35719
+ }
35720
+ }
35721
+
35722
+ // pptx/core/utils/chart-element-format-xml.ts
35723
+ var SP_PR_ORDER2 = [
35724
+ "xfrm",
35725
+ "custGeom",
35726
+ "prstGeom",
35727
+ "noFill",
35728
+ "solidFill",
35729
+ "gradFill",
35730
+ "blipFill",
35731
+ "pattFill",
35732
+ "grpFill",
35733
+ "ln",
35734
+ "effectLst",
35735
+ "effectDag",
35736
+ "scene3d",
35737
+ "sp3d",
35738
+ "extLst"
35739
+ ];
35740
+ var FILL_CHOICE = ["noFill", "solidFill", "gradFill", "blipFill", "pattFill", "grpFill"];
35741
+ var LN_ORDER = [
35742
+ "noFill",
35743
+ "solidFill",
35744
+ "gradFill",
35745
+ "pattFill",
35746
+ "prstDash",
35747
+ "custDash",
35748
+ "round",
35749
+ "bevel",
35750
+ "miter",
35751
+ "headEnd",
35752
+ "tailEnd",
35753
+ "extLst"
35754
+ ];
35755
+ var LN_FILL_CHOICE = ["noFill", "solidFill", "gradFill", "pattFill"];
35756
+ var EFFECT_ORDER = [
35757
+ "blur",
35758
+ "fillOverlay",
35759
+ "glow",
35760
+ "innerShdw",
35761
+ "outerShdw",
35762
+ "prstShdw",
35763
+ "reflection",
35764
+ "softEdge"
35765
+ ];
35766
+ var EMU_PER_POINT2 = 12700;
35767
+ function keyOf(node, name, localName15) {
35768
+ return Object.keys(node).find((key2) => !key2.startsWith("@_") && localName15(key2) === name);
35769
+ }
35770
+ function asObject(value) {
35771
+ return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
35772
+ }
35773
+ function removeChildren(node, names, localName15) {
35774
+ for (const key2 of Object.keys(node)) {
35775
+ if (!key2.startsWith("@_") && names.includes(localName15(key2))) {
35776
+ delete node[key2];
35777
+ }
35778
+ }
35779
+ }
35780
+ function setOrdered(node, name, value, order, localName15) {
35781
+ const existing = keyOf(node, name, localName15);
35782
+ if (existing) {
35783
+ node[existing] = value;
35784
+ return;
35785
+ }
35786
+ const rankOf = (key2) => {
35787
+ if (key2.startsWith("@_")) {
35788
+ return -1;
35789
+ }
35790
+ const r = order.indexOf(localName15(key2));
35791
+ return r < 0 ? order.length : r;
35792
+ };
35793
+ const entries = [...Object.entries(node), [`a:${name}`, value]].map((entry2, index) => ({ entry: entry2, index })).sort((a, b) => rankOf(a.entry[0]) - rankOf(b.entry[0]) || a.index - b.index).map(({ entry: entry2 }) => entry2);
35794
+ for (const key2 of Object.keys(node)) {
35795
+ delete node[key2];
35796
+ }
35797
+ for (const [key2, child16] of entries) {
35798
+ node[key2] = child16;
35799
+ }
35800
+ }
35801
+ function alphaOf(transparency) {
35802
+ if (transparency === void 0 || transparency <= 0) {
35803
+ return void 0;
35804
+ }
35805
+ const clamped = Math.min(100, Math.max(0, transparency));
35806
+ return { "@_val": String(Math.round((100 - clamped) * 1e3)) };
35807
+ }
35808
+ function chartElementColorXml(color, transparency) {
35809
+ const clr = { "@_val": chartColorHex(color) };
35810
+ const alpha = alphaOf(transparency);
35811
+ if (alpha) {
35812
+ clr["a:alpha"] = alpha;
35813
+ }
35814
+ return { "a:srgbClr": clr };
35815
+ }
35816
+ function setPaintAlpha(paint2, transparency, localName15) {
35817
+ const choiceKey = Object.keys(paint2).find((key2) => !key2.startsWith("@_"));
35818
+ const choice = choiceKey ? asObject(paint2[choiceKey]) : void 0;
35819
+ if (!choiceKey || !choice) {
35820
+ return;
35821
+ }
35822
+ const next = { ...choice };
35823
+ removeChildren(next, ["alpha"], localName15);
35824
+ const alpha = alphaOf(transparency);
35825
+ if (alpha) {
35826
+ next["a:alpha"] = alpha;
35827
+ }
35828
+ paint2[choiceKey] = next;
35829
+ }
35830
+ function applyPaint(node, paint2, choices, order, localName15) {
35831
+ if (paint2.kind === "automatic") {
35832
+ removeChildren(node, choices, localName15);
35833
+ return;
35834
+ }
35835
+ if (paint2.kind === "none") {
35836
+ removeChildren(node, choices, localName15);
35837
+ setOrdered(node, "noFill", {}, order, localName15);
35838
+ return;
35839
+ }
35840
+ if (paint2.color) {
35841
+ removeChildren(node, choices, localName15);
35842
+ setOrdered(
35843
+ node,
35844
+ "solidFill",
35845
+ chartElementColorXml(paint2.color, paint2.transparency),
35846
+ order,
35847
+ localName15
35848
+ );
35849
+ return;
35850
+ }
35851
+ const solidKey = keyOf(node, "solidFill", localName15);
35852
+ const solid = solidKey ? asObject(node[solidKey]) : void 0;
35853
+ if (solid && solidKey && paint2.transparency !== void 0) {
35854
+ const next = { ...solid };
35855
+ setPaintAlpha(next, paint2.transparency, localName15);
35856
+ node[solidKey] = next;
35857
+ }
35858
+ }
35859
+ function applyLine(spPr, line, localName15) {
35860
+ const lnKey = keyOf(spPr, "ln", localName15);
35861
+ const ln = { ...asObject(lnKey ? spPr[lnKey] : void 0) ?? {} };
35862
+ applyPaint(ln, line, LN_FILL_CHOICE, LN_ORDER, localName15);
35863
+ if (line.width !== void 0) {
35864
+ ln["@_w"] = String(Math.round(Math.max(0, line.width) * EMU_PER_POINT2));
35865
+ }
35866
+ if (line.compound !== void 0) {
35867
+ ln["@_cmpd"] = line.compound;
35868
+ }
35869
+ if (line.cap !== void 0) {
35870
+ ln["@_cap"] = line.cap;
35871
+ }
35872
+ if (line.dash !== void 0) {
35873
+ removeChildren(ln, ["custDash"], localName15);
35874
+ setOrdered(ln, "prstDash", { "@_val": line.dash }, LN_ORDER, localName15);
35875
+ }
35876
+ if (line.join !== void 0) {
35877
+ removeChildren(ln, ["round", "bevel", "miter"], localName15);
35878
+ setOrdered(
35879
+ ln,
35880
+ line.join,
35881
+ line.join === "miter" ? { "@_lim": "800000" } : {},
35882
+ LN_ORDER,
35883
+ localName15
35884
+ );
35885
+ }
35886
+ if (line.beginArrow !== void 0) {
35887
+ setOrdered(ln, "headEnd", { "@_type": line.beginArrow }, LN_ORDER, localName15);
35888
+ }
35889
+ if (line.endArrow !== void 0) {
35890
+ setOrdered(ln, "tailEnd", { "@_type": line.endArrow }, LN_ORDER, localName15);
35891
+ }
35892
+ if (Object.keys(ln).length === 0) {
35893
+ if (lnKey) {
35894
+ delete spPr[lnKey];
35895
+ }
35896
+ return;
35897
+ }
35898
+ setOrdered(spPr, "ln", ln, SP_PR_ORDER2, localName15);
35899
+ }
35900
+ var pt = (value) => String(Math.round(Math.max(0, value) * EMU_PER_POINT2));
35901
+ function applyEffects(spPr, effects, localName15) {
35902
+ const key2 = keyOf(spPr, "effectLst", localName15);
35903
+ const list = { ...asObject(key2 ? spPr[key2] : void 0) ?? {} };
35904
+ if (effects.shadow !== void 0) {
35905
+ removeChildren(list, ["outerShdw"], localName15);
35906
+ if (effects.shadow) {
35907
+ const s = effects.shadow;
35908
+ setOrdered(
35909
+ list,
35910
+ "outerShdw",
35911
+ {
35912
+ "@_blurRad": pt(s.blur),
35913
+ "@_dist": pt(s.distance),
35914
+ "@_dir": String(Math.round((s.angle % 360 + 360) % 360 * 6e4)),
35915
+ "@_algn": "tl",
35916
+ "@_rotWithShape": "0",
35917
+ ...chartElementColorXml(s.color, s.transparency)
35918
+ },
35919
+ EFFECT_ORDER,
35920
+ localName15
35921
+ );
35922
+ }
35923
+ }
35924
+ if (effects.glow !== void 0) {
35925
+ removeChildren(list, ["glow"], localName15);
35926
+ if (effects.glow) {
35927
+ setOrdered(
35928
+ list,
35929
+ "glow",
35930
+ {
35931
+ "@_rad": pt(effects.glow.radius),
35932
+ ...chartElementColorXml(effects.glow.color, effects.glow.transparency)
35933
+ },
35934
+ EFFECT_ORDER,
35935
+ localName15
35936
+ );
35937
+ }
35938
+ }
35939
+ if (effects.softEdge !== void 0) {
35940
+ removeChildren(list, ["softEdge"], localName15);
35941
+ if (effects.softEdge !== null && effects.softEdge > 0) {
35942
+ setOrdered(list, "softEdge", { "@_rad": pt(effects.softEdge) }, EFFECT_ORDER, localName15);
35943
+ }
35944
+ }
35945
+ if (Object.keys(list).length === 0) {
35946
+ if (key2) {
35947
+ delete spPr[key2];
35948
+ }
35949
+ return;
35950
+ }
35951
+ setOrdered(spPr, "effectLst", list, SP_PR_ORDER2, localName15);
35952
+ }
35953
+ function applyChartElementFormatToSpPr(existing, format, localName15) {
35954
+ const spPr = format.reset ? {} : { ...existing ?? {} };
35955
+ if (format.fill) {
35956
+ applyPaint(spPr, format.fill, FILL_CHOICE, SP_PR_ORDER2, localName15);
35957
+ }
35958
+ if (format.line) {
35959
+ applyLine(spPr, format.line, localName15);
35960
+ }
35961
+ if (format.effects) {
35962
+ applyEffects(spPr, format.effects, localName15);
35963
+ }
35964
+ return Object.keys(spPr).length > 0 ? spPr : void 0;
35965
+ }
35966
+
35967
+ // pptx/core/utils/chart-element-format-targets.ts
35968
+ var CHART_SPACE_AFTER_SP_PR = ["txPr", "externalData", "printSettings", "userShapes", "extLst"];
35969
+ var TEXT_OWNER_AFTER_SP_PR = ["txPr", "extLst"];
35970
+ var AXIS_AFTER_SP_PR = [
35971
+ "txPr",
35972
+ "crossAx",
35973
+ "crosses",
35974
+ "crossesAt",
35975
+ "crossBetween",
35976
+ "auto",
35977
+ "lblAlgn",
35978
+ "lblOffset",
35979
+ "majorUnit",
35980
+ "minorUnit",
35981
+ "dispUnits",
35982
+ "tickLblSkip",
35983
+ "tickMarkSkip",
35984
+ "noMultiLvlLbl",
35985
+ "baseTimeUnit",
35986
+ "majorTimeUnit",
35987
+ "minorTimeUnit",
35988
+ "extLst"
35989
+ ];
35990
+ var SERIES_AFTER_SP_PR = [
35991
+ "invertIfNegative",
35992
+ "pictureOptions",
35993
+ "marker",
35994
+ "dPt",
35995
+ "dLbls",
35996
+ "trendline",
35997
+ "errBars",
35998
+ "cat",
35999
+ "val",
36000
+ "xVal",
36001
+ "yVal",
36002
+ "smooth",
36003
+ "shape",
36004
+ "explosion",
36005
+ "bubbleSize",
36006
+ "bubble3D",
36007
+ "extLst"
36008
+ ];
36009
+ var DLBLS_AFTER_SP_PR = [
36010
+ "txPr",
36011
+ "dLblPos",
36012
+ "showLegendKey",
36013
+ "showVal",
36014
+ "showCatName",
36015
+ "showSerName",
36016
+ "showPercent",
36017
+ "showBubbleSize",
36018
+ "separator",
36019
+ "showLeaderLines",
36020
+ "leaderLines",
36021
+ "extLst"
36022
+ ];
36023
+ var AXIS_TAGS = ["catAx", "valAx", "dateAx", "serAx"];
36024
+ function keyOf2(node, name, getLocalName2) {
36025
+ return Object.keys(node).find((key2) => !key2.startsWith("@_") && getLocalName2(key2) === name);
36026
+ }
36027
+ function child3(node, name, getLocalName2) {
36028
+ if (!node) {
36029
+ return void 0;
36030
+ }
36031
+ const key2 = keyOf2(node, name, getLocalName2);
36032
+ const value = key2 ? node[key2] : void 0;
36033
+ return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
36034
+ }
36035
+ function children3(node, name, getLocalName2) {
36036
+ const key2 = keyOf2(node, name, getLocalName2);
36037
+ const value = key2 ? node[key2] : void 0;
36038
+ if (Array.isArray(value)) {
36039
+ return value.filter((v) => Boolean(v) && typeof v === "object");
36040
+ }
36041
+ return value && typeof value === "object" ? [value] : [];
36042
+ }
36043
+ function applyFormatToOwner(owner, format, after, getLocalName2) {
36044
+ const spPrKey = keyOf2(owner, "spPr", getLocalName2);
36045
+ const existing = spPrKey ? owner[spPrKey] : void 0;
36046
+ const next = applyChartElementFormatToSpPr(
36047
+ existing && typeof existing === "object" ? existing : void 0,
36048
+ format,
36049
+ getLocalName2
36050
+ );
36051
+ if (spPrKey) {
36052
+ if (next) {
36053
+ owner[spPrKey] = next;
36054
+ } else {
36055
+ delete owner[spPrKey];
36056
+ }
36057
+ return;
36058
+ }
36059
+ if (!next) {
36060
+ return;
36061
+ }
36062
+ const entries = Object.entries(owner);
36063
+ const at = entries.findIndex(
36064
+ ([key2]) => !key2.startsWith("@_") && after.includes(getLocalName2(key2))
36065
+ );
36066
+ entries.splice(at < 0 ? entries.length : at, 0, ["c:spPr", next]);
36067
+ for (const key2 of Object.keys(owner)) {
36068
+ delete owner[key2];
36069
+ }
36070
+ for (const [key2, value] of entries) {
36071
+ owner[key2] = value;
36072
+ }
36073
+ }
36074
+ function findChartAxisNode(plotArea, chartData, axisIndex, getLocalName2) {
36075
+ const axis = chartData.axes?.[axisIndex];
36076
+ if (!axis) {
36077
+ return void 0;
36078
+ }
36079
+ const nodes = AXIS_TAGS.flatMap(
36080
+ (tag) => children3(plotArea, tag, getLocalName2).map((node) => ({ tag, node }))
36081
+ );
36082
+ if (axis.axisId !== void 0) {
36083
+ const byId = nodes.find(
36084
+ ({ node }) => child3(node, "axId", getLocalName2)?.["@_val"] === String(axis.axisId)
36085
+ );
36086
+ if (byId) {
36087
+ return byId.node;
36088
+ }
36089
+ }
36090
+ const sameType = (chartData.axes ?? []).slice(0, axisIndex).filter((a) => a.axisType === axis.axisType).length;
36091
+ return nodes.filter(({ tag }) => tag === axis.axisType)[sameType]?.node;
36092
+ }
36093
+ function canonical(value) {
36094
+ if (Array.isArray(value)) {
36095
+ return `[${value.map(canonical).join(",")}]`;
36096
+ }
36097
+ if (value && typeof value === "object") {
36098
+ const entries = Object.entries(value).filter(([, v]) => v !== void 0).sort(([a], [b]) => a < b ? -1 : 1);
36099
+ return `{${entries.map(([k, v]) => `${JSON.stringify(k)}:${canonical(v)}`).join(",")}}`;
36100
+ }
36101
+ return JSON.stringify(value);
36102
+ }
36103
+ function changedSections(record2, authored) {
36104
+ if (record2.reset) {
36105
+ return record2;
36106
+ }
36107
+ const out = {};
36108
+ for (const section of ["fill", "line", "effects"]) {
36109
+ if (record2[section] !== void 0 && canonical(record2[section]) !== canonical(authored?.[section])) {
36110
+ Object.assign(out, { [section]: record2[section] });
36111
+ }
36112
+ }
36113
+ return Object.keys(out).length > 0 ? out : void 0;
36114
+ }
36115
+ function formatEntries(chartData, authored) {
36116
+ return Object.entries(chartData.elementFormats ?? {}).flatMap(([key2, record2]) => {
36117
+ const target = parseChartFormatTargetKey(key2);
36118
+ const format = target ? changedSections(record2, authored?.[key2]) : void 0;
36119
+ return target && format ? [{ target, format }] : [];
36120
+ });
36121
+ }
36122
+ function applySeriesElementFormatsToXml(seriesNodes, chartData, getLocalName2, authored) {
36123
+ for (const { target, format } of formatEntries(chartData, authored)) {
36124
+ if (target.kind !== "series" && !(target.kind === "dataLabels" && target.seriesIndex !== void 0)) {
36125
+ continue;
36126
+ }
36127
+ const node = seriesNodes[target.seriesIndex ?? -1];
36128
+ if (!node) {
36129
+ continue;
36130
+ }
36131
+ if (target.kind === "series") {
36132
+ applyFormatToOwner(node, format, SERIES_AFTER_SP_PR, getLocalName2);
36133
+ } else {
36134
+ const dLbls = child3(node, "dLbls", getLocalName2);
36135
+ if (dLbls) {
36136
+ applyFormatToOwner(dLbls, format, DLBLS_AFTER_SP_PR, getLocalName2);
36137
+ }
36138
+ }
36139
+ }
36140
+ }
36141
+ function allDataLabelNodes(plotArea, getLocalName2) {
36142
+ const out = [];
36143
+ for (const key2 of Object.keys(plotArea)) {
36144
+ if (!getLocalName2(key2).endsWith("Chart")) {
36145
+ continue;
36146
+ }
36147
+ const container = plotArea[key2];
36148
+ if (!container || typeof container !== "object" || Array.isArray(container)) {
36149
+ continue;
36150
+ }
36151
+ const owners = [
36152
+ container,
36153
+ ...children3(container, "ser", getLocalName2)
36154
+ ];
36155
+ for (const owner of owners) {
36156
+ const dLbls = child3(owner, "dLbls", getLocalName2);
36157
+ if (dLbls) {
36158
+ out.push(dLbls);
36159
+ }
36160
+ }
36161
+ }
36162
+ return out;
36163
+ }
36164
+ function applyChromeElementFormatsToXml(chartSpace, chartData, getLocalName2, authored) {
36165
+ const chartRoot = child3(chartSpace, "chart", getLocalName2);
36166
+ const plotArea = child3(chartRoot, "plotArea", getLocalName2);
36167
+ for (const { target, format } of formatEntries(chartData, authored)) {
36168
+ switch (target.kind) {
36169
+ case "chartArea":
36170
+ applyFormatToOwner(chartSpace, format, CHART_SPACE_AFTER_SP_PR, getLocalName2);
36171
+ break;
36172
+ case "plotArea":
36173
+ if (plotArea) {
36174
+ applyFormatToOwner(plotArea, format, ["extLst"], getLocalName2);
36175
+ }
36176
+ break;
36177
+ case "title":
36178
+ case "legend": {
36179
+ const owner = child3(chartRoot, target.kind, getLocalName2);
36180
+ if (owner) {
36181
+ applyFormatToOwner(owner, format, TEXT_OWNER_AFTER_SP_PR, getLocalName2);
36182
+ }
36183
+ break;
36184
+ }
36185
+ case "axis":
36186
+ case "majorGridlines":
36187
+ case "minorGridlines": {
36188
+ const axis = plotArea ? findChartAxisNode(plotArea, chartData, target.axisIndex, getLocalName2) : void 0;
36189
+ if (!axis) {
36190
+ break;
36191
+ }
36192
+ if (target.kind === "axis") {
36193
+ applyFormatToOwner(axis, format, AXIS_AFTER_SP_PR, getLocalName2);
36194
+ } else {
36195
+ const lines = child3(axis, target.kind, getLocalName2);
36196
+ if (lines) {
36197
+ applyFormatToOwner(lines, format, ["extLst"], getLocalName2);
36198
+ }
36199
+ }
36200
+ break;
36201
+ }
36202
+ case "dataLabels":
36203
+ if (plotArea && target.seriesIndex === void 0) {
36204
+ for (const dLbls of allDataLabelNodes(plotArea, getLocalName2)) {
36205
+ applyFormatToOwner(dLbls, format, DLBLS_AFTER_SP_PR, getLocalName2);
36206
+ }
36207
+ }
36208
+ break;
36209
+ }
36210
+ }
36211
+ }
36212
+
36213
+ // pptx/core/utils/chart-element-format-read-xml.ts
36214
+ var EMU_PER_POINT3 = 12700;
36215
+ function child4(node, name, localName15) {
36216
+ if (!node) {
36217
+ return void 0;
36218
+ }
36219
+ const key2 = Object.keys(node).find((k) => !k.startsWith("@_") && localName15(k) === name);
36220
+ if (!key2) {
36221
+ return void 0;
36222
+ }
36223
+ const value = node[key2];
36224
+ return value && typeof value === "object" && !Array.isArray(value) ? value : {};
36225
+ }
36226
+ function has(node, name, localName15) {
36227
+ return Boolean(
36228
+ node && Object.keys(node).some((k) => !k.startsWith("@_") && localName15(k) === name)
36229
+ );
36230
+ }
36231
+ var round = (value) => Math.round(value * 100) / 100;
36232
+ var points = (emu2) => {
36233
+ const n = Number(emu2);
36234
+ return Number.isFinite(n) ? round(n / EMU_PER_POINT3) : void 0;
36235
+ };
36236
+ function transparencyOf(fill, localName15) {
36237
+ for (const [key2, value] of Object.entries(fill)) {
36238
+ if (key2.startsWith("@_") || !value || typeof value !== "object") {
36239
+ continue;
36240
+ }
36241
+ const alpha = child4(value, "alpha", localName15)?.["@_val"];
36242
+ const n = Number(alpha);
36243
+ if (alpha !== void 0 && Number.isFinite(n)) {
36244
+ const transparency = round(100 - n / 1e3);
36245
+ return transparency > 0 ? transparency : void 0;
36246
+ }
36247
+ }
36248
+ return void 0;
36249
+ }
36250
+ function paint(node, localName15, resolve) {
36251
+ if (has(node, "noFill", localName15)) {
36252
+ return { kind: "none" };
36253
+ }
36254
+ const solid = child4(node, "solidFill", localName15);
36255
+ if (!solid) {
36256
+ return void 0;
36257
+ }
36258
+ const color = resolve(solid);
36259
+ const transparency = transparencyOf(solid, localName15);
36260
+ return {
36261
+ kind: "solid",
36262
+ ...color ? { color } : {},
36263
+ ...transparency !== void 0 ? { transparency } : {}
36264
+ };
36265
+ }
36266
+ var LINE_ENDS = /* @__PURE__ */ new Set(["triangle", "stealth", "diamond", "oval", "arrow", "none"]);
36267
+ function readLine(ln, localName15, resolve) {
36268
+ const line = paint(ln, localName15, resolve) ?? { kind: "automatic" };
36269
+ const width = points(ln["@_w"]);
36270
+ if (ln["@_w"] !== void 0 && width !== void 0) line.width = width;
36271
+ const cmpd = ln["@_cmpd"];
36272
+ if (cmpd === "sng" || cmpd === "dbl" || cmpd === "thickThin" || cmpd === "thinThick" || cmpd === "tri") {
36273
+ line.compound = cmpd;
36274
+ }
36275
+ const cap = ln["@_cap"];
36276
+ if (cap === "rnd" || cap === "sq" || cap === "flat") line.cap = cap;
36277
+ const dash = child4(ln, "prstDash", localName15)?.["@_val"];
36278
+ if (typeof dash === "string") line.dash = dash;
36279
+ for (const join of ["round", "bevel", "miter"]) {
36280
+ if (has(ln, join, localName15)) line.join = join;
36281
+ }
36282
+ const head = child4(ln, "headEnd", localName15)?.["@_type"];
36283
+ if (typeof head === "string" && LINE_ENDS.has(head) && head !== "none") {
36284
+ line.beginArrow = head;
36285
+ }
36286
+ const tail = child4(ln, "tailEnd", localName15)?.["@_type"];
36287
+ if (typeof tail === "string" && LINE_ENDS.has(tail) && tail !== "none") {
36288
+ line.endArrow = tail;
36289
+ }
36290
+ return line;
36291
+ }
36292
+ function readEffects(list, localName15, resolve) {
36293
+ const effects = {};
36294
+ const shadow = child4(list, "outerShdw", localName15);
36295
+ if (shadow) {
36296
+ const color = resolve(shadow) ?? "#000000";
36297
+ const transparency = transparencyOf(shadow, localName15);
36298
+ effects.shadow = {
36299
+ color,
36300
+ ...transparency !== void 0 ? { transparency } : {},
36301
+ blur: points(shadow["@_blurRad"] ?? 0) ?? 0,
36302
+ distance: points(shadow["@_dist"] ?? 0) ?? 0,
36303
+ angle: round((Number(shadow["@_dir"] ?? 0) || 0) / 6e4)
36304
+ };
36305
+ }
36306
+ const glow = child4(list, "glow", localName15);
36307
+ if (glow) {
36308
+ const transparency = transparencyOf(glow, localName15);
36309
+ effects.glow = {
36310
+ color: resolve(glow) ?? "#FFFFFF",
36311
+ ...transparency !== void 0 ? { transparency } : {},
36312
+ radius: points(glow["@_rad"] ?? 0) ?? 0
36313
+ };
36314
+ }
36315
+ const soft = child4(list, "softEdge", localName15);
36316
+ if (soft) {
36317
+ effects.softEdge = points(soft["@_rad"] ?? 0) ?? 0;
36318
+ }
36319
+ return Object.keys(effects).length > 0 ? effects : void 0;
36320
+ }
36321
+ function readChartElementFormatFromSpPr(spPr, localName15, resolve) {
36322
+ if (!spPr) {
36323
+ return void 0;
36324
+ }
36325
+ const format = {};
36326
+ const fill = paint(spPr, localName15, resolve);
36327
+ if (fill) format.fill = fill;
36328
+ const ln = child4(spPr, "ln", localName15);
36329
+ if (ln) format.line = readLine(ln, localName15, resolve);
36330
+ const effectLst = child4(spPr, "effectLst", localName15);
36331
+ const effects = effectLst ? readEffects(effectLst, localName15, resolve) : void 0;
36332
+ if (effects) format.effects = effects;
36333
+ return Object.keys(format).length > 0 ? format : void 0;
36334
+ }
36335
+ function collectChartSeriesNodes(plotArea, localName15) {
36336
+ const out = [];
36337
+ for (const [key2, value] of Object.entries(plotArea ?? {})) {
36338
+ if (!localName15(key2).endsWith("Chart") || !value || typeof value !== "object") {
36339
+ continue;
36340
+ }
36341
+ for (const [childKey2, ser] of Object.entries(value)) {
36342
+ if (localName15(childKey2) !== "ser") continue;
36343
+ for (const node of Array.isArray(ser) ? ser : [ser]) {
36344
+ if (node && typeof node === "object") out.push(node);
36345
+ }
36346
+ }
36347
+ }
36348
+ return out;
36349
+ }
36350
+ function readChartElementFormatsFromXml(nodes, data, localName15, resolve) {
36351
+ const out = {};
36352
+ const spPrOf = (owner) => readChartElementFormatFromSpPr(child4(owner, "spPr", localName15), localName15, resolve);
36353
+ const put = (key2, format) => {
36354
+ if (format) out[key2] = format;
36355
+ };
36356
+ const chartRoot = child4(nodes.chartSpace, "chart", localName15);
36357
+ const plotArea = child4(chartRoot, "plotArea", localName15);
36358
+ put("chartArea", spPrOf(nodes.chartSpace));
36359
+ put("plotArea", spPrOf(plotArea));
36360
+ put("title", spPrOf(child4(chartRoot, "title", localName15)));
36361
+ put("legend", spPrOf(child4(chartRoot, "legend", localName15)));
36362
+ (data.axes ?? []).forEach((_, axisIndex) => {
36363
+ const axis = plotArea ? findChartAxisNode(plotArea, data, axisIndex, localName15) : void 0;
36364
+ put(`axis:${axisIndex}`, spPrOf(axis));
36365
+ put(`majorGridlines:${axisIndex}`, spPrOf(child4(axis, "majorGridlines", localName15)));
36366
+ put(`minorGridlines:${axisIndex}`, spPrOf(child4(axis, "minorGridlines", localName15)));
36367
+ });
36368
+ nodes.seriesNodes.forEach((ser, index) => put(`series:${index}`, spPrOf(ser)));
36369
+ for (const [key2, value] of Object.entries(plotArea ?? {})) {
36370
+ if (localName15(key2).endsWith("Chart") && value && typeof value === "object") {
36371
+ const own = spPrOf(child4(value, "dLbls", localName15));
36372
+ if (own) {
36373
+ put("dataLabels", own);
36374
+ break;
36375
+ }
36376
+ }
36377
+ }
36378
+ if (!out.dataLabels && nodes.seriesNodes[0]) {
36379
+ put("dataLabels", spPrOf(child4(nodes.seriesNodes[0], "dLbls", localName15)));
36380
+ }
36381
+ return Object.keys(out).length > 0 ? out : void 0;
36382
+ }
36383
+
35682
36384
  // pptx/core/utils/chart-xlsx-write-validation.ts
35683
36385
  function unsupported(reason) {
35684
36386
  throw new Error(`Chart label replacement requires direct literal workbook cells: ${reason}.`);
@@ -35930,7 +36632,7 @@ function formulaCount(value) {
35930
36632
  if (!value || typeof value !== "object") return 0;
35931
36633
  if (Array.isArray(value)) return value.reduce((total, item) => total + formulaCount(item), 0);
35932
36634
  return Object.entries(value).reduce(
35933
- (total, [key2, child14]) => total + (key2 === "f" || key2.endsWith(":f") ? 1 : formulaCount(child14)),
36635
+ (total, [key2, child16]) => total + (key2 === "f" || key2.endsWith(":f") ? 1 : formulaCount(child16)),
35934
36636
  0
35935
36637
  );
35936
36638
  }
@@ -36022,7 +36724,7 @@ function parseChartBandFmts(seriesContainer, xmlLookup, colorParser) {
36022
36724
  return result.length > 0 ? result : void 0;
36023
36725
  }
36024
36726
  var findKey3 = (node, name, localName15) => Object.keys(node).find((key2) => localName15(key2) === name);
36025
- function setOrdered(node, name, value, order, localName15) {
36727
+ function setOrdered2(node, name, value, order, localName15) {
36026
36728
  const key2 = findKey3(node, name, localName15);
36027
36729
  if (key2) {
36028
36730
  node[key2] = value;
@@ -36038,8 +36740,8 @@ function setOrdered(node, name, value, order, localName15) {
36038
36740
  for (const candidate of Object.keys(node)) {
36039
36741
  delete node[candidate];
36040
36742
  }
36041
- for (const [candidate, child14] of entries) {
36042
- node[candidate] = child14;
36743
+ for (const [candidate, child16] of entries) {
36744
+ node[candidate] = child16;
36043
36745
  }
36044
36746
  }
36045
36747
  function applyChartBandFmts(seriesContainer, bandFmts, localName15, resolveColor2) {
@@ -36077,10 +36779,10 @@ function applyChartBandFmts(seriesContainer, bandFmts, localName15, resolveColor
36077
36779
  localName15,
36078
36780
  resolveColor2
36079
36781
  );
36080
- setOrdered(node, "spPr", spPr, ["idx", "spPr", "extLst"], localName15);
36782
+ setOrdered2(node, "spPr", spPr, ["idx", "spPr", "extLst"], localName15);
36081
36783
  }
36082
36784
  }
36083
- setOrdered(
36785
+ setOrdered2(
36084
36786
  seriesContainer,
36085
36787
  "bandFmts",
36086
36788
  { "c:bandFmt": updated },
@@ -36241,10 +36943,10 @@ function readCachedValues(refContainer, xmlLookup) {
36241
36943
  if (!cacheNode) {
36242
36944
  return [];
36243
36945
  }
36244
- const points4 = xmlLookup.getChildrenArrayByLocalName(cacheNode, "pt");
36946
+ const points5 = xmlLookup.getChildrenArrayByLocalName(cacheNode, "pt");
36245
36947
  const byIndex = /* @__PURE__ */ new Map();
36246
36948
  let maxIndex = -1;
36247
- for (const point of points4) {
36949
+ for (const point of points5) {
36248
36950
  const idx = Number.parseInt(String(point["@_idx"] ?? ""), 10);
36249
36951
  if (!Number.isInteger(idx) || idx < 0) {
36250
36952
  continue;
@@ -36469,7 +37171,7 @@ function readChartAppearance(text, properties) {
36469
37171
  }
36470
37172
 
36471
37173
  // chart/read-style.ts
36472
- var child3 = (parent, name) => first(parent, name, CHART_COLOR_STYLE_NS);
37174
+ var child5 = (parent, name) => first(parent, name, CHART_COLOR_STYLE_NS);
36473
37175
  function reference(node) {
36474
37176
  if (!node) return void 0;
36475
37177
  const out = { index: node.getAttribute("idx") ?? "" };
@@ -36480,10 +37182,10 @@ function reference(node) {
36480
37182
  function entry(node) {
36481
37183
  const out = {
36482
37184
  sourceXml: buildXml(node),
36483
- ...readChartAppearance(child3(node, "defRPr"), child3(node, "spPr"))
37185
+ ...readChartAppearance(child5(node, "defRPr"), child5(node, "spPr"))
36484
37186
  };
36485
37187
  for (const key2 of ["fontRef", "lineRef", "fillRef", "effectRef"]) {
36486
- const ref = reference(child3(node, key2 === "lineRef" ? "lnRef" : key2));
37188
+ const ref = reference(child5(node, key2 === "lineRef" ? "lnRef" : key2));
36487
37189
  if (ref) out[key2] = ref;
36488
37190
  }
36489
37191
  return out;
@@ -36574,11 +37276,11 @@ function cEnum(context, parent, local, allowed) {
36574
37276
  return void 0;
36575
37277
  }
36576
37278
  function reportUnmodelled(context, element, handled) {
36577
- for (const child14 of elements(element)) {
36578
- if (handled.has(child14.localName)) continue;
37279
+ for (const child16 of elements(element)) {
37280
+ if (handled.has(child16.localName)) continue;
36579
37281
  context.issues.push({
36580
37282
  code: "CHART_ELEMENT_NOT_MODELLED",
36581
- message: `${path(child14)} is not modelled; it is kept only in the source part.`
37283
+ message: `${path(child16)} is not modelled; it is kept only in the source part.`
36582
37284
  });
36583
37285
  }
36584
37286
  }
@@ -36651,11 +37353,11 @@ function assignDefined(target, values) {
36651
37353
  function parseCache(node) {
36652
37354
  const cache2 = {
36653
37355
  type: node.localName === "numCache" || node.localName === "numLit" ? "number" : "string",
36654
- points: children(node, "pt", NS.c).map((pt) => {
36655
- const point = { value: cChild(pt, "v")?.textContent ?? "" };
36656
- const index = Number(attribute(pt, "idx") ?? Number.NaN);
37356
+ points: children(node, "pt", NS.c).map((pt2) => {
37357
+ const point = { value: cChild(pt2, "v")?.textContent ?? "" };
37358
+ const index = Number(attribute(pt2, "idx") ?? Number.NaN);
36657
37359
  if (Number.isInteger(index) && index >= 0) point.index = index;
36658
- const formatCode3 = attribute(pt, "formatCode");
37360
+ const formatCode3 = attribute(pt2, "formatCode");
36659
37361
  if (formatCode3 !== void 0) point.formatCode = formatCode3;
36660
37362
  return point;
36661
37363
  })
@@ -37268,15 +37970,15 @@ function parsePlotArea(context, element) {
37268
37970
  return plotArea;
37269
37971
  }
37270
37972
  const handled = new Set(PLOT_AREA);
37271
- for (const child14 of elements(element)) {
37272
- if (CHART_GROUP_ELEMENTS[child14.localName]) {
37273
- plotArea.groups.push(parseGroup(context, child14));
37274
- handled.add(child14.localName);
37973
+ for (const child16 of elements(element)) {
37974
+ if (CHART_GROUP_ELEMENTS[child16.localName]) {
37975
+ plotArea.groups.push(parseGroup(context, child16));
37976
+ handled.add(child16.localName);
37275
37977
  }
37276
- const axis = AXIS_ELEMENTS[child14.localName];
37978
+ const axis = AXIS_ELEMENTS[child16.localName];
37277
37979
  if (axis) {
37278
- plotArea.axes.push(parseAxis(context, child14, axis));
37279
- handled.add(child14.localName);
37980
+ plotArea.axes.push(parseAxis(context, child16, axis));
37981
+ handled.add(child16.localName);
37280
37982
  }
37281
37983
  }
37282
37984
  reportUnmodelled(context, element, handled);
@@ -37503,9 +38205,9 @@ function take(pool, index) {
37503
38205
  const at = pool.findIndex((entry2) => entry2.index === index);
37504
38206
  return at < 0 ? void 0 : pool.splice(at, 1)[0];
37505
38207
  }
37506
- function dataPointsFromNeutral(points4, styled) {
38208
+ function dataPointsFromNeutral(points5, styled) {
37507
38209
  if (!styled) return void 0;
37508
- const pool = [...points4];
38210
+ const pool = [...points5];
37509
38211
  for (const point of styled) {
37510
38212
  const neutral = take(pool, point.idx);
37511
38213
  if (!neutral) continue;
@@ -38291,11 +38993,11 @@ var MARKER_SYMBOLS2 = /* @__PURE__ */ new Set([
38291
38993
  "x",
38292
38994
  "auto"
38293
38995
  ]);
38294
- function keyOf(node, name, localName15) {
38996
+ function keyOf3(node, name, localName15) {
38295
38997
  return node ? Object.keys(node).find((key2) => localName15(key2) === name) : void 0;
38296
38998
  }
38297
38999
  function nodesOf(node, name, localName15) {
38298
- const key2 = keyOf(node, name, localName15);
39000
+ const key2 = keyOf3(node, name, localName15);
38299
39001
  const value = key2 ? node[key2] : void 0;
38300
39002
  const values = Array.isArray(value) ? value : value ? [value] : [];
38301
39003
  return values.filter(
@@ -38319,7 +39021,7 @@ function literalColor(fillNode, localName15, colorParser) {
38319
39021
  return resolved;
38320
39022
  }
38321
39023
  }
38322
- const srgbKey = keyOf(fillNode, "srgbClr", localName15);
39024
+ const srgbKey = keyOf3(fillNode, "srgbClr", localName15);
38323
39025
  const srgb = srgbKey ? fillNode[srgbKey] : void 0;
38324
39026
  const val = srgb?.["@_val"];
38325
39027
  return typeof val === "string" && /^[0-9A-Fa-f]{6}$/u.test(val) ? `#${val.toUpperCase()}` : void 0;
@@ -38329,7 +39031,7 @@ function parseTypedShapeProps(spPrNode, localName15, colorParser) {
38329
39031
  return void 0;
38330
39032
  }
38331
39033
  const result = {};
38332
- const solidFillKey = keyOf(spPrNode, "solidFill", localName15);
39034
+ const solidFillKey = keyOf3(spPrNode, "solidFill", localName15);
38333
39035
  const fillColor = literalColor(
38334
39036
  solidFillKey ? spPrNode[solidFillKey] : void 0,
38335
39037
  localName15,
@@ -38338,10 +39040,10 @@ function parseTypedShapeProps(spPrNode, localName15, colorParser) {
38338
39040
  if (fillColor) {
38339
39041
  result.fillColor = fillColor;
38340
39042
  }
38341
- const lnKey = keyOf(spPrNode, "ln", localName15);
39043
+ const lnKey = keyOf3(spPrNode, "ln", localName15);
38342
39044
  const ln = lnKey ? spPrNode[lnKey] : void 0;
38343
39045
  if (ln) {
38344
- const lnFillKey = keyOf(ln, "solidFill", localName15);
39046
+ const lnFillKey = keyOf3(ln, "solidFill", localName15);
38345
39047
  const strokeColor = literalColor(
38346
39048
  lnFillKey ? ln[lnFillKey] : void 0,
38347
39049
  localName15,
@@ -38354,7 +39056,7 @@ function parseTypedShapeProps(spPrNode, localName15, colorParser) {
38354
39056
  if (w !== void 0) {
38355
39057
  result.strokeWidth = w / 12700;
38356
39058
  }
38357
- const dashKey = keyOf(ln, "prstDash", localName15);
39059
+ const dashKey = keyOf3(ln, "prstDash", localName15);
38358
39060
  const dash = dashKey ? ln[dashKey]?.["@_val"] : void 0;
38359
39061
  if (dash !== void 0 && dash !== null && String(dash).length > 0) {
38360
39062
  result.strokeDashStyle = String(dash);
@@ -38366,20 +39068,20 @@ function parseTypedMarker(markerNode, localName15, colorParser) {
38366
39068
  if (!markerNode) {
38367
39069
  return void 0;
38368
39070
  }
38369
- const symbolKey = keyOf(markerNode, "symbol", localName15);
39071
+ const symbolKey = keyOf3(markerNode, "symbol", localName15);
38370
39072
  const symbolNode = symbolKey ? markerNode[symbolKey] : void 0;
38371
39073
  const rawSymbol = String(symbolNode?.["@_val"] ?? "").trim();
38372
39074
  if (!MARKER_SYMBOLS2.has(rawSymbol)) {
38373
39075
  return void 0;
38374
39076
  }
38375
39077
  const marker = { symbol: rawSymbol };
38376
- const sizeKey = keyOf(markerNode, "size", localName15);
39078
+ const sizeKey = keyOf3(markerNode, "size", localName15);
38377
39079
  const sizeNode = sizeKey ? markerNode[sizeKey] : void 0;
38378
39080
  const size = Number(sizeNode?.["@_val"]);
38379
39081
  if (Number.isInteger(size) && size >= 2 && size <= 72) {
38380
39082
  marker.size = size;
38381
39083
  }
38382
- const spPrKey = keyOf(markerNode, "spPr", localName15);
39084
+ const spPrKey = keyOf3(markerNode, "spPr", localName15);
38383
39085
  const spPr = parseTypedShapeProps(
38384
39086
  spPrKey ? markerNode[spPrKey] : void 0,
38385
39087
  localName15,
@@ -38424,7 +39126,7 @@ function parseTypedTextStyle(txPrNode, localName15, colorParser) {
38424
39126
  return Object.keys(style).length > 0 ? style : void 0;
38425
39127
  }
38426
39128
  function resolveSpPrOverride(node, value, localName15, colorParser) {
38427
- const existingKey = keyOf(node, "spPr", localName15);
39129
+ const existingKey = keyOf3(node, "spPr", localName15);
38428
39130
  const existing = existingKey ? node[existingKey] : void 0;
38429
39131
  if (value.shapeProperties && JSON.stringify(parseTypedShapeProps(existing, localName15, colorParser)) !== JSON.stringify(value.shapeProperties)) {
38430
39132
  return writeChartShapeProps(
@@ -38437,7 +39139,7 @@ function resolveSpPrOverride(node, value, localName15, colorParser) {
38437
39139
  return value.shapePropertiesXml;
38438
39140
  }
38439
39141
  function resolveTxPrOverride(node, value, localName15, colorParser) {
38440
- const existingKey = keyOf(node, "txPr", localName15);
39142
+ const existingKey = keyOf3(node, "txPr", localName15);
38441
39143
  const existing = existingKey ? node[existingKey] : void 0;
38442
39144
  if (value.textStyle && JSON.stringify(parseTypedTextStyle(existing, localName15, colorParser)) !== JSON.stringify(value.textStyle)) {
38443
39145
  const authoredDefRPr = existing ? resolveDefRPr(existing, localName15) : void 0;
@@ -38450,7 +39152,7 @@ function resolveTxPrOverride(node, value, localName15, colorParser) {
38450
39152
  return value.txPrXml;
38451
39153
  }
38452
39154
  function resolveMarkerOverride(node, value, localName15, colorParser) {
38453
- const existingKey = keyOf(node, "marker", localName15);
39155
+ const existingKey = keyOf3(node, "marker", localName15);
38454
39156
  const existing = existingKey ? node[existingKey] : void 0;
38455
39157
  if (value.marker && JSON.stringify(parseTypedMarker(existing, localName15, colorParser)) !== JSON.stringify(value.marker)) {
38456
39158
  return buildChartMarkerXml(
@@ -38471,12 +39173,12 @@ function prefixOf2(key2) {
38471
39173
  return key2?.includes(":") ? key2.slice(0, key2.lastIndexOf(":")) : "";
38472
39174
  }
38473
39175
  function cloneChild(node, name, localName15) {
38474
- const key2 = keyOf(node, name, localName15);
39176
+ const key2 = keyOf3(node, name, localName15);
38475
39177
  const value = key2 ? node[key2] : void 0;
38476
39178
  return value && typeof value === "object" && !Array.isArray(value) ? cloneXmlObject(value) : void 0;
38477
39179
  }
38478
39180
  function parseChartPivotFormats(chart, localName15, colorParser) {
38479
- const rootKey = keyOf(chart, "pivotFmts", localName15);
39181
+ const rootKey = keyOf3(chart, "pivotFmts", localName15);
38480
39182
  const value = rootKey ? chart?.[rootKey] : void 0;
38481
39183
  if (!value || typeof value !== "object" || Array.isArray(value)) {
38482
39184
  return void 0;
@@ -38484,17 +39186,17 @@ function parseChartPivotFormats(chart, localName15, colorParser) {
38484
39186
  const root = value;
38485
39187
  const formats = [];
38486
39188
  for (const node of nodesOf(root, "pivotFmt", localName15)) {
38487
- const idxKey = keyOf(node, "idx", localName15);
39189
+ const idxKey = keyOf3(node, "idx", localName15);
38488
39190
  const idxNode = idxKey ? node[idxKey] : void 0;
38489
39191
  const index = idxNode && typeof idxNode === "object" && !Array.isArray(idxNode) ? unsigned(idxNode["@_val"]) : void 0;
38490
39192
  if (index === void 0) {
38491
39193
  continue;
38492
39194
  }
38493
- const spPrKey = keyOf(node, "spPr", localName15);
39195
+ const spPrKey = keyOf3(node, "spPr", localName15);
38494
39196
  const spPrNode = spPrKey ? node[spPrKey] : void 0;
38495
- const txPrKey = keyOf(node, "txPr", localName15);
39197
+ const txPrKey = keyOf3(node, "txPr", localName15);
38496
39198
  const txPrNode = txPrKey ? node[txPrKey] : void 0;
38497
- const markerKey = keyOf(node, "marker", localName15);
39199
+ const markerKey = keyOf3(node, "marker", localName15);
38498
39200
  const markerNode = markerKey ? node[markerKey] : void 0;
38499
39201
  const shapeProperties2 = parseTypedShapeProps(spPrNode, localName15, colorParser);
38500
39202
  const textStyle = parseTypedTextStyle(txPrNode, localName15, colorParser);
@@ -38518,7 +39220,7 @@ function setChild(node, name, value, prefix, localName15) {
38518
39220
  if (value === void 0) {
38519
39221
  return;
38520
39222
  }
38521
- const key2 = keyOf(node, name, localName15);
39223
+ const key2 = keyOf3(node, name, localName15);
38522
39224
  if (value === null) {
38523
39225
  if (key2) {
38524
39226
  delete node[key2];
@@ -38532,7 +39234,7 @@ function buildFormat(value, prefix, localName15, colorParser) {
38532
39234
  throw new RangeError(`pivotFmt.index must be an integer from 0 through ${MAX_UINT}`);
38533
39235
  }
38534
39236
  const node = cloneXmlObject(value.rawXml) ?? {};
38535
- const idxKey = keyOf(node, "idx", localName15) ?? `${prefix}:idx`;
39237
+ const idxKey = keyOf3(node, "idx", localName15) ?? `${prefix}:idx`;
38536
39238
  const idxValue = node[idxKey];
38537
39239
  const idx = idxValue && typeof idxValue === "object" && !Array.isArray(idxValue) ? idxValue : {};
38538
39240
  idx["@_val"] = String(value.index);
@@ -38565,21 +39267,21 @@ function buildFormat(value, prefix, localName15, colorParser) {
38565
39267
  delete node[key2];
38566
39268
  }
38567
39269
  for (const name of CHILDREN) {
38568
- for (const [key2, child14] of entries) {
39270
+ for (const [key2, child16] of entries) {
38569
39271
  if (localName15(key2) === name) {
38570
- node[key2] = child14;
39272
+ node[key2] = child16;
38571
39273
  }
38572
39274
  }
38573
39275
  }
38574
- for (const [key2, child14] of entries) {
39276
+ for (const [key2, child16] of entries) {
38575
39277
  if (!CHILDREN.includes(localName15(key2))) {
38576
- node[key2] = child14;
39278
+ node[key2] = child16;
38577
39279
  }
38578
39280
  }
38579
39281
  return node;
38580
39282
  }
38581
39283
  function applyChartPivotFormats(chart, value, localName15, colorParser) {
38582
- const rootKey = keyOf(chart, "pivotFmts", localName15);
39284
+ const rootKey = keyOf3(chart, "pivotFmts", localName15);
38583
39285
  if (value === null) {
38584
39286
  if (rootKey) {
38585
39287
  delete chart[rootKey];
@@ -38589,9 +39291,9 @@ function applyChartPivotFormats(chart, value, localName15, colorParser) {
38589
39291
  if (!value.formats.length) {
38590
39292
  throw new RangeError("pivotFormats.formats must not be empty");
38591
39293
  }
38592
- const prefix = prefixOf2(rootKey ?? keyOf(chart, "plotArea", localName15)) || "c";
39294
+ const prefix = prefixOf2(rootKey ?? keyOf3(chart, "plotArea", localName15)) || "c";
38593
39295
  const root = cloneXmlObject(value.rawXml) ?? {};
38594
- const itemKey = keyOf(root, "pivotFmt", localName15) ?? `${prefix}:pivotFmt`;
39296
+ const itemKey = keyOf3(root, "pivotFmt", localName15) ?? `${prefix}:pivotFmt`;
38595
39297
  root[itemKey] = value.formats.map((item) => buildFormat(item, prefix, localName15, colorParser));
38596
39298
  if (rootKey) {
38597
39299
  chart[rootKey] = root;
@@ -38602,12 +39304,12 @@ function applyChartPivotFormats(chart, value, localName15, colorParser) {
38602
39304
  delete chart[key2];
38603
39305
  }
38604
39306
  let inserted = false;
38605
- for (const [key2, child14] of entries) {
39307
+ for (const [key2, child16] of entries) {
38606
39308
  if (!inserted && ROOT_FOLLOWERS.includes(localName15(key2))) {
38607
39309
  chart[`${prefix}:pivotFmts`] = root;
38608
39310
  inserted = true;
38609
39311
  }
38610
- chart[key2] = child14;
39312
+ chart[key2] = child16;
38611
39313
  }
38612
39314
  if (!inserted) {
38613
39315
  chart[`${prefix}:pivotFmts`] = root;
@@ -38624,16 +39326,16 @@ var HEADER_CHILDREN = [
38624
39326
  "firstFooter"
38625
39327
  ];
38626
39328
  var ORIENTATIONS = /* @__PURE__ */ new Set(["default", "portrait", "landscape"]);
38627
- function keyOf2(node, name, localName15) {
39329
+ function keyOf4(node, name, localName15) {
38628
39330
  return node ? Object.keys(node).find((key2) => localName15(key2) === name) : void 0;
38629
39331
  }
38630
- function child4(node, name, localName15) {
38631
- const key2 = keyOf2(node, name, localName15);
39332
+ function child6(node, name, localName15) {
39333
+ const key2 = keyOf4(node, name, localName15);
38632
39334
  const value = key2 ? node?.[key2] : void 0;
38633
39335
  return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
38634
39336
  }
38635
39337
  function childText(node, name, localName15) {
38636
- const key2 = keyOf2(node, name, localName15);
39338
+ const key2 = keyOf4(node, name, localName15);
38637
39339
  if (!key2) {
38638
39340
  return void 0;
38639
39341
  }
@@ -38739,15 +39441,15 @@ function parsePageSetup(node) {
38739
39441
  return result;
38740
39442
  }
38741
39443
  function parseChartPrintSettings(chartSpace, localName15) {
38742
- const node = child4(chartSpace, "printSettings", localName15);
39444
+ const node = child6(chartSpace, "printSettings", localName15);
38743
39445
  if (!node) {
38744
39446
  return void 0;
38745
39447
  }
38746
- const header = child4(node, "headerFooter", localName15);
38747
- const margins = child4(node, "pageMargins", localName15);
39448
+ const header = child6(node, "headerFooter", localName15);
39449
+ const margins = child6(node, "pageMargins", localName15);
38748
39450
  const parsedMargins = margins ? parseMargins(margins) : void 0;
38749
- const setup = child4(node, "pageSetup", localName15);
38750
- const legacy = child4(node, "legacyDrawingHF", localName15);
39451
+ const setup = child6(node, "pageSetup", localName15);
39452
+ const legacy = child6(node, "legacyDrawingHF", localName15);
38751
39453
  const relationshipId = legacy ? Object.entries(legacy).find(([key2]) => key2.startsWith("@_") && localName15(key2) === "id")?.[1] : void 0;
38752
39454
  return {
38753
39455
  ...header ? { headerFooter: parseHeaderFooter(header, localName15) } : {},
@@ -38769,11 +39471,11 @@ var HEADER_CHILDREN2 = [
38769
39471
  ];
38770
39472
  var PRINT_CHILDREN = ["headerFooter", "pageMargins", "pageSetup", "legacyDrawingHF"];
38771
39473
  var ORIENTATIONS2 = /* @__PURE__ */ new Set(["default", "portrait", "landscape"]);
38772
- function keyOf3(node, name, localName15) {
39474
+ function keyOf5(node, name, localName15) {
38773
39475
  return node ? Object.keys(node).find((key2) => localName15(key2) === name) : void 0;
38774
39476
  }
38775
- function child5(node, name, localName15) {
38776
- const key2 = keyOf3(node, name, localName15);
39477
+ function child7(node, name, localName15) {
39478
+ const key2 = keyOf5(node, name, localName15);
38777
39479
  const value = key2 ? node?.[key2] : void 0;
38778
39480
  return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
38779
39481
  }
@@ -38812,7 +39514,7 @@ function replaceChildrenInOrder(node, names, localName15) {
38812
39514
  function applyHeaderFooter(existing, value, localName15, prefix) {
38813
39515
  const node = cloneXmlObject(existing) ?? cloneXmlObject(value.rawXml) ?? {};
38814
39516
  for (const name of HEADER_CHILDREN2) {
38815
- const oldKey = keyOf3(node, name, localName15);
39517
+ const oldKey = keyOf5(node, name, localName15);
38816
39518
  if (value[name] === void 0) {
38817
39519
  if (oldKey) {
38818
39520
  delete node[oldKey];
@@ -38867,7 +39569,7 @@ function applyPageSetup(existing, value) {
38867
39569
  return node;
38868
39570
  }
38869
39571
  function setChild2(node, name, value, localName15, prefix) {
38870
- const oldKey = keyOf3(node, name, localName15);
39572
+ const oldKey = keyOf5(node, name, localName15);
38871
39573
  if (value === null) {
38872
39574
  if (oldKey) {
38873
39575
  delete node[oldKey];
@@ -38877,7 +39579,7 @@ function setChild2(node, name, value, localName15, prefix) {
38877
39579
  }
38878
39580
  }
38879
39581
  function applyChartPrintSettings(chartSpace, settings, localName15) {
38880
- const rootKey = keyOf3(chartSpace, "printSettings", localName15);
39582
+ const rootKey = keyOf5(chartSpace, "printSettings", localName15);
38881
39583
  if (settings === null) {
38882
39584
  if (rootKey) {
38883
39585
  delete chartSpace[rootKey];
@@ -38886,13 +39588,13 @@ function applyChartPrintSettings(chartSpace, settings, localName15) {
38886
39588
  }
38887
39589
  const existing = rootKey ? chartSpace[rootKey] : void 0;
38888
39590
  const node = cloneXmlObject(existing) ?? cloneXmlObject(settings.rawXml) ?? {};
38889
- const prefix = prefixOf3(rootKey ?? keyOf3(chartSpace, "chart", localName15)) || "c";
39591
+ const prefix = prefixOf3(rootKey ?? keyOf5(chartSpace, "chart", localName15)) || "c";
38890
39592
  if (settings.headerFooter !== void 0) {
38891
39593
  setChild2(
38892
39594
  node,
38893
39595
  "headerFooter",
38894
39596
  settings.headerFooter === null ? null : applyHeaderFooter(
38895
- child5(node, "headerFooter", localName15),
39597
+ child7(node, "headerFooter", localName15),
38896
39598
  settings.headerFooter,
38897
39599
  localName15,
38898
39600
  prefix
@@ -38905,7 +39607,7 @@ function applyChartPrintSettings(chartSpace, settings, localName15) {
38905
39607
  setChild2(
38906
39608
  node,
38907
39609
  "pageMargins",
38908
- settings.pageMargins === null ? null : applyMargins(child5(node, "pageMargins", localName15), settings.pageMargins),
39610
+ settings.pageMargins === null ? null : applyMargins(child7(node, "pageMargins", localName15), settings.pageMargins),
38909
39611
  localName15,
38910
39612
  prefix
38911
39613
  );
@@ -38914,7 +39616,7 @@ function applyChartPrintSettings(chartSpace, settings, localName15) {
38914
39616
  setChild2(
38915
39617
  node,
38916
39618
  "pageSetup",
38917
- settings.pageSetup === null ? null : applyPageSetup(child5(node, "pageSetup", localName15), settings.pageSetup),
39619
+ settings.pageSetup === null ? null : applyPageSetup(child7(node, "pageSetup", localName15), settings.pageSetup),
38918
39620
  localName15,
38919
39621
  prefix
38920
39622
  );
@@ -38923,7 +39625,7 @@ function applyChartPrintSettings(chartSpace, settings, localName15) {
38923
39625
  if (settings.legacyDrawingHeaderFooterRelationshipId === null) {
38924
39626
  setChild2(node, "legacyDrawingHF", null, localName15, prefix);
38925
39627
  } else {
38926
- const legacy = cloneXmlObject(child5(node, "legacyDrawingHF", localName15)) ?? {};
39628
+ const legacy = cloneXmlObject(child7(node, "legacyDrawingHF", localName15)) ?? {};
38927
39629
  const idKey = Object.keys(legacy).find(
38928
39630
  (key2) => key2.startsWith("@_") && localName15(key2) === "id"
38929
39631
  );
@@ -38959,7 +39661,7 @@ function insertPrintSettings(chartSpace, node, prefix, localName15) {
38959
39661
  // pptx/core/utils/chart-protection.ts
38960
39662
  var CX_NAMESPACE = "http://schemas.microsoft.com/office/drawing/2014/chartex";
38961
39663
  var FIELDS3 = ["chartObject", "data", "formatting", "selection", "userInterface"];
38962
- function keyOf4(node, name, localName15) {
39664
+ function keyOf6(node, name, localName15) {
38963
39665
  return node ? Object.keys(node).find((key2) => localName15(key2) === name) : void 0;
38964
39666
  }
38965
39667
  function prefixOf4(key2) {
@@ -38990,7 +39692,7 @@ function parseChartProtection(chartSpace, localName15) {
38990
39692
  if (chartSpace && isCxChartSpace(chartSpace)) {
38991
39693
  return void 0;
38992
39694
  }
38993
- const protectionKey = keyOf4(chartSpace, "protection", localName15);
39695
+ const protectionKey = keyOf6(chartSpace, "protection", localName15);
38994
39696
  const value = protectionKey ? chartSpace?.[protectionKey] : void 0;
38995
39697
  if (!value || typeof value !== "object" || Array.isArray(value)) {
38996
39698
  return void 0;
@@ -38998,10 +39700,10 @@ function parseChartProtection(chartSpace, localName15) {
38998
39700
  const node = value;
38999
39701
  const result = { rawXml: cloneXmlObject(node) ?? {} };
39000
39702
  for (const field of FIELDS3) {
39001
- const childKey2 = keyOf4(node, field, localName15);
39002
- const child14 = childKey2 ? node[childKey2] : void 0;
39003
- if (child14 && typeof child14 === "object" && !Array.isArray(child14)) {
39004
- const parsed = parseBoolean2(child14);
39703
+ const childKey2 = keyOf6(node, field, localName15);
39704
+ const child16 = childKey2 ? node[childKey2] : void 0;
39705
+ if (child16 && typeof child16 === "object" && !Array.isArray(child16)) {
39706
+ const parsed = parseBoolean2(child16);
39005
39707
  if (parsed !== void 0) {
39006
39708
  result[field] = parsed;
39007
39709
  }
@@ -39015,7 +39717,7 @@ function applyField(node, field, value, prefix, localName15) {
39015
39717
  if (value === void 0) {
39016
39718
  return;
39017
39719
  }
39018
- const existingKey = keyOf4(node, field, localName15);
39720
+ const existingKey = keyOf6(node, field, localName15);
39019
39721
  if (value === null) {
39020
39722
  if (existingKey) {
39021
39723
  delete node[existingKey];
@@ -39030,9 +39732,9 @@ function applyField(node, field, value, prefix, localName15) {
39030
39732
  if (existing && typeof existing === "object" && !Array.isArray(existing) && parseBoolean2(existing) === value) {
39031
39733
  return;
39032
39734
  }
39033
- const child14 = existing && typeof existing === "object" && !Array.isArray(existing) ? existing : {};
39034
- child14["@_val"] = value ? "1" : "0";
39035
- node[key2] = child14;
39735
+ const child16 = existing && typeof existing === "object" && !Array.isArray(existing) ? existing : {};
39736
+ child16["@_val"] = value ? "1" : "0";
39737
+ node[key2] = child16;
39036
39738
  }
39037
39739
  function reorderKnownChildren(node, localName15) {
39038
39740
  const entries = Object.entries(node);
@@ -39052,7 +39754,7 @@ function applyChartProtection(chartSpace, value, localName15) {
39052
39754
  if (isCxChartSpace(chartSpace)) {
39053
39755
  return;
39054
39756
  }
39055
- const protectionKey = keyOf4(chartSpace, "protection", localName15);
39757
+ const protectionKey = keyOf6(chartSpace, "protection", localName15);
39056
39758
  if (value === null) {
39057
39759
  if (protectionKey) {
39058
39760
  delete chartSpace[protectionKey];
@@ -39061,7 +39763,7 @@ function applyChartProtection(chartSpace, value, localName15) {
39061
39763
  }
39062
39764
  const existing = protectionKey ? chartSpace[protectionKey] : void 0;
39063
39765
  const node = value.rawXml !== void 0 ? cloneXmlObject(value.rawXml) ?? {} : existing && typeof existing === "object" && !Array.isArray(existing) ? existing : {};
39064
- const chartKey = keyOf4(chartSpace, "chart", localName15);
39766
+ const chartKey = keyOf6(chartSpace, "chart", localName15);
39065
39767
  const prefix = prefixOf4(protectionKey ?? chartKey) || "c";
39066
39768
  for (const field of FIELDS3) {
39067
39769
  applyField(node, field, value[field], prefix, localName15);
@@ -39076,12 +39778,12 @@ function applyChartProtection(chartSpace, value, localName15) {
39076
39778
  delete chartSpace[key2];
39077
39779
  }
39078
39780
  let inserted = false;
39079
- for (const [key2, child14] of entries) {
39781
+ for (const [key2, child16] of entries) {
39080
39782
  if (!inserted && localName15(key2) === "chart") {
39081
39783
  chartSpace[qualified2(prefix, "protection")] = node;
39082
39784
  inserted = true;
39083
39785
  }
39084
- chartSpace[key2] = child14;
39786
+ chartSpace[key2] = child16;
39085
39787
  }
39086
39788
  if (!inserted) {
39087
39789
  chartSpace[qualified2(prefix, "protection")] = node;
@@ -39164,7 +39866,7 @@ function parseChartStyleDefinition(styleRoot, xmlLookup, resolveSchemeColor, par
39164
39866
  // pptx/core/utils/chart-pivot-source.ts
39165
39867
  var MAX_UINT2 = 4294967295;
39166
39868
  var CHILDREN2 = ["name", "fmtId", "extLst"];
39167
- function keyOf5(node, name, localName15) {
39869
+ function keyOf7(node, name, localName15) {
39168
39870
  return node ? Object.keys(node).find((key2) => localName15(key2) === name) : void 0;
39169
39871
  }
39170
39872
  function prefixOf5(key2) {
@@ -39188,14 +39890,14 @@ function parseUnsigned(value) {
39188
39890
  return Number.isSafeInteger(parsed) && parsed <= MAX_UINT2 ? parsed : void 0;
39189
39891
  }
39190
39892
  function parseChartPivotSource(chartSpace, localName15) {
39191
- const rootKey = keyOf5(chartSpace, "pivotSource", localName15);
39893
+ const rootKey = keyOf7(chartSpace, "pivotSource", localName15);
39192
39894
  const value = rootKey ? chartSpace?.[rootKey] : void 0;
39193
39895
  if (!value || typeof value !== "object" || Array.isArray(value)) {
39194
39896
  return void 0;
39195
39897
  }
39196
39898
  const node = value;
39197
- const nameKey = keyOf5(node, "name", localName15);
39198
- const fmtKey = keyOf5(node, "fmtId", localName15);
39899
+ const nameKey = keyOf7(node, "name", localName15);
39900
+ const fmtKey = keyOf7(node, "fmtId", localName15);
39199
39901
  const name = nameKey ? textOf(node[nameKey]) : void 0;
39200
39902
  const fmtNode = fmtKey ? node[fmtKey] : void 0;
39201
39903
  const formatId = fmtNode && typeof fmtNode === "object" && !Array.isArray(fmtNode) ? parseUnsigned(fmtNode["@_val"]) : void 0;
@@ -39219,7 +39921,7 @@ function reorder(node, localName15) {
39219
39921
  }
39220
39922
  }
39221
39923
  function applyChartPivotSource(chartSpace, value, localName15) {
39222
- const rootKey = keyOf5(chartSpace, "pivotSource", localName15);
39924
+ const rootKey = keyOf7(chartSpace, "pivotSource", localName15);
39223
39925
  if (value === null) {
39224
39926
  if (rootKey) {
39225
39927
  delete chartSpace[rootKey];
@@ -39231,9 +39933,9 @@ function applyChartPivotSource(chartSpace, value, localName15) {
39231
39933
  }
39232
39934
  const existing = rootKey ? chartSpace[rootKey] : void 0;
39233
39935
  const node = value.rawXml ? cloneXmlObject(value.rawXml) ?? {} : existing && typeof existing === "object" && !Array.isArray(existing) ? existing : {};
39234
- const chartKey = keyOf5(chartSpace, "chart", localName15);
39936
+ const chartKey = keyOf7(chartSpace, "chart", localName15);
39235
39937
  const prefix = prefixOf5(rootKey ?? chartKey) || "c";
39236
- const nameKey = keyOf5(node, "name", localName15) ?? `${prefix}:name`;
39938
+ const nameKey = keyOf7(node, "name", localName15) ?? `${prefix}:name`;
39237
39939
  const nameNode = node[nameKey];
39238
39940
  if (textOf(nameNode) !== value.name) {
39239
39941
  if (nameNode && typeof nameNode === "object" && !Array.isArray(nameNode)) {
@@ -39242,7 +39944,7 @@ function applyChartPivotSource(chartSpace, value, localName15) {
39242
39944
  node[nameKey] = { "#text": value.name };
39243
39945
  }
39244
39946
  }
39245
- const fmtKey = keyOf5(node, "fmtId", localName15) ?? `${prefix}:fmtId`;
39947
+ const fmtKey = keyOf7(node, "fmtId", localName15) ?? `${prefix}:fmtId`;
39246
39948
  const fmtValue = node[fmtKey];
39247
39949
  const fmtNode = fmtValue && typeof fmtValue === "object" && !Array.isArray(fmtValue) ? fmtValue : {};
39248
39950
  if (parseUnsigned(fmtNode["@_val"]) !== value.formatId) {
@@ -39259,12 +39961,12 @@ function applyChartPivotSource(chartSpace, value, localName15) {
39259
39961
  delete chartSpace[key2];
39260
39962
  }
39261
39963
  let inserted = false;
39262
- for (const [key2, child14] of entries) {
39964
+ for (const [key2, child16] of entries) {
39263
39965
  if (!inserted && ["protection", "chart"].includes(localName15(key2))) {
39264
39966
  chartSpace[`${prefix}:pivotSource`] = node;
39265
39967
  inserted = true;
39266
39968
  }
39267
- chartSpace[key2] = child14;
39969
+ chartSpace[key2] = child16;
39268
39970
  }
39269
39971
  if (!inserted) {
39270
39972
  chartSpace[`${prefix}:pivotSource`] = node;
@@ -39298,10 +40000,10 @@ function extractMultiLevelCategoryValues(categoryContainer, xmlLookup) {
39298
40000
  };
39299
40001
  }
39300
40002
  function expandCategoryLevel(lvlNode, levelIndex, declaredCount, xmlLookup) {
39301
- const points4 = xmlLookup.getChildrenArrayByLocalName(lvlNode, "pt");
40003
+ const points5 = xmlLookup.getChildrenArrayByLocalName(lvlNode, "pt");
39302
40004
  const byIndex = /* @__PURE__ */ new Map();
39303
40005
  let maxIndex = -1;
39304
- for (const point of points4) {
40006
+ for (const point of points5) {
39305
40007
  const index = Number.parseInt(String(point?.["@_idx"] ?? "0"), 10);
39306
40008
  if (!Number.isFinite(index) || index < 0) {
39307
40009
  continue;
@@ -39333,19 +40035,19 @@ function expandCategoryLevel(lvlNode, levelIndex, declaredCount, xmlLookup) {
39333
40035
  }
39334
40036
 
39335
40037
  // pptx/core/utils/smartart-merged-text-label.ts
39336
- function prSetOf(pt, localName15) {
39337
- const key2 = Object.keys(pt).find((candidate) => localName15(candidate) === "prSet");
39338
- const value = key2 ? pt[key2] : void 0;
40038
+ function prSetOf(pt2, localName15) {
40039
+ const key2 = Object.keys(pt2).find((candidate) => localName15(candidate) === "prSet");
40040
+ const value = key2 ? pt2[key2] : void 0;
39339
40041
  return Array.isArray(value) ? value[0] : value;
39340
40042
  }
39341
- function readPresPoints(points4, localName15) {
40043
+ function readPresPoints(points5, localName15) {
39342
40044
  const byId = /* @__PURE__ */ new Map();
39343
- for (const pt of points4) {
39344
- if (!pt || typeof pt !== "object" || String(pt["@_type"] ?? "").trim() !== "pres") {
40045
+ for (const pt2 of points5) {
40046
+ if (!pt2 || typeof pt2 !== "object" || String(pt2["@_type"] ?? "").trim() !== "pres") {
39345
40047
  continue;
39346
40048
  }
39347
- const id = String(pt["@_modelId"] ?? "").trim();
39348
- const prSet = prSetOf(pt, localName15);
40049
+ const id = String(pt2["@_modelId"] ?? "").trim();
40050
+ const prSet = prSetOf(pt2, localName15);
39349
40051
  if (!id || !prSet) {
39350
40052
  continue;
39351
40053
  }
@@ -39372,10 +40074,10 @@ function algorithmByLayoutNodeName(root) {
39372
40074
  }
39373
40075
  return byName;
39374
40076
  }
39375
- function resolveSmartArtMergedTextLabels(points4, connections, layout, localName15) {
40077
+ function resolveSmartArtMergedTextLabels(points5, connections, layout, localName15) {
39376
40078
  const result = /* @__PURE__ */ new Map();
39377
40079
  const algorithms = algorithmByLayoutNodeName(layout?.rootNode);
39378
- const presPoints = readPresPoints(points4, localName15);
40080
+ const presPoints = readPresPoints(points5, localName15);
39379
40081
  if (algorithms.size === 0 || presPoints.size === 0) {
39380
40082
  return result;
39381
40083
  }
@@ -39391,14 +40093,14 @@ function resolveSmartArtMergedTextLabels(points4, connections, layout, localName
39391
40093
  }
39392
40094
  }
39393
40095
  for (const siblingIds of childrenByParent.values()) {
39394
- const siblings = siblingIds.map((id) => presPoints.get(id)).filter((pt) => Boolean(pt?.styleLabel && presented.has(pt.id)));
39395
- const texts = siblings.filter((pt) => algorithms.get(pt.name) === "tx");
40096
+ const siblings = siblingIds.map((id) => presPoints.get(id)).filter((pt2) => Boolean(pt2?.styleLabel && presented.has(pt2.id)));
40097
+ const texts = siblings.filter((pt2) => algorithms.get(pt2.name) === "tx");
39396
40098
  for (const shape of siblings) {
39397
40099
  if (algorithms.get(shape.name) === "tx" || result.has(shape.id)) {
39398
40100
  continue;
39399
40101
  }
39400
40102
  const text = texts.find(
39401
- (pt) => pt.assocId === shape.assocId && pt.styleLabel !== shape.styleLabel
40103
+ (pt2) => pt2.assocId === shape.assocId && pt2.styleLabel !== shape.styleLabel
39402
40104
  );
39403
40105
  if (text) {
39404
40106
  result.set(shape.id, {
@@ -39418,13 +40120,13 @@ function smartArtMergedTextColor(label, textFillByLabel) {
39418
40120
  }
39419
40121
  return list[label.styleIndex % list.length];
39420
40122
  }
39421
- function resolveSmartArtMergedTextColors(points4, connections, layout, textFillByLabel, localName15) {
40123
+ function resolveSmartArtMergedTextColors(points5, connections, layout, textFillByLabel, localName15) {
39422
40124
  const colors = /* @__PURE__ */ new Map();
39423
40125
  if (!textFillByLabel) {
39424
40126
  return colors;
39425
40127
  }
39426
40128
  for (const [shapeId, label] of resolveSmartArtMergedTextLabels(
39427
- points4,
40129
+ points5,
39428
40130
  connections,
39429
40131
  layout,
39430
40132
  localName15
@@ -39438,7 +40140,7 @@ function resolveSmartArtMergedTextColors(points4, connections, layout, textFillB
39438
40140
  }
39439
40141
 
39440
40142
  // pptx/core/utils/smartart-node-pres-vars.ts
39441
- function children3(node, name, localName15) {
40143
+ function children4(node, name, localName15) {
39442
40144
  if (!node) {
39443
40145
  return [];
39444
40146
  }
@@ -39469,16 +40171,16 @@ function variablesOf(vars, localName15) {
39469
40171
  }
39470
40172
  return out;
39471
40173
  }
39472
- function resolveSmartArtNodePresVars(points4, localName15) {
40174
+ function resolveSmartArtNodePresVars(points5, localName15) {
39473
40175
  const out = /* @__PURE__ */ new Map();
39474
- for (const pt of points4) {
39475
- if (!pt || typeof pt !== "object" || String(pt["@_type"] ?? "").trim() !== "pres") {
40176
+ for (const pt2 of points5) {
40177
+ if (!pt2 || typeof pt2 !== "object" || String(pt2["@_type"] ?? "").trim() !== "pres") {
39476
40178
  continue;
39477
40179
  }
39478
- const prSet = children3(pt, "prSet", localName15)[0];
40180
+ const prSet = children4(pt2, "prSet", localName15)[0];
39479
40181
  const nodeId = String(prSet?.["@_presAssocID"] ?? "").trim();
39480
40182
  const presName = String(prSet?.["@_presName"] ?? "").trim();
39481
- const vars = children3(prSet, "presLayoutVars", localName15)[0];
40183
+ const vars = children4(prSet, "presLayoutVars", localName15)[0];
39482
40184
  if (!nodeId || !presName || !vars) {
39483
40185
  continue;
39484
40186
  }
@@ -39494,10 +40196,10 @@ function resolveSmartArtNodePresVars(points4, localName15) {
39494
40196
  }
39495
40197
 
39496
40198
  // pptx/core/utils/smartart-point-metadata.ts
39497
- function resolveSmartArtPointMetadata(points4, connections, localName15) {
39498
- const styleRoles = resolveSmartArtNodeStyleRoles(points4, connections, localName15);
39499
- const coherent3DOff = resolveSmartArtNodeCoherent3DOff(points4, connections, localName15);
39500
- const presVars = resolveSmartArtNodePresVars(points4, localName15);
40199
+ function resolveSmartArtPointMetadata(points5, connections, localName15) {
40200
+ const styleRoles = resolveSmartArtNodeStyleRoles(points5, connections, localName15);
40201
+ const coherent3DOff = resolveSmartArtNodeCoherent3DOff(points5, connections, localName15);
40202
+ const presVars = resolveSmartArtNodePresVars(points5, localName15);
39501
40203
  return (pointId) => ({
39502
40204
  styleRole: styleRoles.get(pointId),
39503
40205
  coherent3DOff: coherent3DOff.has(pointId) || void 0,
@@ -39546,10 +40248,10 @@ function getLocalName(qualifiedName2) {
39546
40248
  }
39547
40249
 
39548
40250
  // pptx/core/utils/smartart-connector-labels.ts
39549
- function collectSmartArtTransitionText(points4, collectText) {
40251
+ function collectSmartArtTransitionText(points5, collectText) {
39550
40252
  return collectTransitionText(
39551
- points4.filter((pt) => pt && typeof pt === "object"),
39552
- (pt) => ({ type: String(pt["@_type"] ?? ""), modelId: String(pt["@_modelId"] ?? "") }),
40253
+ points5.filter((pt2) => pt2 && typeof pt2 === "object"),
40254
+ (pt2) => ({ type: String(pt2["@_type"] ?? ""), modelId: String(pt2["@_modelId"] ?? "") }),
39553
40255
  collectText
39554
40256
  );
39555
40257
  }
@@ -39560,11 +40262,11 @@ function simpleTextBody(text) {
39560
40262
  "a:p": { "a:r": { "a:rPr": { "@_lang": "en-US" }, "a:t": text } }
39561
40263
  };
39562
40264
  }
39563
- function setPointText(pt, text, localName15) {
39564
- const tKey = Object.keys(pt).find((key2) => localName15(key2) === "t") ?? "dgm:t";
39565
- const body = pt[tKey];
40265
+ function setPointText(pt2, text, localName15) {
40266
+ const tKey = Object.keys(pt2).find((key2) => localName15(key2) === "t") ?? "dgm:t";
40267
+ const body = pt2[tKey];
39566
40268
  if (!body || typeof body !== "object" || Array.isArray(body)) {
39567
- pt[tKey] = simpleTextBody(text);
40269
+ pt2[tKey] = simpleTextBody(text);
39568
40270
  return;
39569
40271
  }
39570
40272
  const bodyObj = body;
@@ -39585,15 +40287,15 @@ function setPointText(pt, text, localName15) {
39585
40287
  const textKey = Object.keys(runObj).find((key2) => localName15(key2) === "t");
39586
40288
  runObj[textKey ?? "a:t"] = text;
39587
40289
  }
39588
- function applySmartArtConnectorLabels(points4, connections, localName15) {
40290
+ function applySmartArtConnectorLabels(points5, connections, localName15) {
39589
40291
  const pointsById = /* @__PURE__ */ new Map();
39590
- for (const pt of points4) {
39591
- if (!pt || typeof pt !== "object") {
40292
+ for (const pt2 of points5) {
40293
+ if (!pt2 || typeof pt2 !== "object") {
39592
40294
  continue;
39593
40295
  }
39594
- const id = String(pt["@_modelId"] ?? "").trim();
40296
+ const id = String(pt2["@_modelId"] ?? "").trim();
39595
40297
  if (id) {
39596
- pointsById.set(id, pt);
40298
+ pointsById.set(id, pt2);
39597
40299
  }
39598
40300
  }
39599
40301
  for (const connection of connections) {
@@ -39878,7 +40580,7 @@ function applyCommentMentions(node, mentions, extension, replace) {
39878
40580
 
39879
40581
  // pptx/core/utils/modern-comment-text-body.ts
39880
40582
  var localName4 = (key2) => key2.split(":").pop() || key2;
39881
- var keyOf6 = (node, name) => Object.keys(node).find((key2) => localName4(key2) === name);
40583
+ var keyOf8 = (node, name) => Object.keys(node).find((key2) => localName4(key2) === name);
39882
40584
  var asNodes = (value) => {
39883
40585
  if (Array.isArray(value)) {
39884
40586
  return value;
@@ -39886,7 +40588,7 @@ var asNodes = (value) => {
39886
40588
  return value && typeof value === "object" ? [value] : [];
39887
40589
  };
39888
40590
  var runText = (run) => {
39889
- const textKey = keyOf6(run, "t");
40591
+ const textKey = keyOf8(run, "t");
39890
40592
  if (!textKey) {
39891
40593
  return void 0;
39892
40594
  }
@@ -39897,7 +40599,7 @@ function flattenBodyText(node) {
39897
40599
  if (!node) {
39898
40600
  return [];
39899
40601
  }
39900
- const paragraphKey = keyOf6(node, "p");
40602
+ const paragraphKey = keyOf8(node, "p");
39901
40603
  const paragraphs = paragraphKey ? asNodes(node[paragraphKey]) : [];
39902
40604
  const collect = (value) => {
39903
40605
  if (typeof value === "string" || typeof value === "number") {
@@ -39905,9 +40607,9 @@ function flattenBodyText(node) {
39905
40607
  }
39906
40608
  let text = "";
39907
40609
  for (const entry2 of asNodes(value)) {
39908
- for (const [key2, child14] of Object.entries(entry2)) {
40610
+ for (const [key2, child16] of Object.entries(entry2)) {
39909
40611
  if (!key2.startsWith("@_")) {
39910
- text += collect(child14);
40612
+ text += collect(child16);
39911
40613
  }
39912
40614
  }
39913
40615
  }
@@ -39931,19 +40633,19 @@ var commonSuffixLength2 = (a, b, limit) => {
39931
40633
  return index;
39932
40634
  };
39933
40635
  var bareRun = (template, text) => {
39934
- const properties = template ? keyOf6(template, "rPr") : void 0;
40636
+ const properties = template ? keyOf8(template, "rPr") : void 0;
39935
40637
  return {
39936
40638
  "a:rPr": properties && template ? template[properties] : {},
39937
40639
  "a:t": text
39938
40640
  };
39939
40641
  };
39940
40642
  var flattenRuns = (paragraph) => {
39941
- const runKey = keyOf6(paragraph, "r");
40643
+ const runKey = keyOf8(paragraph, "r");
39942
40644
  const runs = runKey ? asNodes(paragraph[runKey]) : [];
39943
40645
  return runs.map((run) => runText(run) ?? "").join("");
39944
40646
  };
39945
40647
  function spliceParagraph(paragraph, line) {
39946
- const runKey = keyOf6(paragraph, "r");
40648
+ const runKey = keyOf8(paragraph, "r");
39947
40649
  const runs = runKey ? asNodes(paragraph[runKey]) : [];
39948
40650
  const texts = runs.map(runText);
39949
40651
  if (texts.some((text) => text === void 0)) {
@@ -39983,7 +40685,7 @@ function spliceParagraph(paragraph, line) {
39983
40685
  if (next.length === 0) {
39984
40686
  continue;
39985
40687
  }
39986
- const textKey = keyOf6(runs[index], "t") ?? "a:t";
40688
+ const textKey = keyOf8(runs[index], "t") ?? "a:t";
39987
40689
  const nextRun = { ...runs[index] };
39988
40690
  nextRun[textKey] = next;
39989
40691
  rebuilt.push(nextRun);
@@ -39996,7 +40698,7 @@ function spliceParagraph(paragraph, line) {
39996
40698
  return result;
39997
40699
  }
39998
40700
  var plainParagraph = (template, line) => {
39999
- const runKey = template ? keyOf6(template, "r") : void 0;
40701
+ const runKey = template ? keyOf8(template, "r") : void 0;
40000
40702
  const templateRun = template && runKey ? asNodes(template[runKey])[0] : void 0;
40001
40703
  return { "a:r": bareRun(templateRun, line) };
40002
40704
  };
@@ -40009,7 +40711,7 @@ function applyModernCommentText(original, text) {
40009
40711
  if (!original) {
40010
40712
  return plainBody(text);
40011
40713
  }
40012
- const paragraphKey = keyOf6(original, "p");
40714
+ const paragraphKey = keyOf8(original, "p");
40013
40715
  const paragraphs = paragraphKey ? asNodes(original[paragraphKey]) : [];
40014
40716
  if (paragraphs.length === 0) {
40015
40717
  return plainBody(text);
@@ -40036,7 +40738,7 @@ function applyModernCommentText(original, text) {
40036
40738
 
40037
40739
  // pptx/core/utils/modern-comment-xml.ts
40038
40740
  var localName5 = (key2) => key2.split(":").pop() || key2;
40039
- var child6 = (node, name) => {
40741
+ var child8 = (node, name) => {
40040
40742
  if (!node) {
40041
40743
  return void 0;
40042
40744
  }
@@ -40044,7 +40746,7 @@ var child6 = (node, name) => {
40044
40746
  const value = key2 ? node[key2] : void 0;
40045
40747
  return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
40046
40748
  };
40047
- var children4 = (node, name) => {
40749
+ var children5 = (node, name) => {
40048
40750
  if (!node) {
40049
40751
  return [];
40050
40752
  }
@@ -40072,11 +40774,11 @@ var textValues = (node) => {
40072
40774
  return result;
40073
40775
  };
40074
40776
  var extractModernCommentText = (node) => {
40075
- const body = child6(node, "txBody");
40777
+ const body = child8(node, "txBody");
40076
40778
  if (!body) {
40077
40779
  return "";
40078
40780
  }
40079
- const paragraphs = children4(body, "p");
40781
+ const paragraphs = children5(body, "p");
40080
40782
  return (paragraphs.length > 0 ? paragraphs : [body]).map((paragraph) => textValues(paragraph).join("")).join("\n");
40081
40783
  };
40082
40784
  var stringList = (value) => {
@@ -40095,8 +40797,8 @@ var parseComment = (node, authorName, emuPerPx) => {
40095
40797
  const authorId = String(node["@_authorId"] || "").trim();
40096
40798
  const rawStatus = String(node["@_status"] || "").trim().toLowerCase();
40097
40799
  const effectiveStatus = rawStatus || "active";
40098
- const position2 = child6(node, "pos");
40099
- const replies = children4(child6(node, "replyLst"), "reply").map(
40800
+ const position2 = child8(node, "pos");
40801
+ const replies = children5(child8(node, "replyLst"), "reply").map(
40100
40802
  (reply) => parseComment(reply, authorName, emuPerPx)
40101
40803
  );
40102
40804
  return {
@@ -40124,17 +40826,17 @@ var parseComment = (node, authorName, emuPerPx) => {
40124
40826
  };
40125
40827
  };
40126
40828
  function parseModernCommentPart(data, part, authorName, emuPerPx) {
40127
- const root = child6(data, "cmLst");
40829
+ const root = child8(data, "cmLst");
40128
40830
  return {
40129
- comments: children4(root, "cm").map((node) => parseComment(node, authorName, emuPerPx)),
40831
+ comments: children5(root, "cm").map((node) => parseComment(node, authorName, emuPerPx)),
40130
40832
  part: { ...part, rawXml: root }
40131
40833
  };
40132
40834
  }
40133
40835
  function parseModernAuthors(data) {
40134
- const root = child6(data, "authorLst");
40836
+ const root = child8(data, "authorLst");
40135
40837
  return {
40136
40838
  root,
40137
- authors: children4(root, "author").map((node) => ({
40839
+ authors: children5(root, "author").map((node) => ({
40138
40840
  id: String(node["@_id"] || "").trim(),
40139
40841
  name: String(node["@_name"] || "").trim(),
40140
40842
  initials: String(node["@_initials"] || "").trim() || void 0,
@@ -40223,11 +40925,11 @@ var buildComment = (comment, resolveAuthorId, emuPerPx, isReply = false) => {
40223
40925
  )
40224
40926
  };
40225
40927
  }
40226
- const originalBody = child6(raw, "txBody");
40928
+ const originalBody = child8(raw, "txBody");
40227
40929
  node["p188:txBody"] = applyModernCommentText(originalBody, comment.text);
40228
40930
  const originalText = originalBody ? flattenBodyText(originalBody).join("\n") : comment.text;
40229
40931
  const mentions = rebaseCommentMentions(comment.mentions, originalText, comment.text);
40230
- const extension = applyCommentMentions(node, mentions, child6(raw, "extLst"), ownsMentions);
40932
+ const extension = applyCommentMentions(node, mentions, child8(raw, "extLst"), ownsMentions);
40231
40933
  if (extension) {
40232
40934
  node["p188:extLst"] = extension;
40233
40935
  }
@@ -40491,7 +41193,7 @@ function parseEmuInt(value) {
40491
41193
  function attr2(node, name) {
40492
41194
  return node && typeof node === "object" ? node[name] : void 0;
40493
41195
  }
40494
- function child7(node, name) {
41196
+ function child9(node, name) {
40495
41197
  return node && typeof node === "object" ? node[name] : void 0;
40496
41198
  }
40497
41199
  function parseBooleanAttr(value) {
@@ -40507,28 +41209,28 @@ function readGroupTransform(xfrm, emuPerPx) {
40507
41209
  let flipHorizontal = false;
40508
41210
  let flipVertical = false;
40509
41211
  if (xfrm) {
40510
- const off = child7(xfrm, "a:off");
41212
+ const off = child9(xfrm, "a:off");
40511
41213
  if (off) {
40512
41214
  parentXEmu = parseEmuInt(attr2(off, "@_x"));
40513
41215
  parentYEmu = parseEmuInt(attr2(off, "@_y"));
40514
41216
  parentX = parentXEmu / emuPerPx;
40515
41217
  parentY = parentYEmu / emuPerPx;
40516
41218
  }
40517
- const ext = child7(xfrm, "a:ext");
41219
+ const ext = child9(xfrm, "a:ext");
40518
41220
  if (ext) {
40519
41221
  parentWEmu = parseEmuInt(attr2(ext, "@_cx"));
40520
41222
  parentHEmu = parseEmuInt(attr2(ext, "@_cy"));
40521
41223
  parentW = parentWEmu / emuPerPx;
40522
41224
  parentH = parentHEmu / emuPerPx;
40523
41225
  }
40524
- const chOff = child7(xfrm, "a:chOff");
41226
+ const chOff = child9(xfrm, "a:chOff");
40525
41227
  if (chOff) {
40526
41228
  chOffXEmu = parseEmuInt(attr2(chOff, "@_x"));
40527
41229
  chOffYEmu = parseEmuInt(attr2(chOff, "@_y"));
40528
41230
  chX = chOffXEmu / emuPerPx;
40529
41231
  chY = chOffYEmu / emuPerPx;
40530
41232
  }
40531
- const chExt = child7(xfrm, "a:chExt");
41233
+ const chExt = child9(xfrm, "a:chExt");
40532
41234
  if (chExt) {
40533
41235
  chExtWEmu = parseEmuInt(attr2(chExt, "@_cx"));
40534
41236
  chExtHEmu = parseEmuInt(attr2(chExt, "@_cy"));
@@ -40632,34 +41334,34 @@ function applyRawChildGeometry(el, childNode, emuPerPx) {
40632
41334
  el.heightEmu = heightEmu;
40633
41335
  }
40634
41336
  }
40635
- function applyAncestorGroupTextTransform(children5, groupTransform) {
40636
- for (const child14 of children5) {
40637
- if (child14.type === "group") {
40638
- applyAncestorGroupTextTransform(child14.children, groupTransform);
41337
+ function applyAncestorGroupTextTransform(children6, groupTransform) {
41338
+ for (const child16 of children6) {
41339
+ if (child16.type === "group") {
41340
+ applyAncestorGroupTextTransform(child16.children, groupTransform);
40639
41341
  continue;
40640
41342
  }
40641
- if (!hasTextProperties(child14)) {
41343
+ if (!hasTextProperties(child16)) {
40642
41344
  continue;
40643
41345
  }
40644
- const existing = child14.textStyle?.ancestorGroupTransform;
41346
+ const existing = child16.textStyle?.ancestorGroupTransform;
40645
41347
  const nestedTransform = isTextOrientationMatrix(existing) ? existing : TEXT_ORIENTATION_IDENTITY;
40646
- child14.textStyle = {
40647
- ...child14.textStyle,
41348
+ child16.textStyle = {
41349
+ ...child16.textStyle,
40648
41350
  ancestorGroupTransform: multiplyTextOrientationMatrices(groupTransform, nestedTransform)
40649
41351
  };
40650
41352
  }
40651
41353
  }
40652
- function applyGroupFillInheritance(children5, fill) {
40653
- for (const child14 of children5) {
40654
- if (child14.type === "group") {
40655
- if (!child14.groupFill || child14.groupFill.fillMode === "group") {
40656
- applyGroupFillInheritance(child14.children, fill);
41354
+ function applyGroupFillInheritance(children6, fill) {
41355
+ for (const child16 of children6) {
41356
+ if (child16.type === "group") {
41357
+ if (!child16.groupFill || child16.groupFill.fillMode === "group") {
41358
+ applyGroupFillInheritance(child16.children, fill);
40657
41359
  }
40658
41360
  continue;
40659
41361
  }
40660
- if (hasShapeProperties(child14) && child14.shapeStyle?.fillMode === "group") {
40661
- child14.shapeStyle = {
40662
- ...child14.shapeStyle,
41362
+ if (hasShapeProperties(child16) && child16.shapeStyle?.fillMode === "group") {
41363
+ child16.shapeStyle = {
41364
+ ...child16.shapeStyle,
40663
41365
  fillMode: fill.fillMode,
40664
41366
  fillColor: fill.fillColor,
40665
41367
  fillOpacity: fill.fillOpacity,
@@ -40776,7 +41478,7 @@ function scanForText(node, depth) {
40776
41478
  return false;
40777
41479
  }
40778
41480
  if (Array.isArray(node)) {
40779
- return node.some((child14) => scanForText(child14, depth + 1));
41481
+ return node.some((child16) => scanForText(child16, depth + 1));
40780
41482
  }
40781
41483
  if (!isXmlObject4(node)) {
40782
41484
  return false;
@@ -41142,7 +41844,7 @@ var LIGHT_DIRECTIONS = /* @__PURE__ */ new Set(["tl", "t", "tr", "l", "r", "bl",
41142
41844
  // pptx/core/utils/text-body-scene3d.ts
41143
41845
  var localName6 = (key2) => key2.replace(/^@_/, "").split(":").pop() ?? key2;
41144
41846
  var childKey = (node, local) => Object.keys(node).find((key2) => !key2.startsWith("@_") && localName6(key2) === local);
41145
- var child8 = (node, local) => {
41847
+ var child10 = (node, local) => {
41146
41848
  if (!node) {
41147
41849
  return void 0;
41148
41850
  }
@@ -41166,7 +41868,7 @@ var enumToken = (value, allowed) => {
41166
41868
  return allowed.has(token2) ? token2 : void 0;
41167
41869
  };
41168
41870
  var applyRotation = (target, node, prefix) => {
41169
- const rot = child8(node, "rot");
41871
+ const rot = child10(node, "rot");
41170
41872
  const x = finiteInt(rot?.["@_lat"]);
41171
41873
  const y = finiteInt(rot?.["@_lon"]);
41172
41874
  const z = finiteInt(rot?.["@_rev"]);
@@ -41193,13 +41895,13 @@ var applyPoint = (target, node, prefix, attrPrefix = "") => {
41193
41895
  }
41194
41896
  };
41195
41897
  function parseTextBodyScene3d(bodyPr, style) {
41196
- const scene = child8(bodyPr, "scene3d");
41898
+ const scene = child10(bodyPr, "scene3d");
41197
41899
  if (!scene) {
41198
41900
  return;
41199
41901
  }
41200
41902
  style.textBodyScene3dXml = cloneXmlObject(scene);
41201
- const camera = child8(scene, "camera");
41202
- const light = child8(scene, "lightRig");
41903
+ const camera = child10(scene, "camera");
41904
+ const light = child10(scene, "lightRig");
41203
41905
  const typed = {
41204
41906
  cameraPreset: enumToken(camera?.["@_prst"], CAMERA_PRESETS),
41205
41907
  lightRigType: enumToken(light?.["@_rig"], LIGHT_RIGS),
@@ -41215,12 +41917,12 @@ function parseTextBodyScene3d(bodyPr, style) {
41215
41917
  }
41216
41918
  applyRotation(typed, camera, "camera");
41217
41919
  applyRotation(typed, light, "lightRig");
41218
- const backdrop = child8(scene, "backdrop");
41920
+ const backdrop = child10(scene, "backdrop");
41219
41921
  if (backdrop) {
41220
41922
  typed.hasBackdrop = true;
41221
- applyPoint(typed, child8(backdrop, "anchor"), "backdropAnchor");
41222
- applyPoint(typed, child8(backdrop, "norm"), "backdropNormal", "d");
41223
- applyPoint(typed, child8(backdrop, "up"), "backdropUp", "d");
41923
+ applyPoint(typed, child10(backdrop, "anchor"), "backdropAnchor");
41924
+ applyPoint(typed, child10(backdrop, "norm"), "backdropNormal", "d");
41925
+ applyPoint(typed, child10(backdrop, "up"), "backdropUp", "d");
41224
41926
  }
41225
41927
  style.textBodyScene3d = typed;
41226
41928
  }
@@ -41292,7 +41994,7 @@ function applyTextBodyScene3d(bodyPr, style) {
41292
41994
  return;
41293
41995
  }
41294
41996
  const scene = raw ?? {};
41295
- const camera = cloneXmlObject(child8(scene, "camera")) ?? {};
41997
+ const camera = cloneXmlObject(child10(scene, "camera")) ?? {};
41296
41998
  if (cameraPreset) {
41297
41999
  camera["@_prst"] = cameraPreset;
41298
42000
  }
@@ -41307,7 +42009,7 @@ function applyTextBodyScene3d(bodyPr, style) {
41307
42009
  setChild3(camera, "rot", cameraRot);
41308
42010
  }
41309
42011
  setChild3(scene, "camera", ordered(camera, ["rot"]));
41310
- const light = cloneXmlObject(child8(scene, "lightRig")) ?? {};
42012
+ const light = cloneXmlObject(child10(scene, "lightRig")) ?? {};
41311
42013
  if (lightRig) {
41312
42014
  light["@_rig"] = lightRig;
41313
42015
  }
@@ -41320,7 +42022,7 @@ function applyTextBodyScene3d(bodyPr, style) {
41320
42022
  }
41321
42023
  setChild3(scene, "lightRig", ordered(light, ["rot"]));
41322
42024
  if (typed.hasBackdrop) {
41323
- const backdrop = cloneXmlObject(child8(scene, "backdrop")) ?? {};
42025
+ const backdrop = cloneXmlObject(child10(scene, "backdrop")) ?? {};
41324
42026
  const anchor = anchorXml(typed.backdropAnchorX, typed.backdropAnchorY, typed.backdropAnchorZ);
41325
42027
  const norm = vectorXml(typed.backdropNormalX, typed.backdropNormalY, typed.backdropNormalZ);
41326
42028
  const up = vectorXml(typed.backdropUpX, typed.backdropUpY, typed.backdropUpZ);
@@ -41333,7 +42035,7 @@ function applyTextBodyScene3d(bodyPr, style) {
41333
42035
  if (up) {
41334
42036
  setChild3(backdrop, "up", up);
41335
42037
  }
41336
- if (child8(backdrop, "anchor") && child8(backdrop, "norm") && child8(backdrop, "up")) {
42038
+ if (child10(backdrop, "anchor") && child10(backdrop, "norm") && child10(backdrop, "up")) {
41337
42039
  setChild3(scene, "backdrop", ordered(backdrop, ["anchor", "norm", "up", "extLst"]));
41338
42040
  }
41339
42041
  }
@@ -41677,9 +42379,9 @@ function findChildByLocalName2(parent, name) {
41677
42379
  }
41678
42380
  function setPresentationPropertiesChild(root, name, value) {
41679
42381
  const values = /* @__PURE__ */ new Map();
41680
- for (const [key2, child14] of Object.entries(root)) {
42382
+ for (const [key2, child16] of Object.entries(root)) {
41681
42383
  if (!key2.startsWith("@_")) {
41682
- values.set(localName7(key2), [key2, child14]);
42384
+ values.set(localName7(key2), [key2, child16]);
41683
42385
  }
41684
42386
  }
41685
42387
  if (value === null) {
@@ -41688,9 +42390,9 @@ function setPresentationPropertiesChild(root, name, value) {
41688
42390
  values.set(name, [values.get(name)?.[0] ?? `p:${name}`, value]);
41689
42391
  }
41690
42392
  const result = {};
41691
- for (const [key2, child14] of Object.entries(root)) {
42393
+ for (const [key2, child16] of Object.entries(root)) {
41692
42394
  if (key2.startsWith("@_")) {
41693
- result[key2] = child14;
42395
+ result[key2] = child16;
41694
42396
  }
41695
42397
  }
41696
42398
  for (const orderedName of ROOT_ORDER) {
@@ -41700,8 +42402,8 @@ function setPresentationPropertiesChild(root, name, value) {
41700
42402
  }
41701
42403
  values.delete(orderedName);
41702
42404
  }
41703
- for (const [, [key2, child14]] of values) {
41704
- result[key2] = child14;
42405
+ for (const [, [key2, child16]] of values) {
42406
+ result[key2] = child16;
41705
42407
  }
41706
42408
  return result;
41707
42409
  }
@@ -41772,15 +42474,15 @@ function canonicalizePlaceholderTypes(root) {
41772
42474
  }
41773
42475
  const node = value;
41774
42476
  if (tag === "p:ph" && node["@_type"] !== void 0) {
41775
- const canonical = canonicalPlaceholderType(node["@_type"]);
41776
- if (canonical !== void 0 && canonical !== String(node["@_type"])) {
41777
- node["@_type"] = canonical;
42477
+ const canonical2 = canonicalPlaceholderType(node["@_type"]);
42478
+ if (canonical2 !== void 0 && canonical2 !== String(node["@_type"])) {
42479
+ node["@_type"] = canonical2;
41778
42480
  changed += 1;
41779
42481
  }
41780
42482
  }
41781
- for (const [key2, child14] of Object.entries(node)) {
42483
+ for (const [key2, child16] of Object.entries(node)) {
41782
42484
  if (!key2.startsWith("@_")) {
41783
- visit(child14, key2);
42485
+ visit(child16, key2);
41784
42486
  }
41785
42487
  }
41786
42488
  };
@@ -42546,7 +43248,7 @@ function tableToShapeGroup(tableData, bounds) {
42546
43248
  }
42547
43249
  }
42548
43250
  const rowHeightEmu = bounds.h / Math.max(1, tableData.rows.length);
42549
- const children5 = [];
43251
+ const children6 = [];
42550
43252
  const vMergeActive = new Array(colEmuWidths.length).fill(false);
42551
43253
  tableData.rows.forEach((row, rowIndex) => {
42552
43254
  const y = bounds.y + rowIndex * rowHeightEmu;
@@ -42562,7 +43264,7 @@ function tableToShapeGroup(tableData, bounds) {
42562
43264
  if (!cell.hMerge) {
42563
43265
  const x = colStartX[colIndex] ?? bounds.x;
42564
43266
  const w = colEmuWidths.slice(colIndex, colIndex + span).reduce((s, v) => s + v, 0);
42565
- children5.push({
43267
+ children6.push({
42566
43268
  kind: "shape",
42567
43269
  spt: 1,
42568
43270
  isConnector: false,
@@ -42578,7 +43280,7 @@ function tableToShapeGroup(tableData, bounds) {
42578
43280
  colIndex += span;
42579
43281
  }
42580
43282
  });
42581
- return { kind: "group", anchor: bounds, children: children5 };
43283
+ return { kind: "group", anchor: bounds, children: children6 };
42582
43284
  }
42583
43285
 
42584
43286
  // pptx/core/utils/rendered-bullet-marker.ts
@@ -42810,7 +43512,7 @@ function convertGroup(element, ctx) {
42810
43512
  rotationDeg: element.rotation,
42811
43513
  flipH: element.flipHorizontal,
42812
43514
  flipV: element.flipVertical,
42813
- children: element.children.map((child14) => convertElement(withoutEmuGeometry(child14), ctx)),
43515
+ children: element.children.map((child16) => convertElement(withoutEmuGeometry(child16), ctx)),
42814
43516
  hyperlink: resolveHyperlink(element.actionClick, ctx.hyperlinkCtx)
42815
43517
  };
42816
43518
  }
@@ -43783,8 +44485,8 @@ function buildFontEntityAtom(name, index) {
43783
44485
  return record(RT.FontEntityAtom, data, index, false, 0);
43784
44486
  }
43785
44487
  function buildEnvironmentLeadingRecord() {
43786
- const child14 = record(4050, new Uint8Array([1, 0, 0, 0]), 3, false, 0);
43787
- return record(4040, child14, 2, true);
44488
+ const child16 = record(4050, new Uint8Array([1, 0, 0, 0]), 3, false, 0);
44489
+ return record(4040, child16, 2, true);
43788
44490
  }
43789
44491
  function buildEnvironmentTrailingRecords(otherTextStyle) {
43790
44492
  const unknown0fa4 = record(4004, new Uint8Array([128, 0, 64, 0, 0, 0, 0, 0]), 0, false, 0);
@@ -44894,8 +45596,8 @@ function buildAnyShapeContainer(shape, fonts, allocator, hyperlinks, oleEmbeds,
44894
45596
  }
44895
45597
  function buildGroupContainer(group, fonts, allocator, hyperlinks, oleEmbeds, mediaEmbeds, inGroup = false) {
44896
45598
  const data = new ByteWriter().bytes(buildNestedGroupPatriarch(group, allocator, hyperlinks, inGroup));
44897
- for (const child14 of group.children) {
44898
- data.bytes(buildAnyShapeContainer(child14, fonts, allocator, hyperlinks, oleEmbeds, mediaEmbeds, true));
45599
+ for (const child16 of group.children) {
45600
+ data.bytes(buildAnyShapeContainer(child16, fonts, allocator, hyperlinks, oleEmbeds, mediaEmbeds, true));
44899
45601
  }
44900
45602
  return record(OA.SpgrContainer, data.toBytes(), 0, true);
44901
45603
  }
@@ -45033,9 +45735,9 @@ function* iterateChildren(view, container) {
45033
45735
  yield* iterateRecords(view, container.dataOffset, container.dataOffset + container.recLen);
45034
45736
  }
45035
45737
  function findChild2(view, container, recType, recInstance) {
45036
- for (const child14 of iterateChildren(view, container)) {
45037
- if (child14.recType === recType && (recInstance === void 0 || child14.recInstance === recInstance)) {
45038
- return child14;
45738
+ for (const child16 of iterateChildren(view, container)) {
45739
+ if (child16.recType === recType && (recInstance === void 0 || child16.recInstance === recInstance)) {
45740
+ return child16;
45039
45741
  }
45040
45742
  }
45041
45743
  return void 0;
@@ -45048,12 +45750,12 @@ function findDescendant(view, container, recType, recInstance) {
45048
45750
  stack.pop();
45049
45751
  continue;
45050
45752
  }
45051
- const child14 = next.value;
45052
- if (child14.recType === recType && (recInstance === void 0)) {
45053
- return child14;
45753
+ const child16 = next.value;
45754
+ if (child16.recType === recType && (recInstance === void 0)) {
45755
+ return child16;
45054
45756
  }
45055
- if (isContainer(child14))
45056
- stack.push(iterateChildren(view, child14));
45757
+ if (isContainer(child16))
45758
+ stack.push(iterateChildren(view, child16));
45057
45759
  }
45058
45760
  return void 0;
45059
45761
  }
@@ -45097,9 +45799,9 @@ function parseColorSchemeAtom(view, rec) {
45097
45799
  return colors;
45098
45800
  }
45099
45801
  function findSchemeColors(view, container) {
45100
- for (const child14 of iterateChildren(view, container)) {
45101
- if (child14.recType === RT.ColorSchemeAtom && child14.recInstance === 1) {
45102
- return parseColorSchemeAtom(view, child14);
45802
+ for (const child16 of iterateChildren(view, container)) {
45803
+ if (child16.recType === RT.ColorSchemeAtom && child16.recInstance === 1) {
45804
+ return parseColorSchemeAtom(view, child16);
45103
45805
  }
45104
45806
  }
45105
45807
  return void 0;
@@ -45534,7 +46236,7 @@ function relativiseBody(body, styles) {
45534
46236
  }
45535
46237
  function relativiseShape(shape, styles) {
45536
46238
  if (shape.kind === "group") {
45537
- return { ...shape, children: shape.children.map((child14) => relativiseShape(child14, styles)) };
46239
+ return { ...shape, children: shape.children.map((child16) => relativiseShape(child16, styles)) };
45538
46240
  }
45539
46241
  if (shape.kind === "shape" && shape.text) {
45540
46242
  return { ...shape, text: relativiseBody(shape.text, styles) };
@@ -46560,7 +47262,7 @@ var NS_CX = "http://schemas.microsoft.com/office/drawing/2014/chartex";
46560
47262
  var NS_A = "http://schemas.openxmlformats.org/drawingml/2006/main";
46561
47263
  var NS_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships";
46562
47264
  var NS_C = "http://schemas.openxmlformats.org/drawingml/2006/chart";
46563
- function points(values) {
47265
+ function points2(values) {
46564
47266
  return values.map((value, index) => ({ "@_idx": String(index), "#text": String(value) }));
46565
47267
  }
46566
47268
  function indexedPoints(values, indices) {
@@ -46600,7 +47302,7 @@ function buildChartExData(chartData, series, id) {
46600
47302
  "@_type": "cat",
46601
47303
  "cx:lvl": categoryLevels.map((level) => ({
46602
47304
  "@_ptCount": String(level.length),
46603
- "cx:pt": chartData.chartType === "regionMap" && level === categoryLevels[0] ? indexedPoints(level, regionOptions?.categorySourceIndices) : points(level)
47305
+ "cx:pt": chartData.chartType === "regionMap" && level === categoryLevels[0] ? indexedPoints(level, regionOptions?.categorySourceIndices) : points2(level)
46604
47306
  }))
46605
47307
  }
46606
47308
  ];
@@ -46954,7 +47656,7 @@ var FLAGS = ["showHorzBorder", "showVertBorder", "showOutline", "showKeys"];
46954
47656
  function findKey6(node, name, localName15) {
46955
47657
  return Object.keys(node).find((key2) => localName15(key2) === name);
46956
47658
  }
46957
- function setOrdered2(node, name, value, order, localName15) {
47659
+ function setOrdered3(node, name, value, order, localName15) {
46958
47660
  const existingKey = findKey6(node, name, localName15);
46959
47661
  if (existingKey) {
46960
47662
  node[existingKey] = value;
@@ -46970,8 +47672,8 @@ function setOrdered2(node, name, value, order, localName15) {
46970
47672
  for (const key2 of Object.keys(node)) {
46971
47673
  delete node[key2];
46972
47674
  }
46973
- for (const [key2, child14] of entries) {
46974
- node[key2] = child14;
47675
+ for (const [key2, child16] of entries) {
47676
+ node[key2] = child16;
46975
47677
  }
46976
47678
  }
46977
47679
  function applyChartDataTable(plotArea, dataTable, localName15, resolveColor2) {
@@ -46991,7 +47693,7 @@ function applyChartDataTable(plotArea, dataTable, localName15, resolveColor2) {
46991
47693
  for (const flag of FLAGS) {
46992
47694
  const value = dataTable[flag];
46993
47695
  if (value !== void 0) {
46994
- setOrdered2(table, flag, { "@_val": value ? "1" : "0" }, TABLE_ORDER, localName15);
47696
+ setOrdered3(table, flag, { "@_val": value ? "1" : "0" }, TABLE_ORDER, localName15);
46995
47697
  }
46996
47698
  }
46997
47699
  if (dataTable.spPr) {
@@ -47002,7 +47704,7 @@ function applyChartDataTable(plotArea, dataTable, localName15, resolveColor2) {
47002
47704
  localName15,
47003
47705
  resolveColor2
47004
47706
  );
47005
- setOrdered2(table, "spPr", spPr, TABLE_ORDER, localName15);
47707
+ setOrdered3(table, "spPr", spPr, TABLE_ORDER, localName15);
47006
47708
  }
47007
47709
  if (dataTable.txPr) {
47008
47710
  const txPrKey = findKey6(table, "txPr", localName15);
@@ -47017,13 +47719,13 @@ function applyChartDataTable(plotArea, dataTable, localName15, resolveColor2) {
47017
47719
  });
47018
47720
  const txPr = buildDefRPrTextProperties(dataTable.txPr, authoredDefRPr, resolveColor2);
47019
47721
  if (txPr) {
47020
- setOrdered2(table, "txPr", txPr, TABLE_ORDER, localName15);
47722
+ setOrdered3(table, "txPr", txPr, TABLE_ORDER, localName15);
47021
47723
  }
47022
47724
  }
47023
47725
  if (tableKey) {
47024
47726
  plotArea[tableKey] = table;
47025
47727
  } else {
47026
- setOrdered2(plotArea, "dTable", table, PLOT_AREA_ORDER, localName15);
47728
+ setOrdered3(plotArea, "dTable", table, PLOT_AREA_ORDER, localName15);
47027
47729
  }
47028
47730
  }
47029
47731
 
@@ -47135,19 +47837,19 @@ function firstNode(value) {
47135
47837
  const item = Array.isArray(value) ? value[0] : value;
47136
47838
  return item && typeof item === "object" ? item : void 0;
47137
47839
  }
47138
- function child9(parent, local, getLocalName2) {
47840
+ function child11(parent, local, getLocalName2) {
47139
47841
  const key2 = findKey(parent, local, getLocalName2);
47140
47842
  return key2 ? firstNode(parent[key2]) : void 0;
47141
47843
  }
47142
47844
  function labelRunProperties(paragraph, getLocalName2) {
47143
47845
  for (const local of ["r", "fld"]) {
47144
- const runNode = child9(paragraph, local, getLocalName2);
47145
- const rPr = runNode ? child9(runNode, "rPr", getLocalName2) : void 0;
47846
+ const runNode = child11(paragraph, local, getLocalName2);
47847
+ const rPr = runNode ? child11(runNode, "rPr", getLocalName2) : void 0;
47146
47848
  if (rPr) {
47147
47849
  return rPr;
47148
47850
  }
47149
47851
  }
47150
- return child9(paragraph, "endParaRPr", getLocalName2);
47852
+ return child11(paragraph, "endParaRPr", getLocalName2);
47151
47853
  }
47152
47854
  function buildDataLabelTx(existingTx, text, getLocalName2) {
47153
47855
  const richKey = existingTx ? findKey(existingTx, "rich", getLocalName2) : void 0;
@@ -47164,9 +47866,9 @@ function buildDataLabelTx(existingTx, text, getLocalName2) {
47164
47866
  }
47165
47867
  const pKey = findKey(rich, "p", getLocalName2) ?? "a:p";
47166
47868
  const paragraph = firstNode(rich[pKey]) ?? {};
47167
- const pPr = child9(paragraph, "pPr", getLocalName2);
47869
+ const pPr = child11(paragraph, "pPr", getLocalName2);
47168
47870
  const rPr = labelRunProperties(paragraph, getLocalName2);
47169
- const endParaRPr = child9(paragraph, "endParaRPr", getLocalName2);
47871
+ const endParaRPr = child11(paragraph, "endParaRPr", getLocalName2);
47170
47872
  const run = rPr ? { "a:rPr": rPr, "a:t": text } : { "a:t": text };
47171
47873
  const newParagraph = {};
47172
47874
  if (pPr) {
@@ -47774,13 +48476,13 @@ function applyChartGroupOptionsToXml(container, containerLocal, chartData, getLo
47774
48476
  }
47775
48477
 
47776
48478
  // pptx/core/utils/chart-area-format.ts
47777
- var FILL_CHOICE = /* @__PURE__ */ new Set(["noFill", "solidFill", "gradFill", "blipFill", "pattFill", "grpFill"]);
48479
+ var FILL_CHOICE2 = /* @__PURE__ */ new Set(["noFill", "solidFill", "gradFill", "blipFill", "pattFill", "grpFill"]);
47778
48480
  var AFTER_LN = /* @__PURE__ */ new Set(["effectLst", "effectDag", "scene3d", "sp3d", "extLst"]);
47779
- var LN_FILL_CHOICE = /* @__PURE__ */ new Set(["noFill", "solidFill", "gradFill", "pattFill"]);
48481
+ var LN_FILL_CHOICE2 = /* @__PURE__ */ new Set(["noFill", "solidFill", "gradFill", "pattFill"]);
47780
48482
  function findKey11(obj, local, getLocalName2) {
47781
48483
  return Object.keys(obj).find((key2) => getLocalName2(key2) === local);
47782
48484
  }
47783
- function asObject(value) {
48485
+ function asObject2(value) {
47784
48486
  return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
47785
48487
  }
47786
48488
  function parsePaint(node, getLocalName2, resolveColor2) {
@@ -47790,11 +48492,11 @@ function parsePaint(node, getLocalName2, resolveColor2) {
47790
48492
  if (findKey11(node, "noFill", getLocalName2) !== void 0) {
47791
48493
  return "none";
47792
48494
  }
47793
- const solid = asObject(node[findKey11(node, "solidFill", getLocalName2) ?? ""]);
48495
+ const solid = asObject2(node[findKey11(node, "solidFill", getLocalName2) ?? ""]);
47794
48496
  return solid ? resolveColor2(solid) : void 0;
47795
48497
  }
47796
48498
  function parseChartAreaFormat(owner, getLocalName2, resolveColor2, parseGradient) {
47797
- const spPr = owner ? asObject(owner[findKey11(owner, "spPr", getLocalName2) ?? ""]) : void 0;
48499
+ const spPr = owner ? asObject2(owner[findKey11(owner, "spPr", getLocalName2) ?? ""]) : void 0;
47798
48500
  if (!spPr) {
47799
48501
  return {};
47800
48502
  }
@@ -47807,15 +48509,15 @@ function parseChartAreaFormat(owner, getLocalName2, resolveColor2, parseGradient
47807
48509
  if (gradient) {
47808
48510
  format.gradient = gradient;
47809
48511
  }
47810
- const ln = asObject(spPr[findKey11(spPr, "ln", getLocalName2) ?? ""]);
48512
+ const ln = asObject2(spPr[findKey11(spPr, "ln", getLocalName2) ?? ""]);
47811
48513
  const border = parsePaint(ln, getLocalName2, resolveColor2);
47812
48514
  if (border !== void 0) {
47813
48515
  format.border = border;
47814
48516
  }
47815
48517
  return format;
47816
48518
  }
47817
- function paintXml(paint) {
47818
- return paint === "none" ? { "a:noFill": {} } : { "a:solidFill": { "a:srgbClr": { "@_val": chartColorHex(paint) } } };
48519
+ function paintXml(paint2) {
48520
+ return paint2 === "none" ? { "a:noFill": {} } : { "a:solidFill": { "a:srgbClr": { "@_val": chartColorHex(paint2) } } };
47819
48521
  }
47820
48522
  function buildChartAreaSpPr(format) {
47821
48523
  const spPr = {};
@@ -47856,15 +48558,15 @@ function setPaint(node, entry2, choices, after, getLocalName2) {
47856
48558
  node[key2] = value;
47857
48559
  }
47858
48560
  }
47859
- function paintEntry(paint, authored, getLocalName2, resolveColor2) {
47860
- if (paint === void 0) {
48561
+ function paintEntry(paint2, authored, getLocalName2, resolveColor2) {
48562
+ if (paint2 === void 0) {
47861
48563
  return void 0;
47862
48564
  }
47863
- if (paint === "none") {
48565
+ if (paint2 === "none") {
47864
48566
  return ["a:noFill", {}];
47865
48567
  }
47866
- const solid = asObject(authored[findKey11(authored, "solidFill", getLocalName2) ?? ""]);
47867
- return ["a:solidFill", chartColorChoiceValue(solid, paint, resolveColor2)];
48568
+ const solid = asObject2(authored[findKey11(authored, "solidFill", getLocalName2) ?? ""]);
48569
+ return ["a:solidFill", chartColorChoiceValue(solid, paint2, resolveColor2)];
47868
48570
  }
47869
48571
  function applyChartAreaFormatToXml(owner, format, getLocalName2, options) {
47870
48572
  const authored = parseChartAreaFormat(
@@ -47878,7 +48580,7 @@ function applyChartAreaFormatToXml(owner, format, getLocalName2, options) {
47878
48580
  if (!fillChanged && !borderChanged) {
47879
48581
  return false;
47880
48582
  }
47881
- let spPr = asObject(owner[findKey11(owner, "spPr", getLocalName2) ?? ""]);
48583
+ let spPr = asObject2(owner[findKey11(owner, "spPr", getLocalName2) ?? ""]);
47882
48584
  if (!spPr) {
47883
48585
  spPr = {};
47884
48586
  options.insertSpPr(owner, spPr);
@@ -47888,17 +48590,17 @@ function applyChartAreaFormatToXml(owner, format, getLocalName2, options) {
47888
48590
  applyChartGradientToSpPr(spPr, format.gradient, getLocalName2, options);
47889
48591
  } else {
47890
48592
  const entry2 = paintEntry(format.fill, spPr, getLocalName2, options.resolveColor);
47891
- setPaint(spPr, entry2, FILL_CHOICE, /* @__PURE__ */ new Set(["ln", ...AFTER_LN]), getLocalName2);
48593
+ setPaint(spPr, entry2, FILL_CHOICE2, /* @__PURE__ */ new Set(["ln", ...AFTER_LN]), getLocalName2);
47892
48594
  }
47893
48595
  }
47894
48596
  if (borderChanged) {
47895
48597
  const lnKey = findKey11(spPr, "ln", getLocalName2);
47896
- const ln = asObject(lnKey ? spPr[lnKey] : void 0) ?? {};
48598
+ const ln = asObject2(lnKey ? spPr[lnKey] : void 0) ?? {};
47897
48599
  const entry2 = paintEntry(format.border, ln, getLocalName2, options.resolveColor);
47898
48600
  setPaint(
47899
48601
  ln,
47900
48602
  entry2,
47901
- LN_FILL_CHOICE,
48603
+ LN_FILL_CHOICE2,
47902
48604
  /* @__PURE__ */ new Set(["prstDash", "custDash", "round", "bevel", "miter", "headEnd", "tailEnd", "extLst"]),
47903
48605
  getLocalName2
47904
48606
  );
@@ -47953,8 +48655,8 @@ function insertBefore(node, key2, value, after, getLocalName2) {
47953
48655
  for (const candidate of Object.keys(node)) {
47954
48656
  delete node[candidate];
47955
48657
  }
47956
- for (const [candidate, child14] of entries) {
47957
- node[candidate] = child14;
48658
+ for (const [candidate, child16] of entries) {
48659
+ node[candidate] = child16;
47958
48660
  }
47959
48661
  }
47960
48662
  function chartAreaFormatOf(chartData) {
@@ -48253,7 +48955,7 @@ var CAT_AX_ID = 111111111;
48253
48955
  var VAL_AX_ID = 222222222;
48254
48956
  var SER_AX_ID = 333333333;
48255
48957
  var SCATTER_LIKE = /* @__PURE__ */ new Set(["scatter", "bubble"]);
48256
- function points2(values) {
48958
+ function points3(values) {
48257
48959
  return values.map((v, i) => ({ "@_idx": String(i), "c:v": v }));
48258
48960
  }
48259
48961
  function numLit2(values, formatCode2 = "General") {
@@ -48261,7 +48963,7 @@ function numLit2(values, formatCode2 = "General") {
48261
48963
  "c:numLit": {
48262
48964
  "c:formatCode": formatCode2,
48263
48965
  "c:ptCount": { "@_val": String(values.length) },
48264
- "c:pt": points2(values.map(String))
48966
+ "c:pt": points3(values.map(String))
48265
48967
  }
48266
48968
  };
48267
48969
  }
@@ -48269,7 +48971,7 @@ function strLit(values) {
48269
48971
  return {
48270
48972
  "c:strLit": {
48271
48973
  "c:ptCount": { "@_val": String(values.length) },
48272
- "c:pt": points2(values)
48974
+ "c:pt": points3(values)
48273
48975
  }
48274
48976
  };
48275
48977
  }
@@ -49395,7 +50097,7 @@ function applyChartAxisTitleStyleToXml(axisNode, style, getLocalName2, resolveCo
49395
50097
  }
49396
50098
 
49397
50099
  // pptx/core/utils/chart-color-map-override.ts
49398
- function keyOf7(node, name, localName15) {
50100
+ function keyOf9(node, name, localName15) {
49399
50101
  return Object.keys(node).find((key2) => localName15(key2) === name);
49400
50102
  }
49401
50103
  function prefixOf6(key2) {
@@ -49409,7 +50111,7 @@ function applyChartColorMapOverride(chartSpace, value, localName15) {
49409
50111
  if (value === void 0) {
49410
50112
  return;
49411
50113
  }
49412
- const existingKey = keyOf7(chartSpace, "clrMapOvr", localName15);
50114
+ const existingKey = keyOf9(chartSpace, "clrMapOvr", localName15);
49413
50115
  if (value === null || Object.keys(value).length === 0) {
49414
50116
  if (existingKey) {
49415
50117
  delete chartSpace[existingKey];
@@ -49424,19 +50126,19 @@ function applyChartColorMapOverride(chartSpace, value, localName15) {
49424
50126
  chartSpace[existingKey] = node;
49425
50127
  return;
49426
50128
  }
49427
- const chartKey = keyOf7(chartSpace, "chart", localName15);
50129
+ const chartKey = keyOf9(chartSpace, "chart", localName15);
49428
50130
  const prefix = prefixOf6(chartKey);
49429
50131
  const entries = Object.entries(chartSpace);
49430
50132
  for (const key2 of Object.keys(chartSpace)) {
49431
50133
  delete chartSpace[key2];
49432
50134
  }
49433
50135
  let inserted = false;
49434
- for (const [key2, child14] of entries) {
50136
+ for (const [key2, child16] of entries) {
49435
50137
  if (!inserted && localName15(key2) === "chart") {
49436
50138
  chartSpace[`${prefix}:clrMapOvr`] = node;
49437
50139
  inserted = true;
49438
50140
  }
49439
- chartSpace[key2] = child14;
50141
+ chartSpace[key2] = child16;
49440
50142
  }
49441
50143
  if (!inserted) {
49442
50144
  chartSpace[`${prefix}:clrMapOvr`] = node;
@@ -49576,7 +50278,7 @@ function applyGroupAxisReferences(container, series, axes, getLocalName2) {
49576
50278
  function findKey15(obj, local, getLocalName2) {
49577
50279
  return Object.keys(obj).find((k) => getLocalName2(k) === local);
49578
50280
  }
49579
- function points3(values) {
50281
+ function points4(values) {
49580
50282
  return values.map((v, i) => ({ "@_idx": String(i), "c:v": v }));
49581
50283
  }
49582
50284
  function wrapperLocalName(containerLocalName) {
@@ -49594,7 +50296,7 @@ function buildFilteredSerNode(entry2, categories) {
49594
50296
  }
49595
50297
  if (cats.length > 0) {
49596
50298
  node["c:cat"] = {
49597
- "c:strLit": { "c:ptCount": { "@_val": String(cats.length) }, "c:pt": points3(cats) }
50299
+ "c:strLit": { "c:ptCount": { "@_val": String(cats.length) }, "c:pt": points4(cats) }
49598
50300
  };
49599
50301
  }
49600
50302
  if (entry2.values) {
@@ -49602,7 +50304,7 @@ function buildFilteredSerNode(entry2, categories) {
49602
50304
  "c:numLit": {
49603
50305
  "c:formatCode": "General",
49604
50306
  "c:ptCount": { "@_val": String(entry2.values.length) },
49605
- "c:pt": points3(entry2.values.map(String))
50307
+ "c:pt": points4(entry2.values.map(String))
49606
50308
  }
49607
50309
  };
49608
50310
  }
@@ -49665,7 +50367,33 @@ function applyFilteredSeriesToXml(container, filteredSeries, categories, contain
49665
50367
  }
49666
50368
 
49667
50369
  // pptx/core/utils/chart-legend-serializer.ts
49668
- function child10(node, name, getLocalName2) {
50370
+ function applyLegendOverlay(legendNode, overlay, getLocalName2) {
50371
+ if (overlay === void 0) {
50372
+ return;
50373
+ }
50374
+ const key2 = Object.keys(legendNode).find((k) => getLocalName2(k) === "overlay");
50375
+ const node = key2 ? legendNode[key2] : void 0;
50376
+ const val = node && typeof node === "object" ? node["@_val"] : void 0;
50377
+ const authored = key2 ? !(val === "0" || val === "false") : true;
50378
+ if (authored === overlay) {
50379
+ return;
50380
+ }
50381
+ const value = { "@_val": overlay ? "1" : "0" };
50382
+ if (key2) {
50383
+ legendNode[key2] = value;
50384
+ return;
50385
+ }
50386
+ const entries = Object.entries(legendNode);
50387
+ const at = entries.findIndex(([k]) => ["spPr", "txPr", "extLst"].includes(getLocalName2(k)));
50388
+ entries.splice(at < 0 ? entries.length : at, 0, ["c:overlay", value]);
50389
+ for (const k of Object.keys(legendNode)) {
50390
+ delete legendNode[k];
50391
+ }
50392
+ for (const [k, v] of entries) {
50393
+ legendNode[k] = v;
50394
+ }
50395
+ }
50396
+ function child12(node, name, getLocalName2) {
49669
50397
  if (!node) {
49670
50398
  return void 0;
49671
50399
  }
@@ -49678,20 +50406,20 @@ function parseChartLegendEntries(legend, getLocalName2, parseColor, resolveTypef
49678
50406
  const nodes = raw ? Array.isArray(raw) ? raw : [raw] : [];
49679
50407
  return nodes.flatMap((value) => {
49680
50408
  const node = value;
49681
- const index = Number.parseInt(String(child10(node, "idx", getLocalName2)?.["@_val"] ?? ""), 10);
50409
+ const index = Number.parseInt(String(child12(node, "idx", getLocalName2)?.["@_val"] ?? ""), 10);
49682
50410
  if (!Number.isFinite(index) || index < 0) {
49683
50411
  return [];
49684
50412
  }
49685
50413
  const entry2 = { index };
49686
- const deleteNode = child10(node, "delete", getLocalName2);
50414
+ const deleteNode = child12(node, "delete", getLocalName2);
49687
50415
  if (deleteNode) {
49688
50416
  const val = deleteNode["@_val"];
49689
50417
  entry2.deleted = val !== "0" && val !== "false";
49690
50418
  }
49691
50419
  const xmlLookup = {
49692
- getChildByLocalName: (parent, name) => child10(parent, name, getLocalName2)
50420
+ getChildByLocalName: (parent, name) => child12(parent, name, getLocalName2)
49693
50421
  };
49694
- const defRPr = resolveTxPrDefRPr(child10(node, "txPr", getLocalName2), xmlLookup);
50422
+ const defRPr = resolveTxPrDefRPr(child12(node, "txPr", getLocalName2), xmlLookup);
49695
50423
  const style = parseDefRPrTextStyle(defRPr, xmlLookup, { parseColor }, resolveTypeface);
49696
50424
  if (style) {
49697
50425
  entry2.textStyle = style;
@@ -49716,9 +50444,9 @@ function setEntryChoice(node, key2, value, getLocalName2) {
49716
50444
  }
49717
50445
  function authoredEntryDefRPr(node, txPrKey, getLocalName2) {
49718
50446
  const txPr = txPrKey ? node[txPrKey] : void 0;
49719
- const paragraph = txPr ? child10(txPr, "p", getLocalName2) : void 0;
49720
- const pPr = paragraph ? child10(paragraph, "pPr", getLocalName2) : void 0;
49721
- return pPr ? child10(pPr, "defRPr", getLocalName2) : void 0;
50447
+ const paragraph = txPr ? child12(txPr, "p", getLocalName2) : void 0;
50448
+ const pPr = paragraph ? child12(paragraph, "pPr", getLocalName2) : void 0;
50449
+ return pPr ? child12(pPr, "defRPr", getLocalName2) : void 0;
49722
50450
  }
49723
50451
  function applyLegendEntries(legend, entries, getLocalName2, resolveColor2) {
49724
50452
  if (!entries) {
@@ -49728,7 +50456,7 @@ function applyLegendEntries(legend, entries, getLocalName2, resolveColor2) {
49728
50456
  const raw = key2 ? legend[key2] : void 0;
49729
50457
  const existing = raw ? Array.isArray(raw) ? raw : [raw] : [];
49730
50458
  const byIndex = new Map(
49731
- existing.map((node) => [Number(child10(node, "idx", getLocalName2)?.["@_val"]), node])
50459
+ existing.map((node) => [Number(child12(node, "idx", getLocalName2)?.["@_val"]), node])
49732
50460
  );
49733
50461
  const updated = [...existing];
49734
50462
  for (const entry2 of entries) {
@@ -49768,13 +50496,13 @@ function applyLegendEntries(legend, entries, getLocalName2, resolveColor2) {
49768
50496
  legend[key2] = updated;
49769
50497
  return;
49770
50498
  }
49771
- const children5 = Object.entries(legend);
49772
- const position2 = children5.findIndex(([candidate]) => getLocalName2(candidate) !== "legendPos");
49773
- children5.splice(position2 < 0 ? children5.length : position2, 0, ["c:legendEntry", updated]);
50499
+ const children6 = Object.entries(legend);
50500
+ const position2 = children6.findIndex(([candidate]) => getLocalName2(candidate) !== "legendPos");
50501
+ children6.splice(position2 < 0 ? children6.length : position2, 0, ["c:legendEntry", updated]);
49774
50502
  for (const candidate of Object.keys(legend)) {
49775
50503
  delete legend[candidate];
49776
50504
  }
49777
- for (const [candidate, value] of children5) {
50505
+ for (const [candidate, value] of children6) {
49778
50506
  legend[candidate] = value;
49779
50507
  }
49780
50508
  }
@@ -49809,7 +50537,7 @@ function applyChartLegendToXml(chartRoot, style, getLocalName2, resolveColor2) {
49809
50537
  "c:legend",
49810
50538
  {
49811
50539
  "c:legendPos": { "@_val": style.legendPosition ?? "r" },
49812
- "c:overlay": { "@_val": "0" }
50540
+ "c:overlay": { "@_val": style.legendOverlay ? "1" : "0" }
49813
50541
  },
49814
50542
  "plotArea",
49815
50543
  getLocalName2
@@ -49833,6 +50561,7 @@ function applyChartLegendToXml(chartRoot, style, getLocalName2, resolveColor2) {
49833
50561
  );
49834
50562
  }
49835
50563
  }
50564
+ applyLegendOverlay(legendNode, style.legendOverlay, getLocalName2);
49836
50565
  applyLegendEntries(legendNode, style.legendEntries, getLocalName2, resolveColor2);
49837
50566
  }
49838
50567
 
@@ -49856,7 +50585,7 @@ var CONTAINER_ORDER = [
49856
50585
  function findKey16(node, name, localName15) {
49857
50586
  return Object.keys(node).find((key2) => localName15(key2) === name);
49858
50587
  }
49859
- function setOrdered3(node, name, value, localName15) {
50588
+ function setOrdered4(node, name, value, localName15) {
49860
50589
  const key2 = findKey16(node, name, localName15);
49861
50590
  if (key2) {
49862
50591
  node[key2] = value;
@@ -49874,8 +50603,8 @@ function setOrdered3(node, name, value, localName15) {
49874
50603
  for (const candidate of Object.keys(node)) {
49875
50604
  delete node[candidate];
49876
50605
  }
49877
- for (const [candidate, child14] of entries) {
49878
- node[candidate] = child14;
50606
+ for (const [candidate, child16] of entries) {
50607
+ node[candidate] = child16;
49879
50608
  }
49880
50609
  }
49881
50610
  function applyChartLineStyle(chartContainer, elementName, style, localName15, resolveColor2) {
@@ -49901,7 +50630,7 @@ function applyChartLineStyle(chartContainer, elementName, style, localName15, re
49901
50630
  resolveColor2
49902
50631
  );
49903
50632
  }
49904
- setOrdered3(chartContainer, elementName, node, localName15);
50633
+ setOrdered4(chartContainer, elementName, node, localName15);
49905
50634
  }
49906
50635
 
49907
50636
  // pptx/core/utils/chart-series-color-serializer.ts
@@ -50514,7 +51243,7 @@ function replaceChartExDataDimensions(target, fresh, getLocalName2) {
50514
51243
  function findKey21(node, localName15, getLocalName2) {
50515
51244
  return Object.keys(node).find((key2) => getLocalName2(key2) === localName15);
50516
51245
  }
50517
- function child11(node, localName15, getLocalName2) {
51246
+ function child13(node, localName15, getLocalName2) {
50518
51247
  if (!node) {
50519
51248
  return void 0;
50520
51249
  }
@@ -50556,8 +51285,8 @@ var AFTER_TX = [
50556
51285
  "extLst"
50557
51286
  ];
50558
51287
  function applySeriesName(node, name, getLocalName2) {
50559
- const tx = child11(node, "tx", getLocalName2);
50560
- const txData = child11(tx, "txData", getLocalName2);
51288
+ const tx = child13(node, "tx", getLocalName2);
51289
+ const txData = child13(tx, "txData", getLocalName2);
50561
51290
  if (tx && txData) {
50562
51291
  const vKey = findKey21(txData, "v", getLocalName2) ?? "cx:v";
50563
51292
  txData[vKey] = name;
@@ -50572,8 +51301,8 @@ function applySeriesName(node, name, getLocalName2) {
50572
51301
  var FILL_KINDS = ["noFill", "solidFill", "gradFill", "blipFill", "pattFill", "grpFill"];
50573
51302
  var AFTER_FILL = ["ln", "effectLst", "effectDag", "scene3d", "sp3d", "extLst"];
50574
51303
  function currentSeriesColor(node, getLocalName2) {
50575
- const srgb = child11(
50576
- child11(child11(node, "spPr", getLocalName2), "solidFill", getLocalName2),
51304
+ const srgb = child13(
51305
+ child13(child13(node, "spPr", getLocalName2), "solidFill", getLocalName2),
50577
51306
  "srgbClr",
50578
51307
  getLocalName2
50579
51308
  );
@@ -50589,7 +51318,7 @@ function applySeriesColor(node, series, getLocalName2) {
50589
51318
  if (wanted === currentSeriesColor(node, getLocalName2)) {
50590
51319
  return;
50591
51320
  }
50592
- const spPr = child11(node, "spPr", getLocalName2);
51321
+ const spPr = child13(node, "spPr", getLocalName2);
50593
51322
  if (!spPr) {
50594
51323
  insertBefore3(node, "cx:spPr", fill, AFTER_TX.slice(1), getLocalName2);
50595
51324
  return;
@@ -50633,7 +51362,7 @@ function nextDataId(dataNodes) {
50633
51362
  return max + 1;
50634
51363
  }
50635
51364
  function bindSeriesData(node, dataNodes, chartData, series, getLocalName2) {
50636
- const dataIdNode = child11(node, "dataId", getLocalName2);
51365
+ const dataIdNode = child13(node, "dataId", getLocalName2);
50637
51366
  const dataId = dataIdNode ? String(dataIdNode["@_val"] ?? "") : void 0;
50638
51367
  const referenced = dataId !== void 0 ? dataNodes.find((data) => String(data["@_id"]) === dataId) : void 0;
50639
51368
  if (referenced) {
@@ -50698,8 +51427,8 @@ function applyLegend(chartRoot, chartData, getLocalName2) {
50698
51427
  insertBefore3(chartRoot, "cx:legend", legend, ["extLst"], getLocalName2);
50699
51428
  }
50700
51429
  function chartExLayoutChanged(chartSpace, chartData, getLocalName2) {
50701
- const region = child11(
50702
- child11(child11(chartSpace, "chart", getLocalName2), "plotArea", getLocalName2),
51430
+ const region = child13(
51431
+ child13(child13(chartSpace, "chart", getLocalName2), "plotArea", getLocalName2),
50703
51432
  "plotAreaRegion",
50704
51433
  getLocalName2
50705
51434
  );
@@ -50713,9 +51442,9 @@ function chartExLayoutChanged(chartSpace, chartData, getLocalName2) {
50713
51442
  return chartExLayoutId(chartData, series).toLowerCase() !== existing;
50714
51443
  }
50715
51444
  function applyChartExUpdate(chartSpace, chartData, getLocalName2) {
50716
- const chartRoot = child11(chartSpace, "chart", getLocalName2);
50717
- const plotArea = child11(chartRoot, "plotArea", getLocalName2);
50718
- const region = child11(plotArea, "plotAreaRegion", getLocalName2);
51445
+ const chartRoot = child13(chartSpace, "chart", getLocalName2);
51446
+ const plotArea = child13(chartRoot, "plotArea", getLocalName2);
51447
+ const region = child13(plotArea, "plotAreaRegion", getLocalName2);
50719
51448
  if (!chartRoot || !region) {
50720
51449
  return false;
50721
51450
  }
@@ -50742,7 +51471,7 @@ function applyChartExUpdate(chartSpace, chartData, getLocalName2) {
50742
51471
  bindSeriesData(node, dataNodes, chartData, series, getLocalName2);
50743
51472
  updated.push(node);
50744
51473
  });
50745
- const referencedId = (node) => String(child11(node, "dataId", getLocalName2)?.["@_val"]);
51474
+ const referencedId = (node) => String(child13(node, "dataId", getLocalName2)?.["@_val"]);
50746
51475
  const liveIds = new Set(updated.map(referencedId));
50747
51476
  const removedIds = new Set(existing.slice(chartData.series.length).map(referencedId));
50748
51477
  const survivingData = dataNodes.filter((data) => {
@@ -51224,8 +51953,8 @@ function buildOffExt(off, ext) {
51224
51953
  "a:ext": { "@_cx": String(Math.round(ext.cx)), "@_cy": String(Math.round(ext.cy)) }
51225
51954
  };
51226
51955
  }
51227
- function buildChildXfrm(child14) {
51228
- return buildOffExt(child14.off, child14.ext);
51956
+ function buildChildXfrm(child16) {
51957
+ return buildOffExt(child16.off, child16.ext);
51229
51958
  }
51230
51959
  function buildGroupTransformXfrm(transform2) {
51231
51960
  const xfrm = {
@@ -51250,29 +51979,29 @@ function buildGroupTransformXfrm(transform2) {
51250
51979
  }
51251
51980
  return xfrm;
51252
51981
  }
51253
- function buildGroupChildNode(child14, id, idState) {
51254
- if (child14.kind === "grpSp") {
51255
- if (child14.rawXml) {
51256
- return { key: "grpSp", node: cloneXmlObject(child14.rawXml) ?? {} };
51982
+ function buildGroupChildNode(child16, id, idState) {
51983
+ if (child16.kind === "grpSp") {
51984
+ if (child16.rawXml) {
51985
+ return { key: "grpSp", node: cloneXmlObject(child16.rawXml) ?? {} };
51257
51986
  }
51258
- return { key: "grpSp", node: buildGroupNode(child14, id, idState) };
51987
+ return { key: "grpSp", node: buildGroupNode(child16, id, idState) };
51259
51988
  }
51260
- const rawShapeKey = (child14.kind === "pic" || child14.kind === "graphicFrame") && child14.rawXml ? child14.kind : void 0;
51989
+ const rawShapeKey = (child16.kind === "pic" || child16.kind === "graphicFrame") && child16.rawXml ? child16.kind : void 0;
51261
51990
  if (rawShapeKey) {
51262
- const rawNode = cloneXmlObject(child14.rawXml) ?? {};
51263
- applyChildXfrmToRawNode(rawNode, child14.off, child14.ext);
51264
- applyRotationFlipToRawNode(rawNode, child14.rotation, child14.flipH, child14.flipV);
51991
+ const rawNode = cloneXmlObject(child16.rawXml) ?? {};
51992
+ applyChildXfrmToRawNode(rawNode, child16.off, child16.ext);
51993
+ applyRotationFlipToRawNode(rawNode, child16.rotation, child16.flipH, child16.flipV);
51265
51994
  if (rawShapeKey === "pic") {
51266
- applyPicAltText(rawNode, child14.altText);
51995
+ applyPicAltText(rawNode, child16.altText);
51267
51996
  }
51268
51997
  return { key: rawShapeKey, node: rawNode };
51269
51998
  }
51270
- if (child14.kind === "cxnSp") {
51271
- return { key: "cxnSp", node: buildCxnSpNode(child14, id, buildChildXfrm(child14)) };
51999
+ if (child16.kind === "cxnSp") {
52000
+ return { key: "cxnSp", node: buildCxnSpNode(child16, id, buildChildXfrm(child16)) };
51272
52001
  }
51273
- return { key: "sp", node: buildSpNode(child14, id, buildChildXfrm(child14)) };
52002
+ return { key: "sp", node: buildSpNode(child16, id, buildChildXfrm(child16)) };
51274
52003
  }
51275
- function appendGroupChildren(node, children5, idState) {
52004
+ function appendGroupChildren(node, children6, idState) {
51276
52005
  const buckets = {
51277
52006
  sp: [],
51278
52007
  cxnSp: [],
@@ -51280,9 +52009,9 @@ function appendGroupChildren(node, children5, idState) {
51280
52009
  grpSp: [],
51281
52010
  graphicFrame: []
51282
52011
  };
51283
- for (const child14 of children5) {
52012
+ for (const child16 of children6) {
51284
52013
  const id = idState.next++;
51285
- const { key: key2, node: childNode } = buildGroupChildNode(child14, id, idState);
52014
+ const { key: key2, node: childNode } = buildGroupChildNode(child16, id, idState);
51286
52015
  buckets[key2].push(childNode);
51287
52016
  }
51288
52017
  for (const key2 of ["sp", "cxnSp", "pic", "grpSp", "graphicFrame"]) {
@@ -51818,14 +52547,14 @@ function a14ArtisticElementName(effect) {
51818
52547
  }
51819
52548
  return GALLERY_TO_A14[trimmed2];
51820
52549
  }
51821
- var round = (value) => String(Math.round(value));
52550
+ var round2 = (value) => String(Math.round(value));
51822
52551
  function buildArtisticNode(effects, elementName) {
51823
52552
  const node = {};
51824
52553
  const params = effects.artisticParams;
51825
52554
  if (params && Object.keys(params).length > 0) {
51826
52555
  for (const [name, value] of Object.entries(params)) {
51827
52556
  if (Number.isFinite(value)) {
51828
- node[`@_${name}`] = round(value);
52557
+ node[`@_${name}`] = round2(value);
51829
52558
  }
51830
52559
  }
51831
52560
  return node;
@@ -51833,16 +52562,16 @@ function buildArtisticNode(effects, elementName) {
51833
52562
  const radius = effects.artisticRadius;
51834
52563
  const primary = ARTISTIC_PRIMARY_ATTRIBUTE[elementName];
51835
52564
  if (primary !== void 0 && typeof radius === "number" && Number.isFinite(radius)) {
51836
- node[`@_${primary}`] = primary === "radius" ? round(radius) : round(radius * 1e3);
52565
+ node[`@_${primary}`] = primary === "radius" ? round2(radius) : round2(radius * 1e3);
51837
52566
  }
51838
52567
  return node;
51839
52568
  }
51840
52569
  function buildMarks(marks) {
51841
52570
  return (marks ?? []).map((mark) => ({
51842
- "@_x1": round(mark.x1 * 1e5),
51843
- "@_y1": round(mark.y1 * 1e5),
51844
- "@_x2": round(mark.x2 * 1e5),
51845
- "@_y2": round(mark.y2 * 1e5)
52571
+ "@_x1": round2(mark.x1 * 1e5),
52572
+ "@_y1": round2(mark.y1 * 1e5),
52573
+ "@_x2": round2(mark.x2 * 1e5),
52574
+ "@_y2": round2(mark.y2 * 1e5)
51846
52575
  }));
51847
52576
  }
51848
52577
  function buildBackgroundRemovalNode(removal) {
@@ -51850,10 +52579,10 @@ function buildBackgroundRemovalNode(removal) {
51850
52579
  return removal.rawXml;
51851
52580
  }
51852
52581
  const node = {
51853
- "@_t": round(removal.top * 1e5),
51854
- "@_b": round(removal.bottom * 1e5),
51855
- "@_l": round(removal.left * 1e5),
51856
- "@_r": round(removal.right * 1e5)
52582
+ "@_t": round2(removal.top * 1e5),
52583
+ "@_b": round2(removal.bottom * 1e5),
52584
+ "@_l": round2(removal.left * 1e5),
52585
+ "@_r": round2(removal.right * 1e5)
51857
52586
  };
51858
52587
  const foreground = buildMarks(removal.foregroundMarks);
51859
52588
  if (foreground.length > 0) {
@@ -51872,26 +52601,26 @@ function buildImgEffects(effects) {
51872
52601
  out.push({ "a14:backgroundRemoval": buildBackgroundRemovalNode(effects.backgroundRemoval) });
51873
52602
  }
51874
52603
  if (finite2(effects.sharpenSoften?.amount)) {
51875
- out.push({ "a14:sharpenSoften": { "@_amount": round(effects.sharpenSoften.amount) } });
52604
+ out.push({ "a14:sharpenSoften": { "@_amount": round2(effects.sharpenSoften.amount) } });
51876
52605
  }
51877
52606
  const bc = effects.brightnessContrast;
51878
52607
  if (bc && (finite2(bc.bright) || finite2(bc.contrast))) {
51879
52608
  const node = {};
51880
52609
  if (finite2(bc.bright)) {
51881
- node["@_bright"] = round(bc.bright);
52610
+ node["@_bright"] = round2(bc.bright);
51882
52611
  }
51883
52612
  if (finite2(bc.contrast)) {
51884
- node["@_contrast"] = round(bc.contrast);
52613
+ node["@_contrast"] = round2(bc.contrast);
51885
52614
  }
51886
52615
  out.push({ "a14:brightnessContrast": node });
51887
52616
  }
51888
52617
  if (finite2(effects.colorTemperature?.colorTemp)) {
51889
52618
  out.push({
51890
- "a14:colorTemperature": { "@_colorTemp": round(effects.colorTemperature.colorTemp) }
52619
+ "a14:colorTemperature": { "@_colorTemp": round2(effects.colorTemperature.colorTemp) }
51891
52620
  });
51892
52621
  }
51893
52622
  if (finite2(effects.colorSaturation?.sat)) {
51894
- out.push({ "a14:saturation": { "@_sat": round(effects.colorSaturation.sat) } });
52623
+ out.push({ "a14:saturation": { "@_sat": round2(effects.colorSaturation.sat) } });
51895
52624
  }
51896
52625
  const artistic = a14ArtisticElementName(effects.artisticEffect);
51897
52626
  if (artistic !== void 0) {
@@ -51943,7 +52672,7 @@ function applyA14ImageExtension(blip, effects) {
51943
52672
 
51944
52673
  // pptx/core/core/runtime/image-alpha-effects.ts
51945
52674
  var localName12 = (key2) => key2.split(":").at(-1) ?? key2;
51946
- function child12(parent, name) {
52675
+ function child14(parent, name) {
51947
52676
  if (!parent) {
51948
52677
  return void 0;
51949
52678
  }
@@ -52004,30 +52733,30 @@ function percentXml(raw, attr4, value, fixed, defaultValue) {
52004
52733
  }
52005
52734
  function parseImageAlphaEffects(blip, parseColor) {
52006
52735
  const effects = {};
52007
- const modFix = child12(blip, "alphaModFix");
52736
+ const modFix = child14(blip, "alphaModFix");
52008
52737
  if (modFix) {
52009
52738
  effects.alphaModFix = parsePercent(modFix["@_amt"], false) ?? 100;
52010
52739
  effects.alphaModFixRawXml = modFix;
52011
52740
  }
52012
- const inverse = child12(blip, "alphaInv");
52741
+ const inverse = child14(blip, "alphaInv");
52013
52742
  if (inverse) {
52014
52743
  const color = parseColor(canonicalColor(inverse));
52015
52744
  effects.alphaInv = { ...color ? { color } : {}, rawXml: inverse };
52016
52745
  }
52017
- const ceiling = child12(blip, "alphaCeiling");
52746
+ const ceiling = child14(blip, "alphaCeiling");
52018
52747
  if (ceiling) {
52019
52748
  effects.alphaCeiling = true;
52020
52749
  effects.alphaCeilingRawXml = ceiling;
52021
52750
  }
52022
- const floor = child12(blip, "alphaFloor");
52751
+ const floor = child14(blip, "alphaFloor");
52023
52752
  if (floor) {
52024
52753
  effects.alphaFloor = true;
52025
52754
  effects.alphaFloorRawXml = floor;
52026
52755
  }
52027
- const modulate = child12(blip, "alphaMod");
52756
+ const modulate = child14(blip, "alphaMod");
52028
52757
  if (modulate) {
52029
- const cont = child12(modulate, "cont");
52030
- const nestedFix = child12(cont, "alphaModFix");
52758
+ const cont = child14(modulate, "cont");
52759
+ const nestedFix = child14(cont, "alphaModFix");
52031
52760
  const amt = nestedFix ? parsePercent(nestedFix["@_amt"], false) : void 0;
52032
52761
  effects.alphaMod = {
52033
52762
  ...cont ? { contRawXml: cont } : {},
@@ -52035,7 +52764,7 @@ function parseImageAlphaEffects(blip, parseColor) {
52035
52764
  rawXml: modulate
52036
52765
  };
52037
52766
  }
52038
- const replace = child12(blip, "alphaRepl");
52767
+ const replace = child14(blip, "alphaRepl");
52039
52768
  if (replace) {
52040
52769
  const alpha = parsePercent(replace["@_a"], true);
52041
52770
  if (alpha !== void 0) {
@@ -52043,7 +52772,7 @@ function parseImageAlphaEffects(blip, parseColor) {
52043
52772
  effects.alphaReplRawXml = replace;
52044
52773
  }
52045
52774
  }
52046
- const biLevel = child12(blip, "alphaBiLevel");
52775
+ const biLevel = child14(blip, "alphaBiLevel");
52047
52776
  if (biLevel) {
52048
52777
  const threshold = parsePercent(biLevel["@_thresh"], true);
52049
52778
  if (threshold !== void 0) {
@@ -52088,7 +52817,7 @@ function applyImageAlphaEffects(blip, effects, parseColor) {
52088
52817
  if (effects.alphaMod.contRawXml) {
52089
52818
  setChild4(node, "cont", effects.alphaMod.contRawXml);
52090
52819
  }
52091
- if (child12(node, "cont") || effects.alphaMod.rawXml) {
52820
+ if (child14(node, "cont") || effects.alphaMod.rawXml) {
52092
52821
  setChild4(blip, "alphaMod", node);
52093
52822
  } else {
52094
52823
  setChild4(blip, "alphaMod", void 0);
@@ -52112,7 +52841,7 @@ function applyImageAlphaEffects(blip, effects, parseColor) {
52112
52841
 
52113
52842
  // pptx/core/core/runtime/image-color-effects.ts
52114
52843
  var localName13 = (key2) => key2.split(":").at(-1) ?? key2;
52115
- function child13(parent, name) {
52844
+ function child15(parent, name) {
52116
52845
  if (!parent) {
52117
52846
  return void 0;
52118
52847
  }
@@ -52163,12 +52892,12 @@ function opacity(parent, extractOpacity) {
52163
52892
  }
52164
52893
  function parseImageColorEffects(blip, parseColor, extractOpacity) {
52165
52894
  const result = {};
52166
- const grayscale = child13(blip, "grayscl");
52895
+ const grayscale = child15(blip, "grayscl");
52167
52896
  if (grayscale) {
52168
52897
  result.grayscale = true;
52169
52898
  result.grayscaleRawXml = grayscale;
52170
52899
  }
52171
- const biLevel = child13(blip, "biLevel");
52900
+ const biLevel = child15(blip, "biLevel");
52172
52901
  if (biLevel) {
52173
52902
  const threshold = Number(biLevel["@_thresh"]);
52174
52903
  if (Number.isFinite(threshold)) {
@@ -52176,9 +52905,9 @@ function parseImageColorEffects(blip, parseColor, extractOpacity) {
52176
52905
  }
52177
52906
  result.biLevelRawXml = biLevel;
52178
52907
  }
52179
- const change = child13(blip, "clrChange");
52180
- const from = child13(change, "clrFrom");
52181
- const to = child13(change, "clrTo");
52908
+ const change = child15(blip, "clrChange");
52909
+ const from = child15(change, "clrFrom");
52910
+ const to = child15(change, "clrTo");
52182
52911
  if (change && from && to) {
52183
52912
  result.clrChange = {
52184
52913
  clrFrom: resolveColor(from, parseColor) ?? "#000000",
@@ -52187,12 +52916,12 @@ function parseImageColorEffects(blip, parseColor, extractOpacity) {
52187
52916
  rawXml: change
52188
52917
  };
52189
52918
  }
52190
- const replace = child13(blip, "clrRepl");
52919
+ const replace = child15(blip, "clrRepl");
52191
52920
  const replacement = resolveColor(replace, parseColor);
52192
52921
  if (replace && replacement) {
52193
52922
  result.clrRepl = { color: replacement, rawXml: replace };
52194
52923
  }
52195
- const duotone = child13(blip, "duotone");
52924
+ const duotone = child15(blip, "duotone");
52196
52925
  if (duotone) {
52197
52926
  const colors = colorChoices(duotone).map((color) => resolveColor(color, parseColor));
52198
52927
  if (colors[0] && colors[1]) {
@@ -52255,8 +52984,8 @@ function applyImageColorEffects(blip, effects, parseColor, extractOpacity) {
52255
52984
  setChild5(blip, "biLevel", biLevel);
52256
52985
  const change = effects.clrChange;
52257
52986
  if (change) {
52258
- const rawFrom = child13(change.rawXml, "clrFrom");
52259
- const rawTo = child13(change.rawXml, "clrTo");
52987
+ const rawFrom = child15(change.rawXml, "clrFrom");
52988
+ const rawTo = child15(change.rawXml, "clrTo");
52260
52989
  const rawTransparent = rawTo ? (opacity(rawTo, extractOpacity) ?? 1) <= 0 : void 0;
52261
52990
  const unchanged2 = sameRawColor(rawFrom, change.clrFrom, parseColor) && sameRawColor(rawTo, change.clrTo, parseColor) && (rawTransparent === void 0 || change.clrToTransparent === rawTransparent);
52262
52991
  if (unchanged2 && change.rawXml) {
@@ -52429,7 +53158,7 @@ function updateEndParagraphProperties(existing, style, serialize) {
52429
53158
  const baseline = serialize({ ...style, ...style.inheritedRunStyle, ...style.authoredRunStyle });
52430
53159
  const current = serialize(style);
52431
53160
  const attributes = {};
52432
- const children5 = /* @__PURE__ */ new Map();
53161
+ const children6 = /* @__PURE__ */ new Map();
52433
53162
  for (const key2 of /* @__PURE__ */ new Set([...Object.keys(baseline), ...Object.keys(current)])) {
52434
53163
  if (JSON.stringify(baseline[key2]) === JSON.stringify(current[key2])) {
52435
53164
  continue;
@@ -52437,10 +53166,10 @@ function updateEndParagraphProperties(existing, style, serialize) {
52437
53166
  if (key2.startsWith("@_")) {
52438
53167
  attributes[key2.slice(2)] = current[key2] === void 0 ? null : String(current[key2]);
52439
53168
  } else {
52440
- children5.set(key2, current[key2] ?? null);
53169
+ children6.set(key2, current[key2] ?? null);
52441
53170
  }
52442
53171
  }
52443
- if (Object.keys(attributes).length === 0 && children5.size === 0) {
53172
+ if (Object.keys(attributes).length === 0 && children6.size === 0) {
52444
53173
  return existing;
52445
53174
  }
52446
53175
  const fillKeys = [
@@ -52451,15 +53180,15 @@ function updateEndParagraphProperties(existing, style, serialize) {
52451
53180
  "a:pattFill",
52452
53181
  "a:grpFill"
52453
53182
  ];
52454
- const changedFill = fillKeys.find((key2) => children5.get(key2));
53183
+ const changedFill = fillKeys.find((key2) => children6.get(key2));
52455
53184
  if (changedFill) {
52456
53185
  for (const key2 of fillKeys) {
52457
53186
  if (key2 !== changedFill) {
52458
- children5.set(key2, null);
53187
+ children6.set(key2, null);
52459
53188
  }
52460
53189
  }
52461
53190
  }
52462
- return mergeOrderedXml(existing, attributes, children5, DEF_RPR_CHILD_ORDER);
53191
+ return mergeOrderedXml(existing, attributes, children6, DEF_RPR_CHILD_ORDER);
52463
53192
  }
52464
53193
 
52465
53194
  // pptx/core/core/runtime/paragraph-child-assembly.ts
@@ -52496,10 +53225,10 @@ function classifyParagraphChild(run) {
52496
53225
  }
52497
53226
  return { tag: "m:oMath", value: eqXml };
52498
53227
  }
52499
- function isGroupedByTag2(children5) {
53228
+ function isGroupedByTag2(children6) {
52500
53229
  const seen = /* @__PURE__ */ new Set();
52501
53230
  let previous = "";
52502
- for (const { tag } of children5) {
53231
+ for (const { tag } of children6) {
52503
53232
  if (tag !== previous && seen.has(tag)) {
52504
53233
  return false;
52505
53234
  }
@@ -52508,10 +53237,10 @@ function isGroupedByTag2(children5) {
52508
53237
  }
52509
53238
  return true;
52510
53239
  }
52511
- function writeParagraphChildren(paragraph, children5) {
52512
- if (isGroupedByTag2(children5)) {
53240
+ function writeParagraphChildren(paragraph, children6) {
53241
+ if (isGroupedByTag2(children6)) {
52513
53242
  const grouped = /* @__PURE__ */ new Map();
52514
- for (const { tag, value } of children5) {
53243
+ for (const { tag, value } of children6) {
52515
53244
  const bucket = grouped.get(tag);
52516
53245
  if (bucket) {
52517
53246
  bucket.push(value);
@@ -52525,10 +53254,10 @@ function writeParagraphChildren(paragraph, children5) {
52525
53254
  return;
52526
53255
  }
52527
53256
  const totals = /* @__PURE__ */ new Map();
52528
- for (const { tag } of children5) {
53257
+ for (const { tag } of children6) {
52529
53258
  totals.set(tag, (totals.get(tag) ?? 0) + 1);
52530
53259
  }
52531
- for (const [position2, { tag, value }] of children5.entries()) {
53260
+ for (const [position2, { tag, value }] of children6.entries()) {
52532
53261
  paragraph[(totals.get(tag) ?? 0) > 1 ? orderedXmlKey(tag, position2) : tag] = value;
52533
53262
  }
52534
53263
  }
@@ -52734,9 +53463,9 @@ function assembleParagraphXml(runs, paragraphProps, endParaRunProperties, markup
52734
53463
  if (Object.keys(paragraphProps).length > 0 || markup?.emptyParagraphPropertiesAuthored) {
52735
53464
  paragraph["a:pPr"] = paragraphProps;
52736
53465
  }
52737
- const children5 = runs.map((run) => classifyParagraphChild(run)).filter((child14) => child14 !== void 0);
52738
- if (children5.length > 0) {
52739
- writeParagraphChildren(paragraph, children5);
53466
+ const children6 = runs.map((run) => classifyParagraphChild(run)).filter((child16) => child16 !== void 0);
53467
+ if (children6.length > 0) {
53468
+ writeParagraphChildren(paragraph, children6);
52740
53469
  } else {
52741
53470
  paragraph["a:r"] = runs.length > 1 ? runs : runs[0];
52742
53471
  }
@@ -54662,18 +55391,18 @@ var PptxHandlerRuntime6 = class extends PptxHandlerRuntime5 {
54662
55391
  const childTnLst = cTn["p:childTnLst"];
54663
55392
  if (childTnLst) {
54664
55393
  for (const container of ["p:par", "p:seq", "p:excl"]) {
54665
- const children5 = this.ensureArray(childTnLst[container]);
54666
- for (const child14 of children5) {
54667
- this.walkMediaTimingTree(child14, result, slidePath);
55394
+ const children6 = this.ensureArray(childTnLst[container]);
55395
+ for (const child16 of children6) {
55396
+ this.walkMediaTimingTree(child16, result, slidePath);
54668
55397
  }
54669
55398
  }
54670
55399
  this.walkMediaTimingTree(childTnLst, result, slidePath);
54671
55400
  }
54672
55401
  }
54673
55402
  for (const container of ["p:par", "p:seq", "p:excl", "p:tnLst"]) {
54674
- const children5 = this.ensureArray(node[container]);
54675
- for (const child14 of children5) {
54676
- this.walkMediaTimingTree(child14, result, slidePath);
55403
+ const children6 = this.ensureArray(node[container]);
55404
+ for (const child16 of children6) {
55405
+ this.walkMediaTimingTree(child16, result, slidePath);
54677
55406
  }
54678
55407
  }
54679
55408
  }
@@ -57012,14 +57741,14 @@ function setOwnXmlProperty(node, key2, value) {
57012
57741
  configurable: true
57013
57742
  });
57014
57743
  }
57015
- function assignOrderedXmlChildren(target, children5) {
57744
+ function assignOrderedXmlChildren(target, children6) {
57016
57745
  const runs = [];
57017
- for (const child14 of children5) {
57746
+ for (const child16 of children6) {
57018
57747
  const last = runs.at(-1);
57019
- if (last && last.tag === child14.tag) {
57020
- last.nodes.push(child14.node);
57748
+ if (last && last.tag === child16.tag) {
57749
+ last.nodes.push(child16.node);
57021
57750
  } else {
57022
- runs.push({ tag: child14.tag, nodes: [child14.node] });
57751
+ runs.push({ tag: child16.tag, nodes: [child16.node] });
57023
57752
  }
57024
57753
  }
57025
57754
  const seen = /* @__PURE__ */ new Set();
@@ -57086,7 +57815,7 @@ function buildGroupTransformXml(group, emuPerPx, ownEmuOverride, rewrap) {
57086
57815
  }
57087
57816
  return xfrm;
57088
57817
  }
57089
- function applyGroupChildTransform(xml, child14, emuPerPx, owner, precomputed) {
57818
+ function applyGroupChildTransform(xml, child16, emuPerPx, owner, precomputed) {
57090
57819
  const spPr = xml["p:spPr"];
57091
57820
  const grpSpPr = xml["p:grpSpPr"];
57092
57821
  const childXfrm = spPr?.["a:xfrm"] ?? xml["p:xfrm"] ?? grpSpPr?.["a:xfrm"];
@@ -57095,18 +57824,18 @@ function applyGroupChildTransform(xml, child14, emuPerPx, owner, precomputed) {
57095
57824
  }
57096
57825
  childXfrm["a:off"] ??= {};
57097
57826
  childXfrm["a:ext"] ??= {};
57098
- const inverted = precomputed ?? (owner ? invertChildIntoGroupSpace(child14, owner, emuPerPx) : void 0);
57827
+ const inverted = precomputed ?? (owner ? invertChildIntoGroupSpace(child16, owner, emuPerPx) : void 0);
57099
57828
  childXfrm["a:off"]["@_x"] = String(
57100
- inverted ? inverted.xEmu : resolveXfrmEmu(child14.x, child14.xEmu, emuPerPx)
57829
+ inverted ? inverted.xEmu : resolveXfrmEmu(child16.x, child16.xEmu, emuPerPx)
57101
57830
  );
57102
57831
  childXfrm["a:off"]["@_y"] = String(
57103
- inverted ? inverted.yEmu : resolveXfrmEmu(child14.y, child14.yEmu, emuPerPx)
57832
+ inverted ? inverted.yEmu : resolveXfrmEmu(child16.y, child16.yEmu, emuPerPx)
57104
57833
  );
57105
57834
  childXfrm["a:ext"]["@_cx"] = String(
57106
- inverted ? inverted.widthEmu : resolveXfrmEmu(child14.width, child14.widthEmu, emuPerPx)
57835
+ inverted ? inverted.widthEmu : resolveXfrmEmu(child16.width, child16.widthEmu, emuPerPx)
57107
57836
  );
57108
57837
  childXfrm["a:ext"]["@_cy"] = String(
57109
- inverted ? inverted.heightEmu : resolveXfrmEmu(child14.height, child14.heightEmu, emuPerPx)
57838
+ inverted ? inverted.heightEmu : resolveXfrmEmu(child16.height, child16.heightEmu, emuPerPx)
57110
57839
  );
57111
57840
  }
57112
57841
 
@@ -57372,14 +58101,14 @@ function buildInkShapeXml(el, emuPerPx) {
57372
58101
  if (!Number.isFinite(x) || !Number.isFinite(y)) {
57373
58102
  continue;
57374
58103
  }
57375
- const pt = {
58104
+ const pt2 = {
57376
58105
  "@_x": String(Math.round(x * emuPerPx)),
57377
58106
  "@_y": String(Math.round(y * emuPerPx))
57378
58107
  };
57379
58108
  if (token2.groups?.cmd?.toUpperCase() === "M") {
57380
- moveToList.push({ "a:pt": pt });
58109
+ moveToList.push({ "a:pt": pt2 });
57381
58110
  } else {
57382
- lnToList.push({ "a:pt": pt });
58111
+ lnToList.push({ "a:pt": pt2 });
57383
58112
  }
57384
58113
  }
57385
58114
  const pathXml = {
@@ -57681,8 +58410,8 @@ var PptxHandlerRuntime15 = class _PptxHandlerRuntime extends PptxHandlerRuntime1
57681
58410
  preserveGroupChildSpace: childSpace
57682
58411
  } : void 0;
57683
58412
  const entries = [];
57684
- for (const child14 of group.children) {
57685
- const entry2 = childCtx ? this.serializeGroupChildViaElementWriter(child14, childCtx) : this.serializeGroupChildFromRawXml(child14, childSpace);
58413
+ for (const child16 of group.children) {
58414
+ const entry2 = childCtx ? this.serializeGroupChildViaElementWriter(child16, childCtx) : this.serializeGroupChildFromRawXml(child16, childSpace);
57686
58415
  if (entry2) {
57687
58416
  entries.push(entry2);
57688
58417
  }
@@ -57699,18 +58428,18 @@ var PptxHandlerRuntime15 = class _PptxHandlerRuntime extends PptxHandlerRuntime1
57699
58428
  * Nested groups are recursed here rather than handed to the element writer,
57700
58429
  * so the save context survives to every nesting depth.
57701
58430
  */
57702
- serializeGroupChildViaElementWriter(child14, ctx) {
57703
- if (child14.type === "group") {
57704
- const ownEmuOverride = ctx.preserveGroupChildSpace ? resolveGroupChildBoxEmu(child14, ctx.preserveGroupChildSpace, _PptxHandlerRuntime.EMU_PER_PX) : void 0;
57705
- const xml = this.buildGroupShapeXml(child14, ctx, ownEmuOverride);
58431
+ serializeGroupChildViaElementWriter(child16, ctx) {
58432
+ if (child16.type === "group") {
58433
+ const ownEmuOverride = ctx.preserveGroupChildSpace ? resolveGroupChildBoxEmu(child16, ctx.preserveGroupChildSpace, _PptxHandlerRuntime.EMU_PER_PX) : void 0;
58434
+ const xml = this.buildGroupShapeXml(child16, ctx, ownEmuOverride);
57706
58435
  if (!xml) {
57707
58436
  return null;
57708
58437
  }
57709
- this.serializeShapeLocks(xml, child14);
58438
+ this.serializeShapeLocks(xml, child16);
57710
58439
  return { tag: "p:grpSp", xml };
57711
58440
  }
57712
58441
  const collectors = createGroupChildCollectors();
57713
- this.processSlideElement(child14, collectors, ctx);
58442
+ this.processSlideElement(child16, collectors, ctx);
57714
58443
  return pickGroupChildFromCollectors(collectors);
57715
58444
  }
57716
58445
  /**
@@ -57718,46 +58447,46 @@ var PptxHandlerRuntime15 = class _PptxHandlerRuntime extends PptxHandlerRuntime1
57718
58447
  * markup through and patch only its transform. Preserves everything, but
57719
58448
  * cannot pick up model-level edits.
57720
58449
  */
57721
- serializeGroupChildFromRawXml(child14, childSpace) {
57722
- const emu2 = childSpace ? resolveGroupChildBoxEmu(child14, childSpace, _PptxHandlerRuntime.EMU_PER_PX) : void 0;
57723
- const ownEmuOverride = child14.type === "group" ? emu2 : void 0;
57724
- const xml = this.buildGroupChildXml(child14, ownEmuOverride);
58450
+ serializeGroupChildFromRawXml(child16, childSpace) {
58451
+ const emu2 = childSpace ? resolveGroupChildBoxEmu(child16, childSpace, _PptxHandlerRuntime.EMU_PER_PX) : void 0;
58452
+ const ownEmuOverride = child16.type === "group" ? emu2 : void 0;
58453
+ const xml = this.buildGroupChildXml(child16, ownEmuOverride);
57725
58454
  if (!xml) {
57726
58455
  return null;
57727
58456
  }
57728
- applyGroupChildTransform(xml, child14, _PptxHandlerRuntime.EMU_PER_PX, childSpace, emu2);
57729
- const tag = classifyGroupChildTag(child14.type, xml);
58457
+ applyGroupChildTransform(xml, child16, _PptxHandlerRuntime.EMU_PER_PX, childSpace, emu2);
58458
+ const tag = classifyGroupChildTag(child16.type, xml);
57730
58459
  if (!tag) {
57731
58460
  this.compatibilityService.reportWarning({
57732
58461
  code: "SAVE_GROUP_CHILD_SKIPPED",
57733
- message: `Group child '${child14.id}' (${child14.type}) has no valid CT_GroupShape slot and was skipped during save.`,
58462
+ message: `Group child '${child16.id}' (${child16.type}) has no valid CT_GroupShape slot and was skipped during save.`,
57734
58463
  scope: "save",
57735
- elementId: child14.id
58464
+ elementId: child16.id
57736
58465
  });
57737
58466
  return null;
57738
58467
  }
57739
58468
  return { tag, xml };
57740
58469
  }
57741
58470
  /** Resolve (or fabricate) the XML node for a single group child. */
57742
- buildGroupChildXml(child14, ownEmuOverride) {
57743
- if (child14.type === "group") {
57744
- return this.buildGroupShapeXml(child14, void 0, ownEmuOverride) ?? void 0;
58471
+ buildGroupChildXml(child16, ownEmuOverride) {
58472
+ if (child16.type === "group") {
58473
+ return this.buildGroupShapeXml(child16, void 0, ownEmuOverride) ?? void 0;
57745
58474
  }
57746
- const xml = child14.rawXml;
58475
+ const xml = child16.rawXml;
57747
58476
  if (xml) {
57748
58477
  return xml;
57749
58478
  }
57750
- if (child14.type === "text" || child14.type === "shape") {
57751
- return this.createElementXml(child14);
58479
+ if (child16.type === "text" || child16.type === "shape") {
58480
+ return this.createElementXml(child16);
57752
58481
  }
57753
- if (child14.type === "connector") {
57754
- return this.createConnectorXml(child14);
58482
+ if (child16.type === "connector") {
58483
+ return this.createConnectorXml(child16);
57755
58484
  }
57756
- if (child14.type === "ink") {
57757
- return this.createInkShapeXml(child14);
58485
+ if (child16.type === "ink") {
58486
+ return this.createInkShapeXml(child16);
57758
58487
  }
57759
- if (child14.type === "table") {
57760
- return this.createTableGraphicFrameXml(child14);
58488
+ if (child16.type === "table") {
58489
+ return this.createTableGraphicFrameXml(child16);
57761
58490
  }
57762
58491
  return void 0;
57763
58492
  }
@@ -58603,8 +59332,8 @@ var PptxHandlerRuntime19 = class _PptxHandlerRuntime extends PptxHandlerRuntime1
58603
59332
  return style;
58604
59333
  }
58605
59334
  if (runProperties["@_sz"]) {
58606
- const points4 = parseInt(runProperties["@_sz"]) / 100;
58607
- style.fontSize = points4 * (96 / 72);
59335
+ const points5 = parseInt(runProperties["@_sz"]) / 100;
59336
+ style.fontSize = points5 * (96 / 72);
58608
59337
  }
58609
59338
  const bold = this.parseOptionalBooleanAttr(runProperties["@_b"]);
58610
59339
  if (bold !== void 0) {
@@ -61318,6 +62047,22 @@ var PptxHandlerRuntime24 = class _PptxHandlerRuntime extends PptxHandlerRuntime2
61318
62047
  * Record `chartData` as parsed, straight off `enrichChartData`, as this
61319
62048
  * chart's load-time baseline. See {@link chartDataBaselines}.
61320
62049
  */
62050
+ /** The element formats the original chart part authors (see `chart-element-format-read-xml`). */
62051
+ readAuthoredChartElementFormats(chartXmlStr, chartData) {
62052
+ const localName15 = (key2) => this.compatibilityService.getXmlLocalName(key2);
62053
+ const original = this.parser.parse(chartXmlStr);
62054
+ const chartSpace = this.xmlLookupService.getChildByLocalName(original, "chartSpace");
62055
+ const plotArea = this.xmlLookupService.getChildByLocalName(
62056
+ this.xmlLookupService.getChildByLocalName(chartSpace, "chart"),
62057
+ "plotArea"
62058
+ );
62059
+ return readChartElementFormatsFromXml(
62060
+ { chartSpace, seriesNodes: collectChartSeriesNodes(plotArea, localName15) },
62061
+ chartData,
62062
+ localName15,
62063
+ (node) => this.parseColor(node)
62064
+ );
62065
+ }
61321
62066
  rememberChartDataBaseline(chartData) {
61322
62067
  if (!chartData.chartPartPath) {
61323
62068
  return;
@@ -61390,6 +62135,7 @@ var PptxHandlerRuntime24 = class _PptxHandlerRuntime extends PptxHandlerRuntime2
61390
62135
  try {
61391
62136
  const chartXmlStr = await chartFile.async("string");
61392
62137
  const chartXmlData = this.parser.parse(chartXmlStr);
62138
+ const authoredFormats = chartData.elementFormats ? this.readAuthoredChartElementFormats(chartXmlStr, chartData) : void 0;
61393
62139
  const workbookWrites = [];
61394
62140
  const chartSpace = this.xmlLookupService.getChildByLocalName(chartXmlData, "chartSpace");
61395
62141
  if (!chartSpace) {
@@ -61639,6 +62385,14 @@ var PptxHandlerRuntime24 = class _PptxHandlerRuntime extends PptxHandlerRuntime2
61639
62385
  (key2) => this.compatibilityService.getXmlLocalName(key2)
61640
62386
  );
61641
62387
  }
62388
+ if (chartData.elementFormats) {
62389
+ applySeriesElementFormatsToXml(
62390
+ this.xmlLookupService.getChildrenArrayByLocalName(chartTypeContainer, "ser"),
62391
+ chartData,
62392
+ (key2) => this.compatibilityService.getXmlLocalName(key2),
62393
+ authoredFormats
62394
+ );
62395
+ }
61642
62396
  if (chartData.series.some((s) => s.seriesChartType !== void 0)) {
61643
62397
  applyComboSeriesTypesToXml(
61644
62398
  plotArea,
@@ -61962,6 +62716,14 @@ var PptxHandlerRuntime24 = class _PptxHandlerRuntime extends PptxHandlerRuntime2
61962
62716
  }
61963
62717
  );
61964
62718
  }
62719
+ if (chartData.elementFormats) {
62720
+ applyChromeElementFormatsToXml(
62721
+ chartSpace,
62722
+ chartData,
62723
+ (key2) => this.compatibilityService.getXmlLocalName(key2),
62724
+ authoredFormats
62725
+ );
62726
+ }
61965
62727
  for (const key2 of Object.keys(plotArea)) {
61966
62728
  const local = this.compatibilityService.getXmlLocalName(key2);
61967
62729
  if (!local.endsWith("Chart")) {
@@ -62534,14 +63296,14 @@ function applySmartArtColorStyleLabels(node, labels, localName15) {
62534
63296
  }
62535
63297
 
62536
63298
  // pptx/core/core/runtime/smartart-colors-builder.ts
62537
- function asObject2(value) {
63299
+ function asObject3(value) {
62538
63300
  return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
62539
63301
  }
62540
63302
  function toArray3(value) {
62541
63303
  if (Array.isArray(value)) {
62542
- return value.filter((entry2) => Boolean(asObject2(entry2)));
63304
+ return value.filter((entry2) => Boolean(asObject3(entry2)));
62543
63305
  }
62544
- const obj = asObject2(value);
63306
+ const obj = asObject3(value);
62545
63307
  return obj ? [obj] : [];
62546
63308
  }
62547
63309
  function findKey23(obj, name, getLocalName2) {
@@ -62567,13 +63329,13 @@ function applyColorToList(list, value, getLocalName2, resolveColor2) {
62567
63329
  }
62568
63330
  const existing = list[colorKey];
62569
63331
  if (resolveColor2) {
62570
- const authored = asObject2(Array.isArray(existing) ? existing[0] : existing);
63332
+ const authored = asObject3(Array.isArray(existing) ? existing[0] : existing);
62571
63333
  const authoredHex = authored ? resolveColor2({ [colorKey]: authored }) : void 0;
62572
63334
  if (authoredHex && colorsEqual(authoredHex, value)) {
62573
63335
  return;
62574
63336
  }
62575
63337
  }
62576
- const rest = Array.isArray(existing) ? existing.slice(1).filter((entry2) => Boolean(asObject2(entry2))) : [];
63338
+ const rest = Array.isArray(existing) ? existing.slice(1).filter((entry2) => Boolean(asObject3(entry2))) : [];
62577
63339
  if (colorKey !== "a:srgbClr") {
62578
63340
  delete list[colorKey];
62579
63341
  }
@@ -62588,7 +63350,7 @@ function applyColorListValues(list, values, getLocalName2, resolveColor2) {
62588
63350
  const existing = Array.isArray(existingRaw) ? existingRaw : existingRaw ? [existingRaw] : [];
62589
63351
  if (resolveColor2 && colorKey && existing.length === values.length) {
62590
63352
  const unchanged2 = existing.every((entryRaw, index) => {
62591
- const entry2 = asObject2(entryRaw);
63353
+ const entry2 = asObject3(entryRaw);
62592
63354
  const authoredHex = entry2 ? resolveColor2({ [colorKey]: entry2 }) : void 0;
62593
63355
  return authoredHex !== void 0 && colorsEqual(authoredHex, values[index]);
62594
63356
  });
@@ -62613,14 +63375,14 @@ function applyRoleColors(labels, roleColors, getLocalName2, resolveColor2) {
62613
63375
  }
62614
63376
  const fillKey = findKey23(label, "fillClrLst", getLocalName2);
62615
63377
  if (fillKey) {
62616
- const list = asObject2(label[fillKey]);
63378
+ const list = asObject3(label[fillKey]);
62617
63379
  if (list && applyColorListValues(list, role.fill, getLocalName2, resolveColor2)) {
62618
63380
  mutated = true;
62619
63381
  }
62620
63382
  }
62621
63383
  const lineKey = findKey23(label, "linClrLst", getLocalName2);
62622
63384
  if (lineKey) {
62623
- const list = asObject2(label[lineKey]);
63385
+ const list = asObject3(label[lineKey]);
62624
63386
  if (list && applyColorListValues(list, role.line, getLocalName2, resolveColor2)) {
62625
63387
  mutated = true;
62626
63388
  }
@@ -62652,7 +63414,7 @@ function applySmartArtColorTransform(colorsDef, transform2, getLocalName2, resol
62652
63414
  const fillKey = findKey23(label, "fillClrLst", getLocalName2);
62653
63415
  if (fillKey) {
62654
63416
  const value = transform2.fillColors[fillIndex++];
62655
- const list = asObject2(label[fillKey]);
63417
+ const list = asObject3(label[fillKey]);
62656
63418
  if (list && value) {
62657
63419
  applyColorToList(list, value, getLocalName2, resolveColor2);
62658
63420
  mutated = true;
@@ -62661,7 +63423,7 @@ function applySmartArtColorTransform(colorsDef, transform2, getLocalName2, resol
62661
63423
  const lineKey = findKey23(label, "linClrLst", getLocalName2);
62662
63424
  if (lineKey) {
62663
63425
  const value = transform2.lineColors[lineIndex++];
62664
- const list = asObject2(label[lineKey]);
63426
+ const list = asObject3(label[lineKey]);
62665
63427
  if (list && value) {
62666
63428
  applyColorToList(list, value, getLocalName2, resolveColor2);
62667
63429
  mutated = true;
@@ -62672,30 +63434,30 @@ function applySmartArtColorTransform(colorsDef, transform2, getLocalName2, resol
62672
63434
  }
62673
63435
 
62674
63436
  // pptx/core/core/runtime/smartart-node-synthesis.ts
62675
- function prSetOf2(pt) {
62676
- const prSet = pt["dgm:prSet"];
63437
+ function prSetOf2(pt2) {
63438
+ const prSet = pt2["dgm:prSet"];
62677
63439
  return prSet && typeof prSet === "object" && !Array.isArray(prSet) ? prSet : {};
62678
63440
  }
62679
63441
  function findPresPointForAssoc(pts, assocId) {
62680
63442
  return pts.find(
62681
- (pt) => pt["@_type"] === "pres" && String(prSetOf2(pt)["@_presAssocID"] || "") === assocId
63443
+ (pt2) => pt2["@_type"] === "pres" && String(prSetOf2(pt2)["@_presAssocID"] || "") === assocId
62682
63444
  );
62683
63445
  }
62684
63446
  function maxPresParOfOrd(cxns, srcId) {
62685
63447
  return cxns.filter((c) => c["@_type"] === "presParOf" && c["@_srcId"] === srcId).reduce((max, c) => Math.max(max, parseInt(String(c["@_srcOrd"] ?? ""), 10) || 0), -1);
62686
63448
  }
62687
63449
  function countNodePresPoints(pts) {
62688
- return pts.filter((pt) => pt["@_type"] === "pres" && prSetOf2(pt)["@_presName"] === "node").length;
63450
+ return pts.filter((pt2) => pt2["@_type"] === "pres" && prSetOf2(pt2)["@_presName"] === "node").length;
62689
63451
  }
62690
63452
  function emptyTextBody() {
62691
63453
  return { "a:bodyPr": {}, "a:lstStyle": {}, "a:p": { "a:endParaRPr": { "@_lang": "en-US" } } };
62692
63454
  }
62693
63455
  function buildContentPoint(node) {
62694
- const pt = { "@_modelId": node.id };
62695
- pt["dgm:prSet"] = node.text ? {} : { "@_phldrT": "[Text]" };
62696
- pt["dgm:spPr"] = {};
62697
- pt["dgm:t"] = shouldRebuildFromParagraphs(node) ? buildPointFromParagraphs(node.paragraphs, node.text) : shouldRebuildFromRuns(node) ? buildPointFromRuns(node.runs) : buildPointText(node.text ?? "");
62698
- return pt;
63456
+ const pt2 = { "@_modelId": node.id };
63457
+ pt2["dgm:prSet"] = node.text ? {} : { "@_phldrT": "[Text]" };
63458
+ pt2["dgm:spPr"] = {};
63459
+ pt2["dgm:t"] = shouldRebuildFromParagraphs(node) ? buildPointFromParagraphs(node.paragraphs, node.text) : shouldRebuildFromRuns(node) ? buildPointFromRuns(node.runs) : buildPointText(node.text ?? "");
63460
+ return pt2;
62699
63461
  }
62700
63462
  function buildTransPoint(id, type) {
62701
63463
  return { "@_modelId": id, "@_type": type, "dgm:prSet": {}, "dgm:t": emptyTextBody() };
@@ -62758,7 +63520,7 @@ function buildPresParOfConnection(srcId, destId, srcOrd, presId) {
62758
63520
  }
62759
63521
  function synthesizeNewSmartArtStructuralPoints(existingPts, existingCxns, nodes, connections) {
62760
63522
  const existingContentIds = new Set(
62761
- existingPts.filter(isContentPoint).map((pt) => String(pt["@_modelId"] || ""))
63523
+ existingPts.filter(isContentPoint).map((pt2) => String(pt2["@_modelId"] || ""))
62762
63524
  );
62763
63525
  const newNodes = nodes.filter((n) => n.id && !existingContentIds.has(n.id));
62764
63526
  if (newNodes.length === 0) {
@@ -62794,9 +63556,9 @@ function synthesizeNewSmartArtStructuralPoints(existingPts, existingCxns, nodes,
62794
63556
  pts.push(buildPresNodePoint(presNodeId, node.id, idx, idx + 1));
62795
63557
  pts.push(buildPresSibTransPoint(presSibTransId, sibTransId));
62796
63558
  const total = idx + 1;
62797
- for (const pt of pts) {
62798
- if (pt["@_type"] === "pres" && prSetOf2(pt)["@_presName"] === "node") {
62799
- prSetOf2(pt)["@_presStyleCnt"] = String(total);
63559
+ for (const pt2 of pts) {
63560
+ if (pt2["@_type"] === "pres" && prSetOf2(pt2)["@_presName"] === "node") {
63561
+ prSetOf2(pt2)["@_presStyleCnt"] = String(total);
62800
63562
  }
62801
63563
  }
62802
63564
  const srcOrd = connectionByChildId.get(node.id)?.srcOrd ?? 0;
@@ -62888,7 +63650,7 @@ function applySmartArtQuickStyle(styleDef, quickStyle, localName15, intensity) {
62888
63650
  }
62889
63651
 
62890
63652
  // pptx/core/core/runtime/smartart-save-chrome.ts
62891
- function asObject3(value) {
63653
+ function asObject4(value) {
62892
63654
  return value && typeof value === "object" && !Array.isArray(value) ? value : {};
62893
63655
  }
62894
63656
  function applySmartArtChrome(dataModel, chrome, getLocalName2) {
@@ -62898,14 +63660,14 @@ function applySmartArtChrome(dataModel, chrome, getLocalName2) {
62898
63660
  const findKey24 = (obj, name) => Object.keys(obj).find((k) => getLocalName2(k) === name);
62899
63661
  if (chrome.backgroundFillXml) {
62900
63662
  const bgKey = findKey24(dataModel, "bg") ?? "dgm:bg";
62901
- const bg = asObject3(dataModel[bgKey]);
63663
+ const bg = asObject4(dataModel[bgKey]);
62902
63664
  const fillKey = findKey24(bg, chrome.backgroundFillXml.localName) ?? `a:${chrome.backgroundFillXml.localName}`;
62903
63665
  bg[fillKey] = chrome.backgroundFillXml.xml;
62904
63666
  dataModel[bgKey] = bg;
62905
63667
  } else if (chrome.backgroundColor) {
62906
63668
  const hex3 = chrome.backgroundColor.replace("#", "");
62907
63669
  const bgKey = findKey24(dataModel, "bg") ?? "dgm:bg";
62908
- const bg = asObject3(dataModel[bgKey]);
63670
+ const bg = asObject4(dataModel[bgKey]);
62909
63671
  const fillKey = findKey24(bg, "solidFill") ?? "a:solidFill";
62910
63672
  bg[fillKey] = { "a:srgbClr": { "@_val": hex3 } };
62911
63673
  dataModel[bgKey] = bg;
@@ -62913,9 +63675,9 @@ function applySmartArtChrome(dataModel, chrome, getLocalName2) {
62913
63675
  const hasOutlineWidth = chrome.outlineWidth !== null && chrome.outlineWidth !== void 0;
62914
63676
  if (chrome.outlineColor || hasOutlineWidth) {
62915
63677
  const wholeKey = findKey24(dataModel, "whole") ?? "dgm:whole";
62916
- const whole = asObject3(dataModel[wholeKey]);
63678
+ const whole = asObject4(dataModel[wholeKey]);
62917
63679
  const lnKey = findKey24(whole, "ln") ?? "a:ln";
62918
- const ln = asObject3(whole[lnKey]);
63680
+ const ln = asObject4(whole[lnKey]);
62919
63681
  if (hasOutlineWidth) {
62920
63682
  ln["@_w"] = String(Math.round(chrome.outlineWidth * 12700));
62921
63683
  }
@@ -63097,8 +63859,8 @@ function applySmartArtLayoutIdentity(dataModel, layout, localName15) {
63097
63859
  const pointListKey = Object.keys(dataModel).find((key2) => localName15(key2) === "ptLst");
63098
63860
  const pointList = pointListKey ? dataModel[pointListKey] : void 0;
63099
63861
  const pointKey = pointList ? Object.keys(pointList).find((key2) => localName15(key2) === "pt") : void 0;
63100
- const points4 = pointKey && pointList ? ensureObjects(pointList[pointKey]) : [];
63101
- const docPoint = points4.find((point) => String(point["@_type"] || "") === "doc");
63862
+ const points5 = pointKey && pointList ? ensureObjects(pointList[pointKey]) : [];
63863
+ const docPoint = points5.find((point) => String(point["@_type"] || "") === "doc");
63102
63864
  if (!docPoint) {
63103
63865
  return;
63104
63866
  }
@@ -63109,9 +63871,9 @@ function applySmartArtLayoutIdentity(dataModel, layout, localName15) {
63109
63871
  propertySet["@_loCatId"] = layout.category;
63110
63872
  }
63111
63873
  }
63112
- function presentationIdsFromPoints(points4, localName15) {
63874
+ function presentationIdsFromPoints(points5, localName15) {
63113
63875
  const result = /* @__PURE__ */ new Map();
63114
- for (const point of points4) {
63876
+ for (const point of points5) {
63115
63877
  if (String(point["@_type"] || "") !== "pres") {
63116
63878
  continue;
63117
63879
  }
@@ -67021,8 +67783,8 @@ function prescanStructuralPart(xml) {
67021
67783
  let placeholderCasing = false;
67022
67784
  for (const match of xml.matchAll(PH_TYPE_RE)) {
67023
67785
  const raw = match[1] ?? match[2] ?? "";
67024
- const canonical = canonicalPlaceholderType(raw);
67025
- if (canonical !== void 0 && canonical !== raw) {
67786
+ const canonical2 = canonicalPlaceholderType(raw);
67787
+ if (canonical2 !== void 0 && canonical2 !== raw) {
67026
67788
  placeholderCasing = true;
67027
67789
  break;
67028
67790
  }
@@ -67052,8 +67814,8 @@ function countDeclaredIds(node, counts, ensureArray12) {
67052
67814
  counts.set(id, (counts.get(id) ?? 0) + 1);
67053
67815
  }
67054
67816
  for (const listKey of SHAPE_LISTS) {
67055
- for (const child14 of ensureArray12(node[listKey])) {
67056
- if (!countDeclaredIds(child14, counts, ensureArray12)) {
67817
+ for (const child16 of ensureArray12(node[listKey])) {
67818
+ if (!countDeclaredIds(child16, counts, ensureArray12)) {
67057
67819
  return false;
67058
67820
  }
67059
67821
  }
@@ -68300,8 +69062,8 @@ var PptxHandlerRuntime42 = class _PptxHandlerRuntime extends PptxHandlerRuntime4
68300
69062
  }
68301
69063
  }
68302
69064
  for (const listKey of ["p:sp", "p:pic", "p:cxnSp", "p:graphicFrame", "p:grpSp"]) {
68303
- for (const child14 of this.ensureArray(node[listKey])) {
68304
- visit(child14);
69065
+ for (const child16 of this.ensureArray(node[listKey])) {
69066
+ visit(child16);
68305
69067
  }
68306
69068
  }
68307
69069
  };
@@ -68932,11 +69694,11 @@ function scanSpTreeDocumentOrder(xml) {
68932
69694
  const frame = stack[stack.length - 1];
68933
69695
  const indexInType = frame.counters.get(tag) ?? 0;
68934
69696
  frame.counters.set(tag, indexInType + 1);
68935
- const children5 = [];
68936
- frame.children.push({ tag, indexInType, children: children5 });
69697
+ const children6 = [];
69698
+ frame.children.push({ tag, indexInType, children: children6 });
68937
69699
  if (!selfClosing) {
68938
69700
  if (tag === GROUP_TAG) {
68939
- stack.push({ children: children5, counters: /* @__PURE__ */ new Map() });
69701
+ stack.push({ children: children6, counters: /* @__PURE__ */ new Map() });
68940
69702
  } else {
68941
69703
  inert++;
68942
69704
  }
@@ -72113,8 +72875,8 @@ var PptxHandlerRuntime62 = class extends PptxHandlerRuntime61 {
72113
72875
  textStyle.textWrap = defaults.textWrap;
72114
72876
  }
72115
72877
  }
72116
- pointsToPixels(points4) {
72117
- return points4 * (96 / 72);
72878
+ pointsToPixels(points5) {
72879
+ return points5 * (96 / 72);
72118
72880
  }
72119
72881
  parseParagraphSpacingPx(spacingNode, basisFontSizePx) {
72120
72882
  return parseParagraphSpacingPx(spacingNode, basisFontSizePx);
@@ -74580,11 +75342,11 @@ var PptxHandlerRuntime70 = class _PptxHandlerRuntime extends PptxHandlerRuntime6
74580
75342
  grpSpPr?.["a:xfrm"],
74581
75343
  _PptxHandlerRuntime.EMU_PER_PX
74582
75344
  );
74583
- const round2 = depth === 0 ? Math.round : (value) => value;
74584
- const parentX = round2(raw.parentX);
74585
- const parentY = round2(raw.parentY);
74586
- const parentW = round2(raw.parentW);
74587
- const parentH = round2(raw.parentH);
75345
+ const round3 = depth === 0 ? Math.round : (value) => value;
75346
+ const parentX = round3(raw.parentX);
75347
+ const parentY = round3(raw.parentY);
75348
+ const parentW = round3(raw.parentW);
75349
+ const parentH = round3(raw.parentH);
74588
75350
  const grpFillStyle = grpSpPr ? this.extractShapeStyle(grpSpPr) : void 0;
74589
75351
  if (grpFillStyle?.fillMode === "image" && grpSpPr) {
74590
75352
  const blipFill = grpSpPr["a:blipFill"];
@@ -74599,16 +75361,16 @@ var PptxHandlerRuntime70 = class _PptxHandlerRuntime extends PptxHandlerRuntime6
74599
75361
  }
74600
75362
  }
74601
75363
  const hasGroupFill = grpFillStyle && grpFillStyle.fillMode && grpFillStyle.fillMode !== "none";
74602
- const children5 = await this.parseGroupShape(group, baseId, slidePath, rawXmlStr, depth);
74603
- if (children5.length === 0) {
75364
+ const children6 = await this.parseGroupShape(group, baseId, slidePath, rawXmlStr, depth);
75365
+ if (children6.length === 0) {
74604
75366
  return null;
74605
75367
  }
74606
75368
  if (hasGroupFill && grpFillStyle.fillMode !== "group") {
74607
- applyGroupFillInheritance(children5, grpFillStyle);
75369
+ applyGroupFillInheritance(children6, grpFillStyle);
74608
75370
  }
74609
75371
  if (raw.rotation || raw.flipHorizontal || raw.flipVertical) {
74610
75372
  applyAncestorGroupTextTransform(
74611
- children5,
75373
+ children6,
74612
75374
  getElementOrientationMatrix({
74613
75375
  rotation: raw.rotation,
74614
75376
  flipHorizontal: raw.flipHorizontal,
@@ -74616,9 +75378,9 @@ var PptxHandlerRuntime70 = class _PptxHandlerRuntime extends PptxHandlerRuntime6
74616
75378
  })
74617
75379
  );
74618
75380
  }
74619
- for (const child14 of children5) {
74620
- child14.x -= raw.parentX;
74621
- child14.y -= raw.parentY;
75381
+ for (const child16 of children6) {
75382
+ child16.x -= raw.parentX;
75383
+ child16.y -= raw.parentY;
74622
75384
  }
74623
75385
  const grpCNvPr = group?.["p:nvGrpSpPr"]?.["p:cNvPr"];
74624
75386
  const grpSlideRels = this.slideRelsMap.get(slidePath);
@@ -74638,8 +75400,8 @@ var PptxHandlerRuntime70 = class _PptxHandlerRuntime extends PptxHandlerRuntime6
74638
75400
  name: grpElementName || void 0,
74639
75401
  x: parentX,
74640
75402
  y: parentY,
74641
- width: parentW || Math.max(...children5.map((c) => c.x + c.width)),
74642
- height: parentH || Math.max(...children5.map((c) => c.y + c.height)),
75403
+ width: parentW || Math.max(...children6.map((c) => c.x + c.width)),
75404
+ height: parentH || Math.max(...children6.map((c) => c.y + c.height)),
74643
75405
  // Exact EMU for `resolveXfrmEmu` (xfrm-emu-resolution.ts) to re-emit
74644
75406
  // byte-identical on save for an unmoved/unresized TOP-LEVEL group.
74645
75407
  // `width`/`height` fall back to a computed bounding box when the
@@ -74675,7 +75437,7 @@ var PptxHandlerRuntime70 = class _PptxHandlerRuntime extends PptxHandlerRuntime6
74675
75437
  rotation: raw.rotation,
74676
75438
  flipHorizontal: raw.flipHorizontal || void 0,
74677
75439
  flipVertical: raw.flipVertical || void 0,
74678
- children: children5,
75440
+ children: children6,
74679
75441
  rawXml: group,
74680
75442
  actionClick: grpActionClick,
74681
75443
  actionHover: grpActionHover,
@@ -79145,8 +79907,8 @@ var PptxHandlerRuntime88 = class _PptxHandlerRuntime extends PptxHandlerRuntime8
79145
79907
  const connectionList = this.xmlLookupService.getChildByLocalName(dataModel, "cxnLst");
79146
79908
  const rawConnections = this.xmlLookupService.getChildrenArrayByLocalName(connectionList, "cxn");
79147
79909
  const pointList = this.xmlLookupService.getChildByLocalName(dataModel, "ptLst");
79148
- const points4 = this.xmlLookupService.getChildrenArrayByLocalName(pointList, "pt");
79149
- const transitionTextById = collectSmartArtTransitionText(points4, (point) => {
79910
+ const points5 = this.xmlLookupService.getChildrenArrayByLocalName(pointList, "pt");
79911
+ const transitionTextById = collectSmartArtTransitionText(points5, (point) => {
79150
79912
  const values = [];
79151
79913
  this.collectLocalTextValues(point, "t", values);
79152
79914
  return values.join("");
@@ -79516,11 +80278,11 @@ var PptxHandlerRuntime89 = class _PptxHandlerRuntime extends PptxHandlerRuntime8
79516
80278
  }
79517
80279
  const dataModel = this.xmlLookupService.getChildByLocalName(diagramDataPart.xml, "dataModel");
79518
80280
  const pointList = this.xmlLookupService.getChildByLocalName(dataModel, "ptLst");
79519
- const points4 = this.xmlLookupService.getChildrenArrayByLocalName(pointList, "pt");
80281
+ const points5 = this.xmlLookupService.getChildrenArrayByLocalName(pointList, "pt");
79520
80282
  const { parsedConnections, parentByNodeId } = this.parseSmartArtConnections(dataModel);
79521
80283
  const localName15 = (key2) => this.compatibilityService.getXmlLocalName(key2);
79522
- const metadataOf = resolveSmartArtPointMetadata(points4, parsedConnections, localName15);
79523
- const nodes = points4.filter(isContentPoint).map((point) => {
80284
+ const metadataOf = resolveSmartArtPointMetadata(points5, parsedConnections, localName15);
80285
+ const nodes = points5.filter(isContentPoint).map((point) => {
79524
80286
  const pointId = String(point?.["@_modelId"] || "").trim();
79525
80287
  if (pointId.length === 0) {
79526
80288
  return null;
@@ -79583,7 +80345,7 @@ var PptxHandlerRuntime89 = class _PptxHandlerRuntime extends PptxHandlerRuntime8
79583
80345
  const drawingShapes = drawingResolution ? await this.parseSmartArtDrawingShapesFromPath(
79584
80346
  drawingResolution.path,
79585
80347
  resolveSmartArtMergedTextColors(
79586
- points4,
80348
+ points5,
79587
80349
  parsedConnections,
79588
80350
  layoutDefinition,
79589
80351
  colorTransform?.roleColors,
@@ -79750,11 +80512,11 @@ var PptxHandlerRuntime90 = class extends PptxHandlerRuntime89 {
79750
80512
  const cacheName = preferNumeric ? "numCache" : "strCache";
79751
80513
  const referenceNode = this.xmlLookupService.getChildByLocalName(seriesContainer, refName) || this.xmlLookupService.getChildByLocalName(seriesContainer, literalName);
79752
80514
  const cacheNode = this.xmlLookupService.getChildByLocalName(referenceNode, cacheName) || referenceNode;
79753
- const points4 = this.xmlLookupService.getChildrenArrayByLocalName(cacheNode, "pt");
79754
- if (points4.length === 0) {
80515
+ const points5 = this.xmlLookupService.getChildrenArrayByLocalName(cacheNode, "pt");
80516
+ if (points5.length === 0) {
79755
80517
  return [];
79756
80518
  }
79757
- return [...points4].sort((left, right) => {
80519
+ return [...points5].sort((left, right) => {
79758
80520
  const leftIndex = Number.parseInt(String(left?.["@_idx"] || "0"), 10);
79759
80521
  const rightIndex = Number.parseInt(String(right?.["@_idx"] || "0"), 10);
79760
80522
  return leftIndex - rightIndex;
@@ -79789,13 +80551,13 @@ var PptxHandlerRuntime90 = class extends PptxHandlerRuntime89 {
79789
80551
  const cacheName = preferNumeric ? "numCache" : "strCache";
79790
80552
  const referenceNode = this.xmlLookupService.getChildByLocalName(categoryContainer, refName) || this.xmlLookupService.getChildByLocalName(categoryContainer, literalName);
79791
80553
  const cacheNode = this.xmlLookupService.getChildByLocalName(referenceNode, cacheName) || referenceNode;
79792
- const points4 = this.xmlLookupService.getChildrenArrayByLocalName(cacheNode, "pt");
79793
- if (points4.length === 0) {
80554
+ const points5 = this.xmlLookupService.getChildrenArrayByLocalName(cacheNode, "pt");
80555
+ if (points5.length === 0) {
79794
80556
  return [];
79795
80557
  }
79796
80558
  const byIndex = /* @__PURE__ */ new Map();
79797
80559
  let maxIndex = -1;
79798
- for (const point of points4) {
80560
+ for (const point of points5) {
79799
80561
  const index = Number.parseInt(String(point?.["@_idx"] ?? "0"), 10);
79800
80562
  if (!Number.isFinite(index) || index < 0) {
79801
80563
  continue;
@@ -79967,11 +80729,11 @@ var PptxHandlerRuntime91 = class extends PptxHandlerRuntime90 {
79967
80729
  }
79968
80730
  const custSplitNode = this.xmlLookupService.getChildByLocalName(ofPieContainer, "custSplit");
79969
80731
  if (custSplitNode) {
79970
- const points4 = this.xmlLookupService.getChildrenArrayByLocalName(
80732
+ const points5 = this.xmlLookupService.getChildrenArrayByLocalName(
79971
80733
  custSplitNode,
79972
80734
  "secondPiePt"
79973
80735
  );
79974
- const indices = points4.map((p) => parseNumberVal(p)).filter((n) => n !== void 0 && Number.isFinite(n));
80736
+ const indices = points5.map((p) => parseNumberVal(p)).filter((n) => n !== void 0 && Number.isFinite(n));
79975
80737
  if (indices.length > 0) {
79976
80738
  result.custSplit = indices;
79977
80739
  }
@@ -80696,7 +81458,7 @@ var PptxHandlerRuntime95 = class extends PptxHandlerRuntime94 {
80696
81458
  */
80697
81459
  readChartLinesAndChrome(neutral, tree, groups, reader) {
80698
81460
  const colorAdapter = { parseColor: reader.parseColor };
80699
- const container = (child14) => (groups.find(({ group }) => chartContainerAllows(group.element, child14)) ?? groups[0])?.node;
81461
+ const container = (child16) => (groups.find(({ group }) => chartContainerAllows(group.element, child16)) ?? groups[0])?.node;
80700
81462
  const dropLines = parseLineStyle(container("dropLines"), "dropLines", reader.xml, colorAdapter);
80701
81463
  const hiLowLines = parseLineStyle(
80702
81464
  container("hiLowLines"),
@@ -80795,6 +81557,12 @@ var PptxHandlerRuntime95 = class extends PptxHandlerRuntime94 {
80795
81557
  const view3D = view3DFromNeutral(neutral);
80796
81558
  const chartChrome = chartChromeFromNeutral(neutral);
80797
81559
  const themeAccentColors = this.resolveChartThemeAccents();
81560
+ const elementFormats = readChartElementFormatsFromXml(
81561
+ { chartSpace, seriesNodes: built.seriesNodes },
81562
+ { axes },
81563
+ reader.localName,
81564
+ (node) => reader.parseColor(node)
81565
+ );
80798
81566
  return {
80799
81567
  chartType,
80800
81568
  categories: filled.categories,
@@ -80820,6 +81588,7 @@ var PptxHandlerRuntime95 = class extends PptxHandlerRuntime94 {
80820
81588
  chartRelationshipId,
80821
81589
  ...linesAndChrome,
80822
81590
  ...axes.length > 0 ? { axes } : {},
81591
+ ...elementFormats ? { elementFormats } : {},
80823
81592
  ...bandFmts ? { bandFmts } : {},
80824
81593
  ...facts,
80825
81594
  ...neutral.plotVisibleOnly !== void 0 ? { plotVisibleOnly: neutral.plotVisibleOnly } : {},
@@ -82818,16 +83587,16 @@ function parseExHyperlinkContainer(view, container) {
82818
83587
  }
82819
83588
  const id = view.getUint32(atom2.dataOffset, true);
82820
83589
  const strings = {};
82821
- for (const child14 of iterateChildren(view, container)) {
82822
- if (child14.recType !== RT.CString) {
83590
+ for (const child16 of iterateChildren(view, container)) {
83591
+ if (child16.recType !== RT.CString) {
82823
83592
  continue;
82824
83593
  }
82825
- if (child14.recInstance === 0) {
82826
- strings.friendlyName = readCString(view, child14);
82827
- } else if (child14.recInstance === 1) {
82828
- strings.target = readCString(view, child14);
82829
- } else if (child14.recInstance === 3) {
82830
- strings.location = readCString(view, child14);
83594
+ if (child16.recInstance === 0) {
83595
+ strings.friendlyName = readCString(view, child16);
83596
+ } else if (child16.recInstance === 1) {
83597
+ strings.target = readCString(view, child16);
83598
+ } else if (child16.recInstance === 3) {
83599
+ strings.location = readCString(view, child16);
82831
83600
  }
82832
83601
  }
82833
83602
  return { id, strings };
@@ -82838,11 +83607,11 @@ function parseHyperlinkStrings(view, docContainer) {
82838
83607
  if (!exObjList) {
82839
83608
  return result;
82840
83609
  }
82841
- for (const child14 of iterateChildren(view, exObjList)) {
82842
- if (child14.recType !== RT.ExternalHyperlink) {
83610
+ for (const child16 of iterateChildren(view, exObjList)) {
83611
+ if (child16.recType !== RT.ExternalHyperlink) {
82843
83612
  continue;
82844
83613
  }
82845
- const parsed = parseExHyperlinkContainer(view, child14);
83614
+ const parsed = parseExHyperlinkContainer(view, child16);
82846
83615
  if (parsed) {
82847
83616
  result.set(parsed.id, parsed.strings);
82848
83617
  }
@@ -82912,9 +83681,9 @@ function collectTextHyperlinkRanges(view, start, end, hyperlinkStrings) {
82912
83681
  return ranges;
82913
83682
  }
82914
83683
  function resolveShapeInteractiveInfo(view, clientData, hyperlinkStrings) {
82915
- for (const child14 of iterateChildren(view, clientData)) {
82916
- if (child14.recType === RT.InteractiveInfo && child14.recInstance === 0) {
82917
- const atom2 = findChild2(view, child14, RT.InteractiveInfoAtom);
83684
+ for (const child16 of iterateChildren(view, clientData)) {
83685
+ if (child16.recType === RT.InteractiveInfo && child16.recInstance === 0) {
83686
+ const atom2 = findChild2(view, child16, RT.InteractiveInfoAtom);
82918
83687
  if (atom2) {
82919
83688
  return resolveInteractiveInfoTarget(view, atom2, hyperlinkStrings);
82920
83689
  }
@@ -83109,11 +83878,11 @@ function parseOleEmbedRefs(view, docContainer) {
83109
83878
  if (!exObjList) {
83110
83879
  return result;
83111
83880
  }
83112
- for (const child14 of iterateChildren(view, exObjList)) {
83113
- if (child14.recType !== RT.ExternalOleEmbed) {
83881
+ for (const child16 of iterateChildren(view, exObjList)) {
83882
+ if (child16.recType !== RT.ExternalOleEmbed) {
83114
83883
  continue;
83115
83884
  }
83116
- const parsed = parseOleEmbedContainer(view, child14);
83885
+ const parsed = parseOleEmbedContainer(view, child16);
83117
83886
  if (parsed) {
83118
83887
  result.set(parsed.exObjId, parsed.ref);
83119
83888
  }
@@ -83963,22 +84732,22 @@ function parseShape(ctx, container) {
83963
84732
  return shape;
83964
84733
  }
83965
84734
  function parseGroup2(ctx, container) {
83966
- const children5 = [];
84735
+ const children6 = [];
83967
84736
  let groupShape;
83968
84737
  let first2 = true;
83969
- for (const child14 of iterateChildren(ctx.view, container)) {
83970
- if (child14.recType === OA.SpContainer && first2) {
83971
- groupShape = child14;
84738
+ for (const child16 of iterateChildren(ctx.view, container)) {
84739
+ if (child16.recType === OA.SpContainer && first2) {
84740
+ groupShape = child16;
83972
84741
  first2 = false;
83973
- } else if (child14.recType === OA.SpContainer) {
83974
- const shape = parseShape(ctx, child14);
84742
+ } else if (child16.recType === OA.SpContainer) {
84743
+ const shape = parseShape(ctx, child16);
83975
84744
  if (shape) {
83976
- children5.push(shape);
84745
+ children6.push(shape);
83977
84746
  }
83978
- } else if (child14.recType === OA.SpgrContainer) {
83979
- const group = parseGroup2(ctx, child14);
84747
+ } else if (child16.recType === OA.SpgrContainer) {
84748
+ const group = parseGroup2(ctx, child16);
83980
84749
  if (group) {
83981
- children5.push(group);
84750
+ children6.push(group);
83982
84751
  }
83983
84752
  }
83984
84753
  }
@@ -83990,14 +84759,14 @@ function parseGroup2(ctx, container) {
83990
84759
  const childAnchorRec = findChild2(ctx.view, groupShape, OA.ChildAnchor);
83991
84760
  const anchor = anchorRec ? readClientAnchor(ctx.view, anchorRec) : childAnchorRec ? readChildAnchor(ctx.view, childAnchorRec) : void 0;
83992
84761
  const childRect = fspgr && fspgr.recLen >= 16 ? readChildAnchor(ctx.view, fspgr) : void 0;
83993
- if (children5.length === 0) {
84762
+ if (children6.length === 0) {
83994
84763
  return void 0;
83995
84764
  }
83996
84765
  return {
83997
84766
  kind: "group",
83998
84767
  anchor,
83999
84768
  childRect: childRect ?? anchor ?? { x: 0, y: 0, w: 0, h: 0 },
84000
- children: children5
84769
+ children: children6
84001
84770
  };
84002
84771
  }
84003
84772
  function parseDrawing(ctx, dgContainer) {
@@ -84007,31 +84776,31 @@ function parseDrawing(ctx, dgContainer) {
84007
84776
  return result;
84008
84777
  }
84009
84778
  let first2 = true;
84010
- for (const child14 of iterateChildren(ctx.view, topGroup)) {
84011
- if (child14.recType === OA.SpContainer) {
84779
+ for (const child16 of iterateChildren(ctx.view, topGroup)) {
84780
+ if (child16.recType === OA.SpContainer) {
84012
84781
  if (first2) {
84013
84782
  first2 = false;
84014
84783
  continue;
84015
84784
  }
84016
- const backgroundRgb = extractBackground(ctx, child14);
84785
+ const backgroundRgb = extractBackground(ctx, child16);
84017
84786
  if (backgroundRgb !== void 0) {
84018
84787
  result.backgroundRgb = backgroundRgb;
84019
84788
  continue;
84020
84789
  }
84021
- const shape = parseShape(ctx, child14);
84790
+ const shape = parseShape(ctx, child16);
84022
84791
  if (shape) {
84023
84792
  result.shapes.push(shape);
84024
84793
  }
84025
- } else if (child14.recType === OA.SpgrContainer) {
84026
- const group = parseGroup2(ctx, child14);
84794
+ } else if (child16.recType === OA.SpgrContainer) {
84795
+ const group = parseGroup2(ctx, child16);
84027
84796
  if (group) {
84028
84797
  result.shapes.push(group);
84029
84798
  }
84030
- } else if (isContainer(child14)) ;
84799
+ } else if (isContainer(child16)) ;
84031
84800
  }
84032
- for (const child14 of iterateChildren(ctx.view, dgContainer)) {
84033
- if (child14.recType === OA.SpContainer && result.backgroundRgb === void 0) {
84034
- result.backgroundRgb = extractBackground(ctx, child14);
84801
+ for (const child16 of iterateChildren(ctx.view, dgContainer)) {
84802
+ if (child16.recType === OA.SpContainer && result.backgroundRgb === void 0) {
84803
+ result.backgroundRgb = extractBackground(ctx, child16);
84035
84804
  }
84036
84805
  }
84037
84806
  return result;
@@ -84185,14 +84954,14 @@ function parseMasterStyleAtom(view, rec, scheme, fonts) {
84185
84954
  function collectMasterStyles(view, masterContainer, scheme, fonts) {
84186
84955
  let titleStyles = [];
84187
84956
  let bodyStyles = [];
84188
- for (const child14 of iterateChildren(view, masterContainer)) {
84189
- if (child14.recType !== RT.TextMasterStyleAtom) {
84957
+ for (const child16 of iterateChildren(view, masterContainer)) {
84958
+ if (child16.recType !== RT.TextMasterStyleAtom) {
84190
84959
  continue;
84191
84960
  }
84192
- if (child14.recInstance === 0 && titleStyles.length === 0) {
84193
- titleStyles = parseMasterStyleAtom(view, child14, scheme, fonts);
84194
- } else if (child14.recInstance === 1 && bodyStyles.length === 0) {
84195
- bodyStyles = parseMasterStyleAtom(view, child14, scheme, fonts);
84961
+ if (child16.recInstance === 0 && titleStyles.length === 0) {
84962
+ titleStyles = parseMasterStyleAtom(view, child16, scheme, fonts);
84963
+ } else if (child16.recInstance === 1 && bodyStyles.length === 0) {
84964
+ bodyStyles = parseMasterStyleAtom(view, child16, scheme, fonts);
84196
84965
  }
84197
84966
  }
84198
84967
  return { titleStyles, bodyStyles };
@@ -84209,9 +84978,9 @@ function parseFonts(view, docContainer) {
84209
84978
  if (!collection) {
84210
84979
  return fonts;
84211
84980
  }
84212
- for (const child14 of iterateChildren(view, collection)) {
84213
- if (child14.recType === RT.FontEntityAtom) {
84214
- const name = decodeTextChars(view, child14.dataOffset, Math.min(64, child14.recLen));
84981
+ for (const child16 of iterateChildren(view, collection)) {
84982
+ if (child16.recType === RT.FontEntityAtom) {
84983
+ const name = decodeTextChars(view, child16.dataOffset, Math.min(64, child16.recLen));
84215
84984
  const nul = name.indexOf("\0");
84216
84985
  fonts.push(nul >= 0 ? name.slice(0, nul) : name);
84217
84986
  }
@@ -84220,19 +84989,19 @@ function parseFonts(view, docContainer) {
84220
84989
  }
84221
84990
  function readSlidePersistIds(view, slideList) {
84222
84991
  const ids = [];
84223
- for (const child14 of iterateChildren(view, slideList)) {
84224
- if (child14.recType === RT.SlidePersistAtom && child14.recLen >= 4) {
84225
- ids.push(view.getUint32(child14.dataOffset, true));
84992
+ for (const child16 of iterateChildren(view, slideList)) {
84993
+ if (child16.recType === RT.SlidePersistAtom && child16.recLen >= 4) {
84994
+ ids.push(view.getUint32(child16.dataOffset, true));
84226
84995
  }
84227
84996
  }
84228
84997
  return ids;
84229
84998
  }
84230
84999
  function resolveSlideOrder(view, docContainer, directory, scheme) {
84231
- for (const child14 of iterateChildren(view, docContainer)) {
84232
- if (child14.recType === RT.SlideListWithText && child14.recInstance === 0) {
85000
+ for (const child16 of iterateChildren(view, docContainer)) {
85001
+ if (child16.recType === RT.SlideListWithText && child16.recInstance === 0) {
84233
85002
  return {
84234
- persistIds: readSlidePersistIds(view, child14),
84235
- outline: collectOutlineText(view, child14, scheme)
85003
+ persistIds: readSlidePersistIds(view, child16),
85004
+ outline: collectOutlineText(view, child16, scheme)
84236
85005
  };
84237
85006
  }
84238
85007
  }
@@ -84280,9 +85049,9 @@ async function parseDeck(streams) {
84280
85049
  const oleEmbedRefs = parseOleEmbedRefs(view, docContainer);
84281
85050
  const oleExObjIds = new Set(oleEmbedRefs.keys());
84282
85051
  let masterPersistId;
84283
- for (const child14 of iterateChildren(view, docContainer)) {
84284
- if (child14.recType === RT.SlideListWithText && child14.recInstance === 1) {
84285
- const ids = readSlidePersistIds(view, child14);
85052
+ for (const child16 of iterateChildren(view, docContainer)) {
85053
+ if (child16.recType === RT.SlideListWithText && child16.recInstance === 1) {
85054
+ const ids = readSlidePersistIds(view, child16);
84286
85055
  masterPersistId = ids[0];
84287
85056
  break;
84288
85057
  }
@@ -84552,15 +85321,15 @@ function runPropsXml(run, ctx) {
84552
85321
  attrs2.push('u="sng"');
84553
85322
  }
84554
85323
  attrs2.push('dirty="0"');
84555
- let children5 = "";
85324
+ let children6 = "";
84556
85325
  if (run.colorRgb !== void 0) {
84557
- children5 += solidFill(run.colorRgb);
85326
+ children6 += solidFill(run.colorRgb);
84558
85327
  }
84559
85328
  if (run.fontName !== void 0) {
84560
- children5 += `<a:latin typeface="${esc(run.fontName)}"/>`;
85329
+ children6 += `<a:latin typeface="${esc(run.fontName)}"/>`;
84561
85330
  }
84562
- children5 += hyperlinkClickXml(run.hyperlink, ctx.hyperlinkRels, ctx.slideCount);
84563
- return children5.length > 0 ? `<a:rPr ${attrs2.join(" ")}>${children5}</a:rPr>` : `<a:rPr ${attrs2.join(" ")}/>`;
85331
+ children6 += hyperlinkClickXml(run.hyperlink, ctx.hyperlinkRels, ctx.slideCount);
85332
+ return children6.length > 0 ? `<a:rPr ${attrs2.join(" ")}>${children6}</a:rPr>` : `<a:rPr ${attrs2.join(" ")}/>`;
84564
85333
  }
84565
85334
  function runXml(run, ctx) {
84566
85335
  const segments = run.text.split(String.fromCharCode(11));
@@ -84685,8 +85454,8 @@ function picXml(picture, ctx) {
84685
85454
  function grpXml(group, ctx) {
84686
85455
  const id = ctx.nextId();
84687
85456
  const anchor = group.anchor ?? group.childRect;
84688
- const child14 = group.childRect;
84689
- const inner = `<a:chOff x="${emu(child14.x)}" y="${emu(child14.y)}"/><a:chExt cx="${Math.max(0, emu(child14.w))}" cy="${Math.max(0, emu(child14.h))}"/>`;
85457
+ const child16 = group.childRect;
85458
+ const inner = `<a:chOff x="${emu(child16.x)}" y="${emu(child16.y)}"/><a:chExt cx="${Math.max(0, emu(child16.w))}" cy="${Math.max(0, emu(child16.h))}"/>`;
84690
85459
  return `<p:grpSp><p:nvGrpSpPr>${cNvPrXml(id, `Group ${id}`, group.actionClick, ctx)}<p:cNvGrpSpPr/><p:nvPr/></p:nvGrpSpPr><p:grpSpPr>${xfrmXml({ ...group, anchor }, inner)}</p:grpSpPr>${group.children.map((c) => shapeXml(c, ctx)).join("")}</p:grpSp>`;
84691
85460
  }
84692
85461
  function shapeXml(shape, ctx) {
@@ -86281,12 +87050,12 @@ function setChartSeriesChartType(element, seriesIndex, seriesType) {
86281
87050
  }
86282
87051
  }
86283
87052
  function ensureDataPoint(series, pointIndex2) {
86284
- const points4 = series.dataPoints ??= [];
86285
- let dp = points4.find((p) => p.idx === pointIndex2);
87053
+ const points5 = series.dataPoints ??= [];
87054
+ let dp = points5.find((p) => p.idx === pointIndex2);
86286
87055
  if (!dp) {
86287
87056
  dp = { idx: pointIndex2 };
86288
- points4.push(dp);
86289
- points4.sort((a, b) => a.idx - b.idx);
87057
+ points5.push(dp);
87058
+ points5.sort((a, b) => a.idx - b.idx);
86290
87059
  }
86291
87060
  return dp;
86292
87061
  }
@@ -86828,14 +87597,14 @@ function createMediaElement(mediaType, source, options) {
86828
87597
  posterFrameData: options?.posterFrame
86829
87598
  };
86830
87599
  }
86831
- function createGroupElement(children5, options) {
87600
+ function createGroupElement(children6, options) {
86832
87601
  const p = pos("group", options);
86833
87602
  return {
86834
87603
  type: "group",
86835
87604
  id: generateId("grp"),
86836
87605
  ...p,
86837
87606
  rotation: options?.rotation,
86838
- children: children5
87607
+ children: children6
86839
87608
  };
86840
87609
  }
86841
87610
  function createFreeformElement(pathData, options) {
@@ -86922,8 +87691,8 @@ var SlideBuilder = class {
86922
87691
  return this;
86923
87692
  }
86924
87693
  /** Add a group of elements to the slide. */
86925
- addGroup(children5, options) {
86926
- this.slide.elements.push(createGroupElement(children5, options));
87694
+ addGroup(children6, options) {
87695
+ this.slide.elements.push(createGroupElement(children6, options));
86927
87696
  return this;
86928
87697
  }
86929
87698
  /** Add a pre-built element directly. */
@@ -87578,4 +88347,4 @@ var PresentationBuilder = class {
87578
88347
  * `<p:extLst>` (optional)
87579
88348
  */
87580
88349
 
87581
- export { AFTER_ANIMATION_VALUES, ConnectorXmlFactory, DEFAULT_AFTER_ANIMATION_DIM_COLOR, DEFAULT_ANIMATION_DURATION_MS, DEFAULT_ANIMATION_TRIGGER, DEFAULT_POWERPOINT_TABLE_STYLE_ID, ELEMENT_PARAGRAPH_GEOMETRY_KEYS, EncryptedPptError, MediaGraphicFrameXmlFactory, OOXML_TO_PRESET_EMPH, OOXML_TO_PRESET_ENTR, OOXML_TO_PRESET_EXIT, PRESET_TO_OOXML, PictureXmlFactory, PptxAnimationWriteService, PptxColorStyleCodec, PptxCommentAuthorsXmlFactory, PptxCommentXmlFactoryProvider, PptxCompatibilityService, PptxConnectorParser, PptxContentTypesBuilder, PptxDocumentPropertiesUpdater, PptxEditorAnimationService, PptxElementTransformUpdater, PptxElementXmlBuilder, PptxGraphicFrameParser, PptxHandler, PptxHandlerRuntime102 as PptxHandlerRuntime, PptxHandlerRuntimeFactory, PptxLoadDataBuilder, PptxMediaDataParser, PptxNativeAnimationService, PptxPresentationSaveBuilder, PptxPresentationSlidesReconciler, PptxRuntimeDependencyFactory, PptxSaveConstantsFactory, PptxSaveState, PptxSaveStateBuilder, PptxShapeIdValidator, PptxShapeStyleExtractor, PptxSlideBackgroundBuilder, PptxSlideBuilder, PptxSlideCommentPartWriter, PptxSlideCommentsXmlFactory, PptxSlideElementsBuilder, PptxSlideLoaderService, PptxSlideMediaRelationshipBuilder, PptxSlideNotesBuilder, PptxSlideNotesPartUpdater, PptxSlideRelationshipRegistry, PptxSlideTransitionService, PptxTableDataParser, PptxTemplateBackgroundService, PptxXmlBuilder, PptxXmlFactoryProvider, PptxXmlLookupService, PresentationBuilder, STANDARD_LAYOUTS, SlideBuilder, TABLE_STYLE_PART_SEQUENCE, TextShapeXmlFactory, addChartCategory, addChartSeries, addTableStyleToMap, animationFor, applyAfterAnimationBehavior, applyAfterAnimationFromEditorList, applyConnectorShapeIds, applySoundToEffectCTn, applySpeedToDuration, applyTableCellTextAndStyle, assertChartGradientSupported, breakAutoNumberRun, buildBlankPresentationArchive, buildRelationshipsXml, buildSingleEffectNode, buildSlideReferenceRemap, capturedPresetIds, capturedPresetNativeAnimation, capturedSubtypes, clonePartGraph, convertPptToPptx, createAutoNumberSequence, createChartElement, createConnectorElement, createDefaultPptxHandlerRuntime, createFreeformElement, createGroupElement, createImageElement, createMediaElement, createPptxSaveConstants, createShapeElement, createTableCellXml, createTableElement, createTableGraphicFrameRawXml, createTableStyleEntry, createTextElement, deleteTableStyleFromMap, ensureChartData, ensureDataPoint, extractAfterAnimationFromSubTnLst, extractGraphicBuilds, extractTableCellTextRuns, generateTableStyleGuid, getAfterAnimation, getAfterAnimationState, getCapturedPreset, getCapturedTree, hasAnimation, isEncryptedLegacyPpt, isLegacyPpt, isNativeAfterAnimationOnly, mergeNativeAfterAnimationIntoEditorAnimations, mergeNativeSoundIntoEditorAnimations, nextAutoNumber, nextRelationshipId, normalizeTableStyleGuid, ooxmlToPresetName, parseAnimEffectFilter, parseCondition, parseConditionList, parseFilterToken, parseRelationships, parseTimeTargetElement, rebuildTableStructureInRawXml, reconcileAnimationTargets, relationshipsPartFor, relativePartTarget, remapEditorAnimationsToShapeIds, removeChartCategory, removeChartSeries, removeEmptyDataPoint, resetIdCounter, resolveConnectorShapeIds, resolveDirectionSubtype, resolveEffectTiming, resolveIterationCount, resolveOoxmlPresetMapping, resolveOpacitySet, resolvePartPath, resolveTableBackgroundFillRef, resolveTableStyleLineRef, resolveTableStyleLineRefColor, resolveVisibilitySetTiming, serializeCondition, serializeConditionList, serializeGraphicBuild, serializeTimeTargetElement, setAfterAnimation, setAfterAnimationColor, setChartAreaFormat, setChartAxis, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategories, setChartDataLabels, setChartDataPointExplosion, setChartDataPointFill, setChartDataPointLabel, setChartDataPointMarker, setChartGroupOptions, setChartGrouping, setChartLegend, setChartSeriesChartType, setChartSeriesColor, setChartSeriesErrorBars, setChartSeriesMarker, setChartSeriesTrendline, setChartTitle, setChartType, shouldHoldEndState, timingCurveToAccelDecel, toChartGradientFill, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateChartDataPoint, updateChartSeriesValues, updateMergeAttrsInRawXml, upsert, validateSeriesIndex };
88350
+ export { AFTER_ANIMATION_VALUES, ConnectorXmlFactory, DEFAULT_AFTER_ANIMATION_DIM_COLOR, DEFAULT_ANIMATION_DURATION_MS, DEFAULT_ANIMATION_TRIGGER, DEFAULT_POWERPOINT_TABLE_STYLE_ID, ELEMENT_PARAGRAPH_GEOMETRY_KEYS, EncryptedPptError, MediaGraphicFrameXmlFactory, OOXML_TO_PRESET_EMPH, OOXML_TO_PRESET_ENTR, OOXML_TO_PRESET_EXIT, PRESET_TO_OOXML, PictureXmlFactory, PptxAnimationWriteService, PptxColorStyleCodec, PptxCommentAuthorsXmlFactory, PptxCommentXmlFactoryProvider, PptxCompatibilityService, PptxConnectorParser, PptxContentTypesBuilder, PptxDocumentPropertiesUpdater, PptxEditorAnimationService, PptxElementTransformUpdater, PptxElementXmlBuilder, PptxGraphicFrameParser, PptxHandler, PptxHandlerRuntime102 as PptxHandlerRuntime, PptxHandlerRuntimeFactory, PptxLoadDataBuilder, PptxMediaDataParser, PptxNativeAnimationService, PptxPresentationSaveBuilder, PptxPresentationSlidesReconciler, PptxRuntimeDependencyFactory, PptxSaveConstantsFactory, PptxSaveState, PptxSaveStateBuilder, PptxShapeIdValidator, PptxShapeStyleExtractor, PptxSlideBackgroundBuilder, PptxSlideBuilder, PptxSlideCommentPartWriter, PptxSlideCommentsXmlFactory, PptxSlideElementsBuilder, PptxSlideLoaderService, PptxSlideMediaRelationshipBuilder, PptxSlideNotesBuilder, PptxSlideNotesPartUpdater, PptxSlideRelationshipRegistry, PptxSlideTransitionService, PptxTableDataParser, PptxTemplateBackgroundService, PptxXmlBuilder, PptxXmlFactoryProvider, PptxXmlLookupService, PresentationBuilder, STANDARD_LAYOUTS, SlideBuilder, TABLE_STYLE_PART_SEQUENCE, TextShapeXmlFactory, addChartCategory, addChartSeries, addTableStyleToMap, animationFor, applyAfterAnimationBehavior, applyAfterAnimationFromEditorList, applyChartGroupOptionsInput, applyConnectorShapeIds, applySoundToEffectCTn, applySpeedToDuration, applyTableCellTextAndStyle, assertChartGradientSupported, breakAutoNumberRun, buildBlankPresentationArchive, buildRelationshipsXml, buildSingleEffectNode, buildSlideReferenceRemap, capturedPresetIds, capturedPresetNativeAnimation, capturedSubtypes, chartFormatTargetKey, clonePartGraph, convertPptToPptx, createAutoNumberSequence, createChartElement, createConnectorElement, createDefaultPptxHandlerRuntime, createFreeformElement, createGroupElement, createImageElement, createMediaElement, createPptxSaveConstants, createShapeElement, createTableCellXml, createTableElement, createTableGraphicFrameRawXml, createTableStyleEntry, createTextElement, deleteTableStyleFromMap, ensureChartData, ensureDataPoint, extractAfterAnimationFromSubTnLst, extractGraphicBuilds, extractTableCellTextRuns, generateTableStyleGuid, getAfterAnimation, getAfterAnimationState, getCapturedPreset, getCapturedTree, hasAnimation, isEncryptedLegacyPpt, isLegacyPpt, isLineDrawnChartType, isNativeAfterAnimationOnly, mergeNativeAfterAnimationIntoEditorAnimations, mergeNativeSoundIntoEditorAnimations, nextAutoNumber, nextRelationshipId, normalizeTableStyleGuid, ooxmlToPresetName, parseAnimEffectFilter, parseChartFormatTargetKey, parseCondition, parseConditionList, parseFilterToken, parseRelationships, parseTimeTargetElement, rebuildTableStructureInRawXml, reconcileAnimationTargets, relationshipsPartFor, relativePartTarget, remapEditorAnimationsToShapeIds, removeChartCategory, removeChartSeries, removeEmptyDataPoint, resetIdCounter, resolveConnectorShapeIds, resolveDirectionSubtype, resolveEffectTiming, resolveIterationCount, resolveOoxmlPresetMapping, resolveOpacitySet, resolvePartPath, resolveTableBackgroundFillRef, resolveTableStyleLineRef, resolveTableStyleLineRefColor, resolveVisibilitySetTiming, serializeCondition, serializeConditionList, serializeGraphicBuild, serializeTimeTargetElement, setAfterAnimation, setAfterAnimationColor, setChartAreaFormat, setChartAxis, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategories, setChartDataLabels, setChartDataPointExplosion, setChartDataPointFill, setChartDataPointLabel, setChartDataPointMarker, setChartGroupOptions, setChartGrouping, setChartLegend, setChartSeriesChartType, setChartSeriesColor, setChartSeriesErrorBars, setChartSeriesMarker, setChartSeriesTrendline, setChartTitle, setChartType, shouldHoldEndState, timingCurveToAccelDecel, toChartGradientFill, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateChartDataPoint, updateChartSeriesValues, updateMergeAttrsInRawXml, upsert, validateSeriesIndex };