@sheetxl/mcp 0.8.0-beta.15 → 0.8.0-beta.16

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 (232) hide show
  1. package/LICENSE.md +8 -7
  2. package/assets/{OVRdpPUzR0-ueTxE.js → -PtBguqpLi7Nr4Df.js} +2 -2
  3. package/assets/{BOPsJmq7v7HOKUkO.js → 2GLqCzpAJP6jbaRx.js} +12 -12
  4. package/assets/{BPwmBu_aouERJjiW.js → 3_NofB4A4Qhl-4YY.js} +2 -2
  5. package/assets/{CGBGyaCGdlZFQYK0.js → 3t-I20nDzFHBd5UJ.js} +2 -2
  6. package/assets/{hulrR0PldUxMJm_F.js → 4vS8pASPZSU7QcRZ.js} +4 -4
  7. package/assets/{Bh0PNKlrR4VAqnP8.js → 5B_tapYOcjOv1wGO.js} +35528 -30074
  8. package/assets/{FS9NbEKgQvz5wqvZ.js → 8NrxfSWBHDaEJvhz.js} +2 -2
  9. package/assets/{oxjm7Yr7u7MeaO5P.js → 9MXt8KXdWlbEJNc2.js} +2 -2
  10. package/assets/{CduNzsdbTigxH-ZK.js → AjWB-QdIkr07kToW.js} +189 -189
  11. package/assets/{DvUUArnZwoYOKOuk.js → B16N6VSLY5HPgVkD.js} +2 -2
  12. package/assets/{C0CiMKC3lWK1z9p5.js → B2YEEPHIkNcezk9T.js} +3 -3
  13. package/assets/{CNz3LdmvsOEJoLO9.js → B3MqN3t5naY3moOk.js} +2 -2
  14. package/assets/BBPjYcS8XKQREith.js +199 -0
  15. package/assets/{B4VnJacrzr1x4PHR.js → BCSRsSAEPlwR59H5.js} +5 -5
  16. package/assets/{CMK6tIDVqYYvK4GZ.js → BIUUGUhypimIDg2a.js} +2 -2
  17. package/assets/{iujMYIEPx_v3sdPf.js → BNrpvJZtIL0Ex_wE.js} +996 -995
  18. package/assets/{DA_ar3QKLKtJ9fJD.js → BR66nPIzyzlOcP10.js} +2 -2
  19. package/assets/{CvngwB17_ve4W49b.js → BRLA4pJWiYdpW-69.js} +73 -73
  20. package/assets/{Crt2kLdGIlBHANgg.js → BUAq-ENCmL0XGLIu.js} +2 -2
  21. package/assets/{Bn8D2bebQ2tFfwQt.js → BYqyNLuwXl7GKuzh.js} +43 -41
  22. package/assets/{ZuYfVKlp41IJnrOS.js → BZbxPclVVopktv3l.js} +2 -2
  23. package/assets/{Cf9LpgZz-W5blzy_.js → B_nQLUWaxp-Q1IfV.js} +3 -3
  24. package/assets/{BbcUxIZe3YXywsQR.js → BbDKWV_FQAICqZjP.js} +2 -2
  25. package/assets/{B2udpZ-uIaql3AUh.js → BbXlmp8W_cbr75FN.js} +6 -6
  26. package/assets/{CxjchwpiqxPM1XKd.js → BdMebk9YSA0oxQ_d.js} +70 -70
  27. package/assets/{JO3zH9hupFSV6vj2.js → Bdt9nQs8gDIzu_IG.js} +2 -2
  28. package/assets/{Cf2dcwmmmf13Rywg.js → BiE9M6RctwQ339_7.js} +2 -2
  29. package/assets/{BJxfinOazQqqByc-.js → BiGm1tKvxUh8oWbD.js} +2 -2
  30. package/assets/{DH7sGHzxUqIQkDnd.js → BjDsx_FHl0mShqHX.js} +2 -2
  31. package/assets/{DB-tkqI6wFXDKEfB.js → BlIrJwQGEASCgJdZ.js} +2 -2
  32. package/assets/{DD8HNAUFroTCuD-b.js → BlWfQ5HPEehB_lPz.js} +3288 -2130
  33. package/assets/BpgPKKZwxXklRyo7.js +7 -0
  34. package/assets/{D7oUtYjetuykGhQ5.js → BrtLeTsrulaU6osB.js} +2 -2
  35. package/assets/{LyLlBk--VJD2V-f8.js → BsFWmVYPrLyh5Dre.js} +34 -34
  36. package/assets/{DJiLWtmPR2OQNjzi.js → BtNRIFE92ka4hATo.js} +2 -2
  37. package/assets/{DKLm4nWzynGw1Kr9.js → BuhHuKVWppW4L8AV.js} +2 -2
  38. package/assets/{C4z2IilWTuu2TWXw.js → C-AIgWmHugqMcl9J.js} +3 -3
  39. package/assets/{U1XXGEPuuqIAzYl1.js → C-gN7uBg-MWHRo4g.js} +2 -2
  40. package/assets/{vZZi_iKYHm05gAye.js → C0JSC9gVwR1QxopD.js} +2 -2
  41. package/assets/{Cfhv_Yw_LT8VzAMt.js → C2dG4GHThf9O-IJy.js} +2 -2
  42. package/assets/{Cg51xaLRUkVOMdCZ.js → C3Wibs7QGFZ1FI7W.js} +2 -2
  43. package/assets/{BuUEsifnQALe49uk.js → C75i_5ip7OhGkuiF.js} +2 -2
  44. package/assets/{DDnwKPJSznyfYDZS.js → C95HXhZkkhnUx_aE.js} +3 -3
  45. package/assets/{CWl6oHiJxkNKRixk.js → CAEhAL7-0FG7jdzN.js} +2 -2
  46. package/assets/{D-ffk16w8c5w0mxI.js → CAMrW5ypKhgn105y.js} +2 -2
  47. package/assets/{B-MqXm_7luDLwazY.js → CBPkPTmeaEokFPSI.js} +2 -2
  48. package/assets/{xnhBSX6lAcmBM65y.js → CDqG64rXHp9-2tXr.js} +2 -2
  49. package/assets/{ClNQN3vEg5b5qUDp.js → CFdJvXLSbUrvNera.js} +2435 -2447
  50. package/assets/{PpFbmF0DFeUdpb9I.js → CG8zvnxueimOY7wm.js} +2 -2
  51. package/assets/{BsQZI1vXTRE63Zy-.js → CIqJdIUKSLZkNwHy.js} +345 -235
  52. package/assets/{_fUXIv6nKvgZkhxn.js → CJa8JVvKGVBz8Q7q.js} +3 -3
  53. package/assets/{CwPBmcY6xSP8dNlh.js → CK9h6iDOreaI8GEt.js} +12 -12
  54. package/assets/CL1-ziDI0aAaVbhJ.js +7 -0
  55. package/assets/{C7ONfuYIWRmDu_vs.js → CVRc6jQcH155Z89u.js} +2 -2
  56. package/assets/{B9US2ZrF93KOjmAx.js → CVbRpT7QPHOMgwTx.js} +2 -2
  57. package/assets/CW-ivE6pl3V7vKuT.js +2563 -0
  58. package/assets/{F_f0jJqM5MrXGbwC.js → CX-6eYkcr5y0VmQm.js} +4 -4
  59. package/assets/{BlPubAFi7DY7VrAo.js → CZepo1lDTQp1myg6.js} +2 -2
  60. package/assets/{D8J14MLlN2HRXdXB.js → C_0RM0w6Pw70Bx_Y.js} +2 -2
  61. package/assets/{C2OrZ8LZ-TI6eYG0.js → Ci7-PIIhZwb2mVv5.js} +2 -2
  62. package/assets/{BleMG0hAQgjE8fTa.js → Cl98sBOj9GM2XnFe.js} +3 -3
  63. package/assets/{DwWngYJTgC0KLbih.js → CoIjAX2gECGb3Wxl.js} +2 -2
  64. package/assets/{DcWTBOi_iBFc6U4J.js → Co_y6GfwJTYtOmlt.js} +8 -8
  65. package/assets/{BQMDOjNBMjAx9WiW.js → CrwtgrD7BbXyCkx0.js} +2 -2
  66. package/assets/{CJ5WQnaoCsdr5gf4.js → CsjjeeOHE2624pGt.js} +2 -2
  67. package/assets/Ct5VTtdW77k-WcP_.js +529 -0
  68. package/assets/{DwLZpYUp85UHBE3H.js → CvJkwRgwm80S2bcd.js} +2 -2
  69. package/assets/{fDMpDhXp36CatF-G.js → D-irgQZ2WmkP9dnK.js} +2 -2
  70. package/assets/{BFdeov2e_xUQPEY_.js → D1g6IOzdvInVLV-x.js} +7 -7
  71. package/assets/{Btys7KwtvV3hz2F6.js → D2YdqNWXwSHJMPbA.js} +109 -109
  72. package/assets/{BQbF1RkUH8WyXqSD.js → D3bxrF1Ys2GSVfQH.js} +25 -19
  73. package/assets/{wfVh0olISLRWdv9Q.js → D7iU4kaxzl_PojNt.js} +2 -2
  74. package/assets/{DTfl-4Iboi6TQU5m.js → D7ibkNIu_Pn4TeBD.js} +4 -4
  75. package/assets/DBANZf_eAzaCFdIj.js +4676 -0
  76. package/assets/{DoILAmhKUOlKWRVw.js → DBMZF6PRHCko9K9R.js} +2 -2
  77. package/assets/{BFXeoFUbuc4IKTz9.js → DEIkGoOZ_WeuY0Lj.js} +2 -2
  78. package/assets/{xmTQJJVyCrcq77WR.js → DFAqI-o57Kd_Azlt.js} +2 -2
  79. package/assets/{BtjqpAKczftx91BQ.js → DFn_thWGK0_EZI5k.js} +2 -2
  80. package/assets/{DlBdhv6NHgrNp5Yo.js → DFvs1LVzXKm1N5M2.js} +3 -3
  81. package/assets/{DVchxwp6w6lu2Ihu.js → DJdRl2yX9DP_D8kh.js} +3 -3
  82. package/assets/{BG5kgbDRXMc0re6W.js → DKRa_Oc4XqB3DABB.js} +9 -9
  83. package/assets/{BZPTaa0WjpoUAbgZ.js → DLhlBqwsDnmscAuL.js} +2 -2
  84. package/assets/{BRzp6DEIYUgM3NkN.js → DMhtIFfkX-DZT_e3.js} +4 -4
  85. package/assets/{DpdHDTFOeuzDVNEe.js → DNhfziNrJGdL8BYs.js} +78 -77
  86. package/assets/{jadLBUNBVR9mbZ35.js → DOZ40EyxD3m0gCos.js} +809 -494
  87. package/assets/{SHZe9VOU1prGs1F9.js → DQcus4X_kTKIIyX6.js} +2 -2
  88. package/assets/{C7Z1li2XjWi6bkrp.js → DR9xHYH6v5G0lOqf.js} +4 -4
  89. package/assets/{DsCI_ZYm_jDjXF3J.js → DTLbKr_XIJMwQJmk.js} +52 -52
  90. package/assets/{_d5XJ7dn1CKKYrep.js → DaILIYfy-jPVTXjz.js} +3 -3
  91. package/assets/{S16s2h9qoYVBlVEa.js → Dd8CHUZz7xuYTfp-.js} +1444 -1356
  92. package/assets/{B5lHOOQ_rkP4Mi2r.js → DdrsYdX3bLixdb_9.js} +2 -2
  93. package/assets/DfWWAHOjmhqvN3m_.js +7166 -0
  94. package/assets/{9U9XCqqdn-q3i2fj.js → DfzLOnWTNL_2J90y.js} +2 -2
  95. package/assets/{BTQhJQ3e0hsiousD.js → Dg4JXbd1yPGNZOtL.js} +2 -2
  96. package/assets/Di4ehJD7muvtcrN3.js +169 -0
  97. package/assets/{BbAmA46MhQSu3ZF_.js → DmLbqbAez7Dzwyl7.js} +2 -2
  98. package/assets/{CudNpUD78SrtJIiy.js → Dp-dLoOaBndV2N5i.js} +3 -3
  99. package/assets/DsTi7zHk_Xl37bAD.js +14 -0
  100. package/assets/{Diee6f_qAmcZBd2_.js → DvFwVzuc5YfagNnH.js} +2 -2
  101. package/assets/{D0CHDsemn0S31ltt.js → Dy67BUF2yd8VRPwL.js} +2 -2
  102. package/assets/{LEJp05fjmflKgyqF.js → DzkccbbE6iXMqQDO.js} +451 -447
  103. package/assets/{B7gUyrfLln3TiyKM.js → Gqh12ggLm5KlvN3v.js} +2 -2
  104. package/assets/{BjqQjxBuoXza8oqg.js → JC8UUcu6m23qqrr3.js} +3 -4
  105. package/assets/{ChWpsFGl-BYOnX_A.js → LwFDS0HxPZKiiEnN.js} +2 -2
  106. package/assets/{BeLr36oL3jmeXFFi.js → POdlv6cpSx6ftJxx.js} +2 -2
  107. package/assets/{CMWAsUQ66V8fYrME.js → QVWayvB03YMyTKt3.js} +3 -3
  108. package/assets/{Dz8UUJ7Xc2oN5PBG.js → SB2aKOIVln0EkgXR.js} +2 -2
  109. package/assets/SaCo3me4_hw2b1L4.js +2039 -0
  110. package/assets/{CecTe22WURiXbVdY.js → TNQaiw20sEAEUiK5.js} +386 -372
  111. package/assets/{jPUOH4FHF4b-rapv.js → W2FU69Pfo4chpqtk.js} +2 -2
  112. package/assets/{CXHslDxkWCuEcCSQ.js → YXC__Myl-BuIFW6s.js} +2 -2
  113. package/assets/{DPCKMM7sgWbrtB8z.js → Z01wJImjl6lBMpf4.js} +2 -2
  114. package/assets/{C97xDe_wBbLZh_uW.js → h6EQSu5n2vTsu2yd.js} +2 -2
  115. package/assets/{FzNG48GE_wso6RII.js → iULnLPcNKVpz00r7.js} +2 -2
  116. package/assets/{DEW2GxfGYqVFvrfg.js → iqQWGoJaPha0_8lU.js} +2 -2
  117. package/assets/{BrcQmHcE7Hcr1erJ.js → nDmE2I07HvkpRdR0.js} +2 -2
  118. package/assets/{Bg95xYj5siqhHVEz.js → nmB0nnkFQf5NWo0i.js} +3 -3
  119. package/assets/{BCy1zP97fsiIcvj6.js → pQUJKbHGetb7dcOr.js} +2 -2
  120. package/assets/{B2Ek-DWpZMGJ0V1Z.js → rfwqMukKbJBeJBuC.js} +3 -3
  121. package/assets/{By-7OWXShMlFFejV.js → soSlr334Fv1j5t2m.js} +2 -2
  122. package/index.js +2010 -1944
  123. package/lib.js +2 -2
  124. package/licenses/dependencies.txt +259 -194
  125. package/package.json +4 -9
  126. package/resources/locales/@sheetxl/sdk/de/model.msg.json +82 -1
  127. package/resources/locales/@sheetxl/sdk/en/model.msg.json +80 -1
  128. package/screenshot-page/assets/{CSUd8n1H0VBfREnk.js → -N4OYIMgf6f5vgNy.js} +1 -1
  129. package/screenshot-page/assets/{B4PbXdzBe9BsoZ0e.js → B7eQ3rE-7Vayb_4O.js} +1 -1
  130. package/screenshot-page/assets/B8i4Sr2kMQAXp0rb.js +4 -0
  131. package/screenshot-page/assets/{DQWHkaQeNXft9j8b.js → B8qybUclSjEYP5FJ.js} +2 -2
  132. package/screenshot-page/assets/BIHbD4jMsk3NetOd.js +1 -0
  133. package/screenshot-page/assets/BIrVK5hdDCUYmxGO.js +1 -0
  134. package/screenshot-page/assets/{l32n8O_A78Qqduv3.js → BJ2r2WfEL3SgkBAX.js} +1 -1
  135. package/screenshot-page/assets/BJviQwDXR5L6l1DA.js +1 -0
  136. package/screenshot-page/assets/BM78thqEW6HwXFAK.js +13 -0
  137. package/screenshot-page/assets/{BcOdl17EeFSxnAiq.js → BMf827t1Ul65MHd5.js} +1 -1
  138. package/screenshot-page/assets/BMwQInar0xVS5FRu.js +1 -0
  139. package/screenshot-page/assets/{BUjI304IvdJnFXH3.js → BU5S8KEzPmIA_Flm.js} +1 -1
  140. package/screenshot-page/assets/{D6Jpaz2YkhOfzxDB.js → BYQZ8o8k3-MDoNat.js} +1 -1
  141. package/screenshot-page/assets/{CZf9s6otzzoaBlSs.js → BftXEPOuf5Uwxpud.js} +1 -1
  142. package/screenshot-page/assets/Bir0SSOHX0w2yo8h.js +1 -0
  143. package/screenshot-page/assets/{CykecBozGGFl26KA.js → Btgo0VFTT0JxuaP3.js} +74 -68
  144. package/screenshot-page/assets/C2H2lX8eyKpxpP6M.js +2 -0
  145. package/screenshot-page/assets/{B-KIwD5F_5S-NsPg.js → C71ZZMVLfHdPl441.js} +1 -1
  146. package/screenshot-page/assets/CFfgJlXaIS8QMx5O.js +1 -0
  147. package/screenshot-page/assets/{DGXDfjkGZjMRAXPg.js → CN8u05DjKwNHbUHN.js} +1 -1
  148. package/screenshot-page/assets/CQFj5AGXfIA9z9zI.js +1 -0
  149. package/screenshot-page/assets/{gG0AFZ45VxS_moMw.js → CRsTnamLrPN5-Dsi.js} +1 -1
  150. package/screenshot-page/assets/CYfkL98Zu43S8-50.js +42 -0
  151. package/screenshot-page/assets/{DXQLzGmxoyN3kfQi.js → CZa1rha3RnQUWyOk.js} +7 -7
  152. package/screenshot-page/assets/{CpbohdgEaEsVDi9J.js → C_vPl50T1L5HWnhv.js} +1 -1
  153. package/screenshot-page/assets/{CbUDukmvDZmVfhJH.js → CfkssmHURDicfYvR.js} +1 -1
  154. package/screenshot-page/assets/{Bj-vfAT28PK-tWWa.js → CguXw0IcKNPbmAbj.js} +2 -2
  155. package/screenshot-page/assets/{DmbuCapSSCYIa3yk.js → ClzJdxlUDDtBYjH8.js} +1 -1
  156. package/screenshot-page/assets/{BTboCICZ-951XWsi.js → CqyMYduWKFvmMs_Z.js} +1 -1
  157. package/screenshot-page/assets/CzsoLbEIUVK5ia1C.js +1 -0
  158. package/screenshot-page/assets/D2IHCJ1QWDKwmhge.js +1 -0
  159. package/screenshot-page/assets/D6CzedWHXTesD55R.js +1 -0
  160. package/screenshot-page/assets/D7biuwkvm3zAwsBa.js +39 -0
  161. package/screenshot-page/assets/D8s3sJnhFxbI3Dqn.js +1 -0
  162. package/screenshot-page/assets/{hp_-JA1DMK4Yoztn.js → DDkL9PZPXAggW2Yr.js} +19 -19
  163. package/screenshot-page/assets/DEpn6VGd30cHEJOS.js +1 -0
  164. package/screenshot-page/assets/{CIged53b3hHKxa-o.js → DLFFFQjTi5Ji1940.js} +1 -1
  165. package/screenshot-page/assets/DMxrNtfw275en7pm.js +1 -0
  166. package/screenshot-page/assets/{CqR3hGrC956TkCMj.js → DRncpwDkZZX8rL9S.js} +1 -1
  167. package/screenshot-page/assets/DTrnAtpccj55fGg5.js +1 -0
  168. package/screenshot-page/assets/D_kJ3WunvjIINcHC.js +1 -0
  169. package/screenshot-page/assets/{BFaiQZKle44Rhyou.js → D_rtIYQ7FDC2CoEn.js} +1 -1
  170. package/screenshot-page/assets/{Bf7xq8PyF4ohjMzP.js → Db6bZVJ-184DJIoe.js} +2 -2
  171. package/screenshot-page/assets/{DyLWQxXXTw5uwPVy.js → DeyRZ5rprDbRbuf4.js} +1 -1
  172. package/screenshot-page/assets/{D47ePD4x1lVazNdl.js → DgtqX4DiBgkepVZZ.js} +1 -1
  173. package/screenshot-page/assets/DhB6GjSJIeTmIODk.js +1 -0
  174. package/screenshot-page/assets/Dn5PwRw7rrTKNnql.js +586 -0
  175. package/screenshot-page/assets/{TfhknTx8vxQkw4zV.js → Dq7wGcTrNIshovlT.js} +2 -2
  176. package/screenshot-page/assets/{BUGXf2DEBog16Slb.js → DqXO_Zw1Cp7rAQ04.js} +2 -2
  177. package/screenshot-page/assets/{21oAESJyBGXeHegm.js → DtihumgXQ7ETaN0A.js} +2 -2
  178. package/screenshot-page/assets/DuYb_otrRZZDq6-f.js +2 -0
  179. package/screenshot-page/assets/DyiVrm8mEnEaoZHa.js +3 -0
  180. package/screenshot-page/assets/{BHqg55S-4_OoAu3P.js → LYyM_ig973jLdOU0.js} +2 -2
  181. package/screenshot-page/assets/TilS2JSBGVkd1za3.js +3 -0
  182. package/screenshot-page/assets/Tph2vYqw17-NBCtd.js +1 -0
  183. package/screenshot-page/assets/UKFgEuwI1UMhPqKF.js +2 -0
  184. package/screenshot-page/assets/XgsioU5Px1T5gKAY.js +1 -0
  185. package/screenshot-page/assets/cTMKPkmZF8FWQaMn.js +1 -0
  186. package/screenshot-page/assets/hlxJ87-H830aSZBQ.js +1 -0
  187. package/screenshot-page/assets/{DDQWM8rNYCYzKa9R.js → lgeNUp9cU20IAotv.js} +1 -1
  188. package/screenshot-page/assets/nM1r2xslndIMKlI2.js +2 -0
  189. package/screenshot-page/assets/{BSdFVGZNhU6YHbMI.js → rOzyaU7hqchMbhRL.js} +1 -1
  190. package/screenshot-page/index.html +12 -12
  191. package/screenshot-page/resources/locales/@sheetxl/sdk/de/model.msg.json +82 -1
  192. package/screenshot-page/resources/locales/@sheetxl/sdk/en/model.msg.json +80 -1
  193. package/types/scripting-api.json +9967 -9497
  194. package/types/scripting-enums.json +27 -0
  195. package/types/scripting.d.ts +2282 -166
  196. package/assets/BBb_3gEGzmEzbTIk.js +0 -359
  197. package/assets/BSxTn2BhkEEeF9x_.js +0 -2346
  198. package/assets/CWVWdbY1B1-WLl9k.js +0 -199
  199. package/assets/CZTSZL3T_f-vSXqM.js +0 -7
  200. package/assets/DaoSWy3EFlqpZaLr.js +0 -4437
  201. package/assets/Dht2mcOSyYlPY32b.js +0 -14
  202. package/assets/DkibD_CEVePaoj_y.js +0 -7
  203. package/assets/jiEe5eKV3BFPBWfi.js +0 -6294
  204. package/screenshot-page/assets/0MTaPYjKud2Q9QG9.js +0 -1
  205. package/screenshot-page/assets/B2MJPcMcsuv6FekC.js +0 -1
  206. package/screenshot-page/assets/BQfe-XTIOGeUnD9B.js +0 -1
  207. package/screenshot-page/assets/BTMW3ukmc44U2fy7.js +0 -1
  208. package/screenshot-page/assets/B_W2QroTKADz3ABp.js +0 -2
  209. package/screenshot-page/assets/BksaQEoZr5OWq-_d.js +0 -3
  210. package/screenshot-page/assets/BnoVwUBEor8NgQNs.js +0 -4
  211. package/screenshot-page/assets/BzQ5GyiXq8gTz-H-.js +0 -1
  212. package/screenshot-page/assets/C2Wh2h27c7FUb8Yk.js +0 -1
  213. package/screenshot-page/assets/C81mK8aZKZAAS-AB.js +0 -1
  214. package/screenshot-page/assets/Ca6nxdhEuLLty3d7.js +0 -2
  215. package/screenshot-page/assets/CwqNb7JYzC03lCj0.js +0 -1
  216. package/screenshot-page/assets/CzhH7lTYQrYGHct6.js +0 -1
  217. package/screenshot-page/assets/D66vSE1ConAuENmB.js +0 -586
  218. package/screenshot-page/assets/DCVUZ_ayOXFwV2d_.js +0 -3
  219. package/screenshot-page/assets/DFE-fKq5NV7_O8V6.js +0 -1
  220. package/screenshot-page/assets/DK_QSosKV62NDcuT.js +0 -42
  221. package/screenshot-page/assets/DTFRGj188QuLKEXw.js +0 -1
  222. package/screenshot-page/assets/DXWWyJlMSWgDFxs1.js +0 -10
  223. package/screenshot-page/assets/DZDRRw-62D6Zw7qs.js +0 -1
  224. package/screenshot-page/assets/DeAKjatTVaZ0u_FY.js +0 -1
  225. package/screenshot-page/assets/Dsx0NUmGIxS7SvZ8.js +0 -1
  226. package/screenshot-page/assets/IRtoU5oVgBWu9rnK.js +0 -2
  227. package/screenshot-page/assets/Q5EKmzoJZCE81Om-.js +0 -2
  228. package/screenshot-page/assets/VvqAh6BWzaD5OUPF.js +0 -1
  229. package/screenshot-page/assets/fGlPAximvsxzPzGA.js +0 -1
  230. package/screenshot-page/assets/rPOkVKdPbFpTG6AY.js +0 -1
  231. package/screenshot-page/assets/sHBomL5R4-_px8rD.js +0 -1
  232. package/screenshot-page/assets/skRJ2qjA7kcmnOsh.js +0 -39
