@myagentroam/server 0.13.6 → 0.13.8

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 (409) hide show
  1. package/node_modules/@myagentroam/protocol/dist/composer-tags.d.ts +431 -5
  2. package/node_modules/@myagentroam/protocol/dist/composer-tags.js +88 -5
  3. package/node_modules/@myagentroam/protocol/dist/direct-transfer.d.ts +52 -52
  4. package/node_modules/@myagentroam/protocol/dist/index.d.ts +1692 -1684
  5. package/node_modules/@myagentroam/protocol/dist/index.js +2 -0
  6. package/node_modules/@myagentroam/protocol/dist/mcp.d.ts +6 -6
  7. package/node_modules/@myagentroam/protocol/dist/model-usage.d.ts +12 -12
  8. package/node_modules/@myagentroam/protocol/dist/session-shares.d.ts +6 -6
  9. package/node_modules/@myagentroam/protocol/dist/skill.d.ts +2 -2
  10. package/node_modules/@myagentroam/protocol/dist/workbench-notification.d.ts +6 -6
  11. package/node_modules/@myagentroam/protocol/package.json +1 -1
  12. package/node_modules/@myagentroam/server-core/dist/model-usage-record.d.ts +1 -1
  13. package/node_modules/@myagentroam/server-core/dist/workbench-notification-service.d.ts +1 -1
  14. package/node_modules/@myagentroam/server-core/package.json +2 -2
  15. package/node_modules/@myagentroam-enterprise/server-implementation/package.json +3 -3
  16. package/package.json +6 -6
  17. package/web/assets/{AuditManagementPage-DdhzZJJz.js → AuditManagementPage-DHf_d3lr.js} +1 -1
  18. package/web/assets/{BusyIndicator-DJEYrwl2.js → BusyIndicator-CJepRD30.js} +1 -1
  19. package/web/assets/{CodeFileEditor-t-S2RxFj.js → CodeFileEditor-2B9V-ZHh.js} +14 -14
  20. package/web/assets/{CodeFileEditor-LbH8kxiW.css → CodeFileEditor-B8IGF27H.css} +1 -1
  21. package/web/assets/{ConversationTemplateManagementPage-DtnCxKPr.js → ConversationTemplateManagementPage-C2Fl5gpu.js} +1 -1
  22. package/web/assets/{ConversationTemplateManagementPage-8cWdT1rl.js → ConversationTemplateManagementPage-DhjVzYYH.js} +1 -1
  23. package/web/assets/{EnterpriseUserManagementPage-CVpJzsVL.js → EnterpriseUserManagementPage-D7UBm6rn.js} +1 -1
  24. package/web/assets/{EnvironmentSecretManager-DaMtII6x.js → EnvironmentSecretManager-6TsEyKME.js} +1 -1
  25. package/web/assets/{FilePreviewLoading-CqXCVUDH.js → FilePreviewLoading-xWmLA-hX.js} +2 -2
  26. package/web/assets/HtmlPreviewFrame-BWUJugCe.js +7 -0
  27. package/web/assets/{HtmlPreviewFrame-CXd4x0y-.css → HtmlPreviewFrame-D_Jf4aL-.css} +1 -1
  28. package/web/assets/{LicenseManagementPage-C-25sen8.js → LicenseManagementPage-mbLC76Sb.js} +1 -1
  29. package/web/assets/{ManagementPagination-BwZo73aV.js → ManagementPagination-COGUI_6N.js} +1 -1
  30. package/web/assets/{MarAgentModelManagementPage-DkncBptD.js → MarAgentModelManagementPage-C0NTB_eR.js} +1 -1
  31. package/web/assets/{MarAgentModelManagementPage-B9lHTQtV.js → MarAgentModelManagementPage-D_LEBwAO.js} +1 -1
  32. package/web/assets/{MarIcon-0cJTzTai.js → MarIcon-7ATHlb9_.js} +1 -1
  33. package/web/assets/{MarkdownFilePreview-CnWvYfKN.js → MarkdownFilePreview-CGEzm91C.js} +2 -2
  34. package/web/assets/{McpDetailsDialog-nt3by9E1.js → McpDetailsDialog-DKlmenK5.js} +1 -1
  35. package/web/assets/{McpSourceManagementPage-Bg2wxoSB.js → McpSourceManagementPage-BRSoTQJy.js} +1 -1
  36. package/web/assets/{McpSourceManagementPage-BVjVO0Tb.js → McpSourceManagementPage-DXrw10o-.js} +1 -1
  37. package/web/assets/{NodeDetailsDialogs-D4wBwUzA.js → NodeDetailsDialogs-BXghz6Vq.js} +1 -1
  38. package/web/assets/NodeManagementPage-B6sbUg2M.js +1 -0
  39. package/web/assets/NodeManagementPage-BywB3ak3.js +1 -0
  40. package/web/assets/{OAuthManagementPage-D9cBB-vX.js → OAuthManagementPage-BzDB8DRk.js} +1 -1
  41. package/web/assets/{OrganizationManagementPage-N8HwbTY5.js → OrganizationManagementPage-DIKK7Apz.js} +1 -1
  42. package/web/assets/{ResourceManagementPanel-D80V3ZdZ.js → ResourceManagementPanel-CAAVs5tS.js} +1 -1
  43. package/web/assets/{ResourceManagementPanel.vue_vue_type_script_setup_true_lang-DfCWa6fA.js → ResourceManagementPanel.vue_vue_type_script_setup_true_lang-SibtEfaZ.js} +1 -1
  44. package/web/assets/SecretManagementPage-BoxMy2kF.js +1 -0
  45. package/web/assets/{SecretManagementPage-tsgbjSvn.js → SecretManagementPage-NWQ8ilK9.js} +1 -1
  46. package/web/assets/{SecretManagementPage.vue_vue_type_script_setup_true_lang-CmSoYQ3n.js → SecretManagementPage.vue_vue_type_script_setup_true_lang-Dv-Lkrgj.js} +1 -1
  47. package/web/assets/SessionSharePage-B9Ig9miU.css +1 -0
  48. package/web/assets/SessionSharePage-PXCto604.js +2 -0
  49. package/web/assets/{SettingsContent-WLH3DkgW.js → SettingsContent-lmlrCtzr.js} +1 -1
  50. package/web/assets/{SettingsContent-Dsw7sGr4.js → SettingsContent-t4Hhk6bN.js} +1 -1
  51. package/web/assets/{SkillCenterPage-yDU-t2cT.js → SkillCenterPage-BGdx7_t-.js} +1 -1
  52. package/web/assets/SkillCenterPage-yUFJvXBZ.js +1 -0
  53. package/web/assets/{SkillDetailsDialog-BUfNxAjf.js → SkillDetailsDialog-Ck3sWYTZ.js} +1 -1
  54. package/web/assets/{SkillSourceManagementPage-BCHgTDXJ.js → SkillSourceManagementPage-DCzjgChL.js} +1 -1
  55. package/web/assets/{SkillSourceManagementPage-B7yjgXR8.js → SkillSourceManagementPage-MfPC03pb.js} +1 -1
  56. package/web/assets/{StandaloneFilePreviewPage-DRGcF74V.css → StandaloneFilePreviewPage-Bv_3Hwts.css} +1 -1
  57. package/web/assets/StandaloneFilePreviewPage-Bzrh7-zx.js +1 -0
  58. package/web/assets/SystemConfigurationPage-0EO7rEmk.js +1 -0
  59. package/web/assets/{SystemConfigurationPage-C2Ecb0Su.js → SystemConfigurationPage-C8ekLRUo.js} +1 -1
  60. package/web/assets/{SystemInformationPage-CBWjqG43.js → SystemInformationPage-O2QdJcSO.js} +1 -1
  61. package/web/assets/{TerminalTabView-CeX2SVcm.js → TerminalTabView-DvEnQt4Q.js} +1 -1
  62. package/web/assets/WorkbenchPage-BuXwAqL9.css +1 -0
  63. package/web/assets/WorkbenchPage-C03cutMf.js +22 -0
  64. package/web/assets/WorkspaceManagementPage-DeDYwU3j.js +1 -0
  65. package/web/assets/WorkspaceManagementPage-Ijsn-mPC.js +1 -0
  66. package/web/assets/{_baseIteratee-CnCgfzqY.js → _baseIteratee-eYBSuzub.js} +1 -1
  67. package/web/assets/{abnfDiagram-VCTEODGH-C8MLlCYr.js → abnfDiagram-VCTEODGH-b26cs6fq.js} +1 -1
  68. package/web/assets/{advancedFormat-tqE8I04X.js → advancedFormat-CSQIetpu.js} +1 -1
  69. package/web/assets/{arc-ChGPMlfM.js → arc-0gq-FCD-.js} +1 -1
  70. package/web/assets/{architectureDiagram-5GKGNRK7-UNKWS80q.js → architectureDiagram-5GKGNRK7-BkGnMYjk.js} +1 -1
  71. package/web/assets/{blockDiagram-OSKFZWR5-DaoKTWzi.js → blockDiagram-OSKFZWR5-Cxoqg89Y.js} +1 -1
  72. package/web/assets/{c4Diagram-7LVT6UL2-DeJ38tJ4.js → c4Diagram-7LVT6UL2-CAdK6Y96.js} +1 -1
  73. package/web/assets/{catalog-ownership-service-ppl9SdO8.js → catalog-ownership-service-PJaj-KyM.js} +1 -1
  74. package/web/assets/{catalog-page-service-CA6TP1Er.js → catalog-page-service-YyYk6Ggw.js} +1 -1
  75. package/web/assets/channel-C8Lmpt34.js +1 -0
  76. package/web/assets/{chunk-2Q5K7J3B-Cie4-T_4.js → chunk-2Q5K7J3B-BOp-yla_.js} +1 -1
  77. package/web/assets/{chunk-5VM5RSS4-C02e2HuJ.js → chunk-5VM5RSS4-BuyWVwKe.js} +1 -1
  78. package/web/assets/{chunk-F27PBJKO-CYE4axjh.js → chunk-F27PBJKO-Cx18VPfs.js} +1 -1
  79. package/web/assets/{chunk-HLEWEB6X-Qcd3DJvW.js → chunk-HLEWEB6X-C5g9_TfO.js} +1 -1
  80. package/web/assets/{chunk-JWPE2WC7-BIlv53mX.js → chunk-JWPE2WC7-Rjhz-D2X.js} +1 -1
  81. package/web/assets/{chunk-POPQ4Y6H-C1FzI22y.js → chunk-POPQ4Y6H--VZI-f_3.js} +1 -1
  82. package/web/assets/{chunk-SVP7TREG-B5A4JoXo.js → chunk-SVP7TREG-BEjnZUJI.js} +1 -1
  83. package/web/assets/{chunk-XXDRQBXY-FdosaHEW.js → chunk-XXDRQBXY-CKr0cjux.js} +1 -1
  84. package/web/assets/{chunk-ZLD2IHE6-BzhAoouo.js → chunk-ZLD2IHE6-L7hK5KvT.js} +1 -1
  85. package/web/assets/classDiagram-CYGNFDIV-DKDqMZKD.js +1 -0
  86. package/web/assets/classDiagram-v2-TLXNO2FR-DKDqMZKD.js +1 -0
  87. package/web/assets/{conversation-history-D9993EDO.js → conversation-history-Crx4ncHc.js} +1 -1
  88. package/web/assets/{cose-bilkent-JH36ORCC-C4ZjK8dC.js → cose-bilkent-JH36ORCC-CRvOV0K8.js} +1 -1
  89. package/web/assets/{cynefin-OW5HDTMX-D-6QhPjX.js → cynefin-OW5HDTMX-CF1dNtGE.js} +1 -1
  90. package/web/assets/{cynefinDiagram-5FMLGOSQ-Bwsk5LdU.js → cynefinDiagram-5FMLGOSQ-Dw7WCbhJ.js} +1 -1
  91. package/web/assets/{dagre-OS7QT2EB-DoA_-lbd.js → dagre-OS7QT2EB-DDQAautM.js} +1 -1
  92. package/web/assets/{diagram-S7CK7UJ4-sgObxZyi.js → diagram-S7CK7UJ4-CV9I70h1.js} +1 -1
  93. package/web/assets/{diagram-UQ7AKVKN-BdMjAaVk.js → diagram-UQ7AKVKN-C5yw9_lD.js} +1 -1
  94. package/web/assets/{diagram-VSXAHHWV-BCH9zwo1.js → diagram-VSXAHHWV-BEyCZDi6.js} +1 -1
  95. package/web/assets/{diagram-VX7I27RA-Z6LSJKeQ.js → diagram-VX7I27RA-4KzLfGxp.js} +1 -1
  96. package/web/assets/{diagram-Z3DM3KII-CcbM5hsL.js → diagram-Z3DM3KII-CaRUqcJa.js} +1 -1
  97. package/web/assets/{ebnfDiagram-PWID7BFC-CWP32uDq.js → ebnfDiagram-PWID7BFC-7yDVGhmX.js} +1 -1
  98. package/web/assets/{el-alert-8VKFJYUv.js → el-alert-DQS8ZePt.js} +1 -1
  99. package/web/assets/{el-cascader-CJR-DJLi.js → el-cascader-DQU5md40.js} +1 -1
  100. package/web/assets/{el-checkbox-D7CsqiQq.js → el-checkbox-D0efHW4S.js} +1 -1
  101. package/web/assets/{el-date-picker-Lb4E2Nje.js → el-date-picker-Bku-3B7K.js} +1 -1
  102. package/web/assets/{el-descriptions-B48GJeGA.js → el-descriptions-CBHVTmYh.js} +1 -1
  103. package/web/assets/{el-form-item-Fjp3w344.js → el-form-item-Dq_bK-Q9.js} +1 -1
  104. package/web/assets/{el-input-DRF3bOe1.js → el-input-C5zWHdoA.js} +1 -1
  105. package/web/assets/{el-input-number-e6T9QIje.js → el-input-number-BJUCiZru.js} +1 -1
  106. package/web/assets/{el-radio-DO8joult.js → el-radio-DKbfSkAS.js} +1 -1
  107. package/web/assets/{el-select-BSaB1c5h.js → el-select-pINM-mXh.js} +1 -1
  108. package/web/assets/{el-switch-Cpl2xxJc.js → el-switch-BBMCqiRH.js} +1 -1
  109. package/web/assets/{el-tab-pane-CQyfpTgD.js → el-tab-pane-y4NQADY5.js} +1 -1
  110. package/web/assets/{el-table-column-BRybrdLI.js → el-table-column-BcasE3gG.js} +1 -1
  111. package/web/assets/{enterprise-management-service-Qtmnf50C.js → enterprise-management-service-B0orfFAW.js} +1 -1
  112. package/web/assets/{erDiagram-2YWLMYGG-BOtd6Wuq.js → erDiagram-2YWLMYGG-o6dRiWdB.js} +1 -1
  113. package/web/assets/{error-presentation-CJfLHEK_.js → error-presentation-uG_Pz-4V.js} +1 -1
  114. package/web/assets/{flowDiagram-T62WH6J4-DGRqBn-8.js → flowDiagram-T62WH6J4-Dnjw8CC9.js} +1 -1
  115. package/web/assets/{ganttDiagram-EL5Y4UJY-D84r1V0Q.js → ganttDiagram-EL5Y4UJY-Crx3v_bM.js} +1 -1
  116. package/web/assets/{gitGraphDiagram-WWUBYQGX-FANv-qDA.js → gitGraphDiagram-WWUBYQGX-DdXK5-FC.js} +1 -1
  117. package/web/assets/{hosted-conversation-template-client-CeOnupVC.js → hosted-conversation-template-client-BBChWnuL.js} +1 -1
  118. package/web/assets/{index-C90_sIrz.js → index-B2ZMoChP.js} +1 -1
  119. package/web/assets/{index-C_F0LgDO.js → index-B8mI7i5P.js} +1 -1
  120. package/web/assets/{index-hP6Cb_NE.js → index-B9d9bEMV.js} +1 -1
  121. package/web/assets/{index-Bokwz5PA.js → index-BH4u84Zl.js} +1 -1
  122. package/web/assets/{index-Tv4HGgSj.js → index-BLbqv2VV.js} +1 -1
  123. package/web/assets/{index-CBs38naL.js → index-BOx63eOY.js} +1 -1
  124. package/web/assets/{index-zG9SJlS3.js → index-BX86S34Z.js} +1 -1
  125. package/web/assets/{index-NReuiFej.js → index-B_0I1pfq.js} +1 -1
  126. package/web/assets/{index-B8rWDVmR.js → index-Bxxnybu9.js} +1 -1
  127. package/web/assets/{index-BsG4OGs3.js → index-C2ailIoH.js} +1 -1
  128. package/web/assets/{index-sctirQW0.js → index-C6Xr9IrJ.js} +1 -1
  129. package/web/assets/{index-BeipYJv6.js → index-CL6leDY2.js} +1 -1
  130. package/web/assets/{index-9ks2AQTi.js → index-CRzIdYuU.js} +1 -1
  131. package/web/assets/{index-DsgwAvJA.js → index-CkdgQdyk.js} +18 -18
  132. package/web/assets/{index-D6945seh.js → index-Ckk9V4oe.js} +1 -1
  133. package/web/assets/{index-B7tnVSor.js → index-CyzAAgQ3.js} +1 -1
  134. package/web/assets/{index-DGlioDXJ.js → index-D0uXVWoS.js} +1 -1
  135. package/web/assets/{index-DwQqO2fH.js → index-D6oS93p2.js} +1 -1
  136. package/web/assets/{index-W6jp3JVA.js → index-D83C03lZ.js} +1 -1
  137. package/web/assets/{index-BkC7CnZA.js → index-DIal99Mw.js} +1 -1
  138. package/web/assets/{index-C8DbmG_l.js → index-DUAZ34cY.js} +1 -1
  139. package/web/assets/{index-C_EAvnDF.js → index-DWWBJN55.js} +1 -1
  140. package/web/assets/{index-x2OEXKrc.js → index-Da1hjESP.js} +1 -1
  141. package/web/assets/{index-BYYx_GrI.js → index-DhQ5ZiJY.js} +1 -1
  142. package/web/assets/{index-B0P8j1yb.js → index-DqicP4lu.js} +1 -1
  143. package/web/assets/{index-BOhe9vs1.js → index-DzNFJV2b.js} +1 -1
  144. package/web/assets/{index-DU209g6d.js → index-Q1-bojqH.js} +1 -1
  145. package/web/assets/{index-eU6FSd70.js → index-X_1JWEzD.js} +1 -1
  146. package/web/assets/{index-x9JuBH-H.js → index-gIbLvEUk.js} +1 -1
  147. package/web/assets/infoDiagram-FKFFQAWI-B-GXbxgz.js +2 -0
  148. package/web/assets/{isArrayLikeObject-Bg1E4S9y.js → isArrayLikeObject-gY0T7koT.js} +1 -1
  149. package/web/assets/{ishikawaDiagram-5VMMS53U-B0FDzCa4.js → ishikawaDiagram-5VMMS53U-Dm_z4AVs.js} +1 -1
  150. package/web/assets/{journeyDiagram-EYS64GPL-CIM_LxZU.js → journeyDiagram-EYS64GPL-u6PbiRAS.js} +1 -1
  151. package/web/assets/{kanban-definition-UXKFOSKX-DKxBi_r0.js → kanban-definition-UXKFOSKX-jt4qK-jA.js} +1 -1
  152. package/web/assets/{layout-DU0JsES_.js → layout-B0-7CKhq.js} +1 -1
  153. package/web/assets/{linear-C3UCzYem.js → linear-Cn3EJ6UG.js} +1 -1
  154. package/web/assets/{management-url-service-DsBUOSH4.js → management-url-service-CqDpOe_M.js} +1 -1
  155. package/web/assets/{mcp-center-service-BluNkyx-.js → mcp-center-service-CLyFS3Va.js} +1 -1
  156. package/web/assets/{merge-B-E3iBqN.js → merge-BEHLop1o.js} +1 -1
  157. package/web/assets/{mermaid.core-CMc9IFVw.js → mermaid.core-BYLr5KI5.js} +5 -5
  158. package/web/assets/{message-box-service-CszgyilP.js → message-box-service-p64-2ZLT.js} +1 -1
  159. package/web/assets/{mindmap-definition-THT77NOG-BJyPV49z.js → mindmap-definition-THT77NOG-D64kSxGe.js} +1 -1
  160. package/web/assets/{mobile-dialog-return-service-Csexw-by.js → mobile-dialog-return-service-CTr7uf3K.js} +1 -1
  161. package/web/assets/{oauth-callback-3M1eIOPT.js → oauth-callback-CM7WkzLQ.js} +1 -1
  162. package/web/assets/{pegDiagram-XKGWAZYB-jpfn2XMn.js → pegDiagram-XKGWAZYB-YIPunerp.js} +1 -1
  163. package/web/assets/{pieDiagram-E7YTZNPT-B2jQ3Egj.js → pieDiagram-E7YTZNPT-DBfAVvKg.js} +1 -1
  164. package/web/assets/{quadrantDiagram-AXDQQJYC-BXSOa8Vi.js → quadrantDiagram-AXDQQJYC-CkwhedA2.js} +1 -1
  165. package/web/assets/{railroadDiagram-O6MQD6OU-BTy8Z6ZL.js → railroadDiagram-O6MQD6OU-BZnG7UBR.js} +1 -1
  166. package/web/assets/{requirementDiagram-IS5BZ75X-eqVPnJ-z.js → requirementDiagram-IS5BZ75X-D5weBa8z.js} +1 -1
  167. package/web/assets/{runner-presentation-D66Z9p-O.js → runner-presentation-D4sxHhdR.js} +1 -1
  168. package/web/assets/{sankeyDiagram-P5KCCOFB-BI5fAwMJ.js → sankeyDiagram-P5KCCOFB-Dui8-H4S.js} +1 -1
  169. package/web/assets/{sequenceDiagram-WJ2MYXX4-CZ7Un31z.js → sequenceDiagram-WJ2MYXX4-Cwk3Et5G.js} +1 -1
  170. package/web/assets/{session-share-client-service-W0XDwceC.js → session-share-client-service-CsDa4v0N.js} +1 -1
  171. package/web/assets/{sizeCapture-INFHLROL-7gQRW3HD.js → sizeCapture-INFHLROL-Bnyq906w.js} +1 -1
  172. package/web/assets/{stateDiagram-XQSTLZYL-D23AlrmH.js → stateDiagram-XQSTLZYL-Cp8L5BzA.js} +1 -1
  173. package/web/assets/stateDiagram-v2-IH3M54BS-CSEcK-Jc.js +1 -0
  174. package/web/assets/{swimlanes-V6O3JKXN-By9JzeNC.js → swimlanes-V6O3JKXN-Bg9PykpX.js} +1 -1
  175. package/web/assets/swimlanesDiagram-JKAHXJPX-BDvzhxyu.js +8 -0
  176. package/web/assets/{time-presentation-BRvT6nTd.js → time-presentation-DoNuOMmH.js} +1 -1
  177. package/web/assets/{timeline-definition-24CTP7MA-CyydVD-f.js → timeline-definition-24CTP7MA-DpvHaXX2.js} +1 -1
  178. package/web/assets/{union-BSveQIrm.js → union-E1iOItEy.js} +1 -1
  179. package/web/assets/{use-form-common-props-BJ2vZd_0.js → use-form-common-props-BOlG14S9.js} +1 -1
  180. package/web/assets/{use-wheel-TWRoHAF5.js → use-wheel-C3KIpcYO.js} +1 -1
  181. package/web/assets/{vennDiagram-4TSXK5OY-3OEbunrh.js → vennDiagram-4TSXK5OY-QJMcXLBe.js} +1 -1
  182. package/web/assets/{wardleyDiagram-VM6X3IG4-BuZvJTn0.js → wardleyDiagram-VM6X3IG4-ByP28shL.js} +1 -1
  183. package/web/assets/workbench-composer-interaction-controller-BaGSbCxC.js +41 -0
  184. package/web/assets/workbench-composer-interaction-controller-DRyjmQHD.css +1 -0
  185. package/web/assets/{workbench-presentation-DblBOxzZ.js → workbench-presentation-DRcAJQ63.js} +1 -1
  186. package/web/assets/{xychartDiagram-S5SC5T6Z-CQzJStra.js → xychartDiagram-S5SC5T6Z-B-5cq3LN.js} +1 -1
  187. package/web/docs/404.html +2 -2
  188. package/web/docs/administration/account.html +4 -4
  189. package/web/docs/administration/audit.html +4 -4
  190. package/web/docs/administration/conversation-templates.html +4 -4
  191. package/web/docs/administration/email-notifications.html +4 -4
  192. package/web/docs/administration/license.html +5 -5
  193. package/web/docs/administration/nodes-workspaces.html +4 -4
  194. package/web/docs/administration/oauth.html +4 -4
  195. package/web/docs/administration/secrets.html +4 -4
  196. package/web/docs/administration/template-workspace-maintenance.html +4 -4
  197. package/web/docs/administration/users-organizations.html +4 -4
  198. package/web/docs/assets/administration_license.md.CVLEsGB6.js +1 -0
  199. package/web/docs/assets/{app.DFdypnML.js → app.DO5uKi5F.js} +1 -1
  200. package/web/docs/assets/chunks/@localSearchIndexen-US.BzVDCXSP.js +1 -0
  201. package/web/docs/assets/chunks/@localSearchIndexroot.XPo_yBWv.js +1 -0
  202. package/web/docs/assets/chunks/{VPLocalSearchBox.P9CapR4-.js → VPLocalSearchBox.YAT0tY5c.js} +1 -1
  203. package/web/docs/assets/chunks/{theme.DLnKtfGY.js → theme.D5hAjTv8.js} +2 -2
  204. package/web/docs/assets/deployment_network.md.Bbi7-zH2.js +1 -0
  205. package/web/docs/assets/deployment_network.md.Bbi7-zH2.lean.js +1 -0
  206. package/web/docs/assets/deployment_upgrade.md.CG_VFxvG.js +1 -0
  207. package/web/docs/assets/deployment_upgrade.md.CG_VFxvG.lean.js +1 -0
  208. package/web/docs/assets/en-US_administration_license.md.GCAYq1LT.js +1 -0
  209. package/web/docs/assets/en-US_deployment_network.md.770EzfaT.js +1 -0
  210. package/web/docs/assets/en-US_deployment_network.md.770EzfaT.lean.js +1 -0
  211. package/web/docs/assets/en-US_deployment_upgrade.md.DDevql7U.js +1 -0
  212. package/web/docs/assets/{en-US_deployment_upgrade.md.DZiDDiLn.lean.js → en-US_deployment_upgrade.md.DDevql7U.lean.js} +1 -1
  213. package/web/docs/assets/en-US_getting-started_npm-quick-start.md.D46Ec15e.js +3 -0
  214. package/web/docs/assets/en-US_getting-started_npm-quick-start.md.D46Ec15e.lean.js +1 -0
  215. package/web/docs/assets/{en-US_getting-started_overview.md.Bug5sh21.js → en-US_getting-started_overview.md.CB-43rGR.js} +1 -1
  216. package/web/docs/assets/{en-US_getting-started_overview.md.Bug5sh21.lean.js → en-US_getting-started_overview.md.CB-43rGR.lean.js} +1 -1
  217. package/web/docs/assets/en-US_getting-started_prerequisites.md.BFxGOlUy.js +1 -0
  218. package/web/docs/assets/en-US_getting-started_prerequisites.md.BFxGOlUy.lean.js +1 -0
  219. package/web/docs/assets/{en-US_getting-started_server-installation.md._k2XGM85.js → en-US_getting-started_server-installation.md.C7SjGDJt.js} +2 -2
  220. package/web/docs/assets/en-US_workbench_file-reference-and-attachment.md.DmGpnorE.js +1 -0
  221. package/web/docs/assets/en-US_workbench_file-reference-and-attachment.md.DmGpnorE.lean.js +1 -0
  222. package/web/docs/assets/en-US_workbench_files.md.C8TPSXY9.js +1 -0
  223. package/web/docs/assets/{en-US_workbench_files.md.C5byBZOZ.lean.js → en-US_workbench_files.md.C8TPSXY9.lean.js} +1 -1
  224. package/web/docs/assets/getting-started_npm-quick-start.md.CIYjFmiu.js +3 -0
  225. package/web/docs/assets/getting-started_npm-quick-start.md.CIYjFmiu.lean.js +1 -0
  226. package/web/docs/assets/{getting-started_overview.md.CA1CCOBc.js → getting-started_overview.md.Cv-HSfAh.js} +1 -1
  227. package/web/docs/assets/getting-started_prerequisites.md.DjWWTA7V.js +1 -0
  228. package/web/docs/assets/{getting-started_prerequisites.md.D26KU42D.lean.js → getting-started_prerequisites.md.DjWWTA7V.lean.js} +1 -1
  229. package/web/docs/assets/{getting-started_server-installation.md.D3P3Lmc2.js → getting-started_server-installation.md.BsEfVH6b.js} +2 -2
  230. package/web/docs/assets/workbench_file-reference-and-attachment.md.BiQVVks4.js +1 -0
  231. package/web/docs/assets/workbench_file-reference-and-attachment.md.BiQVVks4.lean.js +1 -0
  232. package/web/docs/assets/workbench_files.md.D1inV8ws.js +1 -0
  233. package/web/docs/assets/{workbench_files.md.B5xE7YGc.lean.js → workbench_files.md.D1inV8ws.lean.js} +1 -1
  234. package/web/docs/concepts/architecture.html +4 -4
  235. package/web/docs/concepts/data-and-security.html +4 -4
  236. package/web/docs/concepts/files-git-terminal.html +4 -4
  237. package/web/docs/concepts/node-and-workspace.html +4 -4
  238. package/web/docs/concepts/permissions-and-sharing.html +4 -4
  239. package/web/docs/concepts/runner-control.html +4 -4
  240. package/web/docs/concepts/secrets.html +4 -4
  241. package/web/docs/concepts/session-run-turn.html +4 -4
  242. package/web/docs/deployment/backup-restore.html +4 -4
  243. package/web/docs/deployment/network.html +5 -5
  244. package/web/docs/deployment/node-installation.html +4 -4
  245. package/web/docs/deployment/node-linux.html +4 -4
  246. package/web/docs/deployment/node-macos.html +4 -4
  247. package/web/docs/deployment/node-windows.html +4 -4
  248. package/web/docs/deployment/production.html +4 -4
  249. package/web/docs/deployment/security-checklist.html +4 -4
  250. package/web/docs/deployment/upgrade.html +5 -5
  251. package/web/docs/en-US/administration/account.html +4 -4
  252. package/web/docs/en-US/administration/audit.html +4 -4
  253. package/web/docs/en-US/administration/conversation-templates.html +4 -4
  254. package/web/docs/en-US/administration/email-notifications.html +4 -4
  255. package/web/docs/en-US/administration/license.html +5 -5
  256. package/web/docs/en-US/administration/nodes-workspaces.html +4 -4
  257. package/web/docs/en-US/administration/oauth.html +4 -4
  258. package/web/docs/en-US/administration/secrets.html +4 -4
  259. package/web/docs/en-US/administration/template-workspace-maintenance.html +4 -4
  260. package/web/docs/en-US/administration/users-organizations.html +4 -4
  261. package/web/docs/en-US/concepts/architecture.html +4 -4
  262. package/web/docs/en-US/concepts/data-and-security.html +4 -4
  263. package/web/docs/en-US/concepts/files-git-terminal.html +4 -4
  264. package/web/docs/en-US/concepts/node-and-workspace.html +4 -4
  265. package/web/docs/en-US/concepts/permissions-and-sharing.html +4 -4
  266. package/web/docs/en-US/concepts/runner-control.html +4 -4
  267. package/web/docs/en-US/concepts/secrets.html +4 -4
  268. package/web/docs/en-US/concepts/session-run-turn.html +4 -4
  269. package/web/docs/en-US/deployment/backup-restore.html +4 -4
  270. package/web/docs/en-US/deployment/network.html +5 -5
  271. package/web/docs/en-US/deployment/node-installation.html +4 -4
  272. package/web/docs/en-US/deployment/node-linux.html +4 -4
  273. package/web/docs/en-US/deployment/node-macos.html +4 -4
  274. package/web/docs/en-US/deployment/node-windows.html +4 -4
  275. package/web/docs/en-US/deployment/production.html +4 -4
  276. package/web/docs/en-US/deployment/security-checklist.html +4 -4
  277. package/web/docs/en-US/deployment/upgrade.html +5 -5
  278. package/web/docs/en-US/getting-started/connect-node.html +4 -4
  279. package/web/docs/en-US/getting-started/first-agent-session.html +4 -4
  280. package/web/docs/en-US/getting-started/first-login.html +4 -4
  281. package/web/docs/en-US/getting-started/next-steps.html +4 -4
  282. package/web/docs/en-US/getting-started/npm-quick-start.html +7 -7
  283. package/web/docs/en-US/getting-started/overview.html +5 -5
  284. package/web/docs/en-US/getting-started/prerequisites.html +5 -5
  285. package/web/docs/en-US/getting-started/register-workspace.html +4 -4
  286. package/web/docs/en-US/getting-started/server-installation.html +6 -6
  287. package/web/docs/en-US/operations/marctl.html +4 -4
  288. package/web/docs/en-US/reference/configuration.html +4 -4
  289. package/web/docs/en-US/reference/keyboard-shortcuts.html +4 -4
  290. package/web/docs/en-US/reference/limits.html +4 -4
  291. package/web/docs/en-US/reference/ports-paths-data.html +4 -4
  292. package/web/docs/en-US/reference/status-and-errors.html +4 -4
  293. package/web/docs/en-US/runners/claude-code.html +4 -4
  294. package/web/docs/en-US/runners/codex.html +4 -4
  295. package/web/docs/en-US/runners/mar-agent.html +4 -4
  296. package/web/docs/en-US/runners/opencode.html +4 -4
  297. package/web/docs/en-US/runners/overview.html +4 -4
  298. package/web/docs/en-US/runners/runner-troubleshooting.html +4 -4
  299. package/web/docs/en-US/troubleshooting/node-offline.html +4 -4
  300. package/web/docs/en-US/troubleshooting/quick-diagnosis.html +4 -4
  301. package/web/docs/en-US/troubleshooting/session-run.html +4 -4
  302. package/web/docs/en-US/troubleshooting/terminal.html +4 -4
  303. package/web/docs/en-US/troubleshooting/workspace-files.html +4 -4
  304. package/web/docs/en-US/workbench/composer.html +4 -4
  305. package/web/docs/en-US/workbench/context-and-plan.html +4 -4
  306. package/web/docs/en-US/workbench/conversation.html +4 -4
  307. package/web/docs/en-US/workbench/file-reference-and-attachment.html +5 -5
  308. package/web/docs/en-US/workbench/files.html +5 -5
  309. package/web/docs/en-US/workbench/git-changes.html +4 -4
  310. package/web/docs/en-US/workbench/git-history.html +4 -4
  311. package/web/docs/en-US/workbench/hosted-conversations.html +4 -4
  312. package/web/docs/en-US/workbench/mobile.html +4 -4
  313. package/web/docs/en-US/workbench/navigation.html +4 -4
  314. package/web/docs/en-US/workbench/sessions.html +4 -4
  315. package/web/docs/en-US/workbench/skills.html +4 -4
  316. package/web/docs/en-US/workbench/terminal.html +4 -4
  317. package/web/docs/getting-started/connect-node.html +4 -4
  318. package/web/docs/getting-started/first-agent-session.html +4 -4
  319. package/web/docs/getting-started/first-login.html +4 -4
  320. package/web/docs/getting-started/next-steps.html +4 -4
  321. package/web/docs/getting-started/npm-quick-start.html +7 -7
  322. package/web/docs/getting-started/overview.html +5 -5
  323. package/web/docs/getting-started/prerequisites.html +5 -5
  324. package/web/docs/getting-started/register-workspace.html +4 -4
  325. package/web/docs/getting-started/server-installation.html +6 -6
  326. package/web/docs/hashmap.json +1 -1
  327. package/web/docs/operations/marctl.html +4 -4
  328. package/web/docs/reference/configuration.html +4 -4
  329. package/web/docs/reference/keyboard-shortcuts.html +4 -4
  330. package/web/docs/reference/limits.html +4 -4
  331. package/web/docs/reference/ports-paths-data.html +4 -4
  332. package/web/docs/reference/status-and-errors.html +4 -4
  333. package/web/docs/runners/claude-code.html +4 -4
  334. package/web/docs/runners/codex.html +4 -4
  335. package/web/docs/runners/mar-agent.html +4 -4
  336. package/web/docs/runners/opencode.html +4 -4
  337. package/web/docs/runners/overview.html +4 -4
  338. package/web/docs/runners/runner-troubleshooting.html +4 -4
  339. package/web/docs/troubleshooting/node-offline.html +4 -4
  340. package/web/docs/troubleshooting/quick-diagnosis.html +4 -4
  341. package/web/docs/troubleshooting/session-run.html +4 -4
  342. package/web/docs/troubleshooting/terminal.html +4 -4
  343. package/web/docs/troubleshooting/workspace-files.html +4 -4
  344. package/web/docs/workbench/composer.html +4 -4
  345. package/web/docs/workbench/context-and-plan.html +4 -4
  346. package/web/docs/workbench/conversation.html +4 -4
  347. package/web/docs/workbench/file-reference-and-attachment.html +5 -5
  348. package/web/docs/workbench/files.html +5 -5
  349. package/web/docs/workbench/git-changes.html +4 -4
  350. package/web/docs/workbench/git-history.html +4 -4
  351. package/web/docs/workbench/hosted-conversations.html +4 -4
  352. package/web/docs/workbench/mobile.html +4 -4
  353. package/web/docs/workbench/navigation.html +4 -4
  354. package/web/docs/workbench/sessions.html +4 -4
  355. package/web/docs/workbench/skills.html +4 -4
  356. package/web/docs/workbench/terminal.html +4 -4
  357. package/web/index.html +1 -1
  358. package/web/service-worker.js +1 -1
  359. package/web/web-version.json +1 -1
  360. package/web/assets/HtmlPreviewFrame-xgqXo3bD.js +0 -5
  361. package/web/assets/NodeManagementPage-C1Cj7rex.js +0 -1
  362. package/web/assets/NodeManagementPage-DRBCipFy.js +0 -1
  363. package/web/assets/SecretManagementPage-BDo50Fo5.js +0 -1
  364. package/web/assets/SessionSharePage-1Iv_l9w_.css +0 -1
  365. package/web/assets/SessionSharePage-whJFT3cw.js +0 -2
  366. package/web/assets/SkillCenterPage-Dl-aKzxp.js +0 -1
  367. package/web/assets/StandaloneFilePreviewPage-b-piNuN1.js +0 -1
  368. package/web/assets/SystemConfigurationPage-CUI3Icws.js +0 -1
  369. package/web/assets/WorkbenchPage-C1l73Bo7.css +0 -1
  370. package/web/assets/WorkbenchPage-D4X4qerH.js +0 -21
  371. package/web/assets/WorkspaceManagementPage-0uM3HF3o.js +0 -1
  372. package/web/assets/WorkspaceManagementPage-DlcAgYsx.js +0 -1
  373. package/web/assets/channel-D5Au5X55.js +0 -1
  374. package/web/assets/classDiagram-CYGNFDIV-CplRLUOK.js +0 -1
  375. package/web/assets/classDiagram-v2-TLXNO2FR-CplRLUOK.js +0 -1
  376. package/web/assets/infoDiagram-FKFFQAWI-ZeaWiVDx.js +0 -2
  377. package/web/assets/stateDiagram-v2-IH3M54BS-D93lsHZ8.js +0 -1
  378. package/web/assets/swimlanesDiagram-JKAHXJPX-C3UEWonA.js +0 -8
  379. package/web/assets/workbench-composer-interaction-controller-BJZsGMk-.js +0 -41
  380. package/web/assets/workbench-composer-interaction-controller-C2fEVYPz.css +0 -1
  381. package/web/docs/assets/administration_license.md.Bf1iyuKG.js +0 -1
  382. package/web/docs/assets/chunks/@localSearchIndexen-US.BEf68FQA.js +0 -1
  383. package/web/docs/assets/chunks/@localSearchIndexroot.Dw4g7XXs.js +0 -1
  384. package/web/docs/assets/deployment_network.md.BarghfLt.js +0 -1
  385. package/web/docs/assets/deployment_network.md.BarghfLt.lean.js +0 -1
  386. package/web/docs/assets/deployment_upgrade.md.BESOToM5.js +0 -1
  387. package/web/docs/assets/deployment_upgrade.md.BESOToM5.lean.js +0 -1
  388. package/web/docs/assets/en-US_administration_license.md.Dmg8rNEl.js +0 -1
  389. package/web/docs/assets/en-US_deployment_network.md.DdOgOLns.js +0 -1
  390. package/web/docs/assets/en-US_deployment_network.md.DdOgOLns.lean.js +0 -1
  391. package/web/docs/assets/en-US_deployment_upgrade.md.DZiDDiLn.js +0 -1
  392. package/web/docs/assets/en-US_getting-started_npm-quick-start.md.Dwsi-ffA.js +0 -3
  393. package/web/docs/assets/en-US_getting-started_npm-quick-start.md.Dwsi-ffA.lean.js +0 -1
  394. package/web/docs/assets/en-US_getting-started_prerequisites.md.Bpx_AQD1.js +0 -1
  395. package/web/docs/assets/en-US_getting-started_prerequisites.md.Bpx_AQD1.lean.js +0 -1
  396. package/web/docs/assets/en-US_workbench_file-reference-and-attachment.md.Xzbr8MRS.js +0 -1
  397. package/web/docs/assets/en-US_workbench_file-reference-and-attachment.md.Xzbr8MRS.lean.js +0 -1
  398. package/web/docs/assets/en-US_workbench_files.md.C5byBZOZ.js +0 -1
  399. package/web/docs/assets/getting-started_npm-quick-start.md.CcxMwUgz.js +0 -3
  400. package/web/docs/assets/getting-started_npm-quick-start.md.CcxMwUgz.lean.js +0 -1
  401. package/web/docs/assets/getting-started_prerequisites.md.D26KU42D.js +0 -1
  402. package/web/docs/assets/workbench_file-reference-and-attachment.md.CSLMm-nL.js +0 -1
  403. package/web/docs/assets/workbench_file-reference-and-attachment.md.CSLMm-nL.lean.js +0 -1
  404. package/web/docs/assets/workbench_files.md.B5xE7YGc.js +0 -1
  405. /package/web/docs/assets/{administration_license.md.Bf1iyuKG.lean.js → administration_license.md.CVLEsGB6.lean.js} +0 -0
  406. /package/web/docs/assets/{en-US_administration_license.md.Dmg8rNEl.lean.js → en-US_administration_license.md.GCAYq1LT.lean.js} +0 -0
  407. /package/web/docs/assets/{en-US_getting-started_server-installation.md._k2XGM85.lean.js → en-US_getting-started_server-installation.md.C7SjGDJt.lean.js} +0 -0
  408. /package/web/docs/assets/{getting-started_overview.md.CA1CCOBc.lean.js → getting-started_overview.md.Cv-HSfAh.lean.js} +0 -0
  409. /package/web/docs/assets/{getting-started_server-installation.md.D3P3Lmc2.lean.js → getting-started_server-installation.md.BsEfVH6b.lean.js} +0 -0