@@ -0,0 +1,2563 @@
1
+ /**
2
+ * @license @sheetxl/mcp - MCP server exposing SheetXL spreadsheet operations as tools and resources. - v0.8.0-beta.16
3
+ *
4
+ * (C) 2026-present SheetXL Inc. & Michael T. Ford
5
+ * License: SheetXL EULA — https://www.sheetxl.com/eula
6
+ */
7
+ import { C as t, F as e, U as n } from "./BNrpvJZtIL0Ex_wE.js";
8
+ import { d as r } from "./D3bxrF1Ys2GSVfQH.js";
9
+ import { Kt as s, U as o, pr as i, xr as a } from "./BlWfQ5HPEehB_lPz.js";
10
+ var l = [
11
+ "customMenu",
12
+ "description",
13
+ "help",
14
+ "statusBar",
15
+ "shortcutKey"
16
+ ], d = [
17
+ "function",
18
+ "vbProcedure",
19
+ "xlm",
20
+ "publishToServer",
21
+ "workbookParameter"
22
+ ], c = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheRecords", u = class extends Error {}, p = () => {
23
+ throw new u();
24
+ }, f = {
25
+ t: "z",
26
+ v: 0
27
+ }, m = /<([snbdemx])((?:\s+[^\s=/>]+\s*=\s*(?:"[^"]*"|'[^']*'))*)\s*(\/?)>/g, h = (t, e, n) => {
28
+ try {
29
+ return g(t, e, n);
30
+ } catch (t) {
31
+ if (t instanceof u) return null;
32
+ throw t;
33
+ }
34
+ }, b = (t) => {
35
+ const e = s(t, "cacheSource");
36
+ if (!e || "worksheet" !== i(e.attributes).get("type")) return;
37
+ const n = s(t, "worksheetSource", e.contentStart, e.end);
38
+ if (!n) return;
39
+ const r = i(n.attributes);
40
+ if (r.has("r:id")) return;
41
+ const o = {};
42
+ for (const t of [
43
+ "ref",
44
+ "sheet",
45
+ "name"
46
+ ]) {
47
+ const e = r.get(t);
48
+ void 0 !== e && (o[t] = e);
49
+ }
50
+ return o;
51
+ }, g = (t, e, n) => {
52
+ const r = t.xml ?? p(), o = y(r, "pivotCacheDefinition") ?? p(), l = i(o.attributes), d = l.get("r:id"), c = (t.parts?.find((t) => t.id === d && "http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheRecords" === t.type))?.xml ?? null;
53
+ void 0 !== d && null === c && p();
54
+ const u = b(r) ?? p(), f = s(r, "cacheSource") ?? p(), m = s(r, "worksheetSource", f.contentStart, f.end) ?? p(), h = s(r, "cacheFields") ?? p(), g = [];
55
+ let w = h.contentStart;
56
+ for (;;) {
57
+ const t = s(r, "cacheField", w, h.contentEnd);
58
+ if (!t) break;
59
+ g.push(x(r, t, g.length, e, n)), w = t.end;
60
+ }
61
+ const k = s(r, "calculatedItems");
62
+ k && v(r, k, g);
63
+ const L = null !== c ? S(c, g.filter((t) => null !== t.records), e) : parseInt(l.get("recordCount") ?? "0", 10), P = [], C = [];
64
+ for (let t = 0; t < g.length; t++) {
65
+ const e = g[t];
66
+ e.hasDate && e.hasNumber ? e.json.dateItems = e.dateItems : e.hasDate && (e.json.dates = !0), e.items.length > 0 && P.push([t, [[0, e.items]]]), e.records && e.records.length > 0 && C.push([t, [[0, e.records]]]);
67
+ }
68
+ const I = k ? r.substring(0, k.start) + r.substring(k.end) : r, D = s(I, "cacheFields") ?? p();
69
+ let N = I.substring(0, D.start) + I.substring(D.end);
70
+ const T = r.substring(m.start, m.start + m.attributes.length + 16);
71
+ N = N.replace(T, () => "<worksheetSource" + a(m.attributes, [
72
+ "ref",
73
+ "sheet",
74
+ "name"
75
+ ])), N = N.replace(o.tag, () => "<pivotCacheDefinition" + a(o.attributes, [
76
+ "r:id",
77
+ "recordCount",
78
+ "refreshOnLoad"
79
+ ]));
80
+ const F = {
81
+ source: u,
82
+ fields: g.map((t) => t.json),
83
+ items: P,
84
+ recordCount: L,
85
+ rest: N
86
+ };
87
+ null !== c && (F.records = C);
88
+ const j = l.get("refreshOnLoad");
89
+ return "1" !== j && "true" !== j || (F.refreshOnLoad = !0), F;
90
+ }, y = (t, e) => {
91
+ const n = new RegExp(`<${e}((?:\\s+[^\\s=/>]+\\s*=\\s*(?:"[^"]*"|'[^']*'))*)`).exec(t);
92
+ return n ? {
93
+ tag: n[0],
94
+ attributes: n[1]
95
+ } : null;
96
+ }, v = (t, e, n) => {
97
+ let r = e.contentStart;
98
+ for (;;) {
99
+ const o = s(t, "calculatedItem", r, e.contentEnd);
100
+ if (!o) break;
101
+ r = o.end;
102
+ const a = i(o.attributes).get("formula") ?? p(), l = [...t.substring(o.contentStart, o.contentEnd).matchAll(/<reference\s[^>]*?field="(\d+)"[^>]*>\s*<x(?:\s+v="(\d+)")?\s*\/>\s*<\/reference>/g)];
103
+ 1 !== l.length && p();
104
+ const d = n[parseInt(l[0][1], 10)] ?? p();
105
+ (d.json.calculatedItems ??= []).push({
106
+ item: l[0][2] ? parseInt(l[0][2], 10) : 0,
107
+ formula: a
108
+ });
109
+ }
110
+ }, x = (t, e, n, r, l) => {
111
+ const d = i(e.attributes), c = { name: d.get("name") ?? p() }, u = d.get("numFmtId"), f = void 0 !== u ? l(parseInt(u, 10)) : void 0;
112
+ void 0 !== f && (c.numberFormat = f);
113
+ const h = "0" === d.get("databaseField");
114
+ h && (c.noRecords = !0);
115
+ const b = d.get("formula");
116
+ void 0 !== b && (c.formula = b);
117
+ const g = s(t, "fieldGroup", e.contentStart, e.contentEnd);
118
+ g && (c.group = ((t, e, n, r) => {
119
+ const a = i(e.attributes), l = (t) => void 0 === t ? void 0 : parseInt(t, 10), d = {
120
+ base: l(a.get("base")) ?? n,
121
+ items: []
122
+ }, c = l(a.get("par"));
123
+ void 0 !== c && (d.parent = c);
124
+ const u = s(t, "groupItems", e.contentStart, e.contentEnd);
125
+ if (u) {
126
+ const e = t.substring(u.contentStart, u.contentEnd);
127
+ m.lastIndex = 0;
128
+ let n, s = 0;
129
+ const o = {
130
+ items: d.items,
131
+ hasDate: !1,
132
+ hasNumber: !1,
133
+ dateItems: []
134
+ };
135
+ for (; n = m.exec(e);) ("/" !== n[3] || e.substring(s, n.index).trim()) && p(), d.items.push(k(n[1], i(n[2]).get("v"), o, r)), s = m.lastIndex;
136
+ e.substring(s).trim() && p(), o.hasDate && (d.dateItems = o.dateItems);
137
+ }
138
+ const f = s(t, "rangePr", e.contentStart, e.contentEnd);
139
+ if (f) {
140
+ const t = i(f.attributes), e = t.get("groupBy") ?? "range", n = "range" !== e, s = (e) => {
141
+ const s = t.get(`${e}${n ? "Date" : "Num"}`) ?? p(), i = n ? o(s, r) : Number(s);
142
+ return null !== i && Number.isFinite(i) ? i : p();
143
+ }, a = {
144
+ by: n ? e : "numbers",
145
+ start: s("start"),
146
+ end: s("end")
147
+ }, l = t.get("groupInterval");
148
+ void 0 !== l && (a.interval = Number(l)), "0" === t.get("autoStart") && (a.fixedStart = !0), "0" === t.get("autoEnd") && (a.fixedEnd = !0), d.range = a;
149
+ }
150
+ const h = s(t, "discretePr", e.contentStart, e.contentEnd);
151
+ if (h) {
152
+ const e = t.substring(h.contentStart, h.contentEnd);
153
+ d.discrete = Array.from(e.matchAll(/<x((?:\s+[^\s=/>]+\s*=\s*(?:"[^"]*"|'[^']*'))*)\s*\/>/g), (t) => l(i(t[1]).get("v")) ?? 0);
154
+ }
155
+ return d;
156
+ })(t, g, n, r));
157
+ const y = h ? null : s(t, "sharedItems", e.contentStart, e.contentEnd), v = {
158
+ json: c,
159
+ items: [],
160
+ byValue: null,
161
+ records: h ? null : [],
162
+ hasDate: !1,
163
+ hasNumber: !1,
164
+ dateItems: []
165
+ }, x = [y, g].filter((t) => !!t).sort((t, e) => t.start - e.start);
166
+ let S = "", L = e.contentStart;
167
+ for (const e of x) S += t.substring(L, e.start), L = e.end;
168
+ S += t.substring(L, e.contentEnd), y && w(t.substring(y.contentStart, y.contentEnd), v, r), h || 0 !== v.items.length || (c.inline = !0, v.byValue = /* @__PURE__ */ new Map());
169
+ const P = a(e.attributes, [
170
+ "name",
171
+ "numFmtId",
172
+ "databaseField",
173
+ "formula"
174
+ ]);
175
+ return (P.trim() || S.trim()) && (c.rest = S.trim() ? `<cacheField${P}>${S}</cacheField>` : `<cacheField${P}/>`), v;
176
+ }, w = (t, e, n) => {
177
+ m.lastIndex = 0;
178
+ let r, s = 0;
179
+ for (; r = m.exec(t);) {
180
+ t.substring(s, r.index).trim() && p();
181
+ const [, o, a, l] = r;
182
+ "/" === l && "x" !== o || p();
183
+ const d = i(a);
184
+ for (const t of d.keys()) "v" !== t && "u" !== t && "f" !== t && p();
185
+ const c = d.get("u");
186
+ "1" !== c && "true" !== c || (e.json.unused ??= []).push(e.items.length), e.items.push(k(o, d.get("v"), e, n)), s = m.lastIndex;
187
+ }
188
+ t.substring(s).trim() && p();
189
+ }, k = (t, e, n, s) => {
190
+ switch (t) {
191
+ case "m": return f;
192
+ case "s": return e ?? p();
193
+ case "n": {
194
+ const t = void 0 !== e ? Number(e) : NaN;
195
+ return Number.isFinite(t) || p(), n.hasNumber = !0, t;
196
+ }
197
+ case "d": {
198
+ const t = void 0 !== e ? o(e, s) : null;
199
+ return null === t && p(), n.hasDate = !0, n.dateItems.push(n.items.length), t;
200
+ }
201
+ case "b": return "1" === e || "true" === e;
202
+ case "e": {
203
+ const t = void 0 !== e ? r.getBuiltInByLabel(e) : void 0;
204
+ return t || p(), {
205
+ t: "e",
206
+ v: t.getCode()
207
+ };
208
+ }
209
+ default: return p();
210
+ }
211
+ }, S = (t, e, n) => {
212
+ const r = s(t, "pivotCacheRecords") ?? p(), o = t.substring(r.contentStart, r.contentEnd), i = /<r>([\s\S]*?)<\/r>|<r\/>/g;
213
+ let a, l = 0, d = 0;
214
+ for (; a = i.exec(o);) o.substring(d, a.index).trim() && p(), L(a[1] ?? "", e, n), l++, d = i.lastIndex;
215
+ return o.substring(d).trim() && p(), l;
216
+ }, L = (t, e, n) => {
217
+ m.lastIndex = 0;
218
+ let r, s = 0, o = 0;
219
+ for (; r = m.exec(t);) {
220
+ t.substring(o, r.index).trim() && p();
221
+ const [, a, l, d] = r;
222
+ "/" !== d && p();
223
+ const c = e[s++] ?? p(), u = i(l);
224
+ for (const t of u.keys()) "v" !== t && p();
225
+ const f = u.get("v");
226
+ if ("x" === a) {
227
+ const t = void 0 !== f ? Number(f) : NaN;
228
+ (c.byValue || !Number.isInteger(t) || t < 0 || t >= c.items.length) && p(), c.records.push(t);
229
+ } else {
230
+ const t = c.byValue ?? p(), e = a + (f ?? "");
231
+ let r = t.get(e);
232
+ void 0 === r && (r = c.items.length, c.items.push(k(a, f, c, n)), t.set(e, r)), c.records.push(r);
233
+ }
234
+ o = m.lastIndex;
235
+ }
236
+ (t.substring(o).trim() || s !== e.length) && p();
237
+ }, P = /<!\[CDATA\[([\s\S]*?)\]\]>|<!--[\s\S]*?-->|<\?[\s\S]*?\?>|<!DOCTYPE[^>]*>|<(\/?)([^\s/>]+)((?:\s+[^\s=/>]+\s*=\s*(?:"[^"]*"|'[^']*'))*)\s*(\/?)>|([^<]+)/g, C = {
238
+ amp: "&",
239
+ lt: "<",
240
+ gt: ">",
241
+ quot: "\"",
242
+ apos: "'"
243
+ }, I = (t) => -1 === t.indexOf("&") ? t : t.replace(/&(#x[0-9a-fA-F]+|#\d+|\w+);/g, (t, e) => {
244
+ if ("#" !== e[0]) return C[e] ?? t;
245
+ const n = "x" === e[1] ? parseInt(e.slice(2), 16) : parseInt(e.slice(1), 10);
246
+ return Number.isFinite(n) ? String.fromCodePoint(n) : t;
247
+ }), D = (t) => {
248
+ const e = t.indexOf(":");
249
+ return -1 === e ? t : t.slice(e + 1);
250
+ }, N = (t) => {
251
+ const e = {
252
+ name: "",
253
+ qname: "",
254
+ attrs: "",
255
+ children: [],
256
+ start: 0,
257
+ end: t.length,
258
+ contentStart: 0,
259
+ contentEnd: t.length
260
+ }, n = [e];
261
+ P.lastIndex = 0;
262
+ for (let e = P.exec(t); e; e = P.exec(t)) {
263
+ const t = n[n.length - 1];
264
+ if (void 0 !== e[1]) t.children.push(e[1]);
265
+ else if (void 0 !== e[6]) t.children.push(I(e[6]));
266
+ else if (void 0 !== e[3]) {
267
+ if (e[2]) {
268
+ if (n.length > 1) {
269
+ const t = n.pop();
270
+ t.contentEnd = e.index, t.end = e.index + e[0].length;
271
+ }
272
+ continue;
273
+ }
274
+ const r = e.index + e[0].length, s = {
275
+ name: D(e[3]),
276
+ qname: e[3],
277
+ attrs: e[4] ?? "",
278
+ children: [],
279
+ start: e.index,
280
+ end: r,
281
+ contentStart: r,
282
+ contentEnd: r
283
+ };
284
+ t.children.push(s), e[5] || n.push(s);
285
+ }
286
+ }
287
+ return e.children.find((t) => "string" != typeof t) ?? null;
288
+ }, T = (t) => t.children.filter((t) => "string" != typeof t), F = (t) => {
289
+ let e = "";
290
+ for (const n of t.children) "string" == typeof n && (e += n);
291
+ return e;
292
+ }, j = "http://schemas.openxmlformats.org/drawingml/2006/chart", $ = "http://schemas.openxmlformats.org/drawingml/2006/main", O = "http://schemas.openxmlformats.org/officeDocument/2006/relationships", R = "http://schemas.microsoft.com/office/drawing/2012/chart", M = "http://schemas.microsoft.com/office/drawing/2014/chartex", A = {
293
+ c: "c",
294
+ a: "a",
295
+ r: "r",
296
+ c15: "c15",
297
+ cx: "cx"
298
+ }, E = (t) => t === j || "http://purl.oclc.org/ooxml/drawingml/chart" === t, U = (t) => t === $ || "http://purl.oclc.org/ooxml/drawingml/main" === t, B = (t) => t === M, W = Object.freeze({ xml: "http://www.w3.org/XML/1998/namespace" }), z = /([^\s=]+)\s*=\s*(?:"([^"]*)"|'([^']*)')/g, V = (t) => {
299
+ const e = [];
300
+ z.lastIndex = 0;
301
+ for (let n = z.exec(t.attrs); n; n = z.exec(t.attrs)) e.push([n[1], I(n[2] ?? n[3] ?? "")]);
302
+ return e;
303
+ }, H = (t, e) => {
304
+ let n = null;
305
+ for (const [r, s] of V(t)) "xmlns" === r ? (n ??= { ...e })[""] = s : r.startsWith("xmlns:") && ((n ??= { ...e })[r.slice(6)] = s);
306
+ return n ?? e;
307
+ }, G = (t, e) => e[((t) => {
308
+ const e = t.indexOf(":");
309
+ return -1 === e ? "" : t.slice(0, e);
310
+ })(t.qname)], q = class {
311
+ constructor() {
312
+ this._parts = [];
313
+ }
314
+ open(t, e, n = !1) {
315
+ let r = "<" + t;
316
+ if (e) for (const [t, n] of e) r += ` ${t}="${J(n)}"`;
317
+ return this._parts.push(r + (n ? "/>" : ">")), this;
318
+ }
319
+ close(t) {
320
+ return this._parts.push(`</${t}>`), this;
321
+ }
322
+ val(t, e) {
323
+ return this.open(t, [["val", e]], !0);
324
+ }
325
+ text(t) {
326
+ return this._parts.push(((t) => t.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;"))(t)), this;
327
+ }
328
+ raw(t) {
329
+ return this._parts.push(t), this;
330
+ }
331
+ toString() {
332
+ return this._parts.join("");
333
+ }
334
+ }, J = (t) => t.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/"/g, "&quot;"), K = (t) => "1" === t || "true" === t || "0" !== t && "false" !== t && null, _ = (t) => t ? "1" : "0", X = /^[-+]?(?:\d+\.?\d*|\.\d+)(?:[eE][-+]?\d+)?$/, Y = (t) => {
335
+ const e = K(t);
336
+ return null !== e ? _(e) : X.test(t) ? String(Number(t)) : t;
337
+ }, Q = /* @__PURE__ */ new Set([
338
+ "date1904",
339
+ "roundedCorners",
340
+ "autoTitleDeleted",
341
+ "plotVisOnly",
342
+ "showDLblsOverMax",
343
+ "varyColors",
344
+ "marker",
345
+ "smooth",
346
+ "invertIfNegative",
347
+ "bubble3D",
348
+ "delete",
349
+ "showLegendKey",
350
+ "showVal",
351
+ "showCatName",
352
+ "showSerName",
353
+ "showPercent",
354
+ "showBubbleSize",
355
+ "showLeaderLines",
356
+ "overlay",
357
+ "rAngAx",
358
+ "showHorzBorder",
359
+ "showVertBorder",
360
+ "showOutline",
361
+ "showKeys",
362
+ "auto",
363
+ "noMultiLvlLbl",
364
+ "wireframe",
365
+ "showNegBubbles",
366
+ "autoUpdate",
367
+ "applyToFront",
368
+ "applyToSides",
369
+ "applyToEnd",
370
+ "chartObject",
371
+ "data",
372
+ "formatting",
373
+ "selection",
374
+ "userInterface"
375
+ ]), Z = (t, e, n = !1) => {
376
+ const r = H(t, e), s = G(t, r) ?? "", o = [];
377
+ for (const [e, n] of V(t)) {
378
+ if ("xmlns" === e || e.startsWith("xmlns:")) continue;
379
+ const t = e.indexOf(":"), s = -1 === t ? e : `{${r[e.slice(0, t)] ?? e.slice(0, t)}}${e.slice(t + 1)}`;
380
+ o.push(`${s}=${JSON.stringify(Y(n))}`);
381
+ }
382
+ const i = T(t), a = 0 === i.length ? t.children.join("") : "";
383
+ 0 === o.length && 0 === i.length && "" === a && E(s) && Q.has(t.name) && o.push("val=\"1\""), o.sort();
384
+ let l = `<{${s}}${t.name}${o.length ? " " + o.join(" ") : ""}>`;
385
+ if (i.length > 0) {
386
+ const e = [];
387
+ for (const s of t.children) "string" == typeof s ? "" !== s.trim() && e.push(JSON.stringify(s)) : e.push(Z(s, r, n));
388
+ n && e.sort(), l += e.join("");
389
+ } else "" !== a && (l += JSON.stringify(a));
390
+ return l + "</>";
391
+ }, tt = class {
392
+ constructor(t, e) {
393
+ this.xml = t, this.rootScope = e, this.kept = 0, this.reordered = 0;
394
+ const n = Object.values(e).find(E) ?? j, r = U(e[A.a]) ? e[A.a] : $;
395
+ this.writeScope = {
396
+ ...e,
397
+ [A.c]: n,
398
+ [A.cx]: M,
399
+ [A.a]: r,
400
+ [A.r]: e[A.r] ?? O
401
+ };
402
+ }
403
+ markupOf(t, e) {
404
+ let n = this.xml.slice(t.start, t.end);
405
+ const r = new Set(V(t).map(([t]) => t).filter((t) => "xmlns" === t || t.startsWith("xmlns:")));
406
+ let s = "";
407
+ for (const t of Object.keys(e)) "xml" !== t && e[t] !== this.rootScope[t] && (r.has("" === t ? "xmlns" : `xmlns:${t}`) || (s += "" === t ? ` xmlns="${e[t]}"` : ` xmlns:${t}="${e[t]}"`));
408
+ if (s) {
409
+ const e = 1 + t.qname.length;
410
+ n = n.slice(0, e) + s + n.slice(e);
411
+ }
412
+ return n;
413
+ }
414
+ }, et = (t, e) => {
415
+ switch (t) {
416
+ case "c": return E(e);
417
+ case "c15": return e === R;
418
+ case "cx": return B(e);
419
+ default: return U(e);
420
+ }
421
+ }, nt = (t, e, n, r) => {
422
+ const s = H(t, n), o = {};
423
+ let i, a;
424
+ for (const [n, r] of V(t)) {
425
+ const t = e.attributes?.find((t) => t.name === n), s = t ? t.read(r) : void 0;
426
+ t && void 0 !== s && Y(t.write(s)) === Y(r) ? o[t.key] = s : (i ??= {})[n] = r;
427
+ }
428
+ let l = -1, d = "";
429
+ const c = {};
430
+ for (const n of T(t)) {
431
+ const t = H(n, s), i = G(n, t), u = e.fields.findIndex((t) => t.tags.includes(n.name) && et(t.ns, i)), p = -1 === u ? null : e.fields[u], f = p && !p.many ? p.get ? p.get(o) : o[p.key] : void 0, m = u > l || u === l && !!p?.many;
432
+ if (p && void 0 === f && (m || !p.many)) {
433
+ const e = p.read(n, t, r);
434
+ if (void 0 !== e) {
435
+ p.many ? (o[p.key] ??= []).push(e) : p.set ? p.set(o, e) : o[p.key] = e, c[p.key] = (c[p.key] ?? 0) + 1, m ? (l = u, d = n.name) : r.reordered++;
436
+ continue;
437
+ }
438
+ }
439
+ const h = -1 === l ? null : e.fields[l], b = {
440
+ after: d,
441
+ xml: r.markupOf(n, s)
442
+ };
443
+ h?.many && (b.at = c[h.key]), (a ??= []).push(b);
444
+ }
445
+ return (i || a) && (o.unknown = {}, a && (o.unknown.elements = a), i && (o.unknown.attributes = i)), e.afterRead?.(o, t, s, r), o;
446
+ }, rt = (t, e, n, r) => {
447
+ const s = [];
448
+ for (const t of r.attributes ?? []) {
449
+ const e = n[t.key];
450
+ void 0 !== e && s.push([t.name, t.write(e)]);
451
+ }
452
+ const o = n.unknown;
453
+ if (o?.attributes) for (const t of Object.keys(o.attributes)) s.push([t, o.attributes[t]]);
454
+ for (const t of r.declares?.(n) ?? []) s.some(([e]) => e === t[0]) || s.push(t);
455
+ const i = new q(), a = o?.elements ? [...o.elements] : [], l = (t) => {
456
+ for (let e = 0; e < a.length; e++) t(a[e]) && (i.raw(a[e].xml), a.splice(e--, 1));
457
+ };
458
+ l((t) => "" === t.after);
459
+ for (const t of r.fields) {
460
+ const e = t.get ? t.get(n) : n[t.key], r = (e) => t.tags.includes(e.after);
461
+ if (t.many) {
462
+ const n = e ?? [];
463
+ for (let e = 0; e < n.length; e++) t.write(i, n[e]), l((t) => r(t) && t.at === e + 1);
464
+ } else void 0 !== e && t.write(i, e);
465
+ l(r);
466
+ }
467
+ l(() => !0);
468
+ const d = i.toString();
469
+ "" === d ? t.open(e, s, !0) : t.open(e, s).raw(d).close(e);
470
+ }, st = (t, e) => `${A[t]}:${e}`, ot = (t, e, n = t, r = "c") => ({
471
+ tags: [t],
472
+ key: n,
473
+ ns: r,
474
+ read: (t) => {
475
+ const n = ((t) => {
476
+ if (T(t).length > 0) return;
477
+ let e = null;
478
+ for (const [n, r] of V(t)) {
479
+ if ("val" !== n) return;
480
+ e = r;
481
+ }
482
+ return e;
483
+ })(t);
484
+ if (void 0 === n) return;
485
+ if ("bool" === e) return null === n || (K(n) ?? void 0);
486
+ if (null === n) return;
487
+ if ("str" === e) return n;
488
+ const r = Number(n);
489
+ return Number.isFinite(r) && ("int" !== e || Number.isInteger(r)) && Y(String(r)) === Y(n) ? r : void 0;
490
+ },
491
+ write: (n, s) => {
492
+ n.val(st(r, t), "bool" === e ? _(s) : String(s));
493
+ }
494
+ }), it = (t, e = t, n = "c") => ({
495
+ tags: [t],
496
+ key: e,
497
+ ns: n,
498
+ read: (t) => {
499
+ if (!(T(t).length > 0 || V(t).some(([t]) => !t.startsWith("xmlns")))) return F(t);
500
+ },
501
+ write: (e, r) => {
502
+ const s = st(n, t);
503
+ "" === r ? e.open(s, null, !0) : e.open(s).text(r).close(s);
504
+ }
505
+ }), at = (t, e, n = t, r) => {
506
+ const s = r?.ns ?? "c", o = "function" == typeof e ? e : () => e;
507
+ return {
508
+ tags: [t],
509
+ key: n,
510
+ ns: s,
511
+ many: r?.many,
512
+ read: (t, e, n) => nt(t, o(), e, n),
513
+ write: (e, n) => rt(e, st(s, t), n, o())
514
+ };
515
+ }, lt = (t, e, n = t, r = 1) => ({
516
+ name: t,
517
+ key: n,
518
+ read: (t) => {
519
+ if ("str" === e) return t;
520
+ if ("bool" === e) return K(t) ?? void 0;
521
+ const n = Number(t);
522
+ return Number.isFinite(n) && ("int" !== e || Number.isInteger(n)) ? 1 === r ? n : n / r : void 0;
523
+ },
524
+ write: (t) => "bool" === e ? _(t) : "str" === e ? t : String(1 === r ? t : Math.round(t * r))
525
+ }), dt = (t, e, n, r) => ({
526
+ name: t,
527
+ key: e,
528
+ read: n,
529
+ write: r
530
+ }), ct = (t) => ({
531
+ ...t,
532
+ read: (e, n, r) => {
533
+ const s = t.read(e, n, r);
534
+ if (void 0 === s) return;
535
+ const o = new q();
536
+ t.write(o, s);
537
+ const i = ((t, e) => {
538
+ const n = N(t);
539
+ return n ? Z(n, e) : null;
540
+ })(o.toString(), r.writeScope) === Z(e, n);
541
+ return i || r.kept++, i ? s : void 0;
542
+ }
543
+ }), ut = (t) => `a:${t}`, pt = /* @__PURE__ */ new Set([
544
+ "bg1",
545
+ "tx1",
546
+ "bg2",
547
+ "tx2",
548
+ "accent1",
549
+ "accent2",
550
+ "accent3",
551
+ "accent4",
552
+ "accent5",
553
+ "accent6",
554
+ "hlink",
555
+ "folHlink",
556
+ "phClr",
557
+ "dk1",
558
+ "lt1",
559
+ "dk2",
560
+ "lt2"
561
+ ]), ft = /* @__PURE__ */ new Set([
562
+ "scrollBar",
563
+ "background",
564
+ "activeCaption",
565
+ "inactiveCaption",
566
+ "menu",
567
+ "window",
568
+ "windowFrame",
569
+ "menuText",
570
+ "windowText",
571
+ "captionText",
572
+ "activeBorder",
573
+ "inactiveBorder",
574
+ "appWorkspace",
575
+ "highlight",
576
+ "highlightText",
577
+ "btnFace",
578
+ "btnShadow",
579
+ "grayText",
580
+ "btnText",
581
+ "inactiveCaptionText",
582
+ "btnHighlight",
583
+ "3dDkShadow",
584
+ "3dLight",
585
+ "infoText",
586
+ "infoBk",
587
+ "hotLight",
588
+ "gradientActiveCaption",
589
+ "gradientInactiveCaption",
590
+ "menuHighlight",
591
+ "menuBar"
592
+ ]), mt = [
593
+ "scrgbClr",
594
+ "srgbClr",
595
+ "hslClr",
596
+ "sysClr",
597
+ "schemeClr",
598
+ "prstClr"
599
+ ], ht = (t) => "hue" === t || "hueOff" === t || "hueMod" === t ? 6e4 : "alpha" === t || "alphaOff" === t || "alphaMod" === t ? 1e5 : 1e3, bt = (t, e) => {
600
+ const n = {};
601
+ for (const [r, s] of V(t)) {
602
+ if (!e.includes(r)) return null;
603
+ n[r] = s;
604
+ }
605
+ return n;
606
+ }, gt = /^-?\d+$/, yt = (t) => {
607
+ const e = T(t);
608
+ return 0 === e.length ? null : e.length > 1 || !mt.includes(e[0].name) ? void 0 : ((t) => {
609
+ let e;
610
+ switch (t.name) {
611
+ case "scrgbClr": {
612
+ const n = bt(t, [
613
+ "r",
614
+ "g",
615
+ "b"
616
+ ]);
617
+ if (!(n && gt.test(n.r ?? "") && gt.test(n.g ?? "") && gt.test(n.b ?? ""))) return;
618
+ e = `lrgb(${Number(n.r) / 1e3},${Number(n.g) / 1e3},${Number(n.b) / 1e3})`;
619
+ break;
620
+ }
621
+ case "hslClr": {
622
+ const n = bt(t, [
623
+ "hue",
624
+ "sat",
625
+ "lum"
626
+ ]);
627
+ if (!(n && gt.test(n.hue ?? "") && gt.test(n.sat ?? "") && gt.test(n.lum ?? ""))) return;
628
+ e = `hsl(${Number(n.hue) / 6e4},${Number(n.sat) / 1e3},${Number(n.lum) / 1e3})`;
629
+ break;
630
+ }
631
+ case "sysClr": {
632
+ const n = bt(t, ["val", "lastClr"]);
633
+ if (!n?.val || !ft.has(n.val)) return;
634
+ e = void 0 !== n.lastClr ? `${n.val} lastClr ${n.lastClr}` : n.val;
635
+ break;
636
+ }
637
+ default: {
638
+ const n = bt(t, ["val"]);
639
+ if (!n?.val || /\s/.test(n.val)) return;
640
+ if ((pt.has(n.val) ? "schemeClr" : /^[0-9A-Fa-f]{6}$/.test(n.val) ? "srgbClr" : "prstClr") !== t.name) return;
641
+ e = n.val;
642
+ }
643
+ }
644
+ for (const n of T(t)) {
645
+ if (T(n).length > 0) return;
646
+ const t = bt(n, ["val"]);
647
+ if (!t) return;
648
+ if (void 0 !== t.val) {
649
+ if (!gt.test(t.val)) return;
650
+ e += ` ${n.name} ${Number(t.val) / ht(n.name)}`;
651
+ } else e += ` ${n.name}`;
652
+ }
653
+ return e;
654
+ })(e[0]);
655
+ }, vt = /^-?(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?$/i, xt = (t, e, r, s) => {
656
+ void 0 === r ? t.open(ut(e), s, !0) : (t.open(ut(e), s), ((t, e) => {
657
+ const r = ((t) => {
658
+ const e = t.trim(), n = /^[a-z]+\([^)]*\)|^[^\s,]+/i.exec(e)?.[0] ?? e, r = e.slice(n.length).split(/\s*,\s*|\s+/).filter((t) => "" !== t);
659
+ return [n.replace(/\s+/g, ""), ...r];
660
+ })(e), s = r.shift();
661
+ let o, i;
662
+ const a = /^(lrgb|hsl)\(([^,]+),([^,]+),([^)]+)\)$/.exec(s);
663
+ if ("lrgb" === a?.[1]) o = "scrgbClr", i = [
664
+ ["r", String(Math.round(1e3 * Number(a[2])))],
665
+ ["g", String(Math.round(1e3 * Number(a[3])))],
666
+ ["b", String(Math.round(1e3 * Number(a[4])))]
667
+ ];
668
+ else if ("hsl" === a?.[1]) o = "hslClr", i = [
669
+ ["hue", String(Math.round(6e4 * Number(a[2])))],
670
+ ["sat", String(Math.round(1e3 * Number(a[3])))],
671
+ ["lum", String(Math.round(1e3 * Number(a[4])))]
672
+ ];
673
+ else if ("lastClr" === r[0] || ft.has(s)) o = "sysClr", i = [["val", s]], "lastClr" === r[0] && (r.shift(), i.push(["lastClr", r.shift()]));
674
+ else {
675
+ const t = ((t) => {
676
+ if (pt.has(t) || /^[0-9A-Fa-f]{6}$/.test(t) || /^[a-z]+$/i.test(t)) return null;
677
+ let e;
678
+ try {
679
+ e = new n(t);
680
+ } catch {
681
+ return null;
682
+ }
683
+ const r = e.getType();
684
+ return "hex" === r || "rgb" === r || "hsl" === r ? e.toHex().toString(!1).replace("#", "").toUpperCase() : null;
685
+ })(s);
686
+ o = t ? "srgbClr" : pt.has(s) ? "schemeClr" : /^[0-9A-Fa-f]{6}$/.test(s) ? "srgbClr" : "prstClr", i = [["val", t ?? s]];
687
+ }
688
+ if (0 !== r.length) {
689
+ t.open(ut(o), i);
690
+ for (let e = 0; e < r.length; e++) {
691
+ const n = r[e];
692
+ e + 1 < r.length && vt.test(r[e + 1]) ? t.val(ut(n), String(Math.round(Number(r[++e]) * ht(n)))) : t.open(ut(n), null, !0);
693
+ }
694
+ t.close(ut(o));
695
+ } else t.open(ut(o), i, !0);
696
+ })(t, r), t.close(ut(e)));
697
+ }, wt = [
698
+ "noFill",
699
+ "solidFill",
700
+ "gradFill",
701
+ "pattFill",
702
+ "grpFill"
703
+ ], kt = (t) => {
704
+ const e = bt(t, [
705
+ "l",
706
+ "t",
707
+ "r",
708
+ "b"
709
+ ]);
710
+ if (!e) return;
711
+ const n = {};
712
+ return void 0 !== e.l && (n.left = Number(e.l) / 1e3), void 0 !== e.t && (n.top = Number(e.t) / 1e3), void 0 !== e.r && (n.right = Number(e.r) / 1e3), void 0 !== e.b && (n.bottom = Number(e.b) / 1e3), n;
713
+ }, St = (t, e, n) => {
714
+ const r = [];
715
+ void 0 !== n.left && r.push(["l", String(Math.round(1e3 * n.left))]), void 0 !== n.top && r.push(["t", String(Math.round(1e3 * n.top))]), void 0 !== n.right && r.push(["r", String(Math.round(1e3 * n.right))]), void 0 !== n.bottom && r.push(["b", String(Math.round(1e3 * n.bottom))]), t.open(ut(e), r, !0);
716
+ }, Lt = (t) => ct({
717
+ tags: wt,
718
+ key: t,
719
+ ns: "a",
720
+ read: (t) => ((t) => {
721
+ switch (t.name) {
722
+ case "noFill": return 0 === T(t).length && 0 === V(t).length ? { type: e.Type.None } : void 0;
723
+ case "grpFill": return 0 === T(t).length && 0 === V(t).length ? { type: e.Type.Group } : void 0;
724
+ case "solidFill": {
725
+ if (V(t).length > 0) return;
726
+ const n = yt(t);
727
+ if (void 0 === n) return;
728
+ return null === n ? { type: e.Type.Solid } : {
729
+ type: e.Type.Solid,
730
+ color: n
731
+ };
732
+ }
733
+ case "gradFill": return ((t) => {
734
+ const n = bt(t, ["rotWithShape", "flip"]);
735
+ if (!n) return;
736
+ const r = { type: e.Type.Gradient };
737
+ if (void 0 !== n.rotWithShape) {
738
+ const t = K(n.rotWithShape);
739
+ if (null === t) return;
740
+ r.isRotatedWithShape = t;
741
+ }
742
+ void 0 !== n.flip && (r.flip = n.flip);
743
+ for (const n of T(t)) if ("gsLst" === n.name) {
744
+ const t = [];
745
+ for (const e of T(n)) {
746
+ const n = "gs" === e.name ? bt(e, ["pos"]) : null, r = n && gt.test(n.pos ?? "") ? yt(e) : void 0;
747
+ if (!r) return;
748
+ t.push({
749
+ offset: Number(n.pos) / 1e5,
750
+ color: r
751
+ });
752
+ }
753
+ r.stops = t;
754
+ } else if ("lin" === n.name) {
755
+ const t = bt(n, ["ang", "scaled"]);
756
+ if (!t || T(n).length > 0) return;
757
+ if (r.gradientType = e.GradientType.Linear, void 0 !== t.ang) {
758
+ if (!gt.test(t.ang)) return;
759
+ r.angle = (Number(t.ang) / 6e4 + 90) % 360;
760
+ }
761
+ if (void 0 !== t.scaled) {
762
+ const e = K(t.scaled);
763
+ if (null === e) return;
764
+ r.scaled = e;
765
+ }
766
+ } else if ("path" === n.name) {
767
+ const t = bt(n, ["path"]);
768
+ if (!t) return;
769
+ r.gradientType = "circle" === t.path ? e.GradientType.Path : t.path;
770
+ const s = T(n);
771
+ if (s.length > 1 || 1 === s.length && "fillToRect" !== s[0].name) return;
772
+ if (1 === s.length) {
773
+ const t = kt(s[0]);
774
+ if (!t) return;
775
+ r.focus = {
776
+ left: (t.left ?? 0) / 100,
777
+ top: (t.top ?? 0) / 100,
778
+ right: 1 - (t.right ?? 0) / 100,
779
+ bottom: 1 - (t.bottom ?? 0) / 100
780
+ };
781
+ }
782
+ } else {
783
+ if ("tileRect" !== n.name) return;
784
+ {
785
+ const t = kt(n);
786
+ if (!t) return;
787
+ r.tileRect = t;
788
+ }
789
+ }
790
+ return r;
791
+ })(t);
792
+ case "pattFill": {
793
+ const n = bt(t, ["prst"]);
794
+ if (!n) return;
795
+ const r = { type: e.Type.Pattern };
796
+ void 0 !== n.prst && (r.patternType = n.prst);
797
+ for (const e of T(t)) {
798
+ const t = "fgClr" === e.name || "bgClr" === e.name ? yt(e) : void 0;
799
+ if (!t) return;
800
+ "fgClr" === e.name ? r.foreground = t : r.background = t;
801
+ }
802
+ return r;
803
+ }
804
+ }
805
+ })(t),
806
+ write: (t, n) => ((t, n) => {
807
+ switch (n.type) {
808
+ case e.Type.None:
809
+ t.open(ut("noFill"), null, !0);
810
+ return;
811
+ case e.Type.Group:
812
+ t.open(ut("grpFill"), null, !0);
813
+ return;
814
+ case e.Type.Solid:
815
+ xt(t, "solidFill", n.color);
816
+ return;
817
+ case e.Type.Gradient:
818
+ ((t, n) => {
819
+ const r = [];
820
+ if (void 0 !== n.flip && r.push(["flip", n.flip]), void 0 !== n.isRotatedWithShape && r.push(["rotWithShape", _(n.isRotatedWithShape)]), t.open(ut("gradFill"), r), n.stops) {
821
+ t.open(ut("gsLst"));
822
+ for (const e of n.stops) {
823
+ const { offset: n, color: r } = "string" == typeof e ? {
824
+ offset: 0,
825
+ color: e
826
+ } : e;
827
+ xt(t, "gs", r, [["pos", String(Math.round(1e5 * (n ?? 0)))]]);
828
+ }
829
+ t.close(ut("gsLst"));
830
+ }
831
+ if (n.gradientType === e.GradientType.Linear) {
832
+ const e = [];
833
+ void 0 !== n.angle && e.push(["ang", String(Math.round((n.angle - 90 + 360) % 360 * 6e4))]), void 0 !== n.scaled && e.push(["scaled", _(n.scaled)]), t.open(ut("lin"), e, !0);
834
+ } else if (void 0 !== n.gradientType) {
835
+ const r = n.gradientType === e.GradientType.Path ? "circle" : n.gradientType;
836
+ n.focus ? (t.open(ut("path"), [["path", r]]), St(t, "fillToRect", {
837
+ left: 100 * n.focus.left,
838
+ top: 100 * n.focus.top,
839
+ right: 100 * (1 - n.focus.right),
840
+ bottom: 100 * (1 - n.focus.bottom)
841
+ }), t.close(ut("path"))) : t.open(ut("path"), [["path", r]], !0);
842
+ }
843
+ n.tileRect && St(t, "tileRect", n.tileRect), t.close(ut("gradFill"));
844
+ })(t, n);
845
+ return;
846
+ case e.Type.Pattern: {
847
+ const e = n, r = void 0 !== e.patternType ? [["prst", e.patternType]] : [];
848
+ void 0 === e.foreground && void 0 === e.background ? t.open(ut("pattFill"), r, !0) : (t.open(ut("pattFill"), r), void 0 !== e.foreground && xt(t, "fgClr", e.foreground), void 0 !== e.background && xt(t, "bgClr", e.background), t.close(ut("pattFill")));
849
+ return;
850
+ }
851
+ }
852
+ throw new Error(`A chart cannot write a fill of type '${n.type}'.`);
853
+ })(t, n)
854
+ }), Pt = {
855
+ tags: ["effectLst"],
856
+ key: "effects",
857
+ ns: "a",
858
+ read: (t) => 0 === T(t).length && 0 === V(t).length ? [] : void 0,
859
+ write: (t, e) => {
860
+ if (e.length > 0) throw new Error("A chart cannot write effects yet.");
861
+ t.open(ut("effectLst"), null, !0);
862
+ }
863
+ }, Ct = {
864
+ rnd: "round",
865
+ flat: "butt",
866
+ sq: "square"
867
+ }, It = (t, e) => ({
868
+ tags: [t],
869
+ key: `${e}Type`,
870
+ ns: "a",
871
+ read: (t) => {
872
+ const e = bt(t, [
873
+ "type",
874
+ "w",
875
+ "len"
876
+ ]);
877
+ if (e && !(T(t).length > 0) && 0 !== Object.keys(e).length) return e;
878
+ },
879
+ write: (e, n) => {
880
+ const r = [];
881
+ for (const t of [
882
+ "type",
883
+ "w",
884
+ "len"
885
+ ]) void 0 !== n[t] && r.push([t, n[t]]);
886
+ e.open(ut(t), r, !0);
887
+ },
888
+ get: (t) => {
889
+ const n = {};
890
+ return void 0 !== t[`${e}Type`] && (n.type = t[`${e}Type`]), void 0 !== t[`${e}Width`] && (n.w = t[`${e}Width`]), void 0 !== t[`${e}Length`] && (n.len = t[`${e}Length`]), Object.keys(n).length > 0 ? n : void 0;
891
+ },
892
+ set: (t, n) => {
893
+ void 0 !== n.type && (t[`${e}Type`] = n.type), void 0 !== n.w && (t[`${e}Width`] = n.w), void 0 !== n.len && (t[`${e}Length`] = n.len);
894
+ }
895
+ }), Dt = {
896
+ attributes: [
897
+ lt("w", "int", "width", 12700),
898
+ dt("cap", "lineCap", (t) => Ct[t], (t) => Object.keys(Ct).find((e) => Ct[e] === t)),
899
+ lt("cmpd", "str", "compound"),
900
+ lt("algn", "str", "align")
901
+ ],
902
+ fields: [
903
+ Lt("fill"),
904
+ {
905
+ tags: ["prstDash", "custDash"],
906
+ key: "dash",
907
+ ns: "a",
908
+ read: (t) => {
909
+ if ("prstDash" === t.name) {
910
+ const e = bt(t, ["val"]);
911
+ return void 0 !== e?.val && 0 === T(t).length ? e.val : void 0;
912
+ }
913
+ if (V(t).length > 0) return;
914
+ const e = [];
915
+ for (const n of T(t)) {
916
+ const t = "ds" === n.name ? bt(n, ["d", "sp"]) : null;
917
+ if (!t || !gt.test(t.d ?? "") || !gt.test(t.sp ?? "")) return;
918
+ e.push(Number(t.d) / 1e3, Number(t.sp) / 1e3);
919
+ }
920
+ return e;
921
+ },
922
+ write: (t, e) => {
923
+ if ("string" != typeof e) {
924
+ t.open(ut("custDash"));
925
+ for (let n = 0; n < e.length; n += 2) t.open(ut("ds"), [["d", String(Math.round(1e3 * e[n]))], ["sp", String(Math.round(1e3 * e[n + 1]))]], !0);
926
+ t.close(ut("custDash"));
927
+ } else t.val(ut("prstDash"), e);
928
+ }
929
+ },
930
+ {
931
+ tags: [
932
+ "round",
933
+ "bevel",
934
+ "miter"
935
+ ],
936
+ key: "lineJoin",
937
+ ns: "a",
938
+ read: (t) => {
939
+ const e = bt(t, "miter" === t.name ? ["lim"] : []);
940
+ if (e && !(T(t).length > 0) && (void 0 === e.lim || gt.test(e.lim))) return {
941
+ join: t.name,
942
+ limit: void 0 !== e.lim ? Number(e.lim) / 1e5 : void 0
943
+ };
944
+ },
945
+ write: (t, e) => {
946
+ t.open(ut(e.join), void 0 !== e.limit ? [["lim", String(Math.round(1e5 * e.limit))]] : null, !0);
947
+ },
948
+ get: (t) => t.lineJoin ? {
949
+ join: t.lineJoin,
950
+ limit: t.miterLimit
951
+ } : void 0,
952
+ set: (t, e) => {
953
+ t.lineJoin = e.join, void 0 !== e.limit && (t.miterLimit = e.limit);
954
+ }
955
+ },
956
+ It("headEnd", "head"),
957
+ It("tailEnd", "tail")
958
+ ]
959
+ }, Nt = (t) => ct(at("ln", Dt, t, { ns: "a" })), Tt = { fields: [
960
+ Lt("fill"),
961
+ Nt("stroke"),
962
+ Pt
963
+ ] }, Ft = (e, n, r) => ({
964
+ tags: [e],
965
+ key: n,
966
+ ns: "a",
967
+ read: (e) => {
968
+ const n = bt(e, ["typeface"]);
969
+ if (!(void 0 === n?.typeface || T(e).length > 0)) return r && n.typeface === `+mn-${r}` ? t.ThemeFamily.Body : r && n.typeface === `+mj-${r}` ? t.ThemeFamily.Heading : n.typeface;
970
+ },
971
+ write: (n, s) => {
972
+ const o = r ? s === t.ThemeFamily.Body ? `+mn-${r}` : s === t.ThemeFamily.Heading ? `+mj-${r}` : s : s;
973
+ n.open(ut(e), [["typeface", o]], !0);
974
+ }
975
+ }), jt = (t, e, n) => {
976
+ const r = Object.fromEntries(Object.entries(n).map(([t, e]) => [e, t]));
977
+ return dt(t, e, (t) => r[t], (t) => n[t] ?? t);
978
+ }, $t = {
979
+ attributes: [
980
+ lt("lang", "str", "language"),
981
+ lt("altLang", "str", "alternateLanguage"),
982
+ lt("sz", "int", "size", 100),
983
+ dt("b", "weight", (t) => {
984
+ const e = K(t);
985
+ return null === e ? void 0 : e ? 700 : 400;
986
+ }, (t) => _(t >= 600)),
987
+ dt("i", "style", (t) => {
988
+ const e = K(t);
989
+ return null === e ? void 0 : e ? "italic" : "normal";
990
+ }, (t) => _("italic" === t)),
991
+ jt("u", "underline", {
992
+ none: "none",
993
+ words: "words",
994
+ single: "sng",
995
+ double: "dbl",
996
+ heavy: "heavy",
997
+ dotted: "dotted",
998
+ dottedHeavy: "dottedHeavy",
999
+ dash: "dash",
1000
+ dashHeavy: "dashHeavy",
1001
+ dashLong: "dashLong",
1002
+ dashLongHeavy: "dashLongHeavy",
1003
+ dotDash: "dotDash",
1004
+ dotDashHeavy: "dotDashHeavy",
1005
+ dotDotDash: "dotDotDash",
1006
+ dotDotDashHeavy: "dotDotDashHeavy",
1007
+ wavy: "wavy",
1008
+ wavyHeavy: "wavyHeavy",
1009
+ wavyDouble: "wavyDbl"
1010
+ }),
1011
+ jt("strike", "strike", {
1012
+ none: "noStrike",
1013
+ single: "sngStrike",
1014
+ double: "dblStrike"
1015
+ }),
1016
+ lt("kern", "int", "kerning", 100),
1017
+ jt("cap", "capitals", {
1018
+ none: "none",
1019
+ small: "small",
1020
+ all: "all"
1021
+ }),
1022
+ lt("spc", "int", "letterSpacing", 100),
1023
+ lt("normalizeH", "bool", "normalizeHeight"),
1024
+ lt("baseline", "int", "baseline", 1e3)
1025
+ ],
1026
+ fields: [
1027
+ Nt("outline"),
1028
+ Lt("color"),
1029
+ Pt,
1030
+ Ft("latin", "latin", "lt"),
1031
+ Ft("ea", "eastAsian", "ea"),
1032
+ Ft("cs", "complexScript", "cs"),
1033
+ Ft("sym", "symbol")
1034
+ ]
1035
+ }, Ot = {
1036
+ attributes: [lt("algn", "str", "align"), lt("rtl", "bool", "rtl")],
1037
+ fields: [at("defRPr", $t, "defaultRun", { ns: "a" })]
1038
+ }, Rt = { fields: [at("rPr", $t, "rPr", { ns: "a" }), {
1039
+ tags: ["t"],
1040
+ key: "text",
1041
+ ns: "a",
1042
+ read: (t) => {
1043
+ if (T(t).length > 0) return;
1044
+ let e = !1;
1045
+ for (const [n, r] of V(t)) if ("xmlns" !== n && !n.startsWith("xmlns:")) {
1046
+ if ("xml:space" !== n || "preserve" !== r) return;
1047
+ e = !0;
1048
+ }
1049
+ return {
1050
+ text: F(t),
1051
+ preserve: e
1052
+ };
1053
+ },
1054
+ get: (t) => void 0 === t.text ? void 0 : {
1055
+ text: t.text,
1056
+ preserve: !0 === t.preserveSpace
1057
+ },
1058
+ set: (t, e) => {
1059
+ t.text = e.text, e.preserve && (t.preserveSpace = !0);
1060
+ },
1061
+ write: (t, e) => {
1062
+ const n = ut("t"), r = e.preserve ? [["xml:space", "preserve"]] : null;
1063
+ "" === e.text ? t.open(n, r, !0) : t.open(n, r).text(e.text).close(n);
1064
+ }
1065
+ }] }, Mt = {
1066
+ attributes: [lt("id", "str", "id"), lt("type", "str", "type")],
1067
+ fields: Rt.fields
1068
+ }, At = { fields: [at("rPr", $t, "rPr", { ns: "a" })] }, Et = { fields: [
1069
+ at("pPr", Ot, "pPr", { ns: "a" }),
1070
+ {
1071
+ tags: [
1072
+ "r",
1073
+ "br",
1074
+ "fld"
1075
+ ],
1076
+ key: "runs",
1077
+ ns: "a",
1078
+ many: !0,
1079
+ read: (t, e, n) => {
1080
+ if ("br" === t.name) return {
1081
+ ...nt(t, At, e, n),
1082
+ text: "\n",
1083
+ break: !0
1084
+ };
1085
+ if ("r" === t.name) {
1086
+ const r = nt(t, Rt, e, n);
1087
+ return void 0 === r.text ? void 0 : r;
1088
+ }
1089
+ const { id: r, type: s, ...o } = nt(t, Mt, e, n);
1090
+ return void 0 !== r ? (o.text ??= "", o.field = void 0 === s ? { id: r } : {
1091
+ id: r,
1092
+ type: s
1093
+ }, o) : void 0;
1094
+ },
1095
+ write: (t, e) => {
1096
+ if (e.break) {
1097
+ const { text: n, break: r, ...s } = e;
1098
+ rt(t, ut("br"), s, At);
1099
+ } else if (e.field) {
1100
+ const { field: n, ...r } = e;
1101
+ rt(t, ut("fld"), {
1102
+ ...r,
1103
+ id: n.id,
1104
+ type: n.type
1105
+ }, Mt);
1106
+ } else rt(t, ut("r"), e, Rt);
1107
+ }
1108
+ },
1109
+ at("endParaRPr", $t, "endRun", { ns: "a" })
1110
+ ] }, Ut = { fields: [
1111
+ at("bodyPr", {
1112
+ attributes: [
1113
+ lt("rot", "int", "rotation", 6e4),
1114
+ lt("spcFirstLastPara", "bool", "spcFirstLastPara"),
1115
+ lt("vertOverflow", "str", "vertOverflow"),
1116
+ lt("horzOverflow", "str", "horzOverflow"),
1117
+ lt("vert", "str", "vert"),
1118
+ lt("wrap", "str", "wrap"),
1119
+ lt("lIns", "int", "lIns"),
1120
+ lt("tIns", "int", "tIns"),
1121
+ lt("rIns", "int", "rIns"),
1122
+ lt("bIns", "int", "bIns"),
1123
+ lt("anchor", "str", "anchor"),
1124
+ lt("anchorCtr", "bool", "anchorCtr")
1125
+ ],
1126
+ fields: []
1127
+ }, "bodyPr", { ns: "a" }),
1128
+ at("lstStyle", { fields: [] }, "lstStyle", { ns: "a" }),
1129
+ at("p", Et, "paragraphs", {
1130
+ ns: "a",
1131
+ many: !0
1132
+ })
1133
+ ] }, Bt = () => at("spPr", Tt), Wt = () => at("txPr", Ut), zt = {
1134
+ attributes: [lt("idx", "int"), lt("formatCode", "str")],
1135
+ fields: [it("v")]
1136
+ }, Vt = { fields: [
1137
+ it("formatCode"),
1138
+ ot("ptCount", "int"),
1139
+ at("pt", zt, "points", { many: !0 })
1140
+ ] }, Ht = { fields: [ot("ptCount", "int"), at("pt", zt, "points", { many: !0 })] }, Gt = { fields: [ot("ptCount", "int"), at("lvl", { fields: [at("pt", zt, "points", { many: !0 })] }, "levels", { many: !0 })] }, qt = { fields: [it("f"), at("numCache", Vt, "cache")] }, Jt = { fields: [it("f"), at("strCache", Ht, "cache")] }, Kt = { fields: [it("f"), at("multiLvlStrCache", Gt, "cache")] }, _t = at("datalabelsRange", { fields: [it("f", "f", "c15"), at("dlblRangeCache", Ht, "cache", { ns: "c15" })] }, "datalabelsRange", { ns: "c15" }), Xt = {
1141
+ ..._t,
1142
+ read: (t, e, n) => e[A.c15] === R ? _t.read(t, e, n) : void 0
1143
+ }, Yt = ot("showDataLabelsRange", "bool", "showDataLabelsRange", "c15"), Qt = {
1144
+ ...Yt,
1145
+ read: (t, e, n) => e[A.c15] === R ? Yt.read(t, e, n) : void 0
1146
+ }, Zt = { fields: [at("ext", {
1147
+ attributes: [lt("uri", "str")],
1148
+ fields: [Xt, Qt],
1149
+ declares: (t) => void 0 !== t.datalabelsRange || void 0 !== t.showDataLabelsRange ? [[`xmlns:${A.c15}`, R]] : []
1150
+ }, "extensions", { many: !0 })] }, te = { fields: [
1151
+ at("multiLvlStrRef", Kt),
1152
+ at("numRef", qt),
1153
+ at("numLit", Vt),
1154
+ at("strRef", Jt),
1155
+ at("strLit", Ht)
1156
+ ] }, ee = { fields: [at("strRef", Jt), it("v")] }, ne = { fields: [at("strRef", Jt), at("rich", Ut)] }, re = {
1157
+ attributes: [lt("formatCode", "str"), lt("sourceLinked", "bool")],
1158
+ fields: []
1159
+ }, se = { fields: [at("manualLayout", { fields: [
1160
+ ot("layoutTarget", "str"),
1161
+ ot("xMode", "str"),
1162
+ ot("yMode", "str"),
1163
+ ot("wMode", "str"),
1164
+ ot("hMode", "str"),
1165
+ ot("x", "num"),
1166
+ ot("y", "num"),
1167
+ ot("w", "num"),
1168
+ ot("h", "num")
1169
+ ] })] }, oe = { fields: [
1170
+ at("tx", ne),
1171
+ at("layout", se),
1172
+ ot("overlay", "bool"),
1173
+ Bt(),
1174
+ Wt()
1175
+ ] }, ie = { fields: [Bt()] }, ae = { fields: [
1176
+ ot("symbol", "str"),
1177
+ ot("size", "int"),
1178
+ Bt()
1179
+ ] }, le = { fields: [
1180
+ ot("idx", "int"),
1181
+ ot("invertIfNegative", "bool"),
1182
+ at("marker", ae),
1183
+ ot("bubble3D", "bool"),
1184
+ ot("explosion", "int"),
1185
+ Bt()
1186
+ ] }, de = () => [
1187
+ at("numFmt", re),
1188
+ Bt(),
1189
+ Wt(),
1190
+ ot("dLblPos", "str"),
1191
+ ot("showLegendKey", "bool"),
1192
+ ot("showVal", "bool"),
1193
+ ot("showCatName", "bool"),
1194
+ ot("showSerName", "bool"),
1195
+ ot("showPercent", "bool"),
1196
+ ot("showBubbleSize", "bool"),
1197
+ it("separator")
1198
+ ], ce = { fields: [
1199
+ at("dLbl", { fields: [
1200
+ ot("idx", "int"),
1201
+ ot("delete", "bool"),
1202
+ at("layout", se),
1203
+ at("tx", ne),
1204
+ ...de(),
1205
+ at("extLst", Zt)
1206
+ ] }, "labels", { many: !0 }),
1207
+ ot("delete", "bool"),
1208
+ ...de(),
1209
+ ot("showLeaderLines", "bool"),
1210
+ at("leaderLines", ie),
1211
+ at("extLst", Zt)
1212
+ ] }, ue = { fields: [
1213
+ at("layout", se),
1214
+ at("tx", ne),
1215
+ at("numFmt", re),
1216
+ Bt(),
1217
+ Wt()
1218
+ ] }, pe = { fields: [
1219
+ it("name"),
1220
+ Bt(),
1221
+ ot("trendlineType", "str"),
1222
+ ot("order", "int"),
1223
+ ot("period", "int"),
1224
+ ot("forward", "num"),
1225
+ ot("backward", "num"),
1226
+ ot("intercept", "num"),
1227
+ ot("dispRSqr", "bool"),
1228
+ ot("dispEq", "bool"),
1229
+ at("trendlineLbl", ue)
1230
+ ] }, fe = { fields: [
1231
+ ot("errDir", "str"),
1232
+ ot("errBarType", "str"),
1233
+ ot("errValType", "str"),
1234
+ ot("noEndCap", "bool"),
1235
+ at("plus", te),
1236
+ at("minus", te),
1237
+ ot("val", "num"),
1238
+ Bt(),
1239
+ at("extLst", Zt)
1240
+ ] }, me = { fields: [
1241
+ ot("gapWidth", "int"),
1242
+ at("upBars", ie),
1243
+ at("downBars", ie)
1244
+ ] }, he = () => [
1245
+ ot("idx", "int"),
1246
+ ot("order", "int"),
1247
+ at("tx", ee),
1248
+ Bt()
1249
+ ], be = () => at("dPt", le, "points", { many: !0 }), ge = () => at("dLbls", ce), ye = () => at("trendline", pe, "trendlines", { many: !0 }), ve = () => at("errBars", fe, "errBars", { many: !0 }), xe = (t) => at(t, te), we = () => at("extLst", Zt), ke = {
1250
+ bar: { fields: [
1251
+ ...he(),
1252
+ ot("invertIfNegative", "bool"),
1253
+ be(),
1254
+ ge(),
1255
+ ye(),
1256
+ ve(),
1257
+ xe("cat"),
1258
+ xe("val"),
1259
+ ot("shape", "str"),
1260
+ we()
1261
+ ] },
1262
+ line: { fields: [
1263
+ ...he(),
1264
+ at("marker", ae),
1265
+ be(),
1266
+ ge(),
1267
+ ye(),
1268
+ ve(),
1269
+ xe("cat"),
1270
+ xe("val"),
1271
+ ot("smooth", "bool"),
1272
+ we()
1273
+ ] },
1274
+ area: { fields: [
1275
+ ...he(),
1276
+ be(),
1277
+ ge(),
1278
+ ye(),
1279
+ ve(),
1280
+ xe("cat"),
1281
+ xe("val"),
1282
+ we()
1283
+ ] },
1284
+ pie: { fields: [
1285
+ ...he(),
1286
+ ot("explosion", "int"),
1287
+ be(),
1288
+ ge(),
1289
+ xe("cat"),
1290
+ xe("val"),
1291
+ we()
1292
+ ] },
1293
+ scatter: { fields: [
1294
+ ...he(),
1295
+ at("marker", ae),
1296
+ be(),
1297
+ ge(),
1298
+ ye(),
1299
+ ve(),
1300
+ xe("xVal"),
1301
+ xe("yVal"),
1302
+ ot("smooth", "bool"),
1303
+ we()
1304
+ ] },
1305
+ bubble: { fields: [
1306
+ ...he(),
1307
+ ot("invertIfNegative", "bool"),
1308
+ be(),
1309
+ ge(),
1310
+ ye(),
1311
+ ve(),
1312
+ xe("xVal"),
1313
+ xe("yVal"),
1314
+ xe("bubbleSize"),
1315
+ ot("bubble3D", "bool"),
1316
+ we()
1317
+ ] },
1318
+ radar: { fields: [
1319
+ ...he(),
1320
+ at("marker", ae),
1321
+ be(),
1322
+ ge(),
1323
+ xe("cat"),
1324
+ xe("val"),
1325
+ we()
1326
+ ] },
1327
+ surface: { fields: [
1328
+ ...he(),
1329
+ xe("cat"),
1330
+ xe("val"),
1331
+ we()
1332
+ ] }
1333
+ }, Se = (t) => at("ser", ke[t], "series", { many: !0 }), Le = () => ({
1334
+ ...ot("axId", "int", "axIds"),
1335
+ many: !0
1336
+ }), Pe = (t, e) => at(t, ie, t, { many: e }), Ce = {
1337
+ tags: ["custSplit"],
1338
+ key: "custSplit",
1339
+ ns: "c",
1340
+ read: (t, e, n) => {
1341
+ const r = nt(t, { fields: [{
1342
+ ...ot("secondPiePt", "int", "points"),
1343
+ many: !0
1344
+ }] }, e, n);
1345
+ return r.unknown ? void 0 : r.points ?? [];
1346
+ },
1347
+ write: (t, e) => {
1348
+ rt(t, "c:custSplit", { points: e }, { fields: [{
1349
+ ...ot("secondPiePt", "int", "points"),
1350
+ many: !0
1351
+ }] });
1352
+ }
1353
+ }, Ie = { fields: [ot("idx", "int"), Bt()] }, De = {
1354
+ tags: ["bandFmts"],
1355
+ key: "bandFmts",
1356
+ ns: "c",
1357
+ read: (t, e, n) => {
1358
+ const r = nt(t, { fields: [at("bandFmt", Ie, "formats", { many: !0 })] }, e, n);
1359
+ return r.unknown ? void 0 : r.formats ?? [];
1360
+ },
1361
+ write: (t, e) => {
1362
+ rt(t, "c:bandFmts", { formats: e }, { fields: [at("bandFmt", Ie, "formats", { many: !0 })] });
1363
+ }
1364
+ }, Ne = {
1365
+ areaChart: {
1366
+ type: "area",
1367
+ codec: { fields: [
1368
+ ot("grouping", "str"),
1369
+ ot("varyColors", "bool"),
1370
+ Se("area"),
1371
+ ge(),
1372
+ Pe("dropLines"),
1373
+ Le()
1374
+ ] }
1375
+ },
1376
+ area3DChart: {
1377
+ type: "area",
1378
+ is3D: !0,
1379
+ codec: { fields: [
1380
+ ot("grouping", "str"),
1381
+ ot("varyColors", "bool"),
1382
+ Se("area"),
1383
+ ge(),
1384
+ Pe("dropLines"),
1385
+ ot("gapDepth", "int"),
1386
+ Le()
1387
+ ] }
1388
+ },
1389
+ lineChart: {
1390
+ type: "line",
1391
+ codec: { fields: [
1392
+ ot("grouping", "str"),
1393
+ ot("varyColors", "bool"),
1394
+ Se("line"),
1395
+ ge(),
1396
+ Pe("dropLines"),
1397
+ Pe("hiLowLines"),
1398
+ at("upDownBars", me),
1399
+ ot("marker", "bool"),
1400
+ ot("smooth", "bool"),
1401
+ Le()
1402
+ ] }
1403
+ },
1404
+ line3DChart: {
1405
+ type: "line",
1406
+ is3D: !0,
1407
+ codec: { fields: [
1408
+ ot("grouping", "str"),
1409
+ ot("varyColors", "bool"),
1410
+ Se("line"),
1411
+ ge(),
1412
+ Pe("dropLines"),
1413
+ ot("gapDepth", "int"),
1414
+ Le()
1415
+ ] }
1416
+ },
1417
+ stockChart: {
1418
+ type: "stock",
1419
+ codec: { fields: [
1420
+ Se("line"),
1421
+ ge(),
1422
+ Pe("dropLines"),
1423
+ Pe("hiLowLines"),
1424
+ at("upDownBars", me),
1425
+ Le()
1426
+ ] }
1427
+ },
1428
+ radarChart: {
1429
+ type: "radar",
1430
+ codec: { fields: [
1431
+ ot("radarStyle", "str"),
1432
+ ot("varyColors", "bool"),
1433
+ Se("radar"),
1434
+ ge(),
1435
+ Le()
1436
+ ] }
1437
+ },
1438
+ scatterChart: {
1439
+ type: "scatter",
1440
+ codec: { fields: [
1441
+ ot("scatterStyle", "str"),
1442
+ ot("varyColors", "bool"),
1443
+ Se("scatter"),
1444
+ ge(),
1445
+ Le()
1446
+ ] }
1447
+ },
1448
+ pieChart: {
1449
+ type: "pie",
1450
+ codec: { fields: [
1451
+ ot("varyColors", "bool"),
1452
+ Se("pie"),
1453
+ ge(),
1454
+ ot("firstSliceAng", "int")
1455
+ ] }
1456
+ },
1457
+ pie3DChart: {
1458
+ type: "pie",
1459
+ is3D: !0,
1460
+ codec: { fields: [
1461
+ ot("varyColors", "bool"),
1462
+ Se("pie"),
1463
+ ge()
1464
+ ] }
1465
+ },
1466
+ doughnutChart: {
1467
+ type: "doughnut",
1468
+ codec: { fields: [
1469
+ ot("varyColors", "bool"),
1470
+ Se("pie"),
1471
+ ge(),
1472
+ ot("firstSliceAng", "int"),
1473
+ ot("holeSize", "int")
1474
+ ] }
1475
+ },
1476
+ barChart: {
1477
+ type: "bar",
1478
+ codec: { fields: [
1479
+ ot("barDir", "str"),
1480
+ ot("grouping", "str"),
1481
+ ot("varyColors", "bool"),
1482
+ Se("bar"),
1483
+ ge(),
1484
+ ot("gapWidth", "int"),
1485
+ ot("overlap", "int"),
1486
+ Pe("serLines", !0),
1487
+ Le()
1488
+ ] }
1489
+ },
1490
+ bar3DChart: {
1491
+ type: "bar",
1492
+ is3D: !0,
1493
+ codec: { fields: [
1494
+ ot("barDir", "str"),
1495
+ ot("grouping", "str"),
1496
+ ot("varyColors", "bool"),
1497
+ Se("bar"),
1498
+ ge(),
1499
+ ot("gapWidth", "int"),
1500
+ ot("gapDepth", "int"),
1501
+ ot("shape", "str"),
1502
+ Le()
1503
+ ] }
1504
+ },
1505
+ ofPieChart: {
1506
+ type: "ofPie",
1507
+ codec: { fields: [
1508
+ ot("ofPieType", "str"),
1509
+ ot("varyColors", "bool"),
1510
+ Se("pie"),
1511
+ ge(),
1512
+ ot("gapWidth", "int"),
1513
+ ot("splitType", "str"),
1514
+ ot("splitPos", "num"),
1515
+ Ce,
1516
+ ot("secondPieSize", "int"),
1517
+ Pe("serLines", !0)
1518
+ ] }
1519
+ },
1520
+ surfaceChart: {
1521
+ type: "surface",
1522
+ codec: { fields: [
1523
+ ot("wireframe", "bool"),
1524
+ Se("surface"),
1525
+ De,
1526
+ Le()
1527
+ ] }
1528
+ },
1529
+ surface3DChart: {
1530
+ type: "surface",
1531
+ is3D: !0,
1532
+ codec: { fields: [
1533
+ ot("wireframe", "bool"),
1534
+ Se("surface"),
1535
+ De,
1536
+ Le()
1537
+ ] }
1538
+ },
1539
+ bubbleChart: {
1540
+ type: "bubble",
1541
+ codec: { fields: [
1542
+ ot("varyColors", "bool"),
1543
+ Se("bubble"),
1544
+ ge(),
1545
+ ot("bubble3D", "bool"),
1546
+ ot("bubbleScale", "int"),
1547
+ ot("showNegBubbles", "bool"),
1548
+ ot("sizeRepresents", "str"),
1549
+ Le()
1550
+ ] }
1551
+ }
1552
+ }, Te = {
1553
+ tags: Object.keys(Ne),
1554
+ key: "groups",
1555
+ ns: "c",
1556
+ many: !0,
1557
+ read: (t, e, n) => {
1558
+ const { type: r, is3D: s, codec: o } = Ne[t.name], i = nt(t, o, e, n);
1559
+ return i.series ??= [], i.axIds ??= [], s ? {
1560
+ type: r,
1561
+ is3D: s,
1562
+ ...i
1563
+ } : {
1564
+ type: r,
1565
+ ...i
1566
+ };
1567
+ },
1568
+ write: (t, e) => {
1569
+ const n = ((t) => `${t.type}${t.is3D ? "3D" : ""}Chart`)(e), { type: r, is3D: s, ...o } = Oe(e);
1570
+ rt(t, `c:${n}`, o, Ne[n].codec);
1571
+ }
1572
+ }, Fe = [
1573
+ "ctr",
1574
+ "l",
1575
+ "r",
1576
+ "t",
1577
+ "b"
1578
+ ], je = (t) => {
1579
+ switch (t.type) {
1580
+ case "bar": return t.is3D ? [] : "stacked" === t.grouping || "percentStacked" === t.grouping ? [
1581
+ "ctr",
1582
+ "inEnd",
1583
+ "inBase"
1584
+ ] : [
1585
+ "ctr",
1586
+ "inEnd",
1587
+ "inBase",
1588
+ "outEnd"
1589
+ ];
1590
+ case "line": return t.is3D ? [] : Fe;
1591
+ case "stock":
1592
+ case "scatter":
1593
+ case "bubble": return Fe;
1594
+ case "pie":
1595
+ case "ofPie": return [
1596
+ "ctr",
1597
+ "inEnd",
1598
+ "outEnd",
1599
+ "bestFit"
1600
+ ];
1601
+ default: return [];
1602
+ }
1603
+ }, $e = (t, e) => void 0 !== e?.dLblPos && !t.includes(e.dLblPos), Oe = (t) => {
1604
+ const e = je(t), n = (t) => {
1605
+ if (!$e(e, t)) return t;
1606
+ const { dLblPos: n, ...r } = t;
1607
+ return r;
1608
+ }, r = (t) => t.labels ? {
1609
+ ...n(t),
1610
+ labels: t.labels.map(n)
1611
+ } : n(t);
1612
+ return {
1613
+ ...t,
1614
+ ...t.dLbls ? { dLbls: r(t.dLbls) } : {},
1615
+ series: t.series.map((t) => t.dLbls ? {
1616
+ ...t,
1617
+ dLbls: r(t.dLbls)
1618
+ } : t)
1619
+ };
1620
+ }, Re = { fields: [
1621
+ ot("logBase", "num"),
1622
+ ot("orientation", "str"),
1623
+ ot("max", "num"),
1624
+ ot("min", "num")
1625
+ ] }, Me = { fields: [
1626
+ at("layout", se),
1627
+ at("tx", ne),
1628
+ Bt(),
1629
+ Wt()
1630
+ ] }, Ae = { fields: [
1631
+ ot("custUnit", "num"),
1632
+ ot("builtInUnit", "str"),
1633
+ at("dispUnitsLbl", Me)
1634
+ ] }, Ee = () => [
1635
+ ot("axId", "int"),
1636
+ at("scaling", Re),
1637
+ ot("delete", "bool"),
1638
+ ot("axPos", "str"),
1639
+ Pe("majorGridlines"),
1640
+ Pe("minorGridlines"),
1641
+ at("title", oe),
1642
+ at("numFmt", re),
1643
+ ot("majorTickMark", "str"),
1644
+ ot("minorTickMark", "str"),
1645
+ ot("tickLblPos", "str"),
1646
+ Bt(),
1647
+ Wt(),
1648
+ ot("crossAx", "int"),
1649
+ ot("crosses", "str"),
1650
+ ot("crossesAt", "num")
1651
+ ], Ue = {
1652
+ valAx: {
1653
+ type: "val",
1654
+ codec: { fields: [
1655
+ ...Ee(),
1656
+ ot("crossBetween", "str"),
1657
+ ot("majorUnit", "num"),
1658
+ ot("minorUnit", "num"),
1659
+ at("dispUnits", Ae)
1660
+ ] }
1661
+ },
1662
+ catAx: {
1663
+ type: "cat",
1664
+ codec: { fields: [
1665
+ ...Ee(),
1666
+ ot("auto", "bool"),
1667
+ ot("lblAlgn", "str"),
1668
+ ot("lblOffset", "int"),
1669
+ ot("tickLblSkip", "int"),
1670
+ ot("tickMarkSkip", "int"),
1671
+ ot("noMultiLvlLbl", "bool")
1672
+ ] }
1673
+ },
1674
+ dateAx: {
1675
+ type: "date",
1676
+ codec: { fields: [
1677
+ ...Ee(),
1678
+ ot("auto", "bool"),
1679
+ ot("lblOffset", "int"),
1680
+ ot("baseTimeUnit", "str"),
1681
+ ot("majorUnit", "num"),
1682
+ ot("majorTimeUnit", "str"),
1683
+ ot("minorUnit", "num"),
1684
+ ot("minorTimeUnit", "str")
1685
+ ] }
1686
+ },
1687
+ serAx: {
1688
+ type: "ser",
1689
+ codec: { fields: [
1690
+ ...Ee(),
1691
+ ot("tickLblSkip", "int"),
1692
+ ot("tickMarkSkip", "int")
1693
+ ] }
1694
+ }
1695
+ }, Be = {
1696
+ tags: Object.keys(Ue),
1697
+ key: "axes",
1698
+ ns: "c",
1699
+ many: !0,
1700
+ read: (t, e, n) => ({
1701
+ type: Ue[t.name].type,
1702
+ ...nt(t, Ue[t.name].codec, e, n)
1703
+ }),
1704
+ write: (t, e) => {
1705
+ const { type: n, ...r } = e, s = `${n}Ax`;
1706
+ rt(t, `c:${s}`, r, Ue[s].codec);
1707
+ }
1708
+ }, We = { fields: [
1709
+ ot("showHorzBorder", "bool"),
1710
+ ot("showVertBorder", "bool"),
1711
+ ot("showOutline", "bool"),
1712
+ ot("showKeys", "bool"),
1713
+ Bt(),
1714
+ Wt()
1715
+ ] }, ze = {
1716
+ fields: [
1717
+ at("layout", se),
1718
+ Te,
1719
+ Be,
1720
+ at("dTable", We),
1721
+ Bt()
1722
+ ],
1723
+ afterRead: (t) => {
1724
+ t.groups ??= [], t.axes ??= [];
1725
+ }
1726
+ }, Ve = { fields: [
1727
+ ot("rotX", "int"),
1728
+ ot("hPercent", "int"),
1729
+ ot("rotY", "int"),
1730
+ ot("depthPercent", "int"),
1731
+ ot("rAngAx", "bool"),
1732
+ ot("perspective", "int")
1733
+ ] }, He = { fields: [ot("thickness", "int"), Bt()] }, Ge = { fields: [
1734
+ ot("idx", "int"),
1735
+ ot("delete", "bool"),
1736
+ Wt()
1737
+ ] }, qe = { fields: [
1738
+ ot("legendPos", "str"),
1739
+ at("legendEntry", Ge, "entries", { many: !0 }),
1740
+ at("layout", se),
1741
+ ot("overlay", "bool"),
1742
+ Bt(),
1743
+ Wt()
1744
+ ] }, Je = { fields: [
1745
+ at("title", oe),
1746
+ ot("autoTitleDeleted", "bool"),
1747
+ at("view3D", Ve),
1748
+ at("floor", He),
1749
+ at("sideWall", He),
1750
+ at("backWall", He),
1751
+ at("plotArea", ze),
1752
+ at("legend", qe),
1753
+ ot("plotVisOnly", "bool"),
1754
+ ot("dispBlanksAs", "str"),
1755
+ ot("showDLblsOverMax", "bool")
1756
+ ] }, Ke = { fields: [it("name"), ot("fmtId", "int")] }, _e = { fields: [
1757
+ ot("date1904", "bool"),
1758
+ ot("lang", "str"),
1759
+ ot("roundedCorners", "bool"),
1760
+ ot("style", "int"),
1761
+ at("pivotSource", Ke),
1762
+ at("chart", Je),
1763
+ Bt(),
1764
+ Wt()
1765
+ ] }, Xe = (t) => {
1766
+ const e = N(t);
1767
+ if (!e || "chartSpace" !== e.name) return null;
1768
+ const n = H(e, W);
1769
+ if (!E(G(e, n))) return null;
1770
+ const r = new tt(t, n);
1771
+ return {
1772
+ model: nt(e, _e, W, r),
1773
+ kept: r.kept,
1774
+ reordered: r.reordered
1775
+ };
1776
+ }, Ye = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\r\n", Qe = (t, e) => {
1777
+ if (e && (n = t, !(n.chart?.plotArea?.groups ?? []).some((t) => {
1778
+ const e = je(t), n = (t) => $e(e, t) || !!t?.labels?.some((t) => $e(e, t));
1779
+ return n(t.dLbls) || t.series.some((t) => n(t.dLbls));
1780
+ }))) {
1781
+ const n = Xe(e);
1782
+ if (n && JSON.stringify(n.model) === JSON.stringify(t)) return e;
1783
+ }
1784
+ var n;
1785
+ return ((t) => {
1786
+ const e = { ...t.unknown?.attributes }, n = (t, n) => {
1787
+ e[`xmlns:${t}`] ??= n;
1788
+ };
1789
+ n(A.c, j), n(A.a, $), n(A.r, O);
1790
+ const r = new q().raw(Ye);
1791
+ return ((t, e) => {
1792
+ rt(t, "c:chartSpace", e, _e);
1793
+ })(r, {
1794
+ ...t,
1795
+ unknown: {
1796
+ ...t.unknown,
1797
+ attributes: e
1798
+ }
1799
+ }), r.toString();
1800
+ })(t);
1801
+ }, Ze = (t, e, n = t, r) => at(t, e, n, {
1802
+ ns: "cx",
1803
+ many: r
1804
+ }), tn = () => Ze("spPr", Tt), en = () => Ze("txPr", Ut), nn = () => Ze("numFmt", re), rn = (t) => ({
1805
+ name: t,
1806
+ key: t,
1807
+ read: (t) => {
1808
+ if ("auto" === t) return "auto";
1809
+ const e = Number(t);
1810
+ return "" !== t.trim() && Number.isFinite(e) ? e : void 0;
1811
+ },
1812
+ write: (t) => String(t)
1813
+ }), sn = (t) => V(t).filter(([t]) => "xmlns" !== t && !t.startsWith("xmlns:")), on = (t) => ({
1814
+ tags: [t],
1815
+ key: t,
1816
+ ns: "cx",
1817
+ read: (t) => {
1818
+ if (T(t).length > 0) return;
1819
+ const e = { f: F(t) };
1820
+ for (const [n, r] of sn(t)) {
1821
+ if ("dir" !== n || "col" !== r && "row" !== r) return;
1822
+ e.dir = r;
1823
+ }
1824
+ return "" === e.f ? void 0 : e;
1825
+ },
1826
+ write: (e, n) => {
1827
+ const r = st("cx", t);
1828
+ e.open(r, n.dir ? [["dir", n.dir]] : null).text(n.f).close(r);
1829
+ }
1830
+ }), an = {
1831
+ attributes: [
1832
+ lt("ptCount", "int"),
1833
+ lt("formatCode", "str"),
1834
+ lt("name", "str")
1835
+ ],
1836
+ fields: [{
1837
+ tags: ["pt"],
1838
+ key: "points",
1839
+ ns: "cx",
1840
+ many: !0,
1841
+ read: (t) => {
1842
+ if (T(t).length > 0) return;
1843
+ const e = sn(t);
1844
+ if (1 !== e.length || "idx" !== e[0][0]) return;
1845
+ const n = Number(e[0][1]);
1846
+ return Number.isInteger(n) && Y(String(n)) === Y(e[0][1]) ? {
1847
+ idx: n,
1848
+ v: F(t)
1849
+ } : void 0;
1850
+ },
1851
+ write: (t, e) => {
1852
+ const n = st("cx", "pt");
1853
+ "" === e.v ? t.open(n, [["idx", String(e.idx)]], !0) : t.open(n, [["idx", String(e.idx)]]).text(e.v).close(n);
1854
+ }
1855
+ }]
1856
+ }, ln = {
1857
+ attributes: [lt("type", "str")],
1858
+ fields: [
1859
+ on("f"),
1860
+ on("nf"),
1861
+ Ze("lvl", an, "levels", !0)
1862
+ ]
1863
+ }, dn = /* @__PURE__ */ new Set([
1864
+ "val",
1865
+ "x",
1866
+ "y",
1867
+ "size",
1868
+ "colorVal"
1869
+ ]), cn = /* @__PURE__ */ new Set([
1870
+ "cat",
1871
+ "colorStr",
1872
+ "entityId"
1873
+ ]), un = {
1874
+ fields: [Ze("data", {
1875
+ attributes: [lt("id", "int")],
1876
+ fields: [{
1877
+ tags: ["numDim", "strDim"],
1878
+ key: "dimensions",
1879
+ ns: "cx",
1880
+ many: !0,
1881
+ read: (t, e, n) => {
1882
+ const r = nt(t, ln, e, n);
1883
+ return ("numDim" === t.name ? dn : cn).has(r.type) ? r : void 0;
1884
+ },
1885
+ write: (t, e) => {
1886
+ rt(t, st("cx", dn.has(e.type) ? "numDim" : "strDim"), e, ln);
1887
+ }
1888
+ }],
1889
+ afterRead: (t) => {
1890
+ t.dimensions ??= [];
1891
+ }
1892
+ }, "data", !0)],
1893
+ afterRead: (t) => {
1894
+ t.data ??= [];
1895
+ }
1896
+ }, pn = { fields: [Ze("txData", { fields: [on("f"), it("v", "v", "cx")] }), Ze("rich", Ut)] }, fn = () => [
1897
+ lt("pos", "str"),
1898
+ lt("align", "str"),
1899
+ lt("overlay", "bool")
1900
+ ], mn = {
1901
+ attributes: fn(),
1902
+ fields: [
1903
+ Ze("tx", pn),
1904
+ tn(),
1905
+ en()
1906
+ ]
1907
+ }, hn = {
1908
+ attributes: fn(),
1909
+ fields: [tn(), en()]
1910
+ }, bn = {
1911
+ attributes: [
1912
+ lt("seriesName", "bool"),
1913
+ lt("categoryName", "bool"),
1914
+ lt("value", "bool")
1915
+ ],
1916
+ fields: []
1917
+ }, gn = () => [
1918
+ nn(),
1919
+ tn(),
1920
+ en(),
1921
+ Ze("visibility", bn),
1922
+ it("separator", "separator", "cx")
1923
+ ], yn = {
1924
+ attributes: [lt("idx", "int"), lt("pos", "str")],
1925
+ fields: gn()
1926
+ }, vn = {
1927
+ attributes: [lt("idx", "int")],
1928
+ fields: []
1929
+ }, xn = {
1930
+ attributes: [lt("pos", "str")],
1931
+ fields: [
1932
+ ...gn(),
1933
+ Ze("dataLabel", yn, "labels", !0),
1934
+ Ze("dataLabelHidden", vn, "hiddenLabels", !0)
1935
+ ]
1936
+ }, wn = {
1937
+ attributes: [lt("idx", "int")],
1938
+ fields: [tn()]
1939
+ }, kn = {
1940
+ attributes: [
1941
+ "connectorLines",
1942
+ "meanLine",
1943
+ "meanMarker",
1944
+ "nonoutliers",
1945
+ "outliers"
1946
+ ].map((t) => lt(t, "bool")),
1947
+ fields: []
1948
+ }, Sn = {
1949
+ attributes: [
1950
+ lt("intervalClosed", "str"),
1951
+ rn("underflow"),
1952
+ rn("overflow")
1953
+ ],
1954
+ fields: [ot("binSize", "num", "binSize", "cx"), ot("binCount", "int", "binCount", "cx")]
1955
+ }, Ln = { fields: [{
1956
+ ...ot("idx", "int", "indexes", "cx"),
1957
+ many: !0
1958
+ }] }, Pn = { fields: [
1959
+ ot("parentLabelLayout", "str", "parentLabelLayout", "cx"),
1960
+ ot("regionLabelLayout", "str", "regionLabelLayout", "cx"),
1961
+ Ze("visibility", kn),
1962
+ Ze("aggregation", { fields: [] }),
1963
+ Ze("binning", Sn),
1964
+ Ze("statistics", {
1965
+ attributes: [lt("quartileMethod", "str")],
1966
+ fields: []
1967
+ }),
1968
+ {
1969
+ tags: ["subtotals"],
1970
+ key: "subtotals",
1971
+ ns: "cx",
1972
+ read: (t, e, n) => {
1973
+ const r = nt(t, Ln, e, n);
1974
+ return r.unknown ? void 0 : r.indexes ?? [];
1975
+ },
1976
+ write: (t, e) => {
1977
+ rt(t, st("cx", "subtotals"), { indexes: e }, Ln);
1978
+ }
1979
+ }
1980
+ ] }, Cn = {
1981
+ attributes: [
1982
+ lt("layoutId", "str"),
1983
+ lt("hidden", "bool"),
1984
+ lt("ownerIdx", "int"),
1985
+ lt("uniqueId", "str"),
1986
+ lt("formatIdx", "int")
1987
+ ],
1988
+ fields: [
1989
+ Ze("tx", pn),
1990
+ tn(),
1991
+ Ze("dataPt", wn, "points", !0),
1992
+ Ze("dataLabels", xn),
1993
+ ot("dataId", "int", "dataId", "cx"),
1994
+ Ze("layoutPr", Pn),
1995
+ {
1996
+ ...ot("axisId", "int", "axisIds", "cx"),
1997
+ many: !0
1998
+ }
1999
+ ]
2000
+ }, In = {
2001
+ fields: [Ze("plotSurface", { fields: [tn()] }), Ze("series", Cn, "series", !0)],
2002
+ afterRead: (t) => {
2003
+ t.series ??= [];
2004
+ }
2005
+ }, Dn = { fields: [
2006
+ Ze("tx", pn),
2007
+ tn(),
2008
+ en()
2009
+ ] }, Nn = { fields: [tn()] }, Tn = {
2010
+ attributes: [lt("type", "str")],
2011
+ fields: []
2012
+ }, Fn = {
2013
+ attributes: [lt("id", "int"), lt("hidden", "bool")],
2014
+ fields: [
2015
+ Ze("catScaling", {
2016
+ attributes: [lt("gapWidth", "num")],
2017
+ fields: []
2018
+ }),
2019
+ Ze("valScaling", {
2020
+ attributes: [
2021
+ "max",
2022
+ "min",
2023
+ "majorUnit",
2024
+ "minorUnit"
2025
+ ].map((t) => lt(t, "num")),
2026
+ fields: []
2027
+ }),
2028
+ Ze("title", Dn),
2029
+ Ze("units", {
2030
+ attributes: [lt("unit", "str")],
2031
+ fields: [Ze("unitsLabel", Dn)]
2032
+ }),
2033
+ Ze("majorGridlines", Nn),
2034
+ Ze("minorGridlines", Nn),
2035
+ Ze("majorTickMarks", Tn),
2036
+ Ze("minorTickMarks", Tn),
2037
+ Ze("tickLabels", { fields: [] }),
2038
+ nn(),
2039
+ tn(),
2040
+ en()
2041
+ ]
2042
+ }, jn = {
2043
+ fields: [
2044
+ Ze("plotAreaRegion", In),
2045
+ Ze("axis", Fn, "axes", !0),
2046
+ tn()
2047
+ ],
2048
+ afterRead: (t) => {
2049
+ t.axes ??= [];
2050
+ }
2051
+ }, $n = { fields: [
2052
+ Ze("title", mn),
2053
+ Ze("plotArea", jn),
2054
+ Ze("legend", hn)
2055
+ ] }, On = { fields: [
2056
+ Ze("chartData", un),
2057
+ Ze("chart", $n),
2058
+ tn(),
2059
+ en()
2060
+ ] }, Rn = {
2061
+ waterfall: "waterfall",
2062
+ clusteredColumn: "histogram",
2063
+ boxWhisker: "boxWhisker",
2064
+ treemap: "treemap",
2065
+ sunburst: "sunburst",
2066
+ funnel: "funnel",
2067
+ regionMap: "regionMap"
2068
+ }, Mn = Object.fromEntries(Object.entries(Rn).map(([t, e]) => [e, t])), An = new Set(Object.values(Rn)), En = "paretoLine", Un = {
2069
+ cat: "cat",
2070
+ val: "val",
2071
+ x: "xVal",
2072
+ y: "yVal",
2073
+ size: "bubbleSize",
2074
+ colorVal: "color",
2075
+ colorStr: "color",
2076
+ entityId: "entityId"
2077
+ }, Bn = /* @__PURE__ */ new Set([
2078
+ "val",
2079
+ "x",
2080
+ "y",
2081
+ "size",
2082
+ "colorVal"
2083
+ ]), Wn = [
2084
+ "cat",
2085
+ "colorStr",
2086
+ "entityId",
2087
+ "x",
2088
+ "y",
2089
+ "val",
2090
+ "size",
2091
+ "colorVal"
2092
+ ], zn = (t) => {
2093
+ for (const e of Object.keys(t)) void 0 === t[e] && delete t[e];
2094
+ return t;
2095
+ }, Vn = (t) => zn({
2096
+ f: t.f,
2097
+ dir: t.dir
2098
+ }), Hn = (t) => t && zn({
2099
+ strRef: t.txData?.f ? Vn(t.txData.f) : void 0,
2100
+ v: t.txData?.v,
2101
+ rich: t.rich,
2102
+ unknown: t.unknown
2103
+ }), Gn = (t) => t && zn({
2104
+ tx: Hn(t.tx),
2105
+ overlay: t.overlay,
2106
+ spPr: t.spPr,
2107
+ txPr: t.txPr,
2108
+ pos: t.pos,
2109
+ align: t.align,
2110
+ unknown: t.unknown
2111
+ }), qn = (t) => zn({
2112
+ numFmt: t.numFmt,
2113
+ spPr: t.spPr,
2114
+ txPr: t.txPr,
2115
+ dLblPos: t.pos,
2116
+ showSerName: t.visibility?.seriesName,
2117
+ showCatName: t.visibility?.categoryName,
2118
+ showVal: t.visibility?.value,
2119
+ separator: t.separator,
2120
+ unknown: t.unknown
2121
+ }), Jn = (t) => {
2122
+ if (!t) return;
2123
+ const e = qn(t), n = [...(t.labels ?? []).map((t) => ({
2124
+ idx: t.idx,
2125
+ ...qn(t)
2126
+ })), ...(t.hiddenLabels ?? []).map((t) => ({
2127
+ idx: t.idx,
2128
+ delete: !0
2129
+ }))];
2130
+ return n.length > 0 && (e.labels = n), e;
2131
+ }, Kn = (t, e) => {
2132
+ const n = (t ?? []).map((t) => ({ ...t }));
2133
+ for (const t of [...e ?? []].sort((t, e) => t - e)) {
2134
+ const e = n.find((e) => e.idx === t);
2135
+ e ? e.subtotal = !0 : n.push({
2136
+ idx: t,
2137
+ subtotal: !0
2138
+ });
2139
+ }
2140
+ return n.length > 0 ? n : void 0;
2141
+ }, _n = (t) => {
2142
+ if (!t) return;
2143
+ const { subtotals: e, ...n } = t;
2144
+ return Object.keys(n).length > 0 ? n : void 0;
2145
+ }, Xn = (t) => zn({
2146
+ ptCount: t.ptCount,
2147
+ formatCode: t.formatCode,
2148
+ name: t.name,
2149
+ points: (t.points ?? []).map((t) => ({
2150
+ idx: t.idx,
2151
+ v: t.v
2152
+ })),
2153
+ unknown: t.unknown
2154
+ }), Yn = (t) => {
2155
+ const e = Bn.has(t.type), n = t.levels?.map(Xn), r = {};
2156
+ return t.f ? r[e ? "numRef" : "strRef"] = zn({
2157
+ ...Vn(t.f),
2158
+ cache: n ? { levels: n } : void 0
2159
+ }) : r[e ? "numLit" : "strLit"] = zn({ levels: n }), t.nf && (r.nf = Vn(t.nf)), t.unknown && (r.unknown = t.unknown), r;
2160
+ }, Qn = (t, e) => {
2161
+ const n = zn({
2162
+ idx: t.formatIdx,
2163
+ hidden: t.hidden,
2164
+ uniqueId: t.uniqueId,
2165
+ tx: Hn(t.tx),
2166
+ spPr: t.spPr,
2167
+ points: Kn(t.points, t.layoutPr?.subtotals),
2168
+ dLbls: Jn(t.dataLabels),
2169
+ layoutPr: _n(t.layoutPr),
2170
+ unknown: t.unknown
2171
+ });
2172
+ for (const t of e?.dimensions ?? []) {
2173
+ const e = Un[t.type];
2174
+ e && !n[e] && (n[e] = Yn(t));
2175
+ }
2176
+ return n;
2177
+ }, Zn = (t) => zn({
2178
+ idx: t.formatIdx,
2179
+ hidden: t.hidden,
2180
+ uniqueId: t.uniqueId,
2181
+ tx: Hn(t.tx),
2182
+ spPr: t.spPr,
2183
+ points: Kn(t.points, t.layoutPr?.subtotals),
2184
+ dLbls: Jn(t.dataLabels),
2185
+ layoutPr: _n(t.layoutPr),
2186
+ axIds: t.axisIds,
2187
+ unknown: t.unknown
2188
+ }), tr = (t, e) => {
2189
+ const n = new Map(e.map((t) => [t.id, t])), r = [], s = [];
2190
+ let o = null;
2191
+ for (const e of t?.series ?? []) {
2192
+ if (e.layoutId === En) {
2193
+ const t = void 0 === e.ownerIdx ? null : s[e.ownerIdx];
2194
+ t && !t.cumulativeLine && (t.cumulativeLine = Zn(e)), s.push(null);
2195
+ continue;
2196
+ }
2197
+ const t = Rn[e.layoutId] ?? e.layoutId, i = e.axisIds ?? [];
2198
+ o && o.type === t && JSON.stringify(o.axIds) === JSON.stringify(i) || (o = {
2199
+ type: t,
2200
+ series: [],
2201
+ axIds: i
2202
+ }, r.push(o));
2203
+ const a = Qn(e, void 0 === e.dataId ? void 0 : n.get(e.dataId));
2204
+ o.series.push(a), s.push(a);
2205
+ }
2206
+ return r;
2207
+ }, er = (t) => {
2208
+ const e = t.catScaling ?? t.valScaling;
2209
+ return zn({
2210
+ type: t.catScaling || !t.valScaling ? "cat" : "val",
2211
+ axId: t.id,
2212
+ scaling: zn({
2213
+ max: t.valScaling?.max,
2214
+ min: t.valScaling?.min,
2215
+ gapWidth: t.catScaling?.gapWidth,
2216
+ unknown: e?.unknown
2217
+ }),
2218
+ delete: t.hidden,
2219
+ majorGridlines: t.majorGridlines,
2220
+ minorGridlines: t.minorGridlines,
2221
+ title: Gn(t.title),
2222
+ numFmt: t.numFmt,
2223
+ majorTickMark: t.majorTickMarks?.type,
2224
+ minorTickMark: t.minorTickMarks?.type,
2225
+ tickLblPos: t.tickLabels ? void 0 : "none",
2226
+ spPr: t.spPr,
2227
+ txPr: t.txPr,
2228
+ majorUnit: t.valScaling?.majorUnit,
2229
+ minorUnit: t.valScaling?.minorUnit,
2230
+ dispUnits: t.units && zn({
2231
+ builtInUnit: t.units.unit,
2232
+ dispUnitsLbl: Gn(t.units.unitsLabel),
2233
+ unknown: t.units.unknown
2234
+ }),
2235
+ unknown: t.unknown
2236
+ });
2237
+ }, nr = (t) => t && zn({
2238
+ txData: t.strRef || void 0 !== t.v ? zn({
2239
+ f: t.strRef ? Vn(t.strRef) : void 0,
2240
+ v: t.v
2241
+ }) : void 0,
2242
+ rich: t.rich,
2243
+ unknown: t.unknown
2244
+ }), rr = (t) => t && zn({
2245
+ tx: nr(t.tx),
2246
+ spPr: t.spPr,
2247
+ txPr: t.txPr,
2248
+ unknown: t.unknown
2249
+ }), sr = (t) => {
2250
+ const e = void 0 !== t.showSerName || void 0 !== t.showCatName || void 0 !== t.showVal;
2251
+ return zn({
2252
+ pos: t.dLblPos,
2253
+ numFmt: t.numFmt,
2254
+ spPr: t.spPr,
2255
+ txPr: t.txPr,
2256
+ visibility: e ? zn({
2257
+ seriesName: t.showSerName,
2258
+ categoryName: t.showCatName,
2259
+ value: t.showVal
2260
+ }) : void 0,
2261
+ separator: t.separator,
2262
+ unknown: t.unknown
2263
+ });
2264
+ }, or = (t) => !0 === t.delete && Object.keys(t).every((t) => "idx" === t || "delete" === t), ir = (t) => {
2265
+ if (!t) return;
2266
+ const e = sr(t), n = (t.labels ?? []).filter((t) => !or(t)).map((t) => ({
2267
+ idx: t.idx,
2268
+ ...sr(t)
2269
+ })), r = (t.labels ?? []).filter(or).map((t) => ({ idx: t.idx }));
2270
+ return n.length > 0 && (e.labels = n), r.length > 0 && (e.hiddenLabels = r), e;
2271
+ }, ar = (t) => {
2272
+ const e = (t ?? []).filter((t) => Object.keys(t).some((t) => "idx" !== t && "subtotal" !== t)).map(({ subtotal: t, ...e }) => e);
2273
+ return e.length > 0 ? e : void 0;
2274
+ }, lr = (t, e, n) => {
2275
+ const r = (e ?? []).filter((t) => t.subtotal).map((t) => t.idx).sort((t, e) => t - e);
2276
+ return 0 !== r.length || n ? {
2277
+ ...t,
2278
+ subtotals: r
2279
+ } : t;
2280
+ }, dr = (t) => zn({
2281
+ ptCount: t.ptCount,
2282
+ formatCode: t.formatCode,
2283
+ name: t.name,
2284
+ points: t.points.length > 0 ? t.points.map((t) => ({
2285
+ idx: t.idx,
2286
+ v: t.v
2287
+ })) : void 0,
2288
+ unknown: t.unknown
2289
+ }), cr = (t, e) => "color" === t ? e.strRef || e.strLit ? "colorStr" : "colorVal" : Object.keys(Un).find((e) => Un[e] === t), ur = (t) => {
2290
+ const e = [];
2291
+ for (const n of [
2292
+ "cat",
2293
+ "val",
2294
+ "xVal",
2295
+ "yVal",
2296
+ "bubbleSize",
2297
+ "color",
2298
+ "entityId"
2299
+ ]) {
2300
+ const r = t[n];
2301
+ if (!r) continue;
2302
+ const s = r.numRef ?? r.strRef, o = (s ? s.cache : r.numLit ?? r.strLit)?.levels;
2303
+ e.push(zn({
2304
+ type: cr(n, r),
2305
+ f: s ? Vn(s) : void 0,
2306
+ nf: r.nf ? Vn(r.nf) : void 0,
2307
+ levels: o && o.length > 0 ? o.map(dr) : void 0,
2308
+ unknown: r.unknown
2309
+ }));
2310
+ }
2311
+ return e.sort((t, e) => Wn.indexOf(t.type) - Wn.indexOf(e.type));
2312
+ }, pr = (t) => {
2313
+ const e = t.scaling ?? {}, n = "cat" === t.type || "date" === t.type;
2314
+ return zn({
2315
+ id: t.axId,
2316
+ hidden: t.delete,
2317
+ catScaling: n ? zn({
2318
+ gapWidth: e.gapWidth,
2319
+ unknown: e.unknown
2320
+ }) : void 0,
2321
+ valScaling: n ? void 0 : zn({
2322
+ max: e.max,
2323
+ min: e.min,
2324
+ majorUnit: t.majorUnit,
2325
+ minorUnit: t.minorUnit,
2326
+ unknown: e.unknown
2327
+ }),
2328
+ title: rr(t.title),
2329
+ units: t.dispUnits && zn({
2330
+ unit: t.dispUnits.builtInUnit,
2331
+ unitsLabel: rr(t.dispUnits.dispUnitsLbl),
2332
+ unknown: t.dispUnits.unknown
2333
+ }),
2334
+ majorGridlines: t.majorGridlines,
2335
+ minorGridlines: t.minorGridlines,
2336
+ majorTickMarks: t.majorTickMark ? { type: t.majorTickMark } : void 0,
2337
+ minorTickMarks: t.minorTickMark ? { type: t.minorTickMark } : void 0,
2338
+ tickLabels: "none" === t.tickLblPos ? void 0 : {},
2339
+ numFmt: t.numFmt,
2340
+ spPr: t.spPr,
2341
+ txPr: t.txPr,
2342
+ unknown: t.unknown
2343
+ });
2344
+ }, fr = (t) => {
2345
+ const e = t.chart, n = e?.plotArea, r = [], s = [], o = [];
2346
+ for (const t of n?.groups ?? []) {
2347
+ const e = Mn[t.type];
2348
+ if (e) for (const n of t.series) {
2349
+ const i = ur(n);
2350
+ let a;
2351
+ if (i.length > 0) {
2352
+ const t = JSON.stringify(i);
2353
+ a = o.indexOf(t), -1 === a && (a = s.length, s.push({
2354
+ id: a,
2355
+ dimensions: i
2356
+ }), o.push(t));
2357
+ }
2358
+ const l = r.length;
2359
+ r.push(zn({
2360
+ layoutId: e,
2361
+ hidden: n.hidden,
2362
+ uniqueId: n.uniqueId,
2363
+ formatIdx: n.idx,
2364
+ tx: nr(n.tx),
2365
+ spPr: n.spPr,
2366
+ points: ar(n.points),
2367
+ dataLabels: ir(n.dLbls),
2368
+ dataId: a,
2369
+ layoutPr: lr(n.layoutPr, n.points, "waterfall" === t.type),
2370
+ axisIds: t.axIds.length > 0 ? t.axIds : void 0,
2371
+ unknown: n.unknown
2372
+ }));
2373
+ const d = n.cumulativeLine;
2374
+ d && r.push(zn({
2375
+ layoutId: En,
2376
+ hidden: d.hidden,
2377
+ ownerIdx: l,
2378
+ uniqueId: d.uniqueId,
2379
+ formatIdx: d.idx,
2380
+ tx: nr(d.tx),
2381
+ spPr: d.spPr,
2382
+ points: ar(d.points),
2383
+ dataLabels: ir(d.dLbls),
2384
+ layoutPr: lr(d.layoutPr, d.points, !1),
2385
+ axisIds: d.axIds,
2386
+ unknown: d.unknown
2387
+ }));
2388
+ }
2389
+ }
2390
+ const i = e?.legend;
2391
+ return zn({
2392
+ chartData: { data: s },
2393
+ chart: zn({
2394
+ title: (a = e?.title, a && zn({
2395
+ pos: a.pos,
2396
+ align: a.align,
2397
+ overlay: a.overlay,
2398
+ tx: nr(a.tx),
2399
+ spPr: a.spPr,
2400
+ txPr: a.txPr,
2401
+ unknown: a.unknown
2402
+ })),
2403
+ plotArea: zn({
2404
+ plotAreaRegion: zn({
2405
+ plotSurface: n?.plotSurface,
2406
+ series: r
2407
+ }),
2408
+ axes: (n?.axes ?? []).map(pr),
2409
+ spPr: n?.spPr,
2410
+ unknown: n?.unknown
2411
+ }),
2412
+ legend: i && zn({
2413
+ pos: "tr" === i.legendPos ? "r" : i.legendPos,
2414
+ align: i.align,
2415
+ overlay: i.overlay,
2416
+ spPr: i.spPr,
2417
+ txPr: i.txPr,
2418
+ unknown: i.unknown
2419
+ }),
2420
+ unknown: e?.unknown
2421
+ }),
2422
+ spPr: t.spPr,
2423
+ txPr: t.txPr,
2424
+ unknown: t.unknown
2425
+ });
2426
+ var a;
2427
+ }, mr = (t, e) => {
2428
+ if (t === e) return !0;
2429
+ if ("object" != typeof t || "object" != typeof e || null === t || null === e) return !1;
2430
+ if (Array.isArray(t) !== Array.isArray(e)) return !1;
2431
+ const n = (t) => Object.keys(t).filter((e) => void 0 !== t[e]), r = n(t), s = n(e);
2432
+ return r.length === s.length && r.every((n) => mr(t[n], e[n]));
2433
+ }, hr = (t, e) => mr(t, fr(e)), br = (t) => {
2434
+ const e = N(t);
2435
+ if (!e || "chartSpace" !== e.name) return null;
2436
+ const n = H(e, W);
2437
+ if (!B(G(e, n))) return null;
2438
+ const r = new tt(t, n), s = nt(e, On, W, r), o = ((t) => {
2439
+ const e = t.chart, n = e?.plotArea, r = e?.legend;
2440
+ return zn({
2441
+ chart: zn({
2442
+ title: Gn(e?.title),
2443
+ plotArea: zn({
2444
+ groups: tr(n?.plotAreaRegion, t.chartData?.data ?? []),
2445
+ axes: (n?.axes ?? []).map(er),
2446
+ spPr: n?.spPr,
2447
+ plotSurface: n?.plotAreaRegion?.plotSurface,
2448
+ unknown: n?.unknown
2449
+ }),
2450
+ legend: r && zn({
2451
+ legendPos: r.pos,
2452
+ align: r.align,
2453
+ overlay: r.overlay,
2454
+ spPr: r.spPr,
2455
+ txPr: r.txPr,
2456
+ unknown: r.unknown
2457
+ }),
2458
+ unknown: e?.unknown
2459
+ }),
2460
+ spPr: t.spPr,
2461
+ txPr: t.txPr,
2462
+ unknown: t.unknown
2463
+ });
2464
+ })(s);
2465
+ return {
2466
+ model: o,
2467
+ kept: r.kept,
2468
+ reordered: r.reordered,
2469
+ lossy: !hr(s, o)
2470
+ };
2471
+ }, gr = (t, e) => {
2472
+ if (e) {
2473
+ const n = br(e);
2474
+ if (n && JSON.stringify(n.model) === JSON.stringify(t)) return e;
2475
+ }
2476
+ return ((t) => {
2477
+ const e = { ...t.unknown?.attributes }, n = (t, n) => {
2478
+ e[`xmlns:${t}`] ??= n;
2479
+ };
2480
+ n(A.a, $), n(A.r, O), n(A.cx, M);
2481
+ const r = fr(t), s = new q().raw(Ye);
2482
+ return ((t, e) => {
2483
+ rt(t, st("cx", "chartSpace"), e, On);
2484
+ })(s, {
2485
+ ...r,
2486
+ unknown: {
2487
+ ...r.unknown,
2488
+ attributes: e
2489
+ }
2490
+ }), s.toString();
2491
+ })(t);
2492
+ }, yr = {
2493
+ chart: {
2494
+ relType: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",
2495
+ contentType: "application/vnd.openxmlformats-officedocument.drawingml.chart+xml",
2496
+ path: "../charts/chart{n}.xml",
2497
+ graphicUri: j
2498
+ },
2499
+ chartEx: {
2500
+ relType: "http://schemas.microsoft.com/office/2014/relationships/chartEx",
2501
+ contentType: "application/vnd.ms-office.chartex+xml",
2502
+ path: "../charts/chartEx{n}.xml",
2503
+ graphicUri: M
2504
+ }
2505
+ }, vr = /* @__PURE__ */ new Set([
2506
+ "area",
2507
+ "bar",
2508
+ "line",
2509
+ "pie",
2510
+ "doughnut",
2511
+ "ofPie",
2512
+ "scatter",
2513
+ "bubble",
2514
+ "radar",
2515
+ "stock",
2516
+ "surface"
2517
+ ]), xr = (t) => t === yr.chartEx.relType ? "chartEx" : t === yr.chart.relType ? "chart" : null, wr = (t) => vr.has(t) ? "chart" : An.has(t) ? "chartEx" : null, kr = (t) => {
2518
+ const e = Xe(t);
2519
+ if (e) return {
2520
+ model: e.model,
2521
+ family: "chart",
2522
+ kept: e.kept,
2523
+ lossy: !1
2524
+ };
2525
+ const n = br(t);
2526
+ return n ? {
2527
+ model: n.model,
2528
+ family: "chartEx",
2529
+ kept: n.kept,
2530
+ lossy: n.lossy
2531
+ } : null;
2532
+ }, Sr = (t) => {
2533
+ if (Array.isArray(t)) return t.map(Sr);
2534
+ if ("object" != typeof t || null === t) return t;
2535
+ const e = {};
2536
+ for (const [n, r] of Object.entries(t)) "unknown" !== n && (e[n] = Sr(r));
2537
+ return e;
2538
+ }, Lr = (t, e) => {
2539
+ const n = t.chart?.plotArea?.groups ?? [], r = n.map((t) => wr(t.type)).find((t) => null !== t) ?? e?.family ?? "chart", s = n.filter((t) => wr(t.type) !== r).map((t) => t.type);
2540
+ let o = t;
2541
+ if (s.length > 0) {
2542
+ const e = {
2543
+ ...t.chart.plotArea,
2544
+ groups: n.filter((t) => wr(t.type) === r)
2545
+ };
2546
+ o = {
2547
+ ...t,
2548
+ chart: {
2549
+ ...t.chart,
2550
+ plotArea: e
2551
+ }
2552
+ };
2553
+ }
2554
+ const i = (e?.family ?? r) === r;
2555
+ i || (o = Sr(o));
2556
+ const a = i ? e?.xml : void 0;
2557
+ return {
2558
+ family: r,
2559
+ leftOut: s,
2560
+ xml: "chartEx" === r ? gr(o, a) : Qe(o, a)
2561
+ };
2562
+ };
2563
+ export { b as a, h as c, yr as i, l, Lr as n, c as o, kr as r, d as s, xr as t };