@@ -1,4 +1,4 @@
1
- import{V as He,q as De,ai as Et,h as pe,aj as Ge,ak as Tt,al as It,am as kt,G as re,d as Nt,an as Qe,p as ce,ao as Ft,ap as Rt,s as Ot,aq as At,v as Fe,P as ue,O as ge,a2 as Ct,ar as Mt,W as Lt,R as Dt,$ as Pt,o as W,b as zt,j as E,a0 as Vt,k as C,as as jt,at as $t,au as Bt,c as q,n as Ye,e as be,B as Ze,F as Xe,a as de,t as fe,av as Wt,aw as et,ax as Kt,a7 as Jt,ac as Ut,ay as qt,_ as Ht}from"./framework.BHjrhdiC.js";import{u as Gt,c as Qt}from"./theme.DLnKtfGY.js";const Yt={root:()=>He(()=>import("./@localSearchIndexroot.Dw4g7XXs.js"),[]),"en-US":()=>He(()=>import("./@localSearchIndexen-US.BEf68FQA.js"),[])};/*!
1
+ import{V as He,q as De,ai as Et,h as pe,aj as Ge,ak as Tt,al as It,am as kt,G as re,d as Nt,an as Qe,p as ce,ao as Ft,ap as Rt,s as Ot,aq as At,v as Fe,P as ue,O as ge,a2 as Ct,ar as Mt,W as Lt,R as Dt,$ as Pt,o as W,b as zt,j as E,a0 as Vt,k as C,as as jt,at as $t,au as Bt,c as q,n as Ye,e as be,B as Ze,F as Xe,a as de,t as fe,av as Wt,aw as et,ax as Kt,a7 as Jt,ac as Ut,ay as qt,_ as Ht}from"./framework.BHjrhdiC.js";import{u as Gt,c as Qt}from"./theme.D5hAjTv8.js";const Yt={root:()=>He(()=>import("./@localSearchIndexroot.XPo_yBWv.js"),[]),"en-US":()=>He(()=>import("./@localSearchIndexen-US.BzVDCXSP.js"),[])};/*!
2
2
  * tabbable 6.5.0
3
3
  * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
4
4
  */var ut=["input:not([inert]):not([inert] *)","select:not([inert]):not([inert] *)","textarea:not([inert]):not([inert] *)","a[href]:not([inert]):not([inert] *)","area[href]:not([inert]):not([inert] *)","button:not([inert]):not([inert] *)","[tabindex]:not(slot):not([inert]):not([inert] *)","audio[controls]:not([inert]):not([inert] *)","video[controls]:not([inert]):not([inert] *)",'[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)',"details>summary:first-of-type:not([inert]):not([inert] *)","details:not([inert]):not([inert] *)"],_e=ut.join(","),dt=typeof Element>"u",ee=dt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,xe=!dt&&Element.prototype.getRootNode?function(a){var e;return a==null||(e=a.getRootNode)===null||e===void 0?void 0:e.call(a)}:function(a){return a?.ownerDocument},Ee=function(e,t){var n;t===void 0&&(t=!0);var r=e==null||(n=e.getAttribute)===null||n===void 0?void 0:n.call(e,"inert"),s=r===""||r==="true",i=s||t&&e&&(typeof e.closest=="function"?e.closest("[inert]"):Ee(e.parentNode));return i},Zt=function(e){var t,n=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return n===""||n==="true"},ft=function(e,t,n){if(Ee(e))return[];var r=Array.prototype.slice.apply(e.querySelectorAll(_e));return t&&ee.call(e,_e)&&r.unshift(e),r=r.filter(n),r},Te=function(e,t,n){for(var r=[],s=Array.from(e);s.length;){var i=s.shift();if(!Ee(i,!1))if(i.tagName==="SLOT"){var o=i.assignedElements(),l=o.length?o:i.children,c=Te(l,!0,n);n.flatten?r.push.apply(r,c):r.push({scopeParent:i,candidates:c})}else{var h=ee.call(i,_e);h&&n.filter(i)&&(t||!e.includes(i))&&r.push(i);var v=i.shadowRoot||typeof n.getShadowRoot=="function"&&n.getShadowRoot(i),p=!Ee(v,!1)&&(!n.shadowRootFilter||n.shadowRootFilter(i));if(v&&p){var y=Te(v===!0?i.children:v.children,!0,n);n.flatten?r.push.apply(r,y):r.push({scopeParent:i,candidates:y})}else s.unshift.apply(s,i.children)}}return r},ht=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},X=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||Zt(e))&&!ht(e)?0:e.tabIndex},Xt=function(e,t){var n=X(e);return n<0&&t&&!ht(e)?0:n},en=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},pt=function(e){return e.tagName==="INPUT"},tn=function(e){return pt(e)&&e.type==="hidden"},nn=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(n){return n.tagName==="SUMMARY"});return t},rn=function(e,t){for(var n=0;n<e.length;n++)if(e[n].checked&&e[n].form===t)return e[n]},sn=function(e){if(!e.name)return!0;var t=e.form||xe(e),n=function(o){return t.querySelectorAll('input[type="radio"][name="'+o+'"]')},r;if(typeof window<"u"&&typeof window.CSS<"u"&&typeof window.CSS.escape=="function")r=n(window.CSS.escape(e.name));else try{r=n(e.name)}catch(i){return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",i.message),!1}var s=rn(r,e.form);return!s||s===e},an=function(e){return pt(e)&&e.type==="radio"},on=function(e){return an(e)&&!sn(e)},ln=function(e){var t,n=e&&xe(e),r=(t=n)===null||t===void 0?void 0:t.host,s=!1;if(n&&n!==e){var i,o,l;for(s=!!((i=r)!==null&&i!==void 0&&(o=i.ownerDocument)!==null&&o!==void 0&&o.contains(r)||e!=null&&(l=e.ownerDocument)!==null&&l!==void 0&&l.contains(e));!s&&r;){var c,h,v;n=xe(r),r=(c=n)===null||c===void 0?void 0:c.host,s=!!((h=r)!==null&&h!==void 0&&(v=h.ownerDocument)!==null&&v!==void 0&&v.contains(r))}}return s},tt=function(e){var t=e.getBoundingClientRect(),n=t.width,r=t.height;return n===0&&r===0},cn=function(e,t){var n=t.displayCheck,r=t.getShadowRoot;if(n==="full-native"&&"checkVisibility"in e){var s=e.checkVisibility({checkOpacity:!1,opacityProperty:!1,contentVisibilityAuto:!0,visibilityProperty:!0,checkVisibilityCSS:!0});return!s}var i=getComputedStyle(e),o=i.visibility;if(o==="hidden"||o==="collapse")return!0;var l=ee.call(e,"details>summary:first-of-type"),c=l?e.parentElement:e;if(ee.call(c,"details:not([open]) *"))return!0;if(!n||n==="full"||n==="full-native"||n==="legacy-full"){if(typeof r=="function"){for(var h=e;e;){var v=e.parentElement,p=xe(e);if(v&&!v.shadowRoot&&r(v)===!0)return tt(e);e.assignedSlot?e=e.assignedSlot:!v&&p!==e.ownerDocument?e=p.host:e=v}e=h}if(ln(e))return!e.getClientRects().length;if(n!=="legacy-full")return!0}else if(n==="non-zero-area")return tt(e);return!1},un=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var n=0;n<t.children.length;n++){var r=t.children.item(n);if(r.tagName==="LEGEND")return ee.call(t,"fieldset[disabled] *")?!0:!r.contains(e)}return!0}t=t.parentElement}return!1},Ie=function(e,t){return!(t.disabled||tn(t)||cn(t,e)||nn(t)||un(t))},Pe=function(e,t){return!(on(t)||X(t)<0||!Ie(e,t))},dn=function(e){var t=parseInt(e.getAttribute("tabindex"),10);return!!(isNaN(t)||t>=0)},vt=function(e){var t=[],n=[];return e.forEach(function(r,s){var i=!!r.scopeParent,o=i?r.scopeParent:r,l=Xt(o,i),c=i?vt(r.candidates):o;l===0?i?t.push.apply(t,c):t.push(o):n.push({documentOrder:s,tabIndex:l,item:r,isScope:i,content:c})}),n.sort(en).reduce(function(r,s){return s.isScope?r.push.apply(r,s.content):r.push(s.content),r},[]).concat(t)},fn=function(e,t){t=t||{};var n;return t.getShadowRoot?n=Te([e],t.includeContainer,{filter:Pe.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:dn}):n=ft(e,t.includeContainer,Pe.bind(null,t)),vt(n)},hn=function(e,t){t=t||{};var n;return t.getShadowRoot?n=Te([e],t.includeContainer,{filter:Ie.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):n=ft(e,t.includeContainer,Ie.bind(null,t)),n},te=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ee.call(e,_e)===!1?!1:Pe(t,e)},pn=ut.concat("iframe:not([inert]):not([inert] *)").join(","),Re=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ee.call(e,pn)===!1?!1:Ie(t,e)};/*!
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.P9CapR4-.js","assets/chunks/framework.BHjrhdiC.js"])))=>i.map(i=>d[i]);
2
- import{d as p,c as u,r as c,n as x,o as s,a as R,t as V,b as g,w as f,T as ue,e as h,_ as $,u as Y,i as De,f as Oe,g as de,h as y,j as d,k as r,l as G,m as se,p as S,q as H,s as X,v as D,x as Q,y as ve,z as Fe,A as Ue,F as w,B as I,C as j,D as Z,E as _,G as Le,H as B,I as Ve,J as W,K as U,L as ee,M as Re,N as Se,O as re,P as fe,Q as Te,R as te,S as Ge,U as je,V as ze,W as xe,X as we,Y as We,Z as qe,$ as Ke,a0 as Je,a1 as Ye,a2 as Xe}from"./framework.BHjrhdiC.js";const Qe=p({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(e){return(t,n)=>(s(),u("span",{class:x(["VPBadge",e.type])},[c(t.$slots,"default",{},()=>[R(V(e.text),1)])],2))}}),Ze={key:0,class:"VPBackdrop"},et=p({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(e){return(t,n)=>(s(),g(ue,{name:"fade"},{default:f(()=>[e.show?(s(),u("div",Ze)):h("",!0)]),_:1}))}}),tt=$(et,[["__scopeId","data-v-1d755e79"]]),L=Y;function nt(e,t){let n,o=!1;return()=>{n&&clearTimeout(n),o?n=setTimeout(e,t):(e(),(o=!0)&&setTimeout(()=>o=!1,t))}}function ie(e){return e.startsWith("/")?e:`/${e}`}function me(e){const{pathname:t,search:n,hash:o,protocol:a}=new URL(e,"http://a.com");if(De(e)||e.startsWith("#")||!a.startsWith("http")||!Oe(t))return e;const{site:i}=L(),l=t.endsWith("/")||t.endsWith(".html")?e:e.replace(/(?:(^\.+)\/)?.*$/,`$1${t.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${n}${o}`);return de(l)}function q({correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:o,theme:a,hash:i}=L(),l=y(()=>({label:t.value.locales[n.value]?.label,link:t.value.locales[n.value]?.link||(n.value==="root"?"/":`/${n.value}/`)}));return{localeLinks:y(()=>Object.entries(t.value.locales).flatMap(([m,b])=>l.value.label===b.label?[]:{text:b.label,link:ot(b.link||(m==="root"?"/":`/${m}/`),a.value.i18nRouting!==!1&&e,o.value.relativePath.slice(l.value.link.length-1),!t.value.cleanUrls)+i.value})),currentLang:l}}function ot(e,t,n,o){return t?e.replace(/\/$/,"")+ie(n.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,o?".html":"")):e}const at={class:"NotFound"},st={class:"code"},rt={class:"title"},it={class:"quote"},lt={class:"action"},ct=["href","aria-label"],ut=p({__name:"NotFound",setup(e){const{theme:t}=L(),{currentLang:n}=q();return(o,a)=>(s(),u("div",at,[d("p",st,V(r(t).notFound?.code??"404"),1),d("h1",rt,V(r(t).notFound?.title??"PAGE NOT FOUND"),1),a[0]||(a[0]=d("div",{class:"divider"},null,-1)),d("blockquote",it,V(r(t).notFound?.quote??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),d("div",lt,[d("a",{class:"link",href:r(de)(r(n).link),"aria-label":r(t).notFound?.linkLabel??"go to home"},V(r(t).notFound?.linkText??"Take me home"),9,ct)])]))}}),dt=$(ut,[["__scopeId","data-v-003f2b9e"]]);function Ne(e,t){if(Array.isArray(e))return K(e);if(e==null)return[];t=ie(t);const n=Object.keys(e).sort((a,i)=>i.split("/").length-a.split("/").length).find(a=>t.startsWith(ie(a))),o=n?e[n]:[];return Array.isArray(o)?K(o):K(o.items,o.base)}function vt(e){const t=[];let n=0;for(const o in e){const a=e[o];if(a.items){n=t.push(a);continue}t[n]||t.push({items:[]}),t[n].items.push(a)}return t}function ft(e){const t=[];function n(o){for(const a of o)a.text&&a.link&&t.push({text:a.text,link:a.link,docFooterText:a.docFooterText}),a.items&&n(a.items)}return n(e),t}function le(e,t){return Array.isArray(t)?t.some(n=>le(e,n)):G(e,t.link)?!0:t.items?le(e,t.items):!1}function K(e,t){return[...e].map(n=>{const o={...n},a=o.base||t;return a&&o.link&&(o.link=a+o.link),o.items&&(o.items=K(o.items,a)),o})}function O(){const{frontmatter:e,page:t,theme:n}=L(),o=se("(min-width: 960px)"),a=S(!1),i=y(()=>{const C=n.value.sidebar,A=t.value.relativePath;return C?Ne(C,A):[]}),l=S(i.value);H(i,(C,A)=>{JSON.stringify(C)!==JSON.stringify(A)&&(l.value=i.value)});const v=y(()=>e.value.sidebar!==!1&&l.value.length>0&&e.value.layout!=="home"),m=y(()=>b?e.value.aside==null?n.value.aside==="left":e.value.aside==="left":!1),b=y(()=>e.value.layout==="home"?!1:e.value.aside!=null?!!e.value.aside:n.value.aside!==!1),P=y(()=>v.value&&o.value),k=y(()=>v.value?vt(l.value):[]);function T(){a.value=!0}function N(){a.value=!1}function M(){a.value?N():T()}return{isOpen:a,sidebar:l,sidebarGroups:k,hasSidebar:v,hasAside:b,leftAside:m,isSidebarEnabled:P,open:T,close:N,toggle:M}}function mt(e,t){let n;X(()=>{n=e.value?document.activeElement:void 0}),D(()=>{window.addEventListener("keyup",o)}),Q(()=>{window.removeEventListener("keyup",o)});function o(a){a.key==="Escape"&&e.value&&(t(),n?.focus())}}function ht(e){const{page:t,hash:n}=L(),o=S(!1),a=y(()=>e.value.collapsed!=null),i=y(()=>!!e.value.link),l=S(!1),v=()=>{l.value=G(t.value.relativePath,e.value.link)};H([t,e,n],v),D(v);const m=y(()=>l.value?!0:e.value.items?le(t.value.relativePath,e.value.items):!1),b=y(()=>!!(e.value.items&&e.value.items.length));X(()=>{o.value=!!(a.value&&e.value.collapsed)}),ve(()=>{(l.value||m.value)&&(o.value=!1)});function P(){a.value&&(o.value=!o.value)}return{collapsed:o,collapsible:a,isLink:i,isActiveLink:l,hasActiveLink:m,hasChildren:b,toggle:P}}function pt(){const{hasSidebar:e}=O(),t=se("(min-width: 960px)"),n=se("(min-width: 1280px)");return{isAsideEnabled:y(()=>!n.value&&!t.value?!1:e.value?n.value:t.value)}}const _t=/\b(?:VPBadge|header-anchor|footnote-ref|ignore-header)\b/,ce=[];function Ie(e){return typeof e.outline=="object"&&!Array.isArray(e.outline)&&e.outline.label||e.outlineTitle||"On this page"}function he(e){const t=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(n=>n.id&&n.hasChildNodes()).map(n=>{const o=Number(n.tagName[1]);return{element:n,title:gt(n),link:"#"+n.id,level:o}});return kt(t,e)}function gt(e){let t="";for(const n of e.childNodes)if(n.nodeType===1){if(_t.test(n.className))continue;t+=n.textContent}else n.nodeType===3&&(t+=n.textContent);return t.trim()}function kt(e,t){if(t===!1)return[];const n=(typeof t=="object"&&!Array.isArray(t)?t.level:t)||2,[o,a]=typeof n=="number"?[n,n]:n==="deep"?[2,6]:n;return yt(e,o,a)}function bt(e,t){const{isAsideEnabled:n}=pt(),o=nt(i,100);let a=null;D(()=>{requestAnimationFrame(i),window.addEventListener("scroll",o)}),Fe(()=>{l(location.hash)}),Q(()=>{window.removeEventListener("scroll",o)});function i(){if(!n.value)return;const v=window.scrollY,m=window.innerHeight,b=document.body.offsetHeight,P=Math.abs(v+m-b)<1,k=ce.map(({element:N,link:M})=>({link:M,top:$t(N)})).filter(({top:N})=>!Number.isNaN(N)).sort((N,M)=>N.top-M.top);if(!k.length){l(null);return}if(v<1){l(null);return}if(P){l(k[k.length-1].link);return}let T=null;for(const{link:N,top:M}of k){if(M>v+Ue()+4)break;T=N}l(T)}function l(v){a&&a.classList.remove("active"),v==null?a=null:a=e.value.querySelector(`a[href="${decodeURIComponent(v)}"]`);const m=a;m?(m.classList.add("active"),t.value.style.top=m.offsetTop+39+"px",t.value.style.opacity="1"):(t.value.style.top="33px",t.value.style.opacity="0")}}function $t(e){let t=0;for(;e!==document.body;){if(e===null)return NaN;t+=e.offsetTop,e=e.offsetParent}return t}function yt(e,t,n){ce.length=0;const o=[],a=[];return e.forEach(i=>{const l={...i,children:[]};let v=a[a.length-1];for(;v&&v.level>=l.level;)a.pop(),v=a[a.length-1];if(l.element.classList.contains("ignore-header")||v&&"shouldIgnore"in v){a.push({level:l.level,shouldIgnore:!0});return}l.level>n||l.level<t||(ce.push({element:l.element,link:l.link}),v?v.children.push(l):o.push(l),a.push(l))}),o}const Pt=["href","title"],Lt=p({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(e){function t({target:n}){const o=n.href.split("#")[1];document.getElementById(decodeURIComponent(o))?.focus({preventScroll:!0})}return(n,o)=>{const a=j("VPDocOutlineItem",!0);return s(),u("ul",{class:x(["VPDocOutlineItem",e.root?"root":"nested"])},[(s(!0),u(w,null,I(e.headers,({children:i,link:l,title:v})=>(s(),u("li",null,[d("a",{class:"outline-link",href:l,onClick:t,title:v},V(v),9,Pt),i?.length?(s(),g(a,{key:0,headers:i},null,8,["headers"])):h("",!0)]))),256))],2)}}}),Me=$(Lt,[["__scopeId","data-v-da64eb8d"]]),Vt={class:"content"},St={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Tt=p({__name:"VPDocAsideOutline",setup(e){const{frontmatter:t,theme:n}=L(),o=Le([]);Z(()=>{o.value=he(t.value.outline??n.value.outline)});const a=S(),i=S();return bt(a,i),(l,v)=>(s(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:x(["VPDocAsideOutline",{"has-outline":o.value.length>0}]),ref_key:"container",ref:a},[d("div",Vt,[d("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),d("div",St,V(r(Ie)(r(n))),1),_(Me,{headers:o.value,root:!0},null,8,["headers"])])],2))}}),xt=$(Tt,[["__scopeId","data-v-30a0162a"]]),wt={class:"VPDocAsideCarbonAds"},Nt=p({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(e){const t=()=>null;return(n,o)=>(s(),u("div",wt,[_(r(t),{"carbon-ads":e.carbonAds},null,8,["carbon-ads"])]))}}),It={class:"VPDocAside"},Mt=p({__name:"VPDocAside",setup(e){const{theme:t}=L();return(n,o)=>(s(),u("div",It,[c(n.$slots,"aside-top",{},void 0,!0),c(n.$slots,"aside-outline-before",{},void 0,!0),_(xt),c(n.$slots,"aside-outline-after",{},void 0,!0),o[0]||(o[0]=d("div",{class:"spacer"},null,-1)),c(n.$slots,"aside-ads-before",{},void 0,!0),r(t).carbonAds?(s(),g(Nt,{key:0,"carbon-ads":r(t).carbonAds},null,8,["carbon-ads"])):h("",!0),c(n.$slots,"aside-ads-after",{},void 0,!0),c(n.$slots,"aside-bottom",{},void 0,!0)]))}}),Ct=$(Mt,[["__scopeId","data-v-56ec1007"]]);function At(){const{theme:e,page:t}=L();return y(()=>{const{text:n="Edit this page",pattern:o=""}=e.value.editLink||{};let a;return typeof o=="function"?a=o(t.value):a=o.replace(/:path/g,t.value.filePath),{url:a,text:n}})}function Ht(){const{page:e,theme:t,frontmatter:n}=L();return y(()=>{const o=Ne(t.value.sidebar,e.value.relativePath),a=ft(o),i=Bt(a,b=>b.link.replace(/[?#].*$/,"")),l=i.findIndex(b=>G(e.value.relativePath,b.link)),v=t.value.docFooter?.prev===!1&&!n.value.prev||n.value.prev===!1,m=t.value.docFooter?.next===!1&&!n.value.next||n.value.next===!1;return{prev:v?void 0:{text:(typeof n.value.prev=="string"?n.value.prev:typeof n.value.prev=="object"?n.value.prev.text:void 0)??i[l-1]?.docFooterText??i[l-1]?.text,link:(typeof n.value.prev=="object"?n.value.prev.link:void 0)??i[l-1]?.link},next:m?void 0:{text:(typeof n.value.next=="string"?n.value.next:typeof n.value.next=="object"?n.value.next.text:void 0)??i[l+1]?.docFooterText??i[l+1]?.text,link:(typeof n.value.next=="object"?n.value.next.link:void 0)??i[l+1]?.link}}})}function Bt(e,t){const n=new Set;return e.filter(o=>{const a=t(o);return n.has(a)?!1:n.add(a)})}const E=p({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(e){const t=e,n=y(()=>t.tag??(t.href?"a":"span")),o=y(()=>t.href&&Ve.test(t.href)||t.target==="_blank");return(a,i)=>(s(),g(B(n.value),{class:x(["VPLink",{link:e.href,"vp-external-link-icon":o.value,"no-icon":e.noIcon}]),href:e.href?r(me)(e.href):void 0,target:e.target??(o.value?"_blank":void 0),rel:e.rel??(o.value?"noreferrer":void 0)},{default:f(()=>[c(a.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Et={class:"VPLastUpdated"},Dt=["datetime"],Ot=p({__name:"VPDocFooterLastUpdated",setup(e){const{theme:t,page:n,lang:o}=L(),a=y(()=>new Date(n.value.lastUpdated)),i=y(()=>a.value.toISOString()),l=S("");return D(()=>{X(()=>{l.value=new Intl.DateTimeFormat(t.value.lastUpdated?.formatOptions?.forceLocale?o.value:void 0,t.value.lastUpdated?.formatOptions??{dateStyle:"short",timeStyle:"short"}).format(a.value)})}),(v,m)=>(s(),u("p",Et,[R(V(r(t).lastUpdated?.text||r(t).lastUpdatedText||"Last updated")+": ",1),d("time",{datetime:i.value},V(l.value),9,Dt)]))}}),Ft=$(Ot,[["__scopeId","data-v-9c08415f"]]),Ut={key:0,class:"VPDocFooter"},Rt={key:0,class:"edit-info"},Gt={key:0,class:"edit-link"},jt={key:1,class:"last-updated"},zt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Wt={class:"pager"},qt=["innerHTML"],Kt=["innerHTML"],Jt={class:"pager"},Yt=["innerHTML"],Xt=["innerHTML"],Qt=p({__name:"VPDocFooter",setup(e){const{theme:t,page:n,frontmatter:o}=L(),a=At(),i=Ht(),l=y(()=>t.value.editLink&&o.value.editLink!==!1),v=y(()=>n.value.lastUpdated),m=y(()=>l.value||v.value||i.value.prev||i.value.next);return(b,P)=>m.value?(s(),u("footer",Ut,[c(b.$slots,"doc-footer-before",{},void 0,!0),l.value||v.value?(s(),u("div",Rt,[l.value?(s(),u("div",Gt,[_(E,{class:"edit-link-button",href:r(a).url,"no-icon":!0},{default:f(()=>[P[0]||(P[0]=d("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),R(" "+V(r(a).text),1)]),_:1},8,["href"])])):h("",!0),v.value?(s(),u("div",jt,[_(Ft)])):h("",!0)])):h("",!0),r(i).prev?.link||r(i).next?.link?(s(),u("nav",zt,[P[1]||(P[1]=d("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),d("div",Wt,[r(i).prev?.link?(s(),g(E,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:f(()=>[d("span",{class:"desc",innerHTML:r(t).docFooter?.prev||"Previous page"},null,8,qt),d("span",{class:"title",innerHTML:r(i).prev.text},null,8,Kt)]),_:1},8,["href"])):h("",!0)]),d("div",Jt,[r(i).next?.link?(s(),g(E,{key:0,class:"pager-link next",href:r(i).next.link},{default:f(()=>[d("span",{class:"desc",innerHTML:r(t).docFooter?.next||"Next page"},null,8,Yt),d("span",{class:"title",innerHTML:r(i).next.text},null,8,Xt)]),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}),Zt=$(Qt,[["__scopeId","data-v-579b47ad"]]),en={class:"container"},tn={class:"aside-container"},nn={class:"aside-content"},on={class:"content"},an={class:"content-container"},sn={class:"main"},rn=p({__name:"VPDoc",setup(e){const{theme:t}=L(),n=W(),{hasSidebar:o,hasAside:a,leftAside:i}=O(),l=y(()=>n.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(v,m)=>{const b=j("Content");return s(),u("div",{class:x(["VPDoc",{"has-sidebar":r(o),"has-aside":r(a)}])},[c(v.$slots,"doc-top",{},void 0,!0),d("div",en,[r(a)?(s(),u("div",{key:0,class:x(["aside",{"left-aside":r(i)}])},[m[0]||(m[0]=d("div",{class:"aside-curtain"},null,-1)),d("div",tn,[d("div",nn,[_(Ct,null,{"aside-top":f(()=>[c(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),d("div",on,[d("div",an,[c(v.$slots,"doc-before",{},void 0,!0),d("main",sn,[_(b,{class:x(["vp-doc",[l.value,r(t).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),_(Zt,null,{"doc-footer-before":f(()=>[c(v.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(v.$slots,"doc-after",{},void 0,!0)])])]),c(v.$slots,"doc-bottom",{},void 0,!0)],2)}}}),ln=$(rn,[["__scopeId","data-v-cd08f8de"]]),cn=p({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(e){const t=e,n=y(()=>t.href&&Ve.test(t.href)),o=y(()=>t.tag||(t.href?"a":"button"));return(a,i)=>(s(),g(B(o.value),{class:x(["VPButton",[e.size,e.theme]]),href:e.href?r(me)(e.href):void 0,target:t.target??(n.value?"_blank":void 0),rel:t.rel??(n.value?"noreferrer":void 0)},{default:f(()=>[R(V(e.text),1)]),_:1},8,["class","href","target","rel"]))}}),un=$(cn,[["__scopeId","data-v-28d59202"]]),dn=["src","alt"],vn=p({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(e){return(t,n)=>{const o=j("VPImage",!0);return e.image?(s(),u(w,{key:0},[typeof e.image=="string"||"src"in e.image?(s(),u("img",U({key:0,class:"VPImage"},typeof e.image=="string"?t.$attrs:{...e.image,...t.$attrs},{src:r(de)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,dn)):(s(),u(w,{key:1},[_(o,U({class:"dark",image:e.image.dark,alt:e.image.alt},t.$attrs),null,16,["image","alt"]),_(o,U({class:"light",image:e.image.light,alt:e.image.alt},t.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),J=$(vn,[["__scopeId","data-v-dd4a1533"]]),fn={class:"container"},mn={class:"main"},hn={class:"heading"},pn=["innerHTML"],_n=["innerHTML"],gn=["innerHTML"],kn={key:0,class:"actions"},bn={key:0,class:"image"},$n={class:"image-container"},yn=p({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(e){const t=ee("hero-image-slot-exists");return(n,o)=>(s(),u("div",{class:x(["VPHero",{"has-image":e.image||r(t)}])},[d("div",fn,[d("div",mn,[c(n.$slots,"home-hero-info-before",{},void 0,!0),c(n.$slots,"home-hero-info",{},()=>[d("h1",hn,[e.name?(s(),u("span",{key:0,innerHTML:e.name,class:"name clip"},null,8,pn)):h("",!0),e.text?(s(),u("span",{key:1,innerHTML:e.text,class:"text"},null,8,_n)):h("",!0)]),e.tagline?(s(),u("p",{key:0,innerHTML:e.tagline,class:"tagline"},null,8,gn)):h("",!0)],!0),c(n.$slots,"home-hero-info-after",{},void 0,!0),e.actions?(s(),u("div",kn,[(s(!0),u(w,null,I(e.actions,a=>(s(),u("div",{key:a.link,class:"action"},[_(un,{tag:"a",size:"medium",theme:a.theme,text:a.text,href:a.link,target:a.target,rel:a.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),c(n.$slots,"home-hero-actions-after",{},void 0,!0)]),e.image||r(t)?(s(),u("div",bn,[d("div",$n,[o[0]||(o[0]=d("div",{class:"image-bg"},null,-1)),c(n.$slots,"home-hero-image",{},()=>[e.image?(s(),g(J,{key:0,class:"image-src",image:e.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),Pn=$(yn,[["__scopeId","data-v-afa10fa7"]]),Ln=p({__name:"VPHomeHero",setup(e){const{frontmatter:t}=L();return(n,o)=>r(t).hero?(s(),g(Pn,{key:0,class:"VPHomeHero",name:r(t).hero.name,text:r(t).hero.text,tagline:r(t).hero.tagline,image:r(t).hero.image,actions:r(t).hero.actions},{"home-hero-info-before":f(()=>[c(n.$slots,"home-hero-info-before")]),"home-hero-info":f(()=>[c(n.$slots,"home-hero-info")]),"home-hero-info-after":f(()=>[c(n.$slots,"home-hero-info-after")]),"home-hero-actions-after":f(()=>[c(n.$slots,"home-hero-actions-after")]),"home-hero-image":f(()=>[c(n.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),Vn={class:"box"},Sn={key:0,class:"icon"},Tn=["innerHTML"],xn=["innerHTML"],wn=["innerHTML"],Nn={key:4,class:"link-text"},In={class:"link-text-value"},Mn=p({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(e){return(t,n)=>(s(),g(E,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:f(()=>[d("article",Vn,[typeof e.icon=="object"&&e.icon.wrap?(s(),u("div",Sn,[_(J,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(s(),g(J,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(s(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Tn)):h("",!0),d("h2",{class:"title",innerHTML:e.title},null,8,xn),e.details?(s(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,wn)):h("",!0),e.linkText?(s(),u("div",Nn,[d("p",In,[R(V(e.linkText)+" ",1),n[0]||(n[0]=d("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Cn=$(Mn,[["__scopeId","data-v-e68f5c54"]]),An={key:0,class:"VPFeatures"},Hn={class:"container"},Bn={class:"items"},En=p({__name:"VPFeatures",props:{features:{}},setup(e){const t=e,n=y(()=>{const o=t.features.length;if(o){if(o===2)return"grid-2";if(o===3)return"grid-3";if(o%3===0)return"grid-6";if(o>3)return"grid-4"}else return});return(o,a)=>e.features?(s(),u("div",An,[d("div",Hn,[d("div",Bn,[(s(!0),u(w,null,I(e.features,i=>(s(),u("div",{key:i.title,class:x(["item",[n.value]])},[_(Cn,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),Dn=$(En,[["__scopeId","data-v-c29cee3c"]]),On=p({__name:"VPHomeFeatures",setup(e){const{frontmatter:t}=L();return(n,o)=>r(t).features?(s(),g(Dn,{key:0,class:"VPHomeFeatures",features:r(t).features},null,8,["features"])):h("",!0)}}),Fn=p({__name:"VPHomeContent",setup(e){const{width:t}=Re({initialWidth:0,includeScrollbar:!1});return(n,o)=>(s(),u("div",{class:"vp-doc container",style:Se(r(t)?{"--vp-offset":`calc(50% - ${r(t)/2}px)`}:{})},[c(n.$slots,"default",{},void 0,!0)],4))}}),Un=$(Fn,[["__scopeId","data-v-bd322132"]]),Rn=p({__name:"VPHome",setup(e){const{frontmatter:t,theme:n}=L();return(o,a)=>{const i=j("Content");return s(),u("div",{class:x(["VPHome",{"external-link-icon-enabled":r(n).externalLinkIcon}])},[c(o.$slots,"home-hero-before",{},void 0,!0),_(Ln,null,{"home-hero-info-before":f(()=>[c(o.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(o.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(o.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(o.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(o.$slots,"home-hero-after",{},void 0,!0),c(o.$slots,"home-features-before",{},void 0,!0),_(On),c(o.$slots,"home-features-after",{},void 0,!0),r(t).markdownStyles!==!1?(s(),g(Un,{key:0},{default:f(()=>[_(i)]),_:1})):(s(),g(i,{key:1}))],2)}}}),Gn=$(Rn,[["__scopeId","data-v-75436bba"]]),jn={},zn={class:"VPPage"};function Wn(e,t){const n=j("Content");return s(),u("div",zn,[c(e.$slots,"page-top"),_(n),c(e.$slots,"page-bottom")])}const qn=$(jn,[["render",Wn]]),Kn=p({__name:"VPContent",setup(e){const{page:t,frontmatter:n}=L(),{hasSidebar:o}=O();return(a,i)=>(s(),u("div",{class:x(["VPContent",{"has-sidebar":r(o),"is-home":r(n).layout==="home"}]),id:"VPContent"},[r(t).isNotFound?c(a.$slots,"not-found",{},()=>[_(dt)],!0,0):r(n).layout==="page"?(s(),g(qn,{key:1},{"page-top":f(()=>[c(a.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(a.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(n).layout==="home"?(s(),g(Gn,{key:2},{"home-hero-before":f(()=>[c(a.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(a.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(a.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(a.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(a.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(a.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(a.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(a.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(a.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(n).layout&&r(n).layout!=="doc"?(s(),g(B(r(n).layout),{key:3})):(s(),g(ln,{key:4},{"doc-top":f(()=>[c(a.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(a.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":f(()=>[c(a.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(a.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(a.$slots,"doc-after",{},void 0,!0)]),"aside-top":f(()=>[c(a.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":f(()=>[c(a.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(a.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(a.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(a.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":f(()=>[c(a.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),Jn=$(Kn,[["__scopeId","data-v-8da8809f"]]),Yn={class:"container"},Xn=["innerHTML"],Qn=["innerHTML"],Zn=p({__name:"VPFooter",setup(e){const{theme:t,frontmatter:n}=L(),{hasSidebar:o}=O();return(a,i)=>r(t).footer&&r(n).footer!==!1?(s(),u("footer",{key:0,class:x(["VPFooter",{"has-sidebar":r(o)}])},[d("div",Yn,[r(t).footer.message?(s(),u("p",{key:0,class:"message",innerHTML:r(t).footer.message},null,8,Xn)):h("",!0),r(t).footer.copyright?(s(),u("p",{key:1,class:"copyright",innerHTML:r(t).footer.copyright},null,8,Qn)):h("",!0)])],2)):h("",!0)}}),eo=$(Zn,[["__scopeId","data-v-51ac4691"]]);function to(){const{theme:e,frontmatter:t}=L(),n=Le([]),o=y(()=>n.value.length>0);return Z(()=>{n.value=he(t.value.outline??e.value.outline)}),{headers:n,hasLocalNav:o}}const no={class:"menu-text"},oo={class:"header"},ao={class:"outline"},so=p({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(e){const t=e,{theme:n}=L(),o=S(!1),a=S(0),i=S(),l=S();function v(k){i.value?.contains(k.target)||(o.value=!1)}H(o,k=>{if(k){document.addEventListener("click",v);return}document.removeEventListener("click",v)}),re("Escape",()=>{o.value=!1}),Z(()=>{o.value=!1});function m(){o.value=!o.value,a.value=window.innerHeight+Math.min(window.scrollY-t.navHeight,0)}function b(k){k.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),fe(()=>{o.value=!1}))}function P(){o.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(k,T)=>(s(),u("div",{class:"VPLocalNavOutlineDropdown",style:Se({"--vp-vh":a.value+"px"}),ref_key:"main",ref:i},[e.headers.length>0?(s(),u("button",{key:0,onClick:m,class:x({open:o.value})},[d("span",no,V(r(Ie)(r(n))),1),T[0]||(T[0]=d("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(s(),u("button",{key:1,onClick:P},V(r(n).returnToTopLabel||"Return to top"),1)),_(ue,{name:"flyout"},{default:f(()=>[o.value?(s(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:b},[d("div",oo,[d("a",{class:"top-link",href:"#",onClick:P},V(r(n).returnToTopLabel||"Return to top"),1)]),d("div",ao,[_(Me,{headers:e.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),ro=$(so,[["__scopeId","data-v-8da33559"]]),io={class:"container"},lo=["aria-expanded"],co={class:"menu-text"},uo=p({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(e){const{theme:t,frontmatter:n}=L(),{hasSidebar:o}=O(),{headers:a}=to(),{y:i}=Te(),l=S(0);D(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),Z(()=>{a.value=he(n.value.outline??t.value.outline)});const v=y(()=>a.value.length===0),m=y(()=>v.value&&!o.value),b=y(()=>({VPLocalNav:!0,"has-sidebar":o.value,empty:v.value,fixed:m.value}));return(P,k)=>r(n).layout!=="home"&&(!m.value||r(i)>=l.value)?(s(),u("div",{key:0,class:x(b.value)},[d("div",io,[r(o)?(s(),u("button",{key:0,class:"menu","aria-expanded":e.open,"aria-controls":"VPSidebarNav",onClick:k[0]||(k[0]=T=>P.$emit("open-menu"))},[k[1]||(k[1]=d("span",{class:"vpi-align-left menu-icon"},null,-1)),d("span",co,V(r(t).sidebarMenuLabel||"Menu"),1)],8,lo)):h("",!0),_(ro,{headers:r(a),navHeight:l.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),vo=$(uo,[["__scopeId","data-v-0f137e95"]]);function fo(){const e=S(!1);function t(){e.value=!0,window.addEventListener("resize",a)}function n(){e.value=!1,window.removeEventListener("resize",a)}function o(){e.value?n():t()}function a(){window.outerWidth>=768&&n()}const i=W();return H(()=>i.path,n),{isScreenOpen:e,openScreen:t,closeScreen:n,toggleScreen:o}}const mo={},ho={class:"VPSwitch",type:"button",role:"switch"},po={class:"check"},_o={key:0,class:"icon"};function go(e,t){return s(),u("button",ho,[d("span",po,[e.$slots.default?(s(),u("span",_o,[c(e.$slots,"default",{},void 0,!0)])):h("",!0)])])}const ko=$(mo,[["render",go],["__scopeId","data-v-595ed02e"]]),bo=p({__name:"VPSwitchAppearance",setup(e){const{isDark:t,theme:n}=L(),o=ee("toggle-appearance",()=>{t.value=!t.value}),a=S("");return ve(()=>{a.value=t.value?n.value.lightModeSwitchTitle||"Switch to light theme":n.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,l)=>(s(),g(ko,{title:a.value,class:"VPSwitchAppearance","aria-checked":r(t),onClick:r(o)},{default:f(()=>[...l[0]||(l[0]=[d("span",{class:"vpi-sun sun"},null,-1),d("span",{class:"vpi-moon moon"},null,-1)])]),_:1},8,["title","aria-checked","onClick"]))}}),pe=$(bo,[["__scopeId","data-v-273278d3"]]),$o={key:0,class:"VPNavBarAppearance"},yo=p({__name:"VPNavBarAppearance",setup(e){const{site:t}=L();return(n,o)=>r(t).appearance&&r(t).appearance!=="force-dark"&&r(t).appearance!=="force-auto"?(s(),u("div",$o,[_(pe)])):h("",!0)}}),Po=$(yo,[["__scopeId","data-v-b81617e7"]]),_e=S();let Ce=!1,oe=0;function Lo(e){const t=S(!1);if(te){!Ce&&Vo(),oe++;const n=H(_e,o=>{o===e.el.value||e.el.value?.contains(o)?(t.value=!0,e.onFocus?.()):(t.value=!1,e.onBlur?.())});Q(()=>{n(),oe--,oe||So()})}return Ge(t)}function Vo(){document.addEventListener("focusin",Ae),Ce=!0,_e.value=document.activeElement}function So(){document.removeEventListener("focusin",Ae)}function Ae(){_e.value=document.activeElement}const To={class:"VPMenuLink"},xo=["innerHTML"],wo=p({__name:"VPMenuLink",props:{item:{}},setup(e){const{page:t}=L();return(n,o)=>(s(),u("div",To,[_(E,{class:x({active:r(G)(r(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon},{default:f(()=>[d("span",{innerHTML:e.item.text},null,8,xo)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),ne=$(wo,[["__scopeId","data-v-d62fa8e2"]]),No={class:"VPMenuGroup"},Io={key:0,class:"title"},Mo=p({__name:"VPMenuGroup",props:{text:{},items:{}},setup(e){return(t,n)=>(s(),u("div",No,[e.text?(s(),u("p",Io,V(e.text),1)):h("",!0),(s(!0),u(w,null,I(e.items,o=>(s(),u(w,null,["link"in o?(s(),g(ne,{key:0,item:o},null,8,["item"])):h("",!0)],64))),256))]))}}),Co=$(Mo,[["__scopeId","data-v-ad97fc48"]]),Ao={class:"VPMenu"},Ho={key:0,class:"items"},Bo=p({__name:"VPMenu",props:{items:{}},setup(e){return(t,n)=>(s(),u("div",Ao,[e.items?(s(),u("div",Ho,[(s(!0),u(w,null,I(e.items,o=>(s(),u(w,{key:JSON.stringify(o)},["link"in o?(s(),g(ne,{key:0,item:o},null,8,["item"])):"component"in o?(s(),g(B(o.component),U({key:1,ref_for:!0},o.props),null,16)):(s(),g(Co,{key:2,text:o.text,items:o.items},null,8,["text","items"]))],64))),128))])):h("",!0),c(t.$slots,"default",{},void 0,!0)]))}}),Eo=$(Bo,[["__scopeId","data-v-3fafad00"]]),Do=["aria-expanded","aria-label"],Oo={key:0,class:"text"},Fo=["innerHTML"],Uo={key:1,class:"vpi-more-horizontal icon"},Ro={class:"menu"},Go=p({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(e){const t=S(!1),n=S();Lo({el:n,onBlur:o});function o(){t.value=!1}return(a,i)=>(s(),u("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:i[1]||(i[1]=l=>t.value=!0),onMouseleave:i[2]||(i[2]=l=>t.value=!1)},[d("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":e.label,onClick:i[0]||(i[0]=l=>t.value=!t.value)},[e.button||e.icon?(s(),u("span",Oo,[e.icon?(s(),u("span",{key:0,class:x([e.icon,"option-icon"])},null,2)):h("",!0),e.button?(s(),u("span",{key:1,innerHTML:e.button},null,8,Fo)):h("",!0),i[3]||(i[3]=d("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(s(),u("span",Uo))],8,Do),d("div",Ro,[_(Eo,{items:e.items},{default:f(()=>[c(a.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),ge=$(Go,[["__scopeId","data-v-5d7cf148"]]),jo=["href","aria-label","innerHTML"],zo=p({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(e){const t=e,n=S();D(async()=>{await fe();const a=n.value?.children[0];a instanceof HTMLElement&&a.className.startsWith("vpi-social-")&&(getComputedStyle(a).maskImage||getComputedStyle(a).webkitMaskImage)==="none"&&a.style.setProperty("--icon",`url('https://api.iconify.design/simple-icons/${t.icon}.svg')`)});const o=y(()=>typeof t.icon=="object"?t.icon.svg:`<span class="vpi-social-${t.icon}"></span>`);return(a,i)=>(s(),u("a",{ref_key:"el",ref:n,class:"VPSocialLink no-icon",href:e.link,"aria-label":e.ariaLabel??(typeof e.icon=="string"?e.icon:""),target:"_blank",rel:"noopener",innerHTML:o.value},null,8,jo))}}),Wo=$(zo,[["__scopeId","data-v-74114f55"]]),qo={class:"VPSocialLinks"},Ko=p({__name:"VPSocialLinks",props:{links:{}},setup(e){return(t,n)=>(s(),u("div",qo,[(s(!0),u(w,null,I(e.links,({link:o,icon:a,ariaLabel:i})=>(s(),g(Wo,{key:o,icon:a,link:o,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),ke=$(Ko,[["__scopeId","data-v-9a5d404c"]]),Jo={key:0,class:"group translations"},Yo={class:"trans-title"},Xo={key:1,class:"group"},Qo={class:"item appearance"},Zo={class:"label"},ea={class:"appearance-action"},ta={key:2,class:"group"},na={class:"item social-links"},oa=p({__name:"VPNavBarExtra",setup(e){const{site:t,theme:n}=L(),{localeLinks:o,currentLang:a}=q({correspondingLink:!0}),i=y(()=>o.value.length&&a.value.label||t.value.appearance||n.value.socialLinks);return(l,v)=>i.value?(s(),g(ge,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:f(()=>[r(o).length&&r(a).label?(s(),u("div",Jo,[d("p",Yo,V(r(a).label),1),(s(!0),u(w,null,I(r(o),m=>(s(),g(ne,{key:m.link,item:m},null,8,["item"]))),128))])):h("",!0),r(t).appearance&&r(t).appearance!=="force-dark"&&r(t).appearance!=="force-auto"?(s(),u("div",Xo,[d("div",Qo,[d("p",Zo,V(r(n).darkModeSwitchLabel||"Appearance"),1),d("div",ea,[_(pe)])])])):h("",!0),r(n).socialLinks?(s(),u("div",ta,[d("div",na,[_(ke,{class:"social-links-list",links:r(n).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),aa=$(oa,[["__scopeId","data-v-0e59b9da"]]),sa=["aria-expanded"],ra=p({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(s(),u("button",{type:"button",class:x(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=o=>t.$emit("click"))},[...n[1]||(n[1]=[d("span",{class:"container"},[d("span",{class:"top"}),d("span",{class:"middle"}),d("span",{class:"bottom"})],-1)])],10,sa))}}),ia=$(ra,[["__scopeId","data-v-f8aa66a1"]]),la=["innerHTML"],ca=p({__name:"VPNavBarMenuLink",props:{item:{}},setup(e){const{page:t}=L();return(n,o)=>(s(),g(E,{class:x({VPNavBarMenuLink:!0,active:r(G)(r(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,tabindex:"0"},{default:f(()=>[d("span",{innerHTML:e.item.text},null,8,la)]),_:1},8,["class","href","target","rel","no-icon"]))}}),ua=$(ca,[["__scopeId","data-v-7f6d531c"]]),da=p({__name:"VPNavBarMenuGroup",props:{item:{}},setup(e){const t=e,{page:n}=L(),o=i=>"component"in i?!1:"link"in i?G(n.value.relativePath,i.link,!!t.item.activeMatch):i.items.some(o),a=y(()=>o(t.item));return(i,l)=>(s(),g(ge,{class:x({VPNavBarMenuGroup:!0,active:r(G)(r(n).relativePath,e.item.activeMatch,!!e.item.activeMatch)||a.value}),button:e.item.text,items:e.item.items},null,8,["class","button","items"]))}}),va={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},fa=p({__name:"VPNavBarMenu",setup(e){const{theme:t}=L();return(n,o)=>r(t).nav?(s(),u("nav",va,[o[0]||(o[0]=d("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(s(!0),u(w,null,I(r(t).nav,a=>(s(),u(w,{key:JSON.stringify(a)},["link"in a?(s(),g(ua,{key:0,item:a},null,8,["item"])):"component"in a?(s(),g(B(a.component),U({key:1,ref_for:!0},a.props),null,16)):(s(),g(da,{key:2,item:a},null,8,["item"]))],64))),128))])):h("",!0)}}),ma=$(fa,[["__scopeId","data-v-6e3574fc"]]);function ha(e){const{localeIndex:t,theme:n}=L();function o(a){const i=a.split("."),l=n.value.search?.options,v=l&&typeof l=="object",m=v&&l.locales?.[t.value]?.translations||null,b=v&&l.translations||null;let P=m,k=b,T=e;const N=i.pop();for(const M of i){let C=null;const A=T?.[M];A&&(C=T=A);const F=k?.[M];F&&(C=k=F);const z=P?.[M];z&&(C=P=z),A||(T=C),F||(k=C),z||(P=C)}return P?.[N]??k?.[N]??T?.[N]??""}return o}const pa=["aria-label"],_a={class:"DocSearch-Button-Container"},ga={class:"DocSearch-Button-Placeholder"},ye=p({__name:"VPNavBarSearchButton",setup(e){const n=ha({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(o,a)=>(s(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(n)("button.buttonAriaLabel")},[d("span",_a,[a[0]||(a[0]=d("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),d("span",ga,V(r(n)("button.buttonText")),1)]),a[1]||(a[1]=d("span",{class:"DocSearch-Button-Keys"},[d("kbd",{class:"DocSearch-Button-Key"}),d("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,pa))}}),ka={class:"VPNavBarSearch"},ba={id:"local-search"},$a={key:1,id:"docsearch"},ya=p({__name:"VPNavBarSearch",setup(e){const t=je(()=>ze(()=>import("./VPLocalSearchBox.P9CapR4-.js"),__vite__mapDeps([0,1]))),n=()=>null,{theme:o}=L(),a=S(!1),i=S(!1);D(()=>{});function l(){a.value||(a.value=!0,setTimeout(v,16))}function v(){const k=new Event("keydown");k.key="k",k.metaKey=!0,window.dispatchEvent(k),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||v()},16)}function m(k){const T=k.target,N=T.tagName;return T.isContentEditable||N==="INPUT"||N==="SELECT"||N==="TEXTAREA"}const b=S(!1);re("k",k=>{(k.ctrlKey||k.metaKey)&&(k.preventDefault(),b.value=!0)}),re("/",k=>{m(k)||(k.preventDefault(),b.value=!0)});const P="local";return(k,T)=>(s(),u("div",ka,[r(P)==="local"?(s(),u(w,{key:0},[b.value?(s(),g(r(t),{key:0,onClose:T[0]||(T[0]=N=>b.value=!1)})):h("",!0),d("div",ba,[_(ye,{onClick:T[1]||(T[1]=N=>b.value=!0)})])],64)):r(P)==="algolia"?(s(),u(w,{key:1},[a.value?(s(),g(r(n),{key:0,algolia:r(o).search?.options??r(o).algolia,onVnodeBeforeMount:T[2]||(T[2]=N=>i.value=!0)},null,8,["algolia"])):h("",!0),i.value?h("",!0):(s(),u("div",$a,[_(ye,{onClick:l})]))],64)):h("",!0)]))}}),Pa=p({__name:"VPNavBarSocialLinks",setup(e){const{theme:t}=L();return(n,o)=>r(t).socialLinks?(s(),g(ke,{key:0,class:"VPNavBarSocialLinks",links:r(t).socialLinks},null,8,["links"])):h("",!0)}}),La=$(Pa,[["__scopeId","data-v-e2774f93"]]),Va=["href","rel","target"],Sa=["innerHTML"],Ta={key:2},xa=p({__name:"VPNavBarTitle",setup(e){const{site:t,theme:n}=L(),{hasSidebar:o}=O(),{currentLang:a}=q(),i=y(()=>typeof n.value.logoLink=="string"?n.value.logoLink:n.value.logoLink?.link),l=y(()=>typeof n.value.logoLink=="string"?void 0:n.value.logoLink?.rel),v=y(()=>typeof n.value.logoLink=="string"?void 0:n.value.logoLink?.target);return(m,b)=>(s(),u("div",{class:x(["VPNavBarTitle",{"has-sidebar":r(o)}])},[d("a",{class:"title",href:i.value??r(me)(r(a).link),rel:l.value,target:v.value},[c(m.$slots,"nav-bar-title-before",{},void 0,!0),r(n).logo?(s(),g(J,{key:0,class:"logo",image:r(n).logo},null,8,["image"])):h("",!0),r(n).siteTitle?(s(),u("span",{key:1,innerHTML:r(n).siteTitle},null,8,Sa)):r(n).siteTitle===void 0?(s(),u("span",Ta,V(r(t).title),1)):h("",!0),c(m.$slots,"nav-bar-title-after",{},void 0,!0)],8,Va)],2))}}),wa=$(xa,[["__scopeId","data-v-52450919"]]),Na={class:"items"},Ia={class:"title"},Ma=p({__name:"VPNavBarTranslations",setup(e){const{theme:t}=L(),{localeLinks:n,currentLang:o}=q({correspondingLink:!0});return(a,i)=>r(n).length&&r(o).label?(s(),g(ge,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(t).langMenuLabel||"Change language"},{default:f(()=>[d("div",Na,[d("p",Ia,V(r(o).label),1),(s(!0),u(w,null,I(r(n),l=>(s(),g(ne,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),Ca=$(Ma,[["__scopeId","data-v-7547c9e2"]]),Aa={class:"wrapper"},Ha={class:"container"},Ba={class:"title"},Ea={class:"content"},Da={class:"content-body"},Oa=p({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(e){const t=e,{y:n}=Te(),{hasSidebar:o}=O(),{frontmatter:a}=L(),i=S({});return ve(()=>{i.value={"has-sidebar":o.value,home:a.value.layout==="home",top:n.value===0,"screen-open":t.isScreenOpen}}),(l,v)=>(s(),u("div",{class:x(["VPNavBar",i.value])},[d("div",Aa,[d("div",Ha,[d("div",Ba,[_(wa,null,{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),d("div",Ea,[d("div",Da,[c(l.$slots,"nav-bar-content-before",{},void 0,!0),_(ya,{class:"search"}),_(ma,{class:"menu"}),_(Ca,{class:"translations"}),_(Po,{class:"appearance"}),_(La,{class:"social-links"}),_(aa,{class:"extra"}),c(l.$slots,"nav-bar-content-after",{},void 0,!0),_(ia,{class:"hamburger",active:e.isScreenOpen,onClick:v[0]||(v[0]=m=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),v[1]||(v[1]=d("div",{class:"divider"},[d("div",{class:"divider-line"})],-1))],2))}}),Fa=$(Oa,[["__scopeId","data-v-94126289"]]),Ua={key:0,class:"VPNavScreenAppearance"},Ra={class:"text"},Ga=p({__name:"VPNavScreenAppearance",setup(e){const{site:t,theme:n}=L();return(o,a)=>r(t).appearance&&r(t).appearance!=="force-dark"&&r(t).appearance!=="force-auto"?(s(),u("div",Ua,[d("p",Ra,V(r(n).darkModeSwitchLabel||"Appearance"),1),_(pe)])):h("",!0)}}),ja=$(Ga,[["__scopeId","data-v-5f5b4400"]]),za=["innerHTML"],Wa=p({__name:"VPNavScreenMenuLink",props:{item:{}},setup(e){const t=ee("close-screen");return(n,o)=>(s(),g(E,{class:"VPNavScreenMenuLink",href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,onClick:r(t)},{default:f(()=>[d("span",{innerHTML:e.item.text},null,8,za)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),qa=$(Wa,[["__scopeId","data-v-b1f6371a"]]),Ka=["innerHTML"],Ja=p({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(e){const t=ee("close-screen");return(n,o)=>(s(),g(E,{class:"VPNavScreenMenuGroupLink",href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,onClick:r(t)},{default:f(()=>[d("span",{innerHTML:e.item.text},null,8,Ka)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),He=$(Ja,[["__scopeId","data-v-0842708b"]]),Ya={class:"VPNavScreenMenuGroupSection"},Xa={key:0,class:"title"},Qa=p({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(e){return(t,n)=>(s(),u("div",Ya,[e.text?(s(),u("p",Xa,V(e.text),1)):h("",!0),(s(!0),u(w,null,I(e.items,o=>(s(),g(He,{key:o.text,item:o},null,8,["item"]))),128))]))}}),Za=$(Qa,[["__scopeId","data-v-1604621b"]]),es=["aria-controls","aria-expanded"],ts=["innerHTML"],ns=["id"],os={key:0,class:"item"},as={key:1,class:"item"},ss={key:2,class:"group"},rs=p({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(e){const t=e,n=S(!1),o=y(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function a(){n.value=!n.value}return(i,l)=>(s(),u("div",{class:x(["VPNavScreenMenuGroup",{open:n.value}])},[d("button",{class:"button","aria-controls":o.value,"aria-expanded":n.value,onClick:a},[d("span",{class:"button-text",innerHTML:e.text},null,8,ts),l[0]||(l[0]=d("span",{class:"vpi-plus button-icon"},null,-1))],8,es),d("div",{id:o.value,class:"items"},[(s(!0),u(w,null,I(e.items,v=>(s(),u(w,{key:JSON.stringify(v)},["link"in v?(s(),u("div",os,[_(He,{item:v},null,8,["item"])])):"component"in v?(s(),u("div",as,[(s(),g(B(v.component),U({ref_for:!0},v.props,{"screen-menu":""}),null,16))])):(s(),u("div",ss,[_(Za,{text:v.text,items:v.items},null,8,["text","items"])]))],64))),128))],8,ns)],2))}}),is=$(rs,[["__scopeId","data-v-17b2f265"]]),ls={key:0,class:"VPNavScreenMenu"},cs=p({__name:"VPNavScreenMenu",setup(e){const{theme:t}=L();return(n,o)=>r(t).nav?(s(),u("nav",ls,[(s(!0),u(w,null,I(r(t).nav,a=>(s(),u(w,{key:JSON.stringify(a)},["link"in a?(s(),g(qa,{key:0,item:a},null,8,["item"])):"component"in a?(s(),g(B(a.component),U({key:1,ref_for:!0},a.props,{"screen-menu":""}),null,16)):(s(),g(is,{key:2,text:a.text||"",items:a.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),us=p({__name:"VPNavScreenSocialLinks",setup(e){const{theme:t}=L();return(n,o)=>r(t).socialLinks?(s(),g(ke,{key:0,class:"VPNavScreenSocialLinks",links:r(t).socialLinks},null,8,["links"])):h("",!0)}}),ds={class:"list"},vs=p({__name:"VPNavScreenTranslations",setup(e){const{localeLinks:t,currentLang:n}=q({correspondingLink:!0}),o=S(!1);function a(){o.value=!o.value}return(i,l)=>r(t).length&&r(n).label?(s(),u("div",{key:0,class:x(["VPNavScreenTranslations",{open:o.value}])},[d("button",{class:"title",onClick:a},[l[0]||(l[0]=d("span",{class:"vpi-languages icon lang"},null,-1)),R(" "+V(r(n).label)+" ",1),l[1]||(l[1]=d("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),d("ul",ds,[(s(!0),u(w,null,I(r(t),v=>(s(),u("li",{key:v.link,class:"item"},[_(E,{class:"link",href:v.link},{default:f(()=>[R(V(v.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),fs=$(vs,[["__scopeId","data-v-eca6d244"]]),ms={class:"container"},hs=p({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(e){const t=S(null),n=xe(te?document.body:null);return(o,a)=>(s(),g(ue,{name:"fade",onEnter:a[0]||(a[0]=i=>n.value=!0),onAfterLeave:a[1]||(a[1]=i=>n.value=!1)},{default:f(()=>[e.open?(s(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t,id:"VPNavScreen"},[d("div",ms,[c(o.$slots,"nav-screen-content-before",{},void 0,!0),_(cs,{class:"menu"}),_(fs,{class:"translations"}),_(ja,{class:"appearance"}),_(us,{class:"social-links"}),c(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),ps=$(hs,[["__scopeId","data-v-f0b27409"]]),_s={key:0,class:"VPNav"},gs=p({__name:"VPNav",setup(e){const{isScreenOpen:t,closeScreen:n,toggleScreen:o}=fo(),{frontmatter:a}=L(),i=y(()=>a.value.navbar!==!1);return we("close-screen",n),X(()=>{te&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(l,v)=>i.value?(s(),u("header",_s,[_(Fa,{"is-screen-open":r(t),onToggleScreen:r(o)},{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),_(ps,{open:r(t)},{"nav-screen-content-before":f(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),ks=$(gs,[["__scopeId","data-v-974a37fc"]]),bs=["role","tabindex"],$s={key:1,class:"items"},ys=p({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(e){const t=e,{collapsed:n,collapsible:o,isLink:a,isActiveLink:i,hasActiveLink:l,hasChildren:v,toggle:m}=ht(y(()=>t.item)),b=y(()=>v.value?"section":"div"),P=y(()=>a.value?"a":"div"),k=y(()=>v.value?t.depth+2===7?"p":`h${t.depth+2}`:"p"),T=y(()=>a.value?void 0:"button"),N=y(()=>[[`level-${t.depth}`],{collapsible:o.value},{collapsed:n.value},{"is-link":a.value},{"is-active":i.value},{"has-active":l.value}]);function M(A){"key"in A&&A.key!=="Enter"||!t.item.link&&m()}function C(){t.item.link&&m()}return(A,F)=>{const z=j("VPSidebarItem",!0);return s(),g(B(b.value),{class:x(["VPSidebarItem",N.value])},{default:f(()=>[e.item.text?(s(),u("div",U({key:0,class:"item",role:T.value},We(e.item.items?{click:M,keydown:M}:{},!0),{tabindex:e.item.items&&0}),[F[1]||(F[1]=d("div",{class:"indicator"},null,-1)),e.item.link?(s(),g(E,{key:0,tag:P.value,class:"link",href:e.item.link,rel:e.item.rel,target:e.item.target},{default:f(()=>[(s(),g(B(k.value),{class:"text",innerHTML:e.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(s(),g(B(k.value),{key:1,class:"text",innerHTML:e.item.text},null,8,["innerHTML"])),e.item.collapsed!=null&&e.item.items&&e.item.items.length?(s(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:qe(C,["enter"]),tabindex:"0"},[...F[0]||(F[0]=[d("span",{class:"vpi-chevron-right caret-icon"},null,-1)])],32)):h("",!0)],16,bs)):h("",!0),e.item.items&&e.item.items.length?(s(),u("div",$s,[e.depth<5?(s(!0),u(w,{key:0},I(e.item.items,$e=>(s(),g(z,{key:$e.text,item:$e,depth:e.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),Ps=$(ys,[["__scopeId","data-v-65c16b06"]]),Ls=p({__name:"VPSidebarGroup",props:{items:{}},setup(e){const t=S(!0);let n=null;return D(()=>{n=setTimeout(()=>{n=null,t.value=!1},300)}),Ke(()=>{n!=null&&(clearTimeout(n),n=null)}),(o,a)=>(s(!0),u(w,null,I(e.items,i=>(s(),u("div",{key:i.text,class:x(["group",{"no-transition":t.value}])},[_(Ps,{item:i,depth:0},null,8,["item"])],2))),128))}}),Vs=$(Ls,[["__scopeId","data-v-e55dc7ff"]]),Ss={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Ts=p({__name:"VPSidebar",props:{open:{type:Boolean}},setup(e){const{sidebarGroups:t,hasSidebar:n}=O(),o=e,a=S(null),i=xe(te?document.body:null);H([o,a],()=>{o.open?(i.value=!0,a.value?.focus()):i.value=!1},{immediate:!0,flush:"post"});const l=S(0);return H(t,()=>{l.value+=1},{deep:!0}),(v,m)=>r(n)?(s(),u("aside",{key:0,class:x(["VPSidebar",{open:e.open}]),ref_key:"navEl",ref:a,onClick:m[0]||(m[0]=Je(()=>{},["stop"]))},[m[2]||(m[2]=d("div",{class:"curtain"},null,-1)),d("nav",Ss,[m[1]||(m[1]=d("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),c(v.$slots,"sidebar-nav-before",{},void 0,!0),(s(),g(Vs,{items:r(t),key:l.value},null,8,["items"])),c(v.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),xs=$(Ts,[["__scopeId","data-v-25c855a9"]]),ws=p({__name:"VPSkipLink",setup(e){const{theme:t}=L(),n=W(),o=S();H(()=>n.path,()=>o.value.focus());function a({target:i}){const l=document.getElementById(decodeURIComponent(i.hash).slice(1));if(l){const v=()=>{l.removeAttribute("tabindex"),l.removeEventListener("blur",v)};l.setAttribute("tabindex","-1"),l.addEventListener("blur",v),l.focus(),window.scrollTo(0,0)}}return(i,l)=>(s(),u(w,null,[d("span",{ref_key:"backToTop",ref:o,tabindex:"-1"},null,512),d("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:a},V(r(t).skipToContentLabel||"Skip to content"),1)],64))}}),Ns=$(ws,[["__scopeId","data-v-bbc8ff95"]]),Is=p({__name:"Layout",setup(e){const{isOpen:t,open:n,close:o}=O(),a=W();H(()=>a.path,o),mt(t,o);const{frontmatter:i}=L(),l=Ye(),v=y(()=>!!l["home-hero-image"]);return we("hero-image-slot-exists",v),(m,b)=>{const P=j("Content");return r(i).layout!==!1?(s(),u("div",{key:0,class:x(["Layout",r(i).pageClass])},[c(m.$slots,"layout-top",{},void 0,!0),_(Ns),_(tt,{class:"backdrop",show:r(t),onClick:r(o)},null,8,["show","onClick"]),_(ks,null,{"nav-bar-title-before":f(()=>[c(m.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(m.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(m.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(m.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":f(()=>[c(m.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(m.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),_(vo,{open:r(t),onOpenMenu:r(n)},null,8,["open","onOpenMenu"]),_(xs,{open:r(t)},{"sidebar-nav-before":f(()=>[c(m.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":f(()=>[c(m.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),_(Jn,null,{"page-top":f(()=>[c(m.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(m.$slots,"page-bottom",{},void 0,!0)]),"not-found":f(()=>[c(m.$slots,"not-found",{},void 0,!0)]),"home-hero-before":f(()=>[c(m.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(m.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(m.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(m.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(m.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(m.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(m.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(m.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(m.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":f(()=>[c(m.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(m.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(m.$slots,"doc-after",{},void 0,!0)]),"doc-top":f(()=>[c(m.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(m.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":f(()=>[c(m.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(m.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(m.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(m.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(m.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(m.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),_(eo),c(m.$slots,"layout-bottom",{},void 0,!0)],2)):(s(),g(P,{key:1}))}}}),Ms=$(Is,[["__scopeId","data-v-ef19ba22"]]),Be={Layout:Ms,enhanceApp:({app:e})=>{e.component("Badge",Qe)}},Ee={console:"Console",lastUpdated:"Last updated:",notSpecified:"Not specified",copyPage:"Copy Page",copied:"Copied",copyFailed:"Copy failed",copyCode:"Copy code",versionPending:"Loaded after console sign-in",versionPlaceholder:"<loaded after console sign-in>",currentServerVersion:"Current server version:",versionPendingHint:" (loaded after console sign-in)"},Cs={console:"控制台",lastUpdated:"最后更新:",notSpecified:"未标注",copyPage:"复制本页内容",copied:"已复制",copyFailed:"复制失败",copyCode:"复制代码",versionPending:"登录管理台后自动回填",versionPlaceholder:"<登录管理台后自动回填>",currentServerVersion:"当前 Server 版本:",versionPendingHint:"(登录控制台后自动读取)"},Pe="mar.locale.v2",As=[{value:"zh-CN",nativeLabel:"简体中文",docsPrefix:"/docs",browserPrefixes:["zh"]},{value:"en-US",nativeLabel:"English",docsPrefix:"/docs/en-US",browserPrefixes:["en"]}],ae=As.map(e=>({value:e.value,pathPrefix:e.docsPrefix})),Hs={"en-US":Ee,"zh-CN":Cs};function be(){const{lang:e}=Y(),t=y(()=>Hs[e.value]??Ee);return{t:n=>t.value[n]}}const Bs={class:"document-meta"},Es=p({__name:"DocumentMeta",setup(e){const{frontmatter:t}=Y(),{t:n}=be(),o=S(!1),a=S(!1),i=y(()=>{const m=t.value.lastUpdated;if(m instanceof Date&&!Number.isNaN(m.valueOf()))return m.toISOString().slice(0,10);const b=String(m??"");return/^\d{4}-\d{2}-\d{2}/u.exec(b)?.[0]??n("notSpecified")});async function l(m){if(navigator.clipboard?.writeText!==void 0)try{await navigator.clipboard.writeText(m);return}catch{}const b=document.createElement("textarea");b.value=m,b.style.position="fixed",b.style.opacity="0",document.body.append(b),b.select();const P=document.execCommand("copy");if(b.remove(),!P)throw new Error("CLIPBOARD_WRITE_FAILED")}async function v(){const m=document.querySelector(".vp-doc");if(m===null)return;const b=[...m.children].filter(P=>!P.classList.contains("document-meta")).map(P=>P.innerText.trim()).filter(Boolean).join(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.YAT0tY5c.js","assets/chunks/framework.BHjrhdiC.js"])))=>i.map(i=>d[i]);
2
+ import{d as p,c as u,r as c,n as x,o as s,a as R,t as V,b as g,w as f,T as ue,e as h,_ as $,u as Y,i as De,f as Oe,g as de,h as y,j as d,k as r,l as G,m as se,p as S,q as H,s as X,v as D,x as Q,y as ve,z as Fe,A as Ue,F as w,B as I,C as j,D as Z,E as _,G as Le,H as B,I as Ve,J as W,K as U,L as ee,M as Re,N as Se,O as re,P as fe,Q as Te,R as te,S as Ge,U as je,V as ze,W as xe,X as we,Y as We,Z as qe,$ as Ke,a0 as Je,a1 as Ye,a2 as Xe}from"./framework.BHjrhdiC.js";const Qe=p({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(e){return(t,n)=>(s(),u("span",{class:x(["VPBadge",e.type])},[c(t.$slots,"default",{},()=>[R(V(e.text),1)])],2))}}),Ze={key:0,class:"VPBackdrop"},et=p({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(e){return(t,n)=>(s(),g(ue,{name:"fade"},{default:f(()=>[e.show?(s(),u("div",Ze)):h("",!0)]),_:1}))}}),tt=$(et,[["__scopeId","data-v-1d755e79"]]),L=Y;function nt(e,t){let n,o=!1;return()=>{n&&clearTimeout(n),o?n=setTimeout(e,t):(e(),(o=!0)&&setTimeout(()=>o=!1,t))}}function ie(e){return e.startsWith("/")?e:`/${e}`}function me(e){const{pathname:t,search:n,hash:o,protocol:a}=new URL(e,"http://a.com");if(De(e)||e.startsWith("#")||!a.startsWith("http")||!Oe(t))return e;const{site:i}=L(),l=t.endsWith("/")||t.endsWith(".html")?e:e.replace(/(?:(^\.+)\/)?.*$/,`$1${t.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${n}${o}`);return de(l)}function q({correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:o,theme:a,hash:i}=L(),l=y(()=>({label:t.value.locales[n.value]?.label,link:t.value.locales[n.value]?.link||(n.value==="root"?"/":`/${n.value}/`)}));return{localeLinks:y(()=>Object.entries(t.value.locales).flatMap(([m,b])=>l.value.label===b.label?[]:{text:b.label,link:ot(b.link||(m==="root"?"/":`/${m}/`),a.value.i18nRouting!==!1&&e,o.value.relativePath.slice(l.value.link.length-1),!t.value.cleanUrls)+i.value})),currentLang:l}}function ot(e,t,n,o){return t?e.replace(/\/$/,"")+ie(n.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,o?".html":"")):e}const at={class:"NotFound"},st={class:"code"},rt={class:"title"},it={class:"quote"},lt={class:"action"},ct=["href","aria-label"],ut=p({__name:"NotFound",setup(e){const{theme:t}=L(),{currentLang:n}=q();return(o,a)=>(s(),u("div",at,[d("p",st,V(r(t).notFound?.code??"404"),1),d("h1",rt,V(r(t).notFound?.title??"PAGE NOT FOUND"),1),a[0]||(a[0]=d("div",{class:"divider"},null,-1)),d("blockquote",it,V(r(t).notFound?.quote??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),d("div",lt,[d("a",{class:"link",href:r(de)(r(n).link),"aria-label":r(t).notFound?.linkLabel??"go to home"},V(r(t).notFound?.linkText??"Take me home"),9,ct)])]))}}),dt=$(ut,[["__scopeId","data-v-003f2b9e"]]);function Ne(e,t){if(Array.isArray(e))return K(e);if(e==null)return[];t=ie(t);const n=Object.keys(e).sort((a,i)=>i.split("/").length-a.split("/").length).find(a=>t.startsWith(ie(a))),o=n?e[n]:[];return Array.isArray(o)?K(o):K(o.items,o.base)}function vt(e){const t=[];let n=0;for(const o in e){const a=e[o];if(a.items){n=t.push(a);continue}t[n]||t.push({items:[]}),t[n].items.push(a)}return t}function ft(e){const t=[];function n(o){for(const a of o)a.text&&a.link&&t.push({text:a.text,link:a.link,docFooterText:a.docFooterText}),a.items&&n(a.items)}return n(e),t}function le(e,t){return Array.isArray(t)?t.some(n=>le(e,n)):G(e,t.link)?!0:t.items?le(e,t.items):!1}function K(e,t){return[...e].map(n=>{const o={...n},a=o.base||t;return a&&o.link&&(o.link=a+o.link),o.items&&(o.items=K(o.items,a)),o})}function O(){const{frontmatter:e,page:t,theme:n}=L(),o=se("(min-width: 960px)"),a=S(!1),i=y(()=>{const C=n.value.sidebar,A=t.value.relativePath;return C?Ne(C,A):[]}),l=S(i.value);H(i,(C,A)=>{JSON.stringify(C)!==JSON.stringify(A)&&(l.value=i.value)});const v=y(()=>e.value.sidebar!==!1&&l.value.length>0&&e.value.layout!=="home"),m=y(()=>b?e.value.aside==null?n.value.aside==="left":e.value.aside==="left":!1),b=y(()=>e.value.layout==="home"?!1:e.value.aside!=null?!!e.value.aside:n.value.aside!==!1),P=y(()=>v.value&&o.value),k=y(()=>v.value?vt(l.value):[]);function T(){a.value=!0}function N(){a.value=!1}function M(){a.value?N():T()}return{isOpen:a,sidebar:l,sidebarGroups:k,hasSidebar:v,hasAside:b,leftAside:m,isSidebarEnabled:P,open:T,close:N,toggle:M}}function mt(e,t){let n;X(()=>{n=e.value?document.activeElement:void 0}),D(()=>{window.addEventListener("keyup",o)}),Q(()=>{window.removeEventListener("keyup",o)});function o(a){a.key==="Escape"&&e.value&&(t(),n?.focus())}}function ht(e){const{page:t,hash:n}=L(),o=S(!1),a=y(()=>e.value.collapsed!=null),i=y(()=>!!e.value.link),l=S(!1),v=()=>{l.value=G(t.value.relativePath,e.value.link)};H([t,e,n],v),D(v);const m=y(()=>l.value?!0:e.value.items?le(t.value.relativePath,e.value.items):!1),b=y(()=>!!(e.value.items&&e.value.items.length));X(()=>{o.value=!!(a.value&&e.value.collapsed)}),ve(()=>{(l.value||m.value)&&(o.value=!1)});function P(){a.value&&(o.value=!o.value)}return{collapsed:o,collapsible:a,isLink:i,isActiveLink:l,hasActiveLink:m,hasChildren:b,toggle:P}}function pt(){const{hasSidebar:e}=O(),t=se("(min-width: 960px)"),n=se("(min-width: 1280px)");return{isAsideEnabled:y(()=>!n.value&&!t.value?!1:e.value?n.value:t.value)}}const _t=/\b(?:VPBadge|header-anchor|footnote-ref|ignore-header)\b/,ce=[];function Ie(e){return typeof e.outline=="object"&&!Array.isArray(e.outline)&&e.outline.label||e.outlineTitle||"On this page"}function he(e){const t=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(n=>n.id&&n.hasChildNodes()).map(n=>{const o=Number(n.tagName[1]);return{element:n,title:gt(n),link:"#"+n.id,level:o}});return kt(t,e)}function gt(e){let t="";for(const n of e.childNodes)if(n.nodeType===1){if(_t.test(n.className))continue;t+=n.textContent}else n.nodeType===3&&(t+=n.textContent);return t.trim()}function kt(e,t){if(t===!1)return[];const n=(typeof t=="object"&&!Array.isArray(t)?t.level:t)||2,[o,a]=typeof n=="number"?[n,n]:n==="deep"?[2,6]:n;return yt(e,o,a)}function bt(e,t){const{isAsideEnabled:n}=pt(),o=nt(i,100);let a=null;D(()=>{requestAnimationFrame(i),window.addEventListener("scroll",o)}),Fe(()=>{l(location.hash)}),Q(()=>{window.removeEventListener("scroll",o)});function i(){if(!n.value)return;const v=window.scrollY,m=window.innerHeight,b=document.body.offsetHeight,P=Math.abs(v+m-b)<1,k=ce.map(({element:N,link:M})=>({link:M,top:$t(N)})).filter(({top:N})=>!Number.isNaN(N)).sort((N,M)=>N.top-M.top);if(!k.length){l(null);return}if(v<1){l(null);return}if(P){l(k[k.length-1].link);return}let T=null;for(const{link:N,top:M}of k){if(M>v+Ue()+4)break;T=N}l(T)}function l(v){a&&a.classList.remove("active"),v==null?a=null:a=e.value.querySelector(`a[href="${decodeURIComponent(v)}"]`);const m=a;m?(m.classList.add("active"),t.value.style.top=m.offsetTop+39+"px",t.value.style.opacity="1"):(t.value.style.top="33px",t.value.style.opacity="0")}}function $t(e){let t=0;for(;e!==document.body;){if(e===null)return NaN;t+=e.offsetTop,e=e.offsetParent}return t}function yt(e,t,n){ce.length=0;const o=[],a=[];return e.forEach(i=>{const l={...i,children:[]};let v=a[a.length-1];for(;v&&v.level>=l.level;)a.pop(),v=a[a.length-1];if(l.element.classList.contains("ignore-header")||v&&"shouldIgnore"in v){a.push({level:l.level,shouldIgnore:!0});return}l.level>n||l.level<t||(ce.push({element:l.element,link:l.link}),v?v.children.push(l):o.push(l),a.push(l))}),o}const Pt=["href","title"],Lt=p({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(e){function t({target:n}){const o=n.href.split("#")[1];document.getElementById(decodeURIComponent(o))?.focus({preventScroll:!0})}return(n,o)=>{const a=j("VPDocOutlineItem",!0);return s(),u("ul",{class:x(["VPDocOutlineItem",e.root?"root":"nested"])},[(s(!0),u(w,null,I(e.headers,({children:i,link:l,title:v})=>(s(),u("li",null,[d("a",{class:"outline-link",href:l,onClick:t,title:v},V(v),9,Pt),i?.length?(s(),g(a,{key:0,headers:i},null,8,["headers"])):h("",!0)]))),256))],2)}}}),Me=$(Lt,[["__scopeId","data-v-da64eb8d"]]),Vt={class:"content"},St={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Tt=p({__name:"VPDocAsideOutline",setup(e){const{frontmatter:t,theme:n}=L(),o=Le([]);Z(()=>{o.value=he(t.value.outline??n.value.outline)});const a=S(),i=S();return bt(a,i),(l,v)=>(s(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:x(["VPDocAsideOutline",{"has-outline":o.value.length>0}]),ref_key:"container",ref:a},[d("div",Vt,[d("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),d("div",St,V(r(Ie)(r(n))),1),_(Me,{headers:o.value,root:!0},null,8,["headers"])])],2))}}),xt=$(Tt,[["__scopeId","data-v-30a0162a"]]),wt={class:"VPDocAsideCarbonAds"},Nt=p({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(e){const t=()=>null;return(n,o)=>(s(),u("div",wt,[_(r(t),{"carbon-ads":e.carbonAds},null,8,["carbon-ads"])]))}}),It={class:"VPDocAside"},Mt=p({__name:"VPDocAside",setup(e){const{theme:t}=L();return(n,o)=>(s(),u("div",It,[c(n.$slots,"aside-top",{},void 0,!0),c(n.$slots,"aside-outline-before",{},void 0,!0),_(xt),c(n.$slots,"aside-outline-after",{},void 0,!0),o[0]||(o[0]=d("div",{class:"spacer"},null,-1)),c(n.$slots,"aside-ads-before",{},void 0,!0),r(t).carbonAds?(s(),g(Nt,{key:0,"carbon-ads":r(t).carbonAds},null,8,["carbon-ads"])):h("",!0),c(n.$slots,"aside-ads-after",{},void 0,!0),c(n.$slots,"aside-bottom",{},void 0,!0)]))}}),Ct=$(Mt,[["__scopeId","data-v-56ec1007"]]);function At(){const{theme:e,page:t}=L();return y(()=>{const{text:n="Edit this page",pattern:o=""}=e.value.editLink||{};let a;return typeof o=="function"?a=o(t.value):a=o.replace(/:path/g,t.value.filePath),{url:a,text:n}})}function Ht(){const{page:e,theme:t,frontmatter:n}=L();return y(()=>{const o=Ne(t.value.sidebar,e.value.relativePath),a=ft(o),i=Bt(a,b=>b.link.replace(/[?#].*$/,"")),l=i.findIndex(b=>G(e.value.relativePath,b.link)),v=t.value.docFooter?.prev===!1&&!n.value.prev||n.value.prev===!1,m=t.value.docFooter?.next===!1&&!n.value.next||n.value.next===!1;return{prev:v?void 0:{text:(typeof n.value.prev=="string"?n.value.prev:typeof n.value.prev=="object"?n.value.prev.text:void 0)??i[l-1]?.docFooterText??i[l-1]?.text,link:(typeof n.value.prev=="object"?n.value.prev.link:void 0)??i[l-1]?.link},next:m?void 0:{text:(typeof n.value.next=="string"?n.value.next:typeof n.value.next=="object"?n.value.next.text:void 0)??i[l+1]?.docFooterText??i[l+1]?.text,link:(typeof n.value.next=="object"?n.value.next.link:void 0)??i[l+1]?.link}}})}function Bt(e,t){const n=new Set;return e.filter(o=>{const a=t(o);return n.has(a)?!1:n.add(a)})}const E=p({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(e){const t=e,n=y(()=>t.tag??(t.href?"a":"span")),o=y(()=>t.href&&Ve.test(t.href)||t.target==="_blank");return(a,i)=>(s(),g(B(n.value),{class:x(["VPLink",{link:e.href,"vp-external-link-icon":o.value,"no-icon":e.noIcon}]),href:e.href?r(me)(e.href):void 0,target:e.target??(o.value?"_blank":void 0),rel:e.rel??(o.value?"noreferrer":void 0)},{default:f(()=>[c(a.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Et={class:"VPLastUpdated"},Dt=["datetime"],Ot=p({__name:"VPDocFooterLastUpdated",setup(e){const{theme:t,page:n,lang:o}=L(),a=y(()=>new Date(n.value.lastUpdated)),i=y(()=>a.value.toISOString()),l=S("");return D(()=>{X(()=>{l.value=new Intl.DateTimeFormat(t.value.lastUpdated?.formatOptions?.forceLocale?o.value:void 0,t.value.lastUpdated?.formatOptions??{dateStyle:"short",timeStyle:"short"}).format(a.value)})}),(v,m)=>(s(),u("p",Et,[R(V(r(t).lastUpdated?.text||r(t).lastUpdatedText||"Last updated")+": ",1),d("time",{datetime:i.value},V(l.value),9,Dt)]))}}),Ft=$(Ot,[["__scopeId","data-v-9c08415f"]]),Ut={key:0,class:"VPDocFooter"},Rt={key:0,class:"edit-info"},Gt={key:0,class:"edit-link"},jt={key:1,class:"last-updated"},zt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Wt={class:"pager"},qt=["innerHTML"],Kt=["innerHTML"],Jt={class:"pager"},Yt=["innerHTML"],Xt=["innerHTML"],Qt=p({__name:"VPDocFooter",setup(e){const{theme:t,page:n,frontmatter:o}=L(),a=At(),i=Ht(),l=y(()=>t.value.editLink&&o.value.editLink!==!1),v=y(()=>n.value.lastUpdated),m=y(()=>l.value||v.value||i.value.prev||i.value.next);return(b,P)=>m.value?(s(),u("footer",Ut,[c(b.$slots,"doc-footer-before",{},void 0,!0),l.value||v.value?(s(),u("div",Rt,[l.value?(s(),u("div",Gt,[_(E,{class:"edit-link-button",href:r(a).url,"no-icon":!0},{default:f(()=>[P[0]||(P[0]=d("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),R(" "+V(r(a).text),1)]),_:1},8,["href"])])):h("",!0),v.value?(s(),u("div",jt,[_(Ft)])):h("",!0)])):h("",!0),r(i).prev?.link||r(i).next?.link?(s(),u("nav",zt,[P[1]||(P[1]=d("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),d("div",Wt,[r(i).prev?.link?(s(),g(E,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:f(()=>[d("span",{class:"desc",innerHTML:r(t).docFooter?.prev||"Previous page"},null,8,qt),d("span",{class:"title",innerHTML:r(i).prev.text},null,8,Kt)]),_:1},8,["href"])):h("",!0)]),d("div",Jt,[r(i).next?.link?(s(),g(E,{key:0,class:"pager-link next",href:r(i).next.link},{default:f(()=>[d("span",{class:"desc",innerHTML:r(t).docFooter?.next||"Next page"},null,8,Yt),d("span",{class:"title",innerHTML:r(i).next.text},null,8,Xt)]),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}),Zt=$(Qt,[["__scopeId","data-v-579b47ad"]]),en={class:"container"},tn={class:"aside-container"},nn={class:"aside-content"},on={class:"content"},an={class:"content-container"},sn={class:"main"},rn=p({__name:"VPDoc",setup(e){const{theme:t}=L(),n=W(),{hasSidebar:o,hasAside:a,leftAside:i}=O(),l=y(()=>n.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(v,m)=>{const b=j("Content");return s(),u("div",{class:x(["VPDoc",{"has-sidebar":r(o),"has-aside":r(a)}])},[c(v.$slots,"doc-top",{},void 0,!0),d("div",en,[r(a)?(s(),u("div",{key:0,class:x(["aside",{"left-aside":r(i)}])},[m[0]||(m[0]=d("div",{class:"aside-curtain"},null,-1)),d("div",tn,[d("div",nn,[_(Ct,null,{"aside-top":f(()=>[c(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),d("div",on,[d("div",an,[c(v.$slots,"doc-before",{},void 0,!0),d("main",sn,[_(b,{class:x(["vp-doc",[l.value,r(t).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),_(Zt,null,{"doc-footer-before":f(()=>[c(v.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(v.$slots,"doc-after",{},void 0,!0)])])]),c(v.$slots,"doc-bottom",{},void 0,!0)],2)}}}),ln=$(rn,[["__scopeId","data-v-cd08f8de"]]),cn=p({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(e){const t=e,n=y(()=>t.href&&Ve.test(t.href)),o=y(()=>t.tag||(t.href?"a":"button"));return(a,i)=>(s(),g(B(o.value),{class:x(["VPButton",[e.size,e.theme]]),href:e.href?r(me)(e.href):void 0,target:t.target??(n.value?"_blank":void 0),rel:t.rel??(n.value?"noreferrer":void 0)},{default:f(()=>[R(V(e.text),1)]),_:1},8,["class","href","target","rel"]))}}),un=$(cn,[["__scopeId","data-v-28d59202"]]),dn=["src","alt"],vn=p({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(e){return(t,n)=>{const o=j("VPImage",!0);return e.image?(s(),u(w,{key:0},[typeof e.image=="string"||"src"in e.image?(s(),u("img",U({key:0,class:"VPImage"},typeof e.image=="string"?t.$attrs:{...e.image,...t.$attrs},{src:r(de)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,dn)):(s(),u(w,{key:1},[_(o,U({class:"dark",image:e.image.dark,alt:e.image.alt},t.$attrs),null,16,["image","alt"]),_(o,U({class:"light",image:e.image.light,alt:e.image.alt},t.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),J=$(vn,[["__scopeId","data-v-dd4a1533"]]),fn={class:"container"},mn={class:"main"},hn={class:"heading"},pn=["innerHTML"],_n=["innerHTML"],gn=["innerHTML"],kn={key:0,class:"actions"},bn={key:0,class:"image"},$n={class:"image-container"},yn=p({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(e){const t=ee("hero-image-slot-exists");return(n,o)=>(s(),u("div",{class:x(["VPHero",{"has-image":e.image||r(t)}])},[d("div",fn,[d("div",mn,[c(n.$slots,"home-hero-info-before",{},void 0,!0),c(n.$slots,"home-hero-info",{},()=>[d("h1",hn,[e.name?(s(),u("span",{key:0,innerHTML:e.name,class:"name clip"},null,8,pn)):h("",!0),e.text?(s(),u("span",{key:1,innerHTML:e.text,class:"text"},null,8,_n)):h("",!0)]),e.tagline?(s(),u("p",{key:0,innerHTML:e.tagline,class:"tagline"},null,8,gn)):h("",!0)],!0),c(n.$slots,"home-hero-info-after",{},void 0,!0),e.actions?(s(),u("div",kn,[(s(!0),u(w,null,I(e.actions,a=>(s(),u("div",{key:a.link,class:"action"},[_(un,{tag:"a",size:"medium",theme:a.theme,text:a.text,href:a.link,target:a.target,rel:a.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),c(n.$slots,"home-hero-actions-after",{},void 0,!0)]),e.image||r(t)?(s(),u("div",bn,[d("div",$n,[o[0]||(o[0]=d("div",{class:"image-bg"},null,-1)),c(n.$slots,"home-hero-image",{},()=>[e.image?(s(),g(J,{key:0,class:"image-src",image:e.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),Pn=$(yn,[["__scopeId","data-v-afa10fa7"]]),Ln=p({__name:"VPHomeHero",setup(e){const{frontmatter:t}=L();return(n,o)=>r(t).hero?(s(),g(Pn,{key:0,class:"VPHomeHero",name:r(t).hero.name,text:r(t).hero.text,tagline:r(t).hero.tagline,image:r(t).hero.image,actions:r(t).hero.actions},{"home-hero-info-before":f(()=>[c(n.$slots,"home-hero-info-before")]),"home-hero-info":f(()=>[c(n.$slots,"home-hero-info")]),"home-hero-info-after":f(()=>[c(n.$slots,"home-hero-info-after")]),"home-hero-actions-after":f(()=>[c(n.$slots,"home-hero-actions-after")]),"home-hero-image":f(()=>[c(n.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),Vn={class:"box"},Sn={key:0,class:"icon"},Tn=["innerHTML"],xn=["innerHTML"],wn=["innerHTML"],Nn={key:4,class:"link-text"},In={class:"link-text-value"},Mn=p({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(e){return(t,n)=>(s(),g(E,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:f(()=>[d("article",Vn,[typeof e.icon=="object"&&e.icon.wrap?(s(),u("div",Sn,[_(J,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(s(),g(J,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(s(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Tn)):h("",!0),d("h2",{class:"title",innerHTML:e.title},null,8,xn),e.details?(s(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,wn)):h("",!0),e.linkText?(s(),u("div",Nn,[d("p",In,[R(V(e.linkText)+" ",1),n[0]||(n[0]=d("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Cn=$(Mn,[["__scopeId","data-v-e68f5c54"]]),An={key:0,class:"VPFeatures"},Hn={class:"container"},Bn={class:"items"},En=p({__name:"VPFeatures",props:{features:{}},setup(e){const t=e,n=y(()=>{const o=t.features.length;if(o){if(o===2)return"grid-2";if(o===3)return"grid-3";if(o%3===0)return"grid-6";if(o>3)return"grid-4"}else return});return(o,a)=>e.features?(s(),u("div",An,[d("div",Hn,[d("div",Bn,[(s(!0),u(w,null,I(e.features,i=>(s(),u("div",{key:i.title,class:x(["item",[n.value]])},[_(Cn,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),Dn=$(En,[["__scopeId","data-v-c29cee3c"]]),On=p({__name:"VPHomeFeatures",setup(e){const{frontmatter:t}=L();return(n,o)=>r(t).features?(s(),g(Dn,{key:0,class:"VPHomeFeatures",features:r(t).features},null,8,["features"])):h("",!0)}}),Fn=p({__name:"VPHomeContent",setup(e){const{width:t}=Re({initialWidth:0,includeScrollbar:!1});return(n,o)=>(s(),u("div",{class:"vp-doc container",style:Se(r(t)?{"--vp-offset":`calc(50% - ${r(t)/2}px)`}:{})},[c(n.$slots,"default",{},void 0,!0)],4))}}),Un=$(Fn,[["__scopeId","data-v-bd322132"]]),Rn=p({__name:"VPHome",setup(e){const{frontmatter:t,theme:n}=L();return(o,a)=>{const i=j("Content");return s(),u("div",{class:x(["VPHome",{"external-link-icon-enabled":r(n).externalLinkIcon}])},[c(o.$slots,"home-hero-before",{},void 0,!0),_(Ln,null,{"home-hero-info-before":f(()=>[c(o.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(o.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(o.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(o.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(o.$slots,"home-hero-after",{},void 0,!0),c(o.$slots,"home-features-before",{},void 0,!0),_(On),c(o.$slots,"home-features-after",{},void 0,!0),r(t).markdownStyles!==!1?(s(),g(Un,{key:0},{default:f(()=>[_(i)]),_:1})):(s(),g(i,{key:1}))],2)}}}),Gn=$(Rn,[["__scopeId","data-v-75436bba"]]),jn={},zn={class:"VPPage"};function Wn(e,t){const n=j("Content");return s(),u("div",zn,[c(e.$slots,"page-top"),_(n),c(e.$slots,"page-bottom")])}const qn=$(jn,[["render",Wn]]),Kn=p({__name:"VPContent",setup(e){const{page:t,frontmatter:n}=L(),{hasSidebar:o}=O();return(a,i)=>(s(),u("div",{class:x(["VPContent",{"has-sidebar":r(o),"is-home":r(n).layout==="home"}]),id:"VPContent"},[r(t).isNotFound?c(a.$slots,"not-found",{},()=>[_(dt)],!0,0):r(n).layout==="page"?(s(),g(qn,{key:1},{"page-top":f(()=>[c(a.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(a.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(n).layout==="home"?(s(),g(Gn,{key:2},{"home-hero-before":f(()=>[c(a.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(a.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(a.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(a.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(a.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(a.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(a.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(a.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(a.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(n).layout&&r(n).layout!=="doc"?(s(),g(B(r(n).layout),{key:3})):(s(),g(ln,{key:4},{"doc-top":f(()=>[c(a.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(a.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":f(()=>[c(a.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(a.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(a.$slots,"doc-after",{},void 0,!0)]),"aside-top":f(()=>[c(a.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":f(()=>[c(a.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(a.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(a.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(a.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":f(()=>[c(a.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),Jn=$(Kn,[["__scopeId","data-v-8da8809f"]]),Yn={class:"container"},Xn=["innerHTML"],Qn=["innerHTML"],Zn=p({__name:"VPFooter",setup(e){const{theme:t,frontmatter:n}=L(),{hasSidebar:o}=O();return(a,i)=>r(t).footer&&r(n).footer!==!1?(s(),u("footer",{key:0,class:x(["VPFooter",{"has-sidebar":r(o)}])},[d("div",Yn,[r(t).footer.message?(s(),u("p",{key:0,class:"message",innerHTML:r(t).footer.message},null,8,Xn)):h("",!0),r(t).footer.copyright?(s(),u("p",{key:1,class:"copyright",innerHTML:r(t).footer.copyright},null,8,Qn)):h("",!0)])],2)):h("",!0)}}),eo=$(Zn,[["__scopeId","data-v-51ac4691"]]);function to(){const{theme:e,frontmatter:t}=L(),n=Le([]),o=y(()=>n.value.length>0);return Z(()=>{n.value=he(t.value.outline??e.value.outline)}),{headers:n,hasLocalNav:o}}const no={class:"menu-text"},oo={class:"header"},ao={class:"outline"},so=p({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(e){const t=e,{theme:n}=L(),o=S(!1),a=S(0),i=S(),l=S();function v(k){i.value?.contains(k.target)||(o.value=!1)}H(o,k=>{if(k){document.addEventListener("click",v);return}document.removeEventListener("click",v)}),re("Escape",()=>{o.value=!1}),Z(()=>{o.value=!1});function m(){o.value=!o.value,a.value=window.innerHeight+Math.min(window.scrollY-t.navHeight,0)}function b(k){k.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),fe(()=>{o.value=!1}))}function P(){o.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(k,T)=>(s(),u("div",{class:"VPLocalNavOutlineDropdown",style:Se({"--vp-vh":a.value+"px"}),ref_key:"main",ref:i},[e.headers.length>0?(s(),u("button",{key:0,onClick:m,class:x({open:o.value})},[d("span",no,V(r(Ie)(r(n))),1),T[0]||(T[0]=d("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(s(),u("button",{key:1,onClick:P},V(r(n).returnToTopLabel||"Return to top"),1)),_(ue,{name:"flyout"},{default:f(()=>[o.value?(s(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:b},[d("div",oo,[d("a",{class:"top-link",href:"#",onClick:P},V(r(n).returnToTopLabel||"Return to top"),1)]),d("div",ao,[_(Me,{headers:e.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),ro=$(so,[["__scopeId","data-v-8da33559"]]),io={class:"container"},lo=["aria-expanded"],co={class:"menu-text"},uo=p({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(e){const{theme:t,frontmatter:n}=L(),{hasSidebar:o}=O(),{headers:a}=to(),{y:i}=Te(),l=S(0);D(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),Z(()=>{a.value=he(n.value.outline??t.value.outline)});const v=y(()=>a.value.length===0),m=y(()=>v.value&&!o.value),b=y(()=>({VPLocalNav:!0,"has-sidebar":o.value,empty:v.value,fixed:m.value}));return(P,k)=>r(n).layout!=="home"&&(!m.value||r(i)>=l.value)?(s(),u("div",{key:0,class:x(b.value)},[d("div",io,[r(o)?(s(),u("button",{key:0,class:"menu","aria-expanded":e.open,"aria-controls":"VPSidebarNav",onClick:k[0]||(k[0]=T=>P.$emit("open-menu"))},[k[1]||(k[1]=d("span",{class:"vpi-align-left menu-icon"},null,-1)),d("span",co,V(r(t).sidebarMenuLabel||"Menu"),1)],8,lo)):h("",!0),_(ro,{headers:r(a),navHeight:l.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),vo=$(uo,[["__scopeId","data-v-0f137e95"]]);function fo(){const e=S(!1);function t(){e.value=!0,window.addEventListener("resize",a)}function n(){e.value=!1,window.removeEventListener("resize",a)}function o(){e.value?n():t()}function a(){window.outerWidth>=768&&n()}const i=W();return H(()=>i.path,n),{isScreenOpen:e,openScreen:t,closeScreen:n,toggleScreen:o}}const mo={},ho={class:"VPSwitch",type:"button",role:"switch"},po={class:"check"},_o={key:0,class:"icon"};function go(e,t){return s(),u("button",ho,[d("span",po,[e.$slots.default?(s(),u("span",_o,[c(e.$slots,"default",{},void 0,!0)])):h("",!0)])])}const ko=$(mo,[["render",go],["__scopeId","data-v-595ed02e"]]),bo=p({__name:"VPSwitchAppearance",setup(e){const{isDark:t,theme:n}=L(),o=ee("toggle-appearance",()=>{t.value=!t.value}),a=S("");return ve(()=>{a.value=t.value?n.value.lightModeSwitchTitle||"Switch to light theme":n.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,l)=>(s(),g(ko,{title:a.value,class:"VPSwitchAppearance","aria-checked":r(t),onClick:r(o)},{default:f(()=>[...l[0]||(l[0]=[d("span",{class:"vpi-sun sun"},null,-1),d("span",{class:"vpi-moon moon"},null,-1)])]),_:1},8,["title","aria-checked","onClick"]))}}),pe=$(bo,[["__scopeId","data-v-273278d3"]]),$o={key:0,class:"VPNavBarAppearance"},yo=p({__name:"VPNavBarAppearance",setup(e){const{site:t}=L();return(n,o)=>r(t).appearance&&r(t).appearance!=="force-dark"&&r(t).appearance!=="force-auto"?(s(),u("div",$o,[_(pe)])):h("",!0)}}),Po=$(yo,[["__scopeId","data-v-b81617e7"]]),_e=S();let Ce=!1,oe=0;function Lo(e){const t=S(!1);if(te){!Ce&&Vo(),oe++;const n=H(_e,o=>{o===e.el.value||e.el.value?.contains(o)?(t.value=!0,e.onFocus?.()):(t.value=!1,e.onBlur?.())});Q(()=>{n(),oe--,oe||So()})}return Ge(t)}function Vo(){document.addEventListener("focusin",Ae),Ce=!0,_e.value=document.activeElement}function So(){document.removeEventListener("focusin",Ae)}function Ae(){_e.value=document.activeElement}const To={class:"VPMenuLink"},xo=["innerHTML"],wo=p({__name:"VPMenuLink",props:{item:{}},setup(e){const{page:t}=L();return(n,o)=>(s(),u("div",To,[_(E,{class:x({active:r(G)(r(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon},{default:f(()=>[d("span",{innerHTML:e.item.text},null,8,xo)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),ne=$(wo,[["__scopeId","data-v-d62fa8e2"]]),No={class:"VPMenuGroup"},Io={key:0,class:"title"},Mo=p({__name:"VPMenuGroup",props:{text:{},items:{}},setup(e){return(t,n)=>(s(),u("div",No,[e.text?(s(),u("p",Io,V(e.text),1)):h("",!0),(s(!0),u(w,null,I(e.items,o=>(s(),u(w,null,["link"in o?(s(),g(ne,{key:0,item:o},null,8,["item"])):h("",!0)],64))),256))]))}}),Co=$(Mo,[["__scopeId","data-v-ad97fc48"]]),Ao={class:"VPMenu"},Ho={key:0,class:"items"},Bo=p({__name:"VPMenu",props:{items:{}},setup(e){return(t,n)=>(s(),u("div",Ao,[e.items?(s(),u("div",Ho,[(s(!0),u(w,null,I(e.items,o=>(s(),u(w,{key:JSON.stringify(o)},["link"in o?(s(),g(ne,{key:0,item:o},null,8,["item"])):"component"in o?(s(),g(B(o.component),U({key:1,ref_for:!0},o.props),null,16)):(s(),g(Co,{key:2,text:o.text,items:o.items},null,8,["text","items"]))],64))),128))])):h("",!0),c(t.$slots,"default",{},void 0,!0)]))}}),Eo=$(Bo,[["__scopeId","data-v-3fafad00"]]),Do=["aria-expanded","aria-label"],Oo={key:0,class:"text"},Fo=["innerHTML"],Uo={key:1,class:"vpi-more-horizontal icon"},Ro={class:"menu"},Go=p({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(e){const t=S(!1),n=S();Lo({el:n,onBlur:o});function o(){t.value=!1}return(a,i)=>(s(),u("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:i[1]||(i[1]=l=>t.value=!0),onMouseleave:i[2]||(i[2]=l=>t.value=!1)},[d("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":e.label,onClick:i[0]||(i[0]=l=>t.value=!t.value)},[e.button||e.icon?(s(),u("span",Oo,[e.icon?(s(),u("span",{key:0,class:x([e.icon,"option-icon"])},null,2)):h("",!0),e.button?(s(),u("span",{key:1,innerHTML:e.button},null,8,Fo)):h("",!0),i[3]||(i[3]=d("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(s(),u("span",Uo))],8,Do),d("div",Ro,[_(Eo,{items:e.items},{default:f(()=>[c(a.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),ge=$(Go,[["__scopeId","data-v-5d7cf148"]]),jo=["href","aria-label","innerHTML"],zo=p({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(e){const t=e,n=S();D(async()=>{await fe();const a=n.value?.children[0];a instanceof HTMLElement&&a.className.startsWith("vpi-social-")&&(getComputedStyle(a).maskImage||getComputedStyle(a).webkitMaskImage)==="none"&&a.style.setProperty("--icon",`url('https://api.iconify.design/simple-icons/${t.icon}.svg')`)});const o=y(()=>typeof t.icon=="object"?t.icon.svg:`<span class="vpi-social-${t.icon}"></span>`);return(a,i)=>(s(),u("a",{ref_key:"el",ref:n,class:"VPSocialLink no-icon",href:e.link,"aria-label":e.ariaLabel??(typeof e.icon=="string"?e.icon:""),target:"_blank",rel:"noopener",innerHTML:o.value},null,8,jo))}}),Wo=$(zo,[["__scopeId","data-v-74114f55"]]),qo={class:"VPSocialLinks"},Ko=p({__name:"VPSocialLinks",props:{links:{}},setup(e){return(t,n)=>(s(),u("div",qo,[(s(!0),u(w,null,I(e.links,({link:o,icon:a,ariaLabel:i})=>(s(),g(Wo,{key:o,icon:a,link:o,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),ke=$(Ko,[["__scopeId","data-v-9a5d404c"]]),Jo={key:0,class:"group translations"},Yo={class:"trans-title"},Xo={key:1,class:"group"},Qo={class:"item appearance"},Zo={class:"label"},ea={class:"appearance-action"},ta={key:2,class:"group"},na={class:"item social-links"},oa=p({__name:"VPNavBarExtra",setup(e){const{site:t,theme:n}=L(),{localeLinks:o,currentLang:a}=q({correspondingLink:!0}),i=y(()=>o.value.length&&a.value.label||t.value.appearance||n.value.socialLinks);return(l,v)=>i.value?(s(),g(ge,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:f(()=>[r(o).length&&r(a).label?(s(),u("div",Jo,[d("p",Yo,V(r(a).label),1),(s(!0),u(w,null,I(r(o),m=>(s(),g(ne,{key:m.link,item:m},null,8,["item"]))),128))])):h("",!0),r(t).appearance&&r(t).appearance!=="force-dark"&&r(t).appearance!=="force-auto"?(s(),u("div",Xo,[d("div",Qo,[d("p",Zo,V(r(n).darkModeSwitchLabel||"Appearance"),1),d("div",ea,[_(pe)])])])):h("",!0),r(n).socialLinks?(s(),u("div",ta,[d("div",na,[_(ke,{class:"social-links-list",links:r(n).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),aa=$(oa,[["__scopeId","data-v-0e59b9da"]]),sa=["aria-expanded"],ra=p({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(s(),u("button",{type:"button",class:x(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=o=>t.$emit("click"))},[...n[1]||(n[1]=[d("span",{class:"container"},[d("span",{class:"top"}),d("span",{class:"middle"}),d("span",{class:"bottom"})],-1)])],10,sa))}}),ia=$(ra,[["__scopeId","data-v-f8aa66a1"]]),la=["innerHTML"],ca=p({__name:"VPNavBarMenuLink",props:{item:{}},setup(e){const{page:t}=L();return(n,o)=>(s(),g(E,{class:x({VPNavBarMenuLink:!0,active:r(G)(r(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,tabindex:"0"},{default:f(()=>[d("span",{innerHTML:e.item.text},null,8,la)]),_:1},8,["class","href","target","rel","no-icon"]))}}),ua=$(ca,[["__scopeId","data-v-7f6d531c"]]),da=p({__name:"VPNavBarMenuGroup",props:{item:{}},setup(e){const t=e,{page:n}=L(),o=i=>"component"in i?!1:"link"in i?G(n.value.relativePath,i.link,!!t.item.activeMatch):i.items.some(o),a=y(()=>o(t.item));return(i,l)=>(s(),g(ge,{class:x({VPNavBarMenuGroup:!0,active:r(G)(r(n).relativePath,e.item.activeMatch,!!e.item.activeMatch)||a.value}),button:e.item.text,items:e.item.items},null,8,["class","button","items"]))}}),va={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},fa=p({__name:"VPNavBarMenu",setup(e){const{theme:t}=L();return(n,o)=>r(t).nav?(s(),u("nav",va,[o[0]||(o[0]=d("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(s(!0),u(w,null,I(r(t).nav,a=>(s(),u(w,{key:JSON.stringify(a)},["link"in a?(s(),g(ua,{key:0,item:a},null,8,["item"])):"component"in a?(s(),g(B(a.component),U({key:1,ref_for:!0},a.props),null,16)):(s(),g(da,{key:2,item:a},null,8,["item"]))],64))),128))])):h("",!0)}}),ma=$(fa,[["__scopeId","data-v-6e3574fc"]]);function ha(e){const{localeIndex:t,theme:n}=L();function o(a){const i=a.split("."),l=n.value.search?.options,v=l&&typeof l=="object",m=v&&l.locales?.[t.value]?.translations||null,b=v&&l.translations||null;let P=m,k=b,T=e;const N=i.pop();for(const M of i){let C=null;const A=T?.[M];A&&(C=T=A);const F=k?.[M];F&&(C=k=F);const z=P?.[M];z&&(C=P=z),A||(T=C),F||(k=C),z||(P=C)}return P?.[N]??k?.[N]??T?.[N]??""}return o}const pa=["aria-label"],_a={class:"DocSearch-Button-Container"},ga={class:"DocSearch-Button-Placeholder"},ye=p({__name:"VPNavBarSearchButton",setup(e){const n=ha({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(o,a)=>(s(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(n)("button.buttonAriaLabel")},[d("span",_a,[a[0]||(a[0]=d("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),d("span",ga,V(r(n)("button.buttonText")),1)]),a[1]||(a[1]=d("span",{class:"DocSearch-Button-Keys"},[d("kbd",{class:"DocSearch-Button-Key"}),d("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,pa))}}),ka={class:"VPNavBarSearch"},ba={id:"local-search"},$a={key:1,id:"docsearch"},ya=p({__name:"VPNavBarSearch",setup(e){const t=je(()=>ze(()=>import("./VPLocalSearchBox.YAT0tY5c.js"),__vite__mapDeps([0,1]))),n=()=>null,{theme:o}=L(),a=S(!1),i=S(!1);D(()=>{});function l(){a.value||(a.value=!0,setTimeout(v,16))}function v(){const k=new Event("keydown");k.key="k",k.metaKey=!0,window.dispatchEvent(k),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||v()},16)}function m(k){const T=k.target,N=T.tagName;return T.isContentEditable||N==="INPUT"||N==="SELECT"||N==="TEXTAREA"}const b=S(!1);re("k",k=>{(k.ctrlKey||k.metaKey)&&(k.preventDefault(),b.value=!0)}),re("/",k=>{m(k)||(k.preventDefault(),b.value=!0)});const P="local";return(k,T)=>(s(),u("div",ka,[r(P)==="local"?(s(),u(w,{key:0},[b.value?(s(),g(r(t),{key:0,onClose:T[0]||(T[0]=N=>b.value=!1)})):h("",!0),d("div",ba,[_(ye,{onClick:T[1]||(T[1]=N=>b.value=!0)})])],64)):r(P)==="algolia"?(s(),u(w,{key:1},[a.value?(s(),g(r(n),{key:0,algolia:r(o).search?.options??r(o).algolia,onVnodeBeforeMount:T[2]||(T[2]=N=>i.value=!0)},null,8,["algolia"])):h("",!0),i.value?h("",!0):(s(),u("div",$a,[_(ye,{onClick:l})]))],64)):h("",!0)]))}}),Pa=p({__name:"VPNavBarSocialLinks",setup(e){const{theme:t}=L();return(n,o)=>r(t).socialLinks?(s(),g(ke,{key:0,class:"VPNavBarSocialLinks",links:r(t).socialLinks},null,8,["links"])):h("",!0)}}),La=$(Pa,[["__scopeId","data-v-e2774f93"]]),Va=["href","rel","target"],Sa=["innerHTML"],Ta={key:2},xa=p({__name:"VPNavBarTitle",setup(e){const{site:t,theme:n}=L(),{hasSidebar:o}=O(),{currentLang:a}=q(),i=y(()=>typeof n.value.logoLink=="string"?n.value.logoLink:n.value.logoLink?.link),l=y(()=>typeof n.value.logoLink=="string"?void 0:n.value.logoLink?.rel),v=y(()=>typeof n.value.logoLink=="string"?void 0:n.value.logoLink?.target);return(m,b)=>(s(),u("div",{class:x(["VPNavBarTitle",{"has-sidebar":r(o)}])},[d("a",{class:"title",href:i.value??r(me)(r(a).link),rel:l.value,target:v.value},[c(m.$slots,"nav-bar-title-before",{},void 0,!0),r(n).logo?(s(),g(J,{key:0,class:"logo",image:r(n).logo},null,8,["image"])):h("",!0),r(n).siteTitle?(s(),u("span",{key:1,innerHTML:r(n).siteTitle},null,8,Sa)):r(n).siteTitle===void 0?(s(),u("span",Ta,V(r(t).title),1)):h("",!0),c(m.$slots,"nav-bar-title-after",{},void 0,!0)],8,Va)],2))}}),wa=$(xa,[["__scopeId","data-v-52450919"]]),Na={class:"items"},Ia={class:"title"},Ma=p({__name:"VPNavBarTranslations",setup(e){const{theme:t}=L(),{localeLinks:n,currentLang:o}=q({correspondingLink:!0});return(a,i)=>r(n).length&&r(o).label?(s(),g(ge,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(t).langMenuLabel||"Change language"},{default:f(()=>[d("div",Na,[d("p",Ia,V(r(o).label),1),(s(!0),u(w,null,I(r(n),l=>(s(),g(ne,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),Ca=$(Ma,[["__scopeId","data-v-7547c9e2"]]),Aa={class:"wrapper"},Ha={class:"container"},Ba={class:"title"},Ea={class:"content"},Da={class:"content-body"},Oa=p({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(e){const t=e,{y:n}=Te(),{hasSidebar:o}=O(),{frontmatter:a}=L(),i=S({});return ve(()=>{i.value={"has-sidebar":o.value,home:a.value.layout==="home",top:n.value===0,"screen-open":t.isScreenOpen}}),(l,v)=>(s(),u("div",{class:x(["VPNavBar",i.value])},[d("div",Aa,[d("div",Ha,[d("div",Ba,[_(wa,null,{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),d("div",Ea,[d("div",Da,[c(l.$slots,"nav-bar-content-before",{},void 0,!0),_(ya,{class:"search"}),_(ma,{class:"menu"}),_(Ca,{class:"translations"}),_(Po,{class:"appearance"}),_(La,{class:"social-links"}),_(aa,{class:"extra"}),c(l.$slots,"nav-bar-content-after",{},void 0,!0),_(ia,{class:"hamburger",active:e.isScreenOpen,onClick:v[0]||(v[0]=m=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),v[1]||(v[1]=d("div",{class:"divider"},[d("div",{class:"divider-line"})],-1))],2))}}),Fa=$(Oa,[["__scopeId","data-v-94126289"]]),Ua={key:0,class:"VPNavScreenAppearance"},Ra={class:"text"},Ga=p({__name:"VPNavScreenAppearance",setup(e){const{site:t,theme:n}=L();return(o,a)=>r(t).appearance&&r(t).appearance!=="force-dark"&&r(t).appearance!=="force-auto"?(s(),u("div",Ua,[d("p",Ra,V(r(n).darkModeSwitchLabel||"Appearance"),1),_(pe)])):h("",!0)}}),ja=$(Ga,[["__scopeId","data-v-5f5b4400"]]),za=["innerHTML"],Wa=p({__name:"VPNavScreenMenuLink",props:{item:{}},setup(e){const t=ee("close-screen");return(n,o)=>(s(),g(E,{class:"VPNavScreenMenuLink",href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,onClick:r(t)},{default:f(()=>[d("span",{innerHTML:e.item.text},null,8,za)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),qa=$(Wa,[["__scopeId","data-v-b1f6371a"]]),Ka=["innerHTML"],Ja=p({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(e){const t=ee("close-screen");return(n,o)=>(s(),g(E,{class:"VPNavScreenMenuGroupLink",href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,onClick:r(t)},{default:f(()=>[d("span",{innerHTML:e.item.text},null,8,Ka)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),He=$(Ja,[["__scopeId","data-v-0842708b"]]),Ya={class:"VPNavScreenMenuGroupSection"},Xa={key:0,class:"title"},Qa=p({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(e){return(t,n)=>(s(),u("div",Ya,[e.text?(s(),u("p",Xa,V(e.text),1)):h("",!0),(s(!0),u(w,null,I(e.items,o=>(s(),g(He,{key:o.text,item:o},null,8,["item"]))),128))]))}}),Za=$(Qa,[["__scopeId","data-v-1604621b"]]),es=["aria-controls","aria-expanded"],ts=["innerHTML"],ns=["id"],os={key:0,class:"item"},as={key:1,class:"item"},ss={key:2,class:"group"},rs=p({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(e){const t=e,n=S(!1),o=y(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function a(){n.value=!n.value}return(i,l)=>(s(),u("div",{class:x(["VPNavScreenMenuGroup",{open:n.value}])},[d("button",{class:"button","aria-controls":o.value,"aria-expanded":n.value,onClick:a},[d("span",{class:"button-text",innerHTML:e.text},null,8,ts),l[0]||(l[0]=d("span",{class:"vpi-plus button-icon"},null,-1))],8,es),d("div",{id:o.value,class:"items"},[(s(!0),u(w,null,I(e.items,v=>(s(),u(w,{key:JSON.stringify(v)},["link"in v?(s(),u("div",os,[_(He,{item:v},null,8,["item"])])):"component"in v?(s(),u("div",as,[(s(),g(B(v.component),U({ref_for:!0},v.props,{"screen-menu":""}),null,16))])):(s(),u("div",ss,[_(Za,{text:v.text,items:v.items},null,8,["text","items"])]))],64))),128))],8,ns)],2))}}),is=$(rs,[["__scopeId","data-v-17b2f265"]]),ls={key:0,class:"VPNavScreenMenu"},cs=p({__name:"VPNavScreenMenu",setup(e){const{theme:t}=L();return(n,o)=>r(t).nav?(s(),u("nav",ls,[(s(!0),u(w,null,I(r(t).nav,a=>(s(),u(w,{key:JSON.stringify(a)},["link"in a?(s(),g(qa,{key:0,item:a},null,8,["item"])):"component"in a?(s(),g(B(a.component),U({key:1,ref_for:!0},a.props,{"screen-menu":""}),null,16)):(s(),g(is,{key:2,text:a.text||"",items:a.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),us=p({__name:"VPNavScreenSocialLinks",setup(e){const{theme:t}=L();return(n,o)=>r(t).socialLinks?(s(),g(ke,{key:0,class:"VPNavScreenSocialLinks",links:r(t).socialLinks},null,8,["links"])):h("",!0)}}),ds={class:"list"},vs=p({__name:"VPNavScreenTranslations",setup(e){const{localeLinks:t,currentLang:n}=q({correspondingLink:!0}),o=S(!1);function a(){o.value=!o.value}return(i,l)=>r(t).length&&r(n).label?(s(),u("div",{key:0,class:x(["VPNavScreenTranslations",{open:o.value}])},[d("button",{class:"title",onClick:a},[l[0]||(l[0]=d("span",{class:"vpi-languages icon lang"},null,-1)),R(" "+V(r(n).label)+" ",1),l[1]||(l[1]=d("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),d("ul",ds,[(s(!0),u(w,null,I(r(t),v=>(s(),u("li",{key:v.link,class:"item"},[_(E,{class:"link",href:v.link},{default:f(()=>[R(V(v.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),fs=$(vs,[["__scopeId","data-v-eca6d244"]]),ms={class:"container"},hs=p({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(e){const t=S(null),n=xe(te?document.body:null);return(o,a)=>(s(),g(ue,{name:"fade",onEnter:a[0]||(a[0]=i=>n.value=!0),onAfterLeave:a[1]||(a[1]=i=>n.value=!1)},{default:f(()=>[e.open?(s(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t,id:"VPNavScreen"},[d("div",ms,[c(o.$slots,"nav-screen-content-before",{},void 0,!0),_(cs,{class:"menu"}),_(fs,{class:"translations"}),_(ja,{class:"appearance"}),_(us,{class:"social-links"}),c(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),ps=$(hs,[["__scopeId","data-v-f0b27409"]]),_s={key:0,class:"VPNav"},gs=p({__name:"VPNav",setup(e){const{isScreenOpen:t,closeScreen:n,toggleScreen:o}=fo(),{frontmatter:a}=L(),i=y(()=>a.value.navbar!==!1);return we("close-screen",n),X(()=>{te&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(l,v)=>i.value?(s(),u("header",_s,[_(Fa,{"is-screen-open":r(t),onToggleScreen:r(o)},{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),_(ps,{open:r(t)},{"nav-screen-content-before":f(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),ks=$(gs,[["__scopeId","data-v-974a37fc"]]),bs=["role","tabindex"],$s={key:1,class:"items"},ys=p({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(e){const t=e,{collapsed:n,collapsible:o,isLink:a,isActiveLink:i,hasActiveLink:l,hasChildren:v,toggle:m}=ht(y(()=>t.item)),b=y(()=>v.value?"section":"div"),P=y(()=>a.value?"a":"div"),k=y(()=>v.value?t.depth+2===7?"p":`h${t.depth+2}`:"p"),T=y(()=>a.value?void 0:"button"),N=y(()=>[[`level-${t.depth}`],{collapsible:o.value},{collapsed:n.value},{"is-link":a.value},{"is-active":i.value},{"has-active":l.value}]);function M(A){"key"in A&&A.key!=="Enter"||!t.item.link&&m()}function C(){t.item.link&&m()}return(A,F)=>{const z=j("VPSidebarItem",!0);return s(),g(B(b.value),{class:x(["VPSidebarItem",N.value])},{default:f(()=>[e.item.text?(s(),u("div",U({key:0,class:"item",role:T.value},We(e.item.items?{click:M,keydown:M}:{},!0),{tabindex:e.item.items&&0}),[F[1]||(F[1]=d("div",{class:"indicator"},null,-1)),e.item.link?(s(),g(E,{key:0,tag:P.value,class:"link",href:e.item.link,rel:e.item.rel,target:e.item.target},{default:f(()=>[(s(),g(B(k.value),{class:"text",innerHTML:e.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(s(),g(B(k.value),{key:1,class:"text",innerHTML:e.item.text},null,8,["innerHTML"])),e.item.collapsed!=null&&e.item.items&&e.item.items.length?(s(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:qe(C,["enter"]),tabindex:"0"},[...F[0]||(F[0]=[d("span",{class:"vpi-chevron-right caret-icon"},null,-1)])],32)):h("",!0)],16,bs)):h("",!0),e.item.items&&e.item.items.length?(s(),u("div",$s,[e.depth<5?(s(!0),u(w,{key:0},I(e.item.items,$e=>(s(),g(z,{key:$e.text,item:$e,depth:e.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),Ps=$(ys,[["__scopeId","data-v-65c16b06"]]),Ls=p({__name:"VPSidebarGroup",props:{items:{}},setup(e){const t=S(!0);let n=null;return D(()=>{n=setTimeout(()=>{n=null,t.value=!1},300)}),Ke(()=>{n!=null&&(clearTimeout(n),n=null)}),(o,a)=>(s(!0),u(w,null,I(e.items,i=>(s(),u("div",{key:i.text,class:x(["group",{"no-transition":t.value}])},[_(Ps,{item:i,depth:0},null,8,["item"])],2))),128))}}),Vs=$(Ls,[["__scopeId","data-v-e55dc7ff"]]),Ss={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Ts=p({__name:"VPSidebar",props:{open:{type:Boolean}},setup(e){const{sidebarGroups:t,hasSidebar:n}=O(),o=e,a=S(null),i=xe(te?document.body:null);H([o,a],()=>{o.open?(i.value=!0,a.value?.focus()):i.value=!1},{immediate:!0,flush:"post"});const l=S(0);return H(t,()=>{l.value+=1},{deep:!0}),(v,m)=>r(n)?(s(),u("aside",{key:0,class:x(["VPSidebar",{open:e.open}]),ref_key:"navEl",ref:a,onClick:m[0]||(m[0]=Je(()=>{},["stop"]))},[m[2]||(m[2]=d("div",{class:"curtain"},null,-1)),d("nav",Ss,[m[1]||(m[1]=d("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),c(v.$slots,"sidebar-nav-before",{},void 0,!0),(s(),g(Vs,{items:r(t),key:l.value},null,8,["items"])),c(v.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),xs=$(Ts,[["__scopeId","data-v-25c855a9"]]),ws=p({__name:"VPSkipLink",setup(e){const{theme:t}=L(),n=W(),o=S();H(()=>n.path,()=>o.value.focus());function a({target:i}){const l=document.getElementById(decodeURIComponent(i.hash).slice(1));if(l){const v=()=>{l.removeAttribute("tabindex"),l.removeEventListener("blur",v)};l.setAttribute("tabindex","-1"),l.addEventListener("blur",v),l.focus(),window.scrollTo(0,0)}}return(i,l)=>(s(),u(w,null,[d("span",{ref_key:"backToTop",ref:o,tabindex:"-1"},null,512),d("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:a},V(r(t).skipToContentLabel||"Skip to content"),1)],64))}}),Ns=$(ws,[["__scopeId","data-v-bbc8ff95"]]),Is=p({__name:"Layout",setup(e){const{isOpen:t,open:n,close:o}=O(),a=W();H(()=>a.path,o),mt(t,o);const{frontmatter:i}=L(),l=Ye(),v=y(()=>!!l["home-hero-image"]);return we("hero-image-slot-exists",v),(m,b)=>{const P=j("Content");return r(i).layout!==!1?(s(),u("div",{key:0,class:x(["Layout",r(i).pageClass])},[c(m.$slots,"layout-top",{},void 0,!0),_(Ns),_(tt,{class:"backdrop",show:r(t),onClick:r(o)},null,8,["show","onClick"]),_(ks,null,{"nav-bar-title-before":f(()=>[c(m.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(m.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(m.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(m.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":f(()=>[c(m.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(m.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),_(vo,{open:r(t),onOpenMenu:r(n)},null,8,["open","onOpenMenu"]),_(xs,{open:r(t)},{"sidebar-nav-before":f(()=>[c(m.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":f(()=>[c(m.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),_(Jn,null,{"page-top":f(()=>[c(m.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(m.$slots,"page-bottom",{},void 0,!0)]),"not-found":f(()=>[c(m.$slots,"not-found",{},void 0,!0)]),"home-hero-before":f(()=>[c(m.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(m.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(m.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(m.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(m.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(m.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(m.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(m.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(m.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":f(()=>[c(m.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(m.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(m.$slots,"doc-after",{},void 0,!0)]),"doc-top":f(()=>[c(m.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(m.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":f(()=>[c(m.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(m.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(m.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(m.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(m.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(m.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),_(eo),c(m.$slots,"layout-bottom",{},void 0,!0)],2)):(s(),g(P,{key:1}))}}}),Ms=$(Is,[["__scopeId","data-v-ef19ba22"]]),Be={Layout:Ms,enhanceApp:({app:e})=>{e.component("Badge",Qe)}},Ee={console:"Console",lastUpdated:"Last updated:",notSpecified:"Not specified",copyPage:"Copy Page",copied:"Copied",copyFailed:"Copy failed",copyCode:"Copy code",versionPending:"Loaded after console sign-in",versionPlaceholder:"<loaded after console sign-in>",currentServerVersion:"Current server version:",versionPendingHint:" (loaded after console sign-in)"},Cs={console:"控制台",lastUpdated:"最后更新:",notSpecified:"未标注",copyPage:"复制本页内容",copied:"已复制",copyFailed:"复制失败",copyCode:"复制代码",versionPending:"登录管理台后自动回填",versionPlaceholder:"<登录管理台后自动回填>",currentServerVersion:"当前 Server 版本:",versionPendingHint:"(登录控制台后自动读取)"},Pe="mar.locale.v2",As=[{value:"zh-CN",nativeLabel:"简体中文",docsPrefix:"/docs",browserPrefixes:["zh"]},{value:"en-US",nativeLabel:"English",docsPrefix:"/docs/en-US",browserPrefixes:["en"]}],ae=As.map(e=>({value:e.value,pathPrefix:e.docsPrefix})),Hs={"en-US":Ee,"zh-CN":Cs};function be(){const{lang:e}=Y(),t=y(()=>Hs[e.value]??Ee);return{t:n=>t.value[n]}}const Bs={class:"document-meta"},Es=p({__name:"DocumentMeta",setup(e){const{frontmatter:t}=Y(),{t:n}=be(),o=S(!1),a=S(!1),i=y(()=>{const m=t.value.lastUpdated;if(m instanceof Date&&!Number.isNaN(m.valueOf()))return m.toISOString().slice(0,10);const b=String(m??"");return/^\d{4}-\d{2}-\d{2}/u.exec(b)?.[0]??n("notSpecified")});async function l(m){if(navigator.clipboard?.writeText!==void 0)try{await navigator.clipboard.writeText(m);return}catch{}const b=document.createElement("textarea");b.value=m,b.style.position="fixed",b.style.opacity="0",document.body.append(b),b.select();const P=document.execCommand("copy");if(b.remove(),!P)throw new Error("CLIPBOARD_WRITE_FAILED")}async function v(){const m=document.querySelector(".vp-doc");if(m===null)return;const b=[...m.children].filter(P=>!P.classList.contains("document-meta")).map(P=>P.innerText.trim()).filter(Boolean).join(`
3
3
 
4
4
  `);try{await l(b),o.value=!0,a.value=!1,window.setTimeout(()=>o.value=!1,1600)}catch{a.value=!0}}return(m,b)=>(s(),u("div",Bs,[d("span",null,V(r(n)("lastUpdated"))+" "+V(i.value),1),d("button",{type:"button",class:"copy-page-button",onClick:v},V(a.value?r(n)("copyFailed"):o.value?r(n)("copied"):r(n)("copyPage")),1)]))}}),Ds={class:"docs-desktop-actions"},Os={class:"docs-console-link",href:"/console",target:"_self"},Fs={class:"docs-mobile-actions"},Us={class:"docs-console-link",href:"/console",target:"_self"},Rs=p({__name:"Layout",setup(e){const t=Be.Layout,{t:n}=be(),{lang:o}=Y(),a=W(),i=Xe();function l(){const k=ae.find(T=>T.value===o.value)?.pathPrefix??"/docs";return a.path===k?"/getting-started/overview":a.path.startsWith(`${k}/`)?a.path.slice(k.length)||"/":"/getting-started/overview"}function v(P){const k=ae.find(T=>T.value===P);k===void 0||k.value===o.value||i.go(`${k.pathPrefix}${l()}`)}function m(P){P.key===Pe&&P.newValue!==null&&v(P.newValue)}async function b(){await fe();for(const P of document.querySelectorAll('.vp-doc div[class*="language-"] > button.copy'))P.title=n("copyCode"),P.setAttribute("aria-label",n("copyCode"))}return D(()=>{b(),window.addEventListener("storage",m)}),Q(()=>window.removeEventListener("storage",m)),H([()=>a.path,o],b,{flush:"post"}),H(o,P=>{typeof localStorage<"u"&&ae.some(k=>k.value===P)&&localStorage.setItem(Pe,P)},{immediate:!0}),(P,k)=>(s(),g(r(t),null,{"nav-bar-content-after":f(()=>[d("div",Ds,[d("a",Os,V(r(n)("console")),1)])]),"nav-screen-content-after":f(()=>[d("div",Fs,[d("a",Us,V(r(n)("console")),1)])]),"doc-before":f(()=>[_(Es)]),_:1}))}}),Gs={class:"server-version-command","data-testid":"server-version-command"},js={key:0},zs=p({__name:"ServerVersionCommand",props:{action:{default:"install"},platform:{default:"bash"}},setup(e){const t=e,{t:n}=be(),o=S(),a=y(()=>o.value??n("versionPending")),i=y(()=>t.platform==="powershell"?`$serverVersion = '${o.value??n("versionPlaceholder")}'
5
5
  ${t.action==="install"?`& npm.cmd install --global "@myagentroam/node@$serverVersion"
@@ -0,0 +1 @@
1
+ import{_ as e,o as d,c as r,a3 as o}from"./chunks/framework.BHjrhdiC.js";const l=JSON.parse('{"title":"网络、TLS 与 WebSocket","description":"","frontmatter":{"title":"网络、TLS 与 WebSocket","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"deployment/network.md","filePath":"deployment/network.md"}'),a={name:"deployment/network.md"};function n(c,t,S,i,s,T){return d(),r("div",null,[...t[0]||(t[0]=[o('<h1 id="网络、tls-与-websocket" tabindex="-1">网络、TLS 与 WebSocket <a class="header-anchor" href="#网络、tls-与-websocket" aria-label="Permalink to &quot;网络、TLS 与 WebSocket&quot;">​</a></h1><p>下表和 <code>MAR_PUBLIC_ORIGIN</code> 配置适用于自行部署的 HTTPS 入口。<a href="./../getting-started/npm-quick-start#远程访问">npm Quick Start</a>默认使用回环 HTTP,并固定应用 Origin;它不读取该环境变量覆盖值。通过安全隧道访问时保留同一浏览器回环地址和端口,不要将下述环境变量配置直接套用到 Quick Start。</p><table tabindex="0"><thead><tr><th>链路</th><th>方向</th><th>要求</th></tr></thead><tbody><tr><td>浏览器 → Server</td><td>入站 HTTPS/WSS</td><td>域名、证书、Origin 一致</td></tr><tr><td>Node → Server</td><td>出站 HTTPS/WSS</td><td>不需要 Node 公网入站端口</td></tr><tr><td>浏览器 → Node</td><td>局域网 UDP</td><td>文件、Git 与终端直连,默认 <code>49152-49215</code></td></tr><tr><td>Server → MySQL</td><td>内网 TCP</td><td>MySQL 不对公网开放</td></tr></tbody></table><p>Server 同一 HTTP listener 提供 Web、帮助、API 和 WebSocket;外部基础设施终止 TLS。反向代理必须保留 WebSocket Upgrade,并对长连接设置合理超时;<code>MAR_PUBLIC_ORIGIN</code> 必须是浏览器看到的 HTTPS Origin。不要混用 HTTP 页面和 HTTPS API/WSS。</p><p>Node 不提供浏览器 HTTP API,也不应开放任何公网入站端口。普通 Workspace 的文件、Git 和终端可按能力与授权使用局域网直连;托管对话不使用该路径。启用时,Node 启动后从私有配置 <code>directTransfer.udpPortRangeBegin..udpPortRangeEnd</code> 指定的范围内取得一个 UDP 端口,并通过 ICE UDP Mux 复用该端口;默认范围为 <code>49152-49215</code>。防火墙只应允许实际 Browser 局域网来源访问对应范围,不得向公网放行。需要精确防火墙规则时可把起止值设为同一个固定端口;同主机多个 Node 应分别配置不同端口。端口不可达时可使用 Server 中继,不会因此导致 Node 离线;已经开始的传输仍可能失败,需要重试。</p><p><strong>成功标志:</strong> 登录后实时状态会更新,Node 在线,终端可以连接并在短暂断网后重连。</p><p>常见现象:502 先查代理上游和容器健康;登录/CSRF 拒绝先查 Origin;Node 反复离线先查其出站 DNS、证书与代理限制。下一步:<a href="./../troubleshooting/node-offline">Node 注册失败或离线</a>。</p>',7)])])}const P=e(a,[["render",n]]);export{l as __pageData,P as default};
@@ -0,0 +1 @@
1
+ import{_ as e,o as d,c as r,a3 as o}from"./chunks/framework.BHjrhdiC.js";const l=JSON.parse('{"title":"网络、TLS 与 WebSocket","description":"","frontmatter":{"title":"网络、TLS 与 WebSocket","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"deployment/network.md","filePath":"deployment/network.md"}'),a={name:"deployment/network.md"};function n(c,t,S,i,s,T){return d(),r("div",null,[...t[0]||(t[0]=[o("",7)])])}const P=e(a,[["render",n]]);export{l as __pageData,P as default};
@@ -0,0 +1 @@
1
+ import{_ as r,o,c as a,a3 as d}from"./chunks/framework.BHjrhdiC.js";const m=JSON.parse('{"title":"升级 MyAgentRoam","description":"","frontmatter":{"title":"升级 MyAgentRoam","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"deployment/upgrade.md","filePath":"deployment/upgrade.md"}'),i={name:"deployment/upgrade.md"};function t(n,e,l,p,s,c){return o(),a("div",null,[...e[0]||(e[0]=[d('<h1 id="升级-myagentroam" tabindex="-1">升级 MyAgentRoam <a class="header-anchor" href="#升级-myagentroam" aria-label="Permalink to &quot;升级 MyAgentRoam&quot;">​</a></h1><p>使用 npm Quick Start 时,按<a href="./../getting-started/npm-quick-start#更新-server-与受管-node">更新 Server 与受管 Node</a>操作:受管 Node 随 Server 依赖更新,不走单独推送升级。以下流程用于自行管理的 Server 和独立 Node。</p><p>升级前先完成可恢复备份。Server/Web、EE、公共 Core、Node、Agent、Protocol 统一使用同一主版本,当前基线为 <code>0.10.1</code>。公共二进制包与 Computer Use Runtime 从 <code>0.10.1</code> 起步并保留独立修订;Code Navigation 不独立发布,marctl 随 Node 交付。</p><h2 id="步骤" tabindex="-1">步骤 <a class="header-anchor" href="#步骤" aria-label="Permalink to &quot;步骤&quot;">​</a></h2><p>统一产品沿用现有企业数据库结构、迁移账本、License 激活事实和私有数据目录。社区与企业使用同一安装,激活不触发数据库迁移;不提供已删除个人产品的数据迁移。</p><p>Server 与 Web 必须配套,Server 版本必须大于等于 Node;最低支持 Node <code>0.11.39</code>。先升级 Server/Web,再升级 Node,不能反向操作。切换后刷新已打开的浏览器页面,以加载匹配的 Web。wire v2 Node 不再支持连接或推送升级,必须先在主机上手工更新 Node。低于当前业务基线的已登记 wire v3 Node 不能继续处理工作区、会话等业务;支持推送升级时仍可连接,并由有权用户发起或取消升级。升级完成前不要依赖旧 Node 执行业务。升级会沿用 Node SQLite 和 Server MySQL 的既有迁移链;迁移前仍需备份,数据库不会自动降级。</p><h3 id="旧数据库格式" tabindex="-1">旧数据库格式 <a class="header-anchor" href="#旧数据库格式" aria-label="Permalink to &quot;旧数据库格式&quot;">​</a></h3><p>首次从一体化 Server 切换到拆分构建不属于普通自动升级。必须先停服、验证可恢复备份,并由运维按目标版本提供的操作手册在隔离恢复副本中完成预演。旧数据库需准备到一体化 v49,再校验表结构、迁移记录及引用完整性,执行经审核的转换 SQL,并核对数据和 License 激活事实。不要直接修改版本标记或清除 License 状态。</p><p>新 Server 拒绝旧格式 ledger 时会报告 <code>SERVER_DATABASE_LEDGER_UNSUPPORTED</code>;这不是连接配置错误,不能通过删除迁移表绕过。不得将企业数据库降级为仅 Core 的结构。切换后的受支持版本继续自动执行 Core/Enterprise 增量迁移;失败时保持停服,恢复匹配版本的备份。</p><h3 id="常规升级" tabindex="-1">常规升级 <a class="header-anchor" href="#常规升级" aria-label="Permalink to &quot;常规升级&quot;">​</a></h3><ol><li>备份 MySQL、每台 Node 的私有配置与 SQLite、必要工作区,以及各 Agent 官方要求备份的配置和历史目录。</li><li>选择维护窗口,确认没有关键运行中的 Agent 或终端。</li><li>更新 Server/Web 容器或发布产物,启动后确认数据库迁移与 <code>/health</code> 成功。</li><li>Server 使用运行账号的 npm 配置查询 <code>@myagentroam/node</code> 的已发布版本,选择不超过当前 Server 版本且达到当前业务基线的最高稳定版本作为 Node 升级目标。Server 同版本尚未发布时,只有符合这两个条件的较低版本才可使用;不直接推送浮动的 <code>latest</code>,也不升级到比 Server 更新的版本。Server 检测与 Supervisor 安装都会自动读取各自运行账号的 npm 配置,不另设 Registry 配置项。</li><li>已部署 Supervisor 的 Node 可在“管理 → 节点管理”打开节点详情并点击“推送升级”;系统不会自动升级,也不会降级。推送给 Supervisor 的始终是查询后确定的精确版本,而不是浮动的 <code>latest</code>。旧 Node 首次启用该能力时仍需手工更新 npm 包并按 <a href="./node-linux">Linux</a>、<a href="./node-windows">Windows</a>或<a href="./node-macos">macOS</a>文档把自启动入口改为 <code>mar-node supervise</code>。</li><li>确认弹窗会说明目标版本、Run 排空和 Terminal 断开影响。推送后 Node 等待活动 Run 完成,并在等待期间拒绝新 Run、队列派发和 Terminal;“等待 Run”阶段可在节点详情取消,进入“准备重启”后不可取消。</li><li>Supervisor 使用固定包名安装精确版本,在目标平台重建 <code>node-pty</code>,验证入口后切换 Node 子进程。安装失败时保留旧入口并上报失败;修复 npm 网络、Registry、磁盘、权限或安全软件问题后再重新推送。</li><li>确认本次升级完成且目标 Node 重新认证上线,再执行一次新会话、文件读取和终端的冒烟验证,并验证重启服务或主机后仍能自动上线。</li></ol><h2 id="节点管理中的升级状态" tabindex="-1">节点管理中的升级状态 <a class="header-anchor" href="#节点管理中的升级状态" aria-label="Permalink to &quot;节点管理中的升级状态&quot;">​</a></h2><ul><li>“可升级到 X.Y.Z”:Node 版本低于 npm 中不超过当前 Server 版本的最高稳定版本,且已声明 Supervisor 能力;实际推送还要求 Node 在线且未禁用。</li><li>“当前无需升级”:Node 已达到或高于当前可升级目标,无需操作且不会降级。</li><li>“版本未知或不受支持”:Node 上报的版本缺失、非法或不是稳定版本,先手工确认并修复 Node 安装。</li><li>“需手工启用 Supervisor”:按平台文档手工安装支持版本并把自启动入口改为 <code>supervise</code>。</li><li>“目标 npm 包暂不可用”:无法查询已发布版本、没有同时满足 Server 版本上限与业务基线的稳定包或 Server 版本非法;等待包发布/同步,或检查 Server 版本及其运行账号的 npm 配置和网络。</li><li>“等待 Run”:请求已受理,已有 Run 正在排空;交接前可取消,此时不能创建新 Run 或 Terminal。请求结果待确认不表示 Node 已受理,也不要盲目重复推送。</li><li>“升级中”:显示关闭旧节点、安装版本或等待上线。安装完成不代表上线;进度更新中断只表示结果待确认,不代表安装失败。等待上线时间较长时检查主机,不要并发重推。</li><li>“完成”:本次目标版本已经通过 Node 控制连接认证上线。之后离线不会改变本次成功记录。</li><li>“失败”:查看页面原因、Node/Supervisor 服务日志和 <code>dataDirectory</code> 下的升级结果。只有旧操作已结束且 Node 在线时才重新推送;否则先在主机上排查。切换入口前安装失败保留旧入口,切换后启动失败不会自动回滚。</li></ul><p>实时进度和退出超时兜底需要 Server、Node 及其实际运行的 Supervisor 均支持新能力。仅升级 Node 子进程不会更新正在运行的 Supervisor;首次启用时先升级 Server,再在维护窗口按平台文档更新 Supervisor 启动入口并重启服务。旧 Supervisor 管理的 Node 仍使用原有升级流程,不显示实时进度;已卡住的旧进程需单独处理。</p><p>如果页面没有“推送升级”按钮,先确认当前账号具有该 Node 的管理写权限、企业 License 未冻结、Node 在线且未禁用,并检查上述状态。远程升级只负责 Node npm 包和子进程,不会远程安装 Node.js、创建 systemd/计划任务、提升权限或修改 Server/Web。Server 和 Node 若使用不同运行账号,应分别保证两个账号的 npm 配置都能访问同一包版本。</p><p><strong>成功标志:</strong> 所有组件版本与能力正常,Node 重连后可打开既有 Workspace。</p><p>迁移失败应停止继续升级并从备份恢复,不要手工修改数据库结构。下一步:<a href="./backup-restore">备份与恢复</a>。</p>',17)])])}const u=r(i,[["render",t]]);export{m as __pageData,u as default};
@@ -0,0 +1 @@
1
+ import{_ as r,o,c as a,a3 as d}from"./chunks/framework.BHjrhdiC.js";const m=JSON.parse('{"title":"升级 MyAgentRoam","description":"","frontmatter":{"title":"升级 MyAgentRoam","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"deployment/upgrade.md","filePath":"deployment/upgrade.md"}'),i={name:"deployment/upgrade.md"};function t(n,e,l,p,s,c){return o(),a("div",null,[...e[0]||(e[0]=[d("",17)])])}const u=r(i,[["render",t]]);export{m as __pageData,u as default};
@@ -0,0 +1 @@
1
+ import{_ as t,o as n,c as i,a3 as r}from"./chunks/framework.BHjrhdiC.js";const p=JSON.parse('{"title":"Community and Enterprise Licenses","description":"","frontmatter":{"title":"Community and Enterprise Licenses","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"en-US/administration/license.md","filePath":"en-US/administration/license.md"}'),a={name:"en-US/administration/license.md"};function o(s,e,d,c,l,m){return n(),i("div",null,[...e[0]||(e[0]=[r('<h1 id="community-and-enterprise-licenses" tabindex="-1">Community and Enterprise Licenses <a class="header-anchor" href="#community-and-enterprise-licenses" aria-label="Permalink to &quot;Community and Enterprise Licenses&quot;">​</a></h1><p>Community Edition provides the default single-user experience without a limit on registered Nodes. An Enterprise license enables organizations, additional users, resource sharing, SSO, and audit management.</p><p>The fixed Community administrator can also manage deployment settings under <strong>Admin → System Configuration</strong> without an Enterprise license. Configuring audit retention does not grant access to audit queries or exports. A frozen Enterprise license still blocks system configuration changes.</p><p>A System Administrator opens <strong>Admin → System Information</strong>, copies the request code, and sends it privately to the issuer. Paste the complete returned License document into <strong>License Authorization</strong>, import it, and verify enterprise name and expiry before creating enterprise resources.</p><p>An expired or frozen license restricts enterprise management writes while preserving configured resources and normal work according to the displayed state. Import a valid replacement to restore management. Treat request codes and License documents as administrative data and do not publish them.</p><p>Formal deployments use the same program and image set; activation does not replace the installation. Both formal license states require the real host UUID; containers must mount it read-only, and startup fails if it is unavailable or invalid. The <a href="./../getting-started/npm-quick-start">npm Quick Start</a> uses fixed Community capabilities without a UUID and cannot be activated; System Information does not generate request codes or show License import controls. License capabilities do not replace user and resource authorization.</p><h2 id="why-does-formal-community-deployment-require-a-host-uuid" tabindex="-1">Why does formal Community deployment require a host UUID? <a class="header-anchor" href="#why-does-formal-community-deployment-require-a-host-uuid" aria-label="Permalink to &quot;Why does formal Community deployment require a host UUID?&quot;">​</a></h2><p>In formal deployments, Community and Enterprise use the same Server startup and host-identity mechanism. Server derives a host fingerprint locally from the real UUID; Enterprise License validation uses it to bind a License to that Server host. Community does not require an Enterprise activation request or an online license-validation service.</p><p>This host-identity check is not an analytics upload. License verification is local; to request Enterprise activation, an administrator deliberately sends the request code (which contains the host fingerprint) to the issuer. Do not publish that code. This does not imply that the entire product is offline: model providers, configured integrations, and other network features have their own data flows.</p><p>Containers must mount the real host UUID read-only. A VM must expose a valid UUID; missing or invalid identity blocks startup rather than falling back to a generated ID. Moving Server to a host with a different UUID requires a replacement Enterprise License bound to the new host. Community still requires the new host&#39;s valid UUID but no Enterprise activation. Community is single-user and does not limit registered Nodes.</p><h2 id="source-licensing-and-permitted-use" tabindex="-1">Source licensing and permitted use <a class="header-anchor" href="#source-licensing-and-permitted-use" aria-label="Permalink to &quot;Source licensing and permitted use&quot;">​</a></h2><p>The EE author and licensor is <strong>aCHAOS (<a href="mailto:achaosxyz@gmail.com" target="_blank" rel="noreferrer">achaosxyz@gmail.com</a>)</strong>. <code>ee/LICENSE</code> contains the full English MyAgentRoam Enterprise Source-Available License 1.0 (<code>MAR-ESAL-1.0</code>); the product root <code>LICENSING.md</code> explains its scope. It is not an OSI-approved open-source license. Independent Apache components and third-party materials retain their own licenses.</p><p>Community features are free for internal use, including a company&#39;s own commercial work and deployment on cloud infrastructure it controls. Enterprise features include organization and multi-user administration, enterprise roles and organizational permissions, shared-resource authorization, SSO, enterprise operation auditing and associated governance. Production use requires an Enterprise license, except for the limited frozen-state continuation specified in the terms; isolated non-production development and testing are also permitted.</p><p>An Enterprise license activates features, not redistribution, resale, third-party hosting, SaaS/API operation, OEM or white-label rights. Unactivated or activated status, free third-party access and source modifications do not create exceptions; there is no separate commercial or hosting authorization to purchase. Internal hosted conversations are not third-party hosting services. Your own independent code and output are not subject to the EE license merely because You use MAR. The full scope, exceptions and contribution terms are in <code>ee/LICENSE</code>.</p>',14)])])}const h=t(a,[["render",o]]);export{p as __pageData,h as default};
@@ -0,0 +1 @@
1
+ import{_ as t,o as a,c as o,a3 as r}from"./chunks/framework.BHjrhdiC.js";const u=JSON.parse('{"title":"Network, TLS, and WebSocket","description":"","frontmatter":{"title":"Network, TLS, and WebSocket","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"en-US/deployment/network.md","filePath":"en-US/deployment/network.md"}'),n={name:"en-US/deployment/network.md"};function s(i,e,d,c,l,p){return a(),o("div",null,[...e[0]||(e[0]=[r('<h1 id="network-tls-and-websocket" tabindex="-1">Network, TLS, and WebSocket <a class="header-anchor" href="#network-tls-and-websocket" aria-label="Permalink to &quot;Network, TLS, and WebSocket&quot;">​</a></h1><p>The HTTPS entry point and <code>MAR_PUBLIC_ORIGIN</code> configuration below apply to separately managed deployments. <a href="./../getting-started/npm-quick-start#remote-access">npm Quick Start</a> defaults to loopback HTTP with a fixed application Origin; it does not read that environment variable override. When accessing it through a secure tunnel, preserve the same browser-side loopback address and port rather than applying the environment variable configuration below.</p><p>Browsers and Nodes use the same HTTPS origin. <code>MAR_PUBLIC_ORIGIN</code> must exactly match its scheme, host, and port. Server serves Web, help, API, and WebSocket traffic on one HTTP listener. External infrastructure terminates TLS. The reverse proxy must present a trusted certificate, forward the complete site, and support WebSocket Upgrade for Workbench and terminal relays.</p><p>Nodes initiate outbound HTTPS/WSS connections and expose no browser HTTP API. Ordinary Workspace files, Git, and terminals can use an authorized LAN connection when their respective capabilities are available; hosted conversations do not use this path. When enabled, WebRTC ICE obtains one UDP port from <code>directTransfer.udpPortRangeBegin..udpPortRangeEnd</code>, which defaults to <code>49152-49215</code>, and ICE UDP Mux reuses that port. Permit the configured range only from the actual browser LAN and never expose it to the public Internet. Set both values to the same port for an exact firewall rule, and use different ports for multiple Nodes on one host. If the port is blocked, traffic can use the Server relay without taking the Node offline; a transfer already in progress can still fail and need a retry.</p><p>Allow long-lived Server connections and timeouts suitable for Agent runs. Disable caching for authenticated API responses and upgraded traffic.</p><p>When connections fail, test DNS, system time, certificate chains, proxy headers, and outbound firewall policy from both the browser network and Node host.</p>',6)])])}const f=t(n,[["render",s]]);export{u as __pageData,f as default};
@@ -0,0 +1 @@
1
+ import{_ as t,o as a,c as o,a3 as r}from"./chunks/framework.BHjrhdiC.js";const u=JSON.parse('{"title":"Network, TLS, and WebSocket","description":"","frontmatter":{"title":"Network, TLS, and WebSocket","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"en-US/deployment/network.md","filePath":"en-US/deployment/network.md"}'),n={name:"en-US/deployment/network.md"};function s(i,e,d,c,l,p){return a(),o("div",null,[...e[0]||(e[0]=[r("",6)])])}const f=t(n,[["render",s]]);export{u as __pageData,f as default};
@@ -0,0 +1 @@
1
+ import{_ as a,o as t,c as r,a3 as n}from"./chunks/framework.BHjrhdiC.js";const h=JSON.parse('{"title":"Upgrade MyAgentRoam","description":"","frontmatter":{"title":"Upgrade MyAgentRoam","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"en-US/deployment/upgrade.md","filePath":"en-US/deployment/upgrade.md"}'),o={name:"en-US/deployment/upgrade.md"};function s(i,e,d,l,c,p){return t(),r("div",null,[...e[0]||(e[0]=[n('<h1 id="upgrade-myagentroam" tabindex="-1">Upgrade MyAgentRoam <a class="header-anchor" href="#upgrade-myagentroam" aria-label="Permalink to &quot;Upgrade MyAgentRoam&quot;">​</a></h1><p>For npm Quick Start, follow <a href="./../getting-started/npm-quick-start#update-server-and-its-managed-node">Update Server and its managed Node</a>: the managed Node updates with Server dependencies, not a separate push upgrade. The procedures below cover separately managed Server and Node installations.</p><p>Server, Web, EE, shared cores, Node, Agent, and Protocol share one version, starting at <code>0.10.1</code>. The shared binaries package and Computer Use Runtime start at <code>0.10.1</code> and retain independent patch releases. Code Navigation is internal, and marctl ships with Node.</p><p>The unified product preserves the existing enterprise schema, migration history, License activation, and private data directory. Community and Enterprise use the same installation; activation does not migrate the database. No migration from the retired personal product is provided.</p><p>Deploy matching Server and Web versions, with the Server version at least as new as Node. The minimum supported Node version is <code>0.11.39</code>. Upgrade Server/Web before Node, never the reverse. After switching versions, refresh open browser pages to load the matching Web. Nodes using wire v2 can no longer connect or receive pushed upgrades; update them manually on their hosts first. A registered wire v3 Node below the current business baseline cannot continue Workspace, session, or other business operations. If it supports push upgrades, it can still connect so an authorized user can request or cancel an upgrade. Do not rely on it for business operations until the upgrade completes. Node SQLite and Server MySQL retain their existing migration chains; back up before migration, since databases are not automatically downgraded.</p><h2 id="legacy-database-formats" tabindex="-1">Legacy database formats <a class="header-anchor" href="#legacy-database-formats" aria-label="Permalink to &quot;Legacy database formats&quot;">​</a></h2><p>The first transition from the combined Server is not a routine automatic upgrade. Stop all writers, verify that backups can be restored, and rehearse the target version&#39;s operations procedure on an isolated restored copy. Prepare the old database to combined schema v49, validate its tables, migration history and references, apply reviewed conversion SQL, then verify data and License activation history. Never replace version markers or clear License state to bypass checks.</p><p><code>SERVER_DATABASE_LEDGER_UNSUPPORTED</code> means the new Server does not accept the old ledger format; deleting the migration table is not a remedy. Do not downgrade an enterprise database to a Core-only schema. Supported upgrades after this transition apply incremental Core/Enterprise migrations automatically. On failure, keep services stopped and restore a backup with its matching application version.</p><h2 id="routine-upgrades" tabindex="-1">Routine upgrades <a class="header-anchor" href="#routine-upgrades" aria-label="Permalink to &quot;Routine upgrades&quot;">​</a></h2><ol><li>Back up MySQL, every Node&#39;s private configuration and SQLite data, required Workspaces, and Agent-specific configuration/history.</li><li>Choose a maintenance window without critical runs or terminals.</li><li>Upgrade Server and Web first; confirm migrations and <code>/health</code>.</li><li>Server queries the published <code>@myagentroam/node</code> versions using its service account&#39;s npm configuration and selects the highest stable version that does not exceed the current Server version and meets the current business baseline. If the exact Server version is unpublished, a lower published version is eligible only if it meets both conditions. It never upgrades beyond Server or sends a floating <code>latest</code> tag to Supervisor. Checks and installation use each service account&#39;s own npm configuration; no separate registry setting is required.</li><li>Supervisor-managed Nodes can receive <strong>Push Upgrade</strong> from Node details. The Node drains active runs and rejects new runs, queue dispatch, and terminals while preparing. You may cancel while waiting for runs, but not after installation starts. On an older Node, first upgrade the npm package manually and configure <code>mar-node supervise</code> through <a href="./node-linux">Linux systemd</a>, <a href="./node-windows">Windows Task Scheduler</a>, or <a href="./node-macos">macOS launchd</a>.</li><li>Supervisor installs the exact package, rebuilds <code>node-pty</code> for the target platform, validates the entry point, and switches the child process. A failed installation retains the previous entry.</li><li>After reconnection, verify a new session, file read, terminal, and automatic startup after a service or host restart.</li></ol><p>The system does not automatically upgrade or downgrade Nodes. <strong>Target npm package unavailable</strong> means the published versions cannot be queried, no stable package satisfies both the Server ceiling and business baseline, or the Server version is invalid. Check the Server version, registry access, network, and publication status, then refresh.</p><h2 id="upgrade-status-and-recovery" tabindex="-1">Upgrade status and recovery <a class="header-anchor" href="#upgrade-status-and-recovery" aria-label="Permalink to &quot;Upgrade status and recovery&quot;">​</a></h2><ul><li><strong>Upgrade available</strong> identifies an eligible target for a Node with Supervisor support. The Node must also be online and enabled before a push.</li><li><strong>No upgrade needed</strong> means the Node has reached or exceeded the selected target; the system does not downgrade it. An unknown or unsupported version requires checking the Node installation. If Supervisor is not enabled, follow the platform instructions above to configure it manually.</li><li><strong>Waiting for runs</strong> means the request was accepted and active runs are draining; cancellation is available before handoff. A request whose result is unconfirmed is not proof of acceptance: do not blindly push it again.</li><li><strong>Upgrading</strong> shows closing the old Node, installing, or waiting for it to come online. Installation alone is not success. An interrupted progress stream means the result is unconfirmed, not that installation failed. If reconnection takes a long time, inspect the host rather than starting an overlapping upgrade.</li><li><strong>Completed</strong> means the target Node authenticated on its control connection for this attempt. A later disconnect does not undo that result.</li><li><strong>Failed</strong> provides the reason. Inspect Node and Supervisor logs and the result in the Node data directory. Retry only after the old operation has ended and the Node is online; otherwise investigate on the host. Installation failure before the entry switch retains the old entry; a subsequent startup failure does not automatically roll back.</li></ul><p>Live progress and the exit-timeout fallback require support from Server, Node, and the Supervisor actually running on the host. Updating only the Node child does not update an already running Supervisor. To enable the capability initially, update Server first, then update the Supervisor startup entry and restart the service in a maintenance window using the platform instructions. An older Supervisor continues the existing upgrade flow without live progress; a previously stuck old process requires separate intervention.</p><p>If the push action is absent, check that your account can manage that Node, the enterprise License is not frozen, and the Node is online and enabled. Remote upgrade only installs the Node package and switches its child process: it does not install Node.js, configure a system service, elevate permissions, or update Server/Web. Server and Node service accounts must each be able to access the selected npm package.</p><p>If a database migration fails, stop the upgrade and restore a matching backup rather than modifying the schema by hand. See <a href="./backup-restore">Backup and restore</a>.</p>',16)])])}const g=a(o,[["render",s]]);export{h as __pageData,g as default};
@@ -1 +1 @@
1
- import{_ as t,o as a,c as r,a3 as n}from"./chunks/framework.BHjrhdiC.js";const h=JSON.parse('{"title":"Upgrade MyAgentRoam","description":"","frontmatter":{"title":"Upgrade MyAgentRoam","lastUpdated":"2026-11-05T00:00:00.000Z"},"headers":[],"relativePath":"en-US/deployment/upgrade.md","filePath":"en-US/deployment/upgrade.md"}'),o={name:"en-US/deployment/upgrade.md"};function s(i,e,d,l,c,p){return a(),r("div",null,[...e[0]||(e[0]=[n("",15)])])}const g=t(o,[["render",s]]);export{h as __pageData,g as default};
1
+ import{_ as a,o as t,c as r,a3 as n}from"./chunks/framework.BHjrhdiC.js";const h=JSON.parse('{"title":"Upgrade MyAgentRoam","description":"","frontmatter":{"title":"Upgrade MyAgentRoam","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"en-US/deployment/upgrade.md","filePath":"en-US/deployment/upgrade.md"}'),o={name:"en-US/deployment/upgrade.md"};function s(i,e,d,l,c,p){return t(),r("div",null,[...e[0]||(e[0]=[n("",16)])])}const g=a(o,[["render",s]]);export{h as __pageData,g as default};
@@ -0,0 +1,3 @@
1
+ import{_ as a,o as t,c as o,a3 as n}from"./chunks/framework.BHjrhdiC.js";const u=JSON.parse('{"title":"npm Quick Start","description":"","frontmatter":{"title":"npm Quick Start","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"en-US/getting-started/npm-quick-start.md","filePath":"en-US/getting-started/npm-quick-start.md"}'),r={name:"en-US/getting-started/npm-quick-start.md"};function s(i,e,d,c,l,p){return t(),o("div",null,[...e[0]||(e[0]=[n(`<h1 id="npm-quick-start" tabindex="-1">npm Quick Start <a class="header-anchor" href="#npm-quick-start" aria-label="Permalink to &quot;npm Quick Start&quot;">​</a></h1><p>Quick Start prepares a fixed Community Server, a private MySQL instance, a local Node and SearXNG where managed search is supported. Access uses loopback HTTP by default; you manage any remote entry point and its security configuration. It does not install an operating-system service, require a host UUID or support license activation. <a href="./server-installation">Docker Compose</a> is another installation option.</p><p>The verified installer targets are Linux x64 with glibc 2.28 or later, <code>tar</code> and <code>dpkg-deb</code> (such as a supported Debian or Ubuntu system), and Windows x64 with <code>tar</code> available. Use Node.js 24.12 or later and npm. Installing native dependencies may require an existing build toolchain; installation and setup never install system packages or request elevated privileges. Browser preparation and the selected components require network access. Other native platforms have not been verified for this Quick Start.</p><p>The terminal dependency is pinned to <code>node-pty@1.2.0-beta.18</code>, which includes prebuilt files for Linux x64/arm64, macOS x64/arm64 and Windows x64/arm64. On the verified Linux x64 target, its default installation does not require GCC, make or Python, including program and HOME paths with spaces. Do not set <code>npm_config_build_from_source=true</code> or globally skip installation scripts: the former forces compilation, while the latter may leave other dependencies unprepared. Other native dependencies or targets without matching prebuilds may still need build tools. Included prebuilds do not establish full Quick Start validation for those platforms.</p><h2 id="install-and-start" tabindex="-1">Install and start <a class="header-anchor" href="#install-and-start" aria-label="Permalink to &quot;Install and start&quot;">​</a></h2><p>After the Server package and its required dependencies are available in your npm registry, run as a normal user:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> @myagentroam/server</span></span>
2
+ <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npx</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --no-install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> mar-server</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> setup</span></span>
3
+ <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npx</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --no-install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> mar-server</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span></span></code></pre></div><p>Server depends normally on the matching Node. npm installs its native dependencies and prepares Chromium through Node&#39;s normal lifecycle, even if you later use <code>--no-node</code>. Installation and <code>mar-server --help</code> do not configure, register or start a local Node. Setup downloads the selected fixed components and initializes its own database; it does not use an existing MySQL server or accept <code>MAR_DATABASE_URL</code>. To skip local search, use <code>--no-searxng</code>; both options can be combined. Search preparation is optional, and failure is reported without discarding the other components.</p><p><code>--no-node</code> persists the disabled choice but does not remove Node dependencies from the Server package. To enable the local Node later, stop run, set <code>node.enabled</code> to <code>true</code> in <code>server.json</code>, preserve its identity, and rerun setup.</p><p>Run stays in the foreground and prints the local browser address. Stop it with Ctrl+C and wait for its children to exit. Run never downloads missing components. Setup and run for the same data directory cannot run concurrently.</p><p>The managed Node in Windows Quick Start uses IPv4 for direct connections. When only IPv6 connectivity is available, file and terminal traffic falls back to the Server relay.</p><h2 id="remote-access" tabindex="-1">Remote access <a class="header-anchor" href="#remote-access" aria-label="Permalink to &quot;Remote access&quot;">​</a></h2><p>Local access is the default, not a restriction on usage. You can configure a secure tunnel or an external entry point yourself; setup does not configure domains, TLS, firewalls, or access controls. Public entry points should use HTTPS and support WebSocket; do not expose an unprotected HTTP port.</p><p>Currently, run listens on <code>127.0.0.1</code> and fixes the application Origin to the printed <code>http://127.0.0.1:&lt;port&gt;</code>; it does not use a <code>MAR_PUBLIC_ORIGIN</code> override. Tunnel access should preserve the same browser-side loopback address and port. With a custom domain, forwarding a port alone does not ensure working sign-in, Origin checks, and WebSocket: application and gateway configuration must also match. Do not disable Origin checks to bypass failures. See <a href="./../deployment/network">Network, TLS, and WebSocket</a>.</p><h2 id="update-server-and-its-managed-node" tabindex="-1">Update Server and its managed Node <a class="header-anchor" href="#update-server-and-its-managed-node" aria-label="Permalink to &quot;Update Server and its managed Node&quot;">​</a></h2><ol><li>Stop run normally and wait for all its managed processes to exit.</li><li>In the original npm installation directory, install the target Server version, for example <code>npm install --save-exact @myagentroam/server@X.Y.Z</code>. Replace <code>X.Y.Z</code> with a published target version whose dependencies are available.</li><li>Run <code>npx --no-install mar-server run</code> with the original configuration; keep the same <code>--config</code> path if you used one. Refresh the browser and verify the original Node, Workspaces, and terminal.</li></ol><p>Node updates with Server&#39;s exact dependency, not through a separate push upgrade in Node management. Do not delete the deployment directory, recreate Node identity, or change <code>allowedRoots</code> to update. Repeating setup does not update the npm program. For separately managed Nodes, see <a href="./../deployment/upgrade">Upgrade MyAgentRoam</a>.</p><p>These steps update the Server/Node npm programs, not existing managed MySQL or search components. Check the target release notes before updating; follow any required component migration instructions rather than deleting installation records to force a reinstall.</p><h2 id="sign-in-and-start-work" tabindex="-1">Sign in and start work <a class="header-anchor" href="#sign-in-and-start-work" aria-label="Permalink to &quot;Sign in and start work&quot;">​</a></h2><p>Follow <a href="./first-login">First Sign-in and Password Change</a>. Change the initial administrator password immediately. Wait for the local Node to report online, then <a href="./register-workspace">register a Workspace</a> under the deployment&#39;s <code>workspace</code> directory. Local Node access is restricted to that directory by default; hosted conversations are not enabled automatically. Configure a model and credentials before <a href="./first-agent-session">starting a session</a>; an online Node or <code>/health</code> alone does not prove an Agent can execute.</p><p>The local Node initially allows only this deployment&#39;s <code>workspace/</code> directory. To use other projects, stop run and edit only the <code>allowedRoots</code> array in <code>node-data/node.json</code> under the deployment data directory. Supply one or more absolute paths, then start run again. For example, use <code>&quot;allowedRoots&quot;: [&quot;/home/alice/project&quot;, &quot;/srv/work&quot;]</code> on Unix or <code>&quot;allowedRoots&quot;: [&quot;C:\\\\Projects&quot;, &quot;D:\\\\Work&quot;]</code> on Windows. Do not replace the whole file or remove identity fields such as <code>nodeId</code>, credentials, or <code>serverUrl</code>. Allowed roots do not grant operating-system permissions; the account still needs access to those files. The npm program directory is separate from the deployment data directory, which defaults to <code>~/.myagentroam/quick-start/</code> and can be selected with <code>--config</code>.</p><p>After an unsuccessful first registration, stop and restart <code>run</code>. If <code>node.json</code> contains only a registration token and no identity, Quick Start reuses an unused valid token or replaces an expired unused token while preserving allowed roots and data settings. <code>QUICK_START_NODE_BOOTSTRAP_RECOVERY_REQUIRED</code> means the token was consumed or its state cannot be confirmed; Quick Start will not register another Node automatically. Keep <code>node-data/node.json</code> and restore the existing identity from a backup, or first inspect and resolve the previous registration in the management page. Do not simply delete the configuration or data directory. Partial identity fields produce a configuration error rather than an automatic identity reset.</p><h2 id="data-and-optional-search" tabindex="-1">Data and optional search <a class="header-anchor" href="#data-and-optional-search" aria-label="Permalink to &quot;Data and optional search&quot;">​</a></h2><p>By default, private configuration, credentials and component data are under <code>~/.myagentroam/quick-start/</code>. To use another private location, pass the same <code>--config /path/to/server.json</code> to setup and run. Protect and back up this directory. Repeating setup preserves credentials, Node data, Workspace and other component versions. The managed Node program follows Server dependency updates rather than using a separate upgrade or active entrypoint.</p><p>The <code>search</code> object in <code>server.json</code> has one mode: <code>managed</code>, <code>disabled</code>, or <code>external</code>. Managed SearXNG is not supported on Windows; use an external service if search is needed. To use an existing SearXNG service, stop run, change only <code>search.mode</code> to <code>&quot;external&quot;</code> and <code>search.url</code> to the service URL, preserve any existing <code>search.installation</code> record, then restart. The endpoint must allow JSON searches. A failed JSON check disables client search for that run; it does not fall back to another endpoint. <code>web_fetch</code> and model-hosted search remain separate. <code>--no-searxng</code> does not erase an external address.</p><p>To retry local search after disabling it, stop run, set the search mode to <code>managed</code>, preserve any existing <code>installation</code> record, and rerun setup. On an unsupported platform, leave it disabled and use an external endpoint instead. See <a href="./../deployment/node-installation">Node installation</a> for separately managed Nodes and <a href="./../deployment/production">production deployment</a> for operational guidance.</p>`,26)])])}const m=a(r,[["render",s]]);export{u as __pageData,m as default};
@@ -0,0 +1 @@
1
+ import{_ as a,o as t,c as o,a3 as n}from"./chunks/framework.BHjrhdiC.js";const u=JSON.parse('{"title":"npm Quick Start","description":"","frontmatter":{"title":"npm Quick Start","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"en-US/getting-started/npm-quick-start.md","filePath":"en-US/getting-started/npm-quick-start.md"}'),r={name:"en-US/getting-started/npm-quick-start.md"};function s(i,e,d,c,l,p){return t(),o("div",null,[...e[0]||(e[0]=[n("",26)])])}const m=a(r,[["render",s]]);export{u as __pageData,m as default};
@@ -1 +1 @@
1
- import{_ as t,o as a,c as n,a3 as o}from"./chunks/framework.BHjrhdiC.js";const u=JSON.parse('{"title":"What Is MyAgentRoam?","description":"","frontmatter":{"title":"What Is MyAgentRoam?","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"en-US/getting-started/overview.md","filePath":"en-US/getting-started/overview.md"}'),r={name:"en-US/getting-started/overview.md"};function i(s,e,d,l,c,h){return a(),n("div",null,[...e[0]||(e[0]=[o('<h1 id="what-is-myagentroam" tabindex="-1">What Is MyAgentRoam? <a class="header-anchor" href="#what-is-myagentroam" aria-label="Permalink to &quot;What Is MyAgentRoam?&quot;">​</a></h1><p>MyAgentRoam is a privately deployed, shared Agent workbench for teams with two ways to work: <strong>Work</strong> and <strong>Conversation</strong>. Configure Agents, models, project directories, and toolchains once on team-owned Windows, Linux, or macOS hosts. Work mode provides the complete Node, Workspace, Agent session, file, Git, and terminal environment; Conversation mode lets members start directly from a published template. The environment does not need to be rebuilt on every personal device. Hosted conversations require Bubblewrap and therefore run only on Linux Nodes.</p><p>Workspace source, external Agents&#39; local credentials, and terminals remain on your hosts. Server-managed model and credential configuration is stored on Server. MyAgentRoam lets authorized members share the work environment and continue work with clear data and permission boundaries.</p><h2 id="four-components" tabindex="-1">Four components <a class="header-anchor" href="#four-components" aria-label="Permalink to &quot;Four components&quot;">​</a></h2><table tabindex="0"><thead><tr><th>Component</th><th>Location</th><th>Responsibility</th></tr></thead><tbody><tr><td>Web</td><td>Browser</td><td>Workbench, conversations, files, and terminal UI</td></tr><tr><td>Server</td><td>Your server</td><td>Sign-in, Node registration, authorization, and browser connections</td></tr><tr><td>Node</td><td>Each work host</td><td>Workspaces, Agents, files, Git, and terminals</td></tr><tr><td>Agent</td><td>On the Node</td><td>Performs work using your configured Agent and model</td></tr></tbody></table><p>Browsers authenticate and obtain authorization through Server, while each Node opens an outbound control connection. Authorized ordinary Workspace data can also use direct WebRTC; see <a href="./../deployment/network">Network, TLS, and WebSocket</a> for its requirements and fallback. Each Workspace belongs to one Node; files, terminals, and sessions do not cross Node boundaries.</p><h2 id="interface-language" tabindex="-1">Interface Language <a class="header-anchor" href="#interface-language" aria-label="Permalink to &quot;Interface Language&quot;">​</a></h2><p>Console and the documentation center use the language saved in the current browser. Opening documentation from Console takes you to the matching language. When you sign in or return to Console, the browser&#39;s language is synchronized to your account and used for notifications created afterward; changing the language in Settings also updates the account preference. A notification keeps the final text generated when it was created, so later language changes do not rewrite it. Switching languages in the documentation center opens the matching version of the current page; a direct documentation link takes precedence over the saved language.</p><h2 id="installation-interface-caching-and-updates" tabindex="-1">Installation, interface caching, and updates <a class="header-anchor" href="#installation-interface-caching-and-updates" aria-label="Permalink to &quot;Installation, interface caching, and updates&quot;">​</a></h2><p>Console caches the static resources needed for its interface on the first online visit, avoiding repeated downloads of unchanged files. <strong>Settings → About</strong> shows the current display mode (browser tab or standalone PWA window) separately from the application resource cache status. Display mode describes the current window, not whether the application is installed on the device. When cached, the app shell can open offline, but sign-in, sessions, files, terminals, and other features still require a connection. Documentation and search are not included in the application cache. Browser tabs and installed applications use the same mechanism. Browser storage may be separate or reclaimed; the application remains usable online when caching is unavailable.</p><p>To install a standalone application window, use the browser&#39;s install-app control in the address bar or menu. On supported mobile browsers, you can also choose <strong>Add to Home Screen</strong> from the share or browser menu. The name and location vary by browser and operating system; installation is not required for static resource caching.</p><p>Offline resources do not include sign-in state, permissions, sessions, Workspace files, or terminals. If Server cannot be reached on a cold start, the interface reports that your identity is unconfirmed; reconnect to open documentation or retry. Identity and Server- or Node-dependent functions require a connection. An already open page does not sign you out merely because the network is lost.</p><p>A notification appears when a new version is prepared, without immediately interrupting the current page. Clicking the notification, applying the update in <strong>Settings → About</strong>, or reloading the page after the update is prepared activates that version and automatically reloads all open same-origin application windows and tabs, without closing them individually, asking for extra confirmation, or waiting for edits and file transfers to finish. If the update is not ready when you reload, the page keeps using the previous version and notifies you when preparation finishes. A failed automatic switch does not retry in a loop; you can still apply the update manually. Browser tabs and installed applications behave the same way. Reloading may discard unsaved content and interrupt file transfers, so save first if needed. Migration from an older version or reclaimed cache may require reconnecting and closing all same-origin application windows and tabs before reopening the application.</p><h2 id="fastest-path-to-success" tabindex="-1">Fastest path to success <a class="header-anchor" href="#fastest-path-to-success" aria-label="Permalink to &quot;Fastest path to success&quot;">​</a></h2><p>Choose <a href="./npm-quick-start">npm Quick Start</a> for local-only evaluation: it prepares a local Node by default, unless disabled. For formal deployment, follow <a href="./prerequisites">Before You Deploy</a> and <a href="./server-installation">Deploy Server and Web</a>; install and register Nodes separately.</p><ol><li>Prepare and start Server using the selected path.</li><li>Sign in as <code>admin</code> and change the initial password.</li><li>Confirm that a Node is online; for formal deployment, install and register it on a work host.</li><li>Register a Workspace and confirm that an Agent is available.</li><li>Create a session and send the first message.</li></ol><p><strong>Success:</strong> Work mode shows the Node online, the Workspace file tree opens, and a new session can send messages.</p><p>Community Edition is intended for individual use and does not limit the number of registered Nodes. Enterprise licenses add organizations, roles, sharing, SSO, and auditing. See <a href="./../concepts/permissions-and-sharing">Users, Organizations, and Access</a>.</p><p>If Server is already available, start with <a href="./first-login">First Sign-in</a>, <a href="./connect-node">Connect a Node</a>, or <a href="./first-agent-session">Your First Agent Session</a>. Administrators deploying the product can start with <a href="./prerequisites">Before You Deploy</a>.</p>',19)])])}const g=t(r,[["render",i]]);export{u as __pageData,g as default};
1
+ import{_ as t,o as a,c as n,a3 as o}from"./chunks/framework.BHjrhdiC.js";const u=JSON.parse('{"title":"What Is MyAgentRoam?","description":"","frontmatter":{"title":"What Is MyAgentRoam?","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"en-US/getting-started/overview.md","filePath":"en-US/getting-started/overview.md"}'),r={name:"en-US/getting-started/overview.md"};function s(i,e,d,l,c,h){return a(),n("div",null,[...e[0]||(e[0]=[o('<h1 id="what-is-myagentroam" tabindex="-1">What Is MyAgentRoam? <a class="header-anchor" href="#what-is-myagentroam" aria-label="Permalink to &quot;What Is MyAgentRoam?&quot;">​</a></h1><p>MyAgentRoam is a privately deployed, shared Agent workbench for teams with two ways to work: <strong>Work</strong> and <strong>Conversation</strong>. Configure Agents, models, project directories, and toolchains once on team-owned Windows, Linux, or macOS hosts. Work mode provides the complete Node, Workspace, Agent session, file, Git, and terminal environment; Conversation mode lets members start directly from a published template. The environment does not need to be rebuilt on every personal device. Hosted conversations require Bubblewrap and therefore run only on Linux Nodes.</p><p>Workspace source, external Agents&#39; local credentials, and terminals remain on your hosts. Server-managed model and credential configuration is stored on Server. MyAgentRoam lets authorized members share the work environment and continue work with clear data and permission boundaries.</p><h2 id="four-components" tabindex="-1">Four components <a class="header-anchor" href="#four-components" aria-label="Permalink to &quot;Four components&quot;">​</a></h2><table tabindex="0"><thead><tr><th>Component</th><th>Location</th><th>Responsibility</th></tr></thead><tbody><tr><td>Web</td><td>Browser</td><td>Workbench, conversations, files, and terminal UI</td></tr><tr><td>Server</td><td>Your server</td><td>Sign-in, Node registration, authorization, and browser connections</td></tr><tr><td>Node</td><td>Each work host</td><td>Workspaces, Agents, files, Git, and terminals</td></tr><tr><td>Agent</td><td>On the Node</td><td>Performs work using your configured Agent and model</td></tr></tbody></table><p>Browsers authenticate and obtain authorization through Server, while each Node opens an outbound control connection. Authorized ordinary Workspace data can also use direct WebRTC; see <a href="./../deployment/network">Network, TLS, and WebSocket</a> for its requirements and fallback. Each Workspace belongs to one Node; files, terminals, and sessions do not cross Node boundaries.</p><h2 id="interface-language" tabindex="-1">Interface Language <a class="header-anchor" href="#interface-language" aria-label="Permalink to &quot;Interface Language&quot;">​</a></h2><p>Console and the documentation center use the language saved in the current browser. Opening documentation from Console takes you to the matching language. When you sign in or return to Console, the browser&#39;s language is synchronized to your account and used for notifications created afterward; changing the language in Settings also updates the account preference. A notification keeps the final text generated when it was created, so later language changes do not rewrite it. Switching languages in the documentation center opens the matching version of the current page; a direct documentation link takes precedence over the saved language.</p><h2 id="installation-interface-caching-and-updates" tabindex="-1">Installation, interface caching, and updates <a class="header-anchor" href="#installation-interface-caching-and-updates" aria-label="Permalink to &quot;Installation, interface caching, and updates&quot;">​</a></h2><p>Console caches the static resources needed for its interface on the first online visit, avoiding repeated downloads of unchanged files. <strong>Settings → About</strong> shows the current display mode (browser tab or standalone PWA window) separately from the application resource cache status. Display mode describes the current window, not whether the application is installed on the device. When cached, the app shell can open offline, but sign-in, sessions, files, terminals, and other features still require a connection. Documentation and search are not included in the application cache. Browser tabs and installed applications use the same mechanism. Browser storage may be separate or reclaimed; the application remains usable online when caching is unavailable.</p><p>To install a standalone application window, use the browser&#39;s install-app control in the address bar or menu. On supported mobile browsers, you can also choose <strong>Add to Home Screen</strong> from the share or browser menu. The name and location vary by browser and operating system; installation is not required for static resource caching.</p><p>Offline resources do not include sign-in state, permissions, sessions, Workspace files, or terminals. If Server cannot be reached on a cold start, the interface reports that your identity is unconfirmed; reconnect to open documentation or retry. Identity and Server- or Node-dependent functions require a connection. An already open page does not sign you out merely because the network is lost.</p><p>A notification appears when a new version is prepared, without immediately interrupting the current page. Clicking the notification, applying the update in <strong>Settings → About</strong>, or reloading the page after the update is prepared activates that version and automatically reloads all open same-origin application windows and tabs, without closing them individually, asking for extra confirmation, or waiting for edits and file transfers to finish. If the update is not ready when you reload, the page keeps using the previous version and notifies you when preparation finishes. A failed automatic switch does not retry in a loop; you can still apply the update manually. Browser tabs and installed applications behave the same way. Reloading may discard unsaved content and interrupt file transfers, so save first if needed. Migration from an older version or reclaimed cache may require reconnecting and closing all same-origin application windows and tabs before reopening the application.</p><h2 id="fastest-path-to-success" tabindex="-1">Fastest path to success <a class="header-anchor" href="#fastest-path-to-success" aria-label="Permalink to &quot;Fastest path to success&quot;">​</a></h2><p>Choose <a href="./npm-quick-start">npm Quick Start</a> for a quick installation: it prepares a local Node by default, unless disabled. For Docker Compose, follow <a href="./prerequisites">Before You Deploy</a> and <a href="./server-installation">Deploy Server and Web</a>; install and register Nodes separately.</p><ol><li>Prepare and start Server using the selected path.</li><li>Sign in as <code>admin</code> and change the initial password.</li><li>Confirm that a Node is online; for Docker Compose, install and register it on a work host.</li><li>Register a Workspace and confirm that an Agent is available.</li><li>Create a session and send the first message.</li></ol><p><strong>Success:</strong> Work mode shows the Node online, the Workspace file tree opens, and a new session can send messages.</p><p>Community Edition is intended for individual use and does not limit the number of registered Nodes. Enterprise licenses add organizations, roles, sharing, SSO, and auditing. See <a href="./../concepts/permissions-and-sharing">Users, Organizations, and Access</a>.</p><p>If Server is already available, start with <a href="./first-login">First Sign-in</a>, <a href="./connect-node">Connect a Node</a>, or <a href="./first-agent-session">Your First Agent Session</a>. Administrators deploying the product can start with <a href="./prerequisites">Before You Deploy</a>.</p>',19)])])}const g=t(r,[["render",s]]);export{u as __pageData,g as default};
@@ -1 +1 @@
1
- import{_ as t,o as a,c as n,a3 as o}from"./chunks/framework.BHjrhdiC.js";const u=JSON.parse('{"title":"What Is MyAgentRoam?","description":"","frontmatter":{"title":"What Is MyAgentRoam?","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"en-US/getting-started/overview.md","filePath":"en-US/getting-started/overview.md"}'),r={name:"en-US/getting-started/overview.md"};function i(s,e,d,l,c,h){return a(),n("div",null,[...e[0]||(e[0]=[o("",19)])])}const g=t(r,[["render",i]]);export{u as __pageData,g as default};
1
+ import{_ as t,o as a,c as n,a3 as o}from"./chunks/framework.BHjrhdiC.js";const u=JSON.parse('{"title":"What Is MyAgentRoam?","description":"","frontmatter":{"title":"What Is MyAgentRoam?","lastUpdated":"2026-11-10T00:00:00.000Z"},"headers":[],"relativePath":"en-US/getting-started/overview.md","filePath":"en-US/getting-started/overview.md"}'),r={name:"en-US/getting-started/overview.md"};function s(i,e,d,l,c,h){return a(),n("div",null,[...e[0]||(e[0]=[o("",19)])])}const g=t(r,[["render",s]]);export{u as __pageData,g as default};