@xenon-device-management/xenon 2.13.2 → 2.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -8
- package/lib/package.json +5 -5
- package/lib/public/assets/{AnnotationOverlay-BXruClDk.js → AnnotationOverlay-Btq3dZRI.js} +1 -1
- package/lib/public/assets/{ApiKeyGate-qTS4LPLC.js → ApiKeyGate-C9OoAgg_.js} +1 -1
- package/lib/public/assets/DeviceMosaicView-DBC_xczB.js +2 -0
- package/lib/public/assets/{EmptyState-Cr17PdDv.js → EmptyState-DqWU2-vM.js} +1 -1
- package/lib/public/assets/{FieldGroup-Bvn08svv.js → FieldGroup-CveQ3xrA.js} +1 -1
- package/lib/public/assets/{FilterMenu-DDSO8aDf.js → FilterMenu-BfKDSfHz.js} +1 -1
- package/lib/public/assets/{Menu-B-Qn2X3T.js → Menu-CtdCybzA.js} +1 -1
- package/lib/public/assets/{Modal-Cg9V5JYU.js → Modal-Bsvj1tm2.js} +1 -1
- package/lib/public/assets/{RecordingPage-BTUs9VTW.js → RecordingPage-CRofOiyx.js} +1 -1
- package/lib/public/assets/{RecordingsPage-DYcfxITK.js → RecordingsPage-jNQHb2IR.js} +2 -2
- package/lib/public/assets/{SegmentedControl-Zy7suhT5.js → SegmentedControl-C8HtTha-.js} +1 -1
- package/lib/public/assets/{SettingCard-CWYmycoe.js → SettingCard-D8K1LZNo.js} +1 -1
- package/lib/public/assets/{Table-io9fwa98.js → Table-zNTX92Pn.js} +1 -1
- package/lib/public/assets/{activity-Bdf_uIWl.js → activity-CJ8LwZq9.js} +1 -1
- package/lib/public/assets/ai-settings-CgxQZqrc.js +16 -0
- package/lib/public/assets/{api-keys-CPqtVpm3.js → api-keys-ECpo-zTo.js} +1 -1
- package/lib/public/assets/{apps-BgZan0H9.js → apps-BjGymyf3.js} +2 -2
- package/lib/public/assets/{arrow-left-B27ckB31.js → arrow-left-BWfCbeHP.js} +1 -1
- package/lib/public/assets/{arrow-right-DOF8ITCz.js → arrow-right-DC7UGf_n.js} +1 -1
- package/lib/public/assets/{arrow-up-right-eFG5KTFS.js → arrow-up-right-BOjwybDk.js} +1 -1
- package/lib/public/assets/{auth-shell-DlC3_27j.js → auth-shell-CxMTo9aH.js} +2 -2
- package/lib/public/assets/{builds-page-BuXpPfKo.js → builds-page-DOCm4HkA.js} +1 -1
- package/lib/public/assets/{button-fIW8owMI.js → button-Cg08-EMT.js} +1 -1
- package/lib/public/assets/{calendar-WNjmrF-a.js → calendar-CA1ikLJs.js} +1 -1
- package/lib/public/assets/{check-BdTh1Sq7.js → check-BMTaH72W.js} +1 -1
- package/lib/public/assets/{chevron-right-B4BKlsqk.js → chevron-right-B2QOv9Nx.js} +1 -1
- package/lib/public/assets/{circle-check-zJU80_EF.js → circle-check-CYXBoUqT.js} +1 -1
- package/lib/public/assets/{circle-x-5Uwquo0h.js → circle-x-DTwnSAnl.js} +1 -1
- package/lib/public/assets/{clock-BtUprDsZ.js → clock-C8_HViQP.js} +1 -1
- package/lib/public/assets/{copy-DGSbZI3u.js → copy-Be7LNMXV.js} +1 -1
- package/lib/public/assets/derive-UnLRp4r3.js +1 -0
- package/lib/public/assets/device-explorer-BOqtfGXz.js +282 -0
- package/lib/public/assets/{download-WG6l7BgD.js → download-B56lwxWP.js} +1 -1
- package/lib/public/assets/forgot-password-CCU6bzLn.js +1 -0
- package/lib/public/assets/h264Stream-C-OtmIuk.js +26 -0
- package/lib/public/assets/index-B9KQ6LsY.js +15 -0
- package/lib/public/assets/{index-DI1fGIyj.js → index-BOxe43p1.js} +5 -5
- package/lib/public/assets/{index-HDQVe1gi.js → index-CfxsUslp.js} +1 -1
- package/lib/public/assets/{input-BjDRKCea.js → input-CZHFjbSg.js} +1 -1
- package/lib/public/assets/{line-chart-C0zdgd0v.js → line-chart-Gl_Dz3X_.js} +1 -1
- package/lib/public/assets/{list-checks-BdW5CjM8.js → list-checks-CCgjeyGY.js} +1 -1
- package/lib/public/assets/{lock-Dy3L4I8E.js → lock-CkOwgDcx.js} +1 -1
- package/lib/public/assets/{login-BHbY9CLG.js → login-D5cc4w7M.js} +1 -1
- package/lib/public/assets/maintenance-settings-t7qr3fvX.js +6 -0
- package/lib/public/assets/{monitor-8xjkeHHi.js → monitor-DEJixKQO.js} +1 -1
- package/lib/public/assets/{mouse-pointer-2-CXdKMXQ8.js → mouse-pointer-2-CtOrk4M8.js} +1 -1
- package/lib/public/assets/{network-Cj8JOKON.js → network-Dii9qdvk.js} +1 -1
- package/lib/public/assets/{overview-CTg7F0im.js → overview-rolAACrO.js} +1 -1
- package/lib/public/assets/{page-header--aTyJXq6.js → page-header-COQZxJfR.js} +1 -1
- package/lib/public/assets/{play-B-FodgHV.js → play-DrN1Se_R.js} +1 -1
- package/lib/public/assets/{plus-CsIk10Cq.js → plus-5aq-9uRx.js} +1 -1
- package/lib/public/assets/{profile-page-DkFKkMfl.js → profile-page-6i5kY6kF.js} +1 -1
- package/lib/public/assets/{reset-password-I2-zqLlI.js → reset-password-sp2IBrc7.js} +1 -1
- package/lib/public/assets/runbook-page-DJDjeopU.js +253 -0
- package/lib/public/assets/{select-DvCSv25z.js → select-Bpyn7rWO.js} +1 -1
- package/lib/public/assets/{selector-detail-redirect-BLVfMJs_.js → selector-detail-redirect-BH74vmKv.js} +1 -1
- package/lib/public/assets/{selector-health-page-oqadRokn.js → selector-health-page-Cw_g218H.js} +2 -2
- package/lib/public/assets/session-detail-page-AZJE6XXE.js +4 -0
- package/lib/public/assets/settings-C3uyGhyc.js +6 -0
- package/lib/public/assets/{settings-Dep_3kbA.css → settings-K8UHWMdI.css} +1 -1
- package/lib/public/assets/{stat-tile-DV9Ix-4O.js → stat-tile-xVqAKIlI.js} +1 -1
- package/lib/public/assets/{tablet-6b_SEN2X.js → tablet-BxUScAeO.js} +1 -1
- package/lib/public/assets/{teams-BjZyfuHh.js → teams-B5ljGkY2.js} +1 -1
- package/lib/public/assets/{trash-2-CTZpPSdd.js → trash-2-B701i8sy.js} +1 -1
- package/lib/public/assets/{upload-P3XzwQUb.js → upload-C2gr44RS.js} +1 -1
- package/lib/public/assets/{use-builds-data-1cOCMf-z.js → use-builds-data-NeQOFEoy.js} +1 -1
- package/lib/public/assets/{use-password-reset-mode-DgF9w088.js → use-password-reset-mode-DEzJq5ef.js} +1 -1
- package/lib/public/assets/{users-DMF9Mk5H.js → users-D_vv_yz4.js} +1 -1
- package/lib/public/assets/{users-CiNTKUiz.js → users-MY6eNe6s.js} +1 -1
- package/lib/public/assets/{video-off-CHp1KU_T.js → video-off-OK1lNZQn.js} +1 -1
- package/lib/public/assets/webhook-settings-BU-C9lBf.js +1 -0
- package/lib/public/assets/{zap-DRz0tDq5.js → zap-DO9ry1iz.js} +1 -1
- package/lib/public/index.html +1 -1
- package/lib/schema.json +23 -25
- package/lib/src/XenonCapabilityManager.js +22 -5
- package/lib/src/app/dashboardPluginLink.js +117 -0
- package/lib/src/app/index.js +13 -34
- package/lib/src/app/openapi/control.yaml +73 -20
- package/lib/src/app/openapi/grid.yaml +31 -7
- package/lib/src/app/openapi/identity.yaml +103 -31
- package/lib/src/app/openapi/platform.yaml +165 -39
- package/lib/src/app/openapi/sessions.yaml +10 -3
- package/lib/src/app/routers/apikeys.js +14 -2
- package/lib/src/app/routers/auth.js +29 -5
- package/lib/src/app/routers/control.js +20 -2
- package/lib/src/app/routers/dashboard.js +69 -26
- package/lib/src/app/routers/grid.js +37 -13
- package/lib/src/app/routers/profile.js +21 -0
- package/lib/src/app/routers/streamType.js +7 -2
- package/lib/src/app/routers/users.js +10 -5
- package/lib/src/app/routers/webhook.js +8 -4
- package/lib/src/app/swagger.js +2 -0
- package/lib/src/app/ws/h264StreamWs.js +10 -1
- package/lib/src/config.js +51 -5
- package/lib/src/dashboard/commands.js +185 -141
- package/lib/src/dashboard/event-manager.js +88 -67
- package/lib/src/dashboard/services/failure-analysis-service.js +136 -45
- package/lib/src/dashboard/sessionCommandSummary.js +39 -0
- package/lib/src/data-service/appleFamily.js +43 -0
- package/lib/src/data-service/db.js +11 -0
- package/lib/src/data-service/device-service.js +6 -1
- package/lib/src/data-service/device-store.js +76 -3
- package/lib/src/data-service/deviceClaims.js +37 -0
- package/lib/src/data-service/deviceFieldOwners.js +25 -11
- package/lib/src/data-service/deviceSettings.js +79 -0
- package/lib/src/data-service/prisma-store.js +169 -15
- package/lib/src/data-service/web-config-service.js +50 -92
- package/lib/src/device-managers/AndroidDeviceManager.js +9 -31
- package/lib/src/device-managers/android/AndroidH264StreamService.js +69 -20
- package/lib/src/device-managers/android/H264Multiplexer.js +38 -4
- package/lib/src/device-managers/ios/WDAClient.js +44 -43
- package/lib/src/device-managers/shellCommands.js +96 -0
- package/lib/src/device-utils.js +114 -40
- package/lib/src/gateway/defaultGateway.js +1 -1
- package/lib/src/gateway/forwardToNode.js +2 -0
- package/lib/src/gateway/healReport.js +87 -0
- package/lib/src/gateway/sessionGateway.js +12 -2
- package/lib/src/generated/client/edge.js +18 -3
- package/lib/src/generated/client/index-browser.js +15 -0
- package/lib/src/generated/client/index.d.ts +2086 -379
- package/lib/src/generated/client/index.js +18 -3
- package/lib/src/generated/client/package.json +1 -1
- package/lib/src/generated/client/schema.prisma +38 -7
- package/lib/src/generated/client/wasm.js +15 -0
- package/lib/src/interceptors/CommandInterceptor.js +271 -188
- package/lib/src/interceptors/xenonScripts.js +55 -0
- package/lib/src/interfaces/IPluginArgs.js +1 -2
- package/lib/src/middleware/authMiddleware.js +15 -3
- package/lib/src/middleware/commandCaller.js +3 -3
- package/lib/src/middleware/verifyCredential.js +58 -1
- package/lib/src/plugin.js +23 -4
- package/lib/src/prisma.js +1 -1
- package/lib/src/scripts/database-check.js +124 -0
- package/lib/src/services/AICommandService.js +9 -2
- package/lib/src/services/AIService.js +281 -32
- package/lib/src/services/CleanupService.js +6 -1
- package/lib/src/services/EmailService.js +29 -0
- package/lib/src/services/InterceptorService.js +70 -13
- package/lib/src/services/NetworkConditioningService.js +85 -88
- package/lib/src/services/NotificationService.js +36 -29
- package/lib/src/services/OrphanSweeper.js +7 -0
- package/lib/src/services/PortAllocator.js +5 -0
- package/lib/src/services/SelectorVerificationJob.js +15 -4
- package/lib/src/services/ServerManager.js +105 -9
- package/lib/src/services/SessionLifecycleService.js +133 -75
- package/lib/src/services/ShutdownCoordinator.js +33 -0
- package/lib/src/services/SocketServer.js +19 -3
- package/lib/src/services/TeamService.js +20 -3
- package/lib/src/services/bug-report/video-slice.js +4 -1
- package/lib/src/services/device-access/leaseOverride.js +7 -5
- package/lib/src/services/healing/FuzzyXmlHealingProvider.js +51 -0
- package/lib/src/services/healing/HealEtalonService.js +3 -2
- package/lib/src/services/healing/HealingOrchestrator.js +85 -71
- package/lib/src/services/healing/OcrHealingProvider.js +41 -64
- package/lib/src/services/healing/ResilioTreeHealingProvider.js +41 -50
- package/lib/src/services/healing/VisualAiHealingProvider.js +1 -1
- package/lib/src/services/healing/fingerprintIdentity.js +126 -0
- package/lib/src/services/healing/resilioPath.js +274 -0
- package/lib/src/services/interceptor/AndroidProxyAdapter.js +18 -0
- package/lib/src/services/interceptor/interceptorOptions.js +44 -0
- package/lib/src/services/logcat/SessionDeviceLogs.js +271 -0
- package/lib/src/services/logcat/deviceLogBook.js +163 -0
- package/lib/src/services/network/AndroidRadios.js +71 -0
- package/lib/src/services/network/PhoneNetworkLedger.js +184 -0
- package/lib/src/services/network/PhoneNetworkRestore.js +330 -0
- package/lib/src/services/network/adbForPhone.js +60 -0
- package/lib/src/services/network/phoneNetworkLock.js +20 -0
- package/lib/src/services/network/xenonProxy.js +107 -0
- package/lib/src/services/ocr/ocrData.js +118 -0
- package/lib/src/services/ocr/vendor/LICENSE-tessdata.txt +202 -0
- package/lib/src/services/ocr/vendor/eng.traineddata.gz +0 -0
- package/lib/src/services/omni-vision/OmniVisionService.js +132 -95
- package/lib/src/services/omni-vision/VisionAssertionService.js +28 -25
- package/lib/src/services/omni-vision/ocrTextMatch.js +105 -0
- package/lib/src/services/omni-vision/screenScale.js +68 -0
- package/lib/src/services/passwordResetLink.js +50 -9
- package/lib/src/services/passwordResetMode.js +3 -1
- package/lib/src/services/publicUrl.js +45 -0
- package/lib/src/services/recording/concurrency-gate.js +12 -3
- package/lib/src/services/session/sessionIdentity.js +5 -3
- package/lib/src/services/session/shutdownReason.js +26 -0
- package/lib/src/services/settings/SelfHealingSwitch.js +70 -0
- package/lib/src/services/settings/aiEngineSettings.js +219 -0
- package/lib/src/services/settings/labSettings.js +149 -0
- package/lib/src/services/token/mintedLifetime.js +51 -0
- package/lib/src/services/webhookEvents.js +173 -0
- package/lib/src/sessions/SessionManager.js +8 -2
- package/lib/src/sessions/sessionMemory.js +25 -0
- package/lib/test/helpers/fake-adb.js +58 -0
- package/lib/test/helpers/fake-ai-provider.js +188 -0
- package/lib/test/helpers/fake-device-table.js +63 -24
- package/lib/test/helpers/loki-stores.js +33 -0
- package/lib/test/helpers/page-sources.js +164 -0
- package/lib/test/helpers/scratch-database.js +58 -13
- package/lib/test/integration/audit-ingest.spec.js +10 -10
- package/lib/test/integration/auth-flow.spec.js +9 -14
- package/lib/test/integration/auth-rate-limit.spec.js +6 -3
- package/lib/test/integration/bug-report-route.spec.js +22 -2
- package/lib/test/integration/forgot-password-rate-limit.spec.js +6 -3
- package/lib/test/integration/forgot-password.spec.js +17 -18
- package/lib/test/integration/legacy-deprecation-headers.spec.js +5 -2
- package/lib/test/integration/migration.spec.js +6 -1
- package/lib/test/integration/node-pair-auth-rest.spec.js +5 -9
- package/lib/test/integration/ports-router.spec.js +4 -4
- package/lib/test/integration/prisma-device-store-add-devices.spec.js +2 -3
- package/lib/test/integration/prisma-device-store-team-filter.spec.js +2 -5
- package/lib/test/integration/profile-tokens.spec.js +10 -16
- package/lib/test/integration/recordings-router.spec.js +16 -16
- package/lib/test/integration/reset-revokes-sessions.spec.js +4 -9
- package/lib/test/integration/role-matrix.spec.js +4 -9
- package/lib/test/integration/sdk-leases-router.spec.js +9 -9
- package/lib/test/integration/sdk-version.spec.js +2 -2
- package/lib/test/integration/selector-health-endpoint.spec.js +5 -5
- package/lib/test/integration/team-membership-migration.spec.js +73 -12
- package/lib/test/integration/team-visibility-apps.spec.js +15 -22
- package/lib/test/integration/team-visibility-control.spec.js +96 -69
- package/lib/test/integration/team-visibility-dashboard.spec.js +7 -23
- package/lib/test/integration/team-visibility-grid.spec.js +16 -15
- package/lib/test/integration/team-visibility-leases.spec.js +8 -11
- package/lib/test/integration/team-visibility-recordings.spec.js +6 -19
- package/lib/test/integration/team-visibility-sessions.spec.js +6 -19
- package/lib/test/integration/users-flow.spec.js +7 -12
- package/lib/test/integration/users-lockout.spec.js +5 -3
- package/lib/test/unit/EmailService.test.js +66 -0
- package/lib/test/unit/ResilioTreeHealingProvider.test.js +46 -19
- package/lib/test/unit/TeamService.test.js +3 -0
- package/lib/test/unit/XenonCapabilityManager.spec.js +4 -2
- package/lib/test/unit/ai-call-time-limit.spec.js +130 -0
- package/lib/test/unit/ai-engine-settings.spec.js +338 -0
- package/lib/test/unit/ai-provider-switch.spec.js +130 -0
- package/lib/test/unit/ai-rate-limit.spec.js +126 -0
- package/lib/test/unit/android-h264-viewers.spec.js +272 -0
- package/lib/test/unit/android-preview-hold.spec.js +3 -2
- package/lib/test/unit/apikeys-router.spec.js +84 -0
- package/lib/test/unit/apple-family.spec.js +36 -0
- package/lib/test/unit/authMiddleware.bearer.spec.js +9 -0
- package/lib/test/unit/authMiddleware.credentialLifetime.spec.js +149 -0
- package/lib/test/unit/bug-report/video-slice.spec.js +19 -0
- package/lib/test/unit/cleanup-settings-db.spec.js +103 -0
- package/lib/test/unit/cleanup-settings.spec.js +244 -0
- package/lib/test/unit/dashboard-api-paths.spec.js +101 -0
- package/lib/test/unit/dashboard-commands.spec.js +249 -0
- package/lib/test/unit/dashboard-events-device-logs.spec.js +207 -0
- package/lib/test/unit/dashboard-events-team-scope.spec.js +9 -6
- package/lib/test/unit/dashboard-plugin-link.spec.js +213 -0
- package/lib/test/unit/database-check.spec.js +108 -0
- package/lib/test/unit/default-plugin-args.spec.js +33 -0
- package/lib/test/unit/device-log-book.spec.js +180 -0
- package/lib/test/unit/device-offline-webhook.spec.js +81 -0
- package/lib/test/unit/device-setting-columns.spec.js +66 -0
- package/lib/test/unit/device-settings-loki.spec.js +87 -0
- package/lib/test/unit/device-settings-survive.spec.js +555 -0
- package/lib/test/unit/device-sync-lost-update.spec.js +5 -0
- package/lib/test/unit/emulator-boot.spec.js +91 -0
- package/lib/test/unit/enable-dashboard-option.spec.js +57 -0
- package/lib/test/unit/event-log-session-data.spec.js +244 -0
- package/lib/test/unit/failure-analysis.spec.js +182 -0
- package/lib/test/unit/failure-categories.spec.js +128 -0
- package/lib/test/unit/fingerprint-identity.spec.js +433 -0
- package/lib/test/unit/h264-multiplexer.spec.js +46 -0
- package/lib/test/unit/heal-report.spec.js +71 -0
- package/lib/test/unit/healing-instrumentation.spec.js +6 -1
- package/lib/test/unit/healing-tier-gate.spec.js +73 -29
- package/lib/test/unit/healing-tiers-every-session.spec.js +219 -0
- package/lib/test/unit/hub-node-gateway-appium-server.spec.js +219 -0
- package/lib/test/unit/hub-node-same-host.spec.js +5 -0
- package/lib/test/unit/interceptor-visual-elements.spec.js +192 -0
- package/lib/test/unit/iphone-ipad-only.spec.js +132 -0
- package/lib/test/unit/json-logging-option.spec.js +74 -0
- package/lib/test/unit/lab-settings.spec.js +218 -0
- package/lib/test/unit/lease/lease-override.spec.js +23 -6
- package/lib/test/unit/lease/session-lease-proof.spec.js +16 -4
- package/lib/test/unit/max-sessions.spec.js +240 -0
- package/lib/test/unit/ocr-healing-tier-real-ocr.spec.js +113 -0
- package/lib/test/unit/ocr-healing-tier.spec.js +122 -0
- package/lib/test/unit/ocr-offline.spec.js +213 -0
- package/lib/test/unit/ocr-text-match.spec.js +44 -0
- package/lib/test/unit/omni-virtual-element-store.spec.js +301 -0
- package/lib/test/unit/omni-vision-analyze-screen.spec.js +72 -0
- package/lib/test/unit/omni-vision-ios-points.spec.js +159 -0
- package/lib/test/unit/omni-vision-tap-text.spec.js +129 -0
- package/lib/test/unit/omni-vision.spec.js +6 -8
- package/lib/test/unit/package-engines.spec.js +27 -0
- package/lib/test/unit/partial-config-file.spec.js +14 -0
- package/lib/test/unit/passwordResetMode.test.js +10 -2
- package/lib/test/unit/phone-network/boot-clean-up.spec.js +64 -0
- package/lib/test/unit/phone-network/interceptor-options.spec.js +77 -0
- package/lib/test/unit/phone-network/interceptor-proxy-restore.spec.js +145 -0
- package/lib/test/unit/phone-network/network-conditioning.spec.js +145 -0
- package/lib/test/unit/phone-network/phone-network-restore.spec.js +246 -0
- package/lib/test/unit/phone-network/session-end-paths.spec.js +182 -0
- package/lib/test/unit/phone-network/session-start.spec.js +110 -0
- package/lib/test/unit/phone-network/xenon-proxy.spec.js +69 -0
- package/lib/test/unit/plugin.spec.js +3 -3
- package/lib/test/unit/profile-router.test.js +122 -1
- package/lib/test/unit/queue-requester.spec.js +1 -1
- package/lib/test/unit/recording-options.spec.js +181 -0
- package/lib/test/unit/reset-link-address.spec.js +266 -0
- package/lib/test/unit/reset-link.test.js +10 -4
- package/lib/test/unit/resilio-path-healing.spec.js +270 -0
- package/lib/test/unit/selector-learning-every-session.spec.js +179 -0
- package/lib/test/unit/selector-verification-clean-build.spec.js +130 -0
- package/lib/test/unit/selector-verification-job.spec.js +13 -13
- package/lib/test/unit/self-healing-boot.spec.js +80 -0
- package/lib/test/unit/self-healing-setting.spec.js +273 -0
- package/lib/test/unit/session-app-resolution.spec.js +5 -1
- package/lib/test/unit/session-attribution-wiring.spec.js +41 -13
- package/lib/test/unit/session-create-credential-owner.spec.js +242 -0
- package/lib/test/unit/session-credential-strip.spec.js +1 -1
- package/lib/test/unit/session-device-logs.spec.js +347 -0
- package/lib/test/unit/session-end-failure-analysis.spec.js +133 -0
- package/lib/test/unit/session-failed-webhook.spec.js +170 -0
- package/lib/test/unit/session-log-indexes.spec.js +64 -3
- package/lib/test/unit/shell-commands.spec.js +133 -0
- package/lib/test/unit/socketServer.scopedEmit.spec.js +2 -0
- package/lib/test/unit/socketServer.sessionCookie.spec.js +2 -1
- package/lib/test/unit/stream-start-pipelines.spec.js +264 -0
- package/lib/test/unit/stream-status-type.spec.js +4 -0
- package/lib/test/unit/token-mint-limits.spec.js +165 -0
- package/lib/test/unit/unexpected-shutdown-reason.spec.js +163 -0
- package/lib/test/unit/verify-credential.spec.js +33 -0
- package/lib/test/unit/vision-assertion.spec.js +119 -0
- package/lib/test/unit/wda-client-shell.spec.js +133 -0
- package/lib/test/unit/web-config-service.spec.js +98 -0
- package/lib/test/unit/webhook-delivery.spec.js +24 -0
- package/lib/test/unit/webhook-payloads.spec.js +273 -0
- package/lib/test/unit/xenon-execute-scripts.spec.js +138 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/web/src/components/webhook-settings/webhookEventVariables.json +30 -0
- package/package.json +5 -5
- package/prisma/migrations/20261004140000_keep_device_settings/migration.sql +19 -0
- package/prisma/migrations/20261004174413_locator_etalon_path/migration.sql +2 -0
- package/prisma/schema.prisma +38 -7
- package/schema.json +23 -25
- package/scripts/generate-types-from-schema.js +1 -2
- package/scripts/lib/always-present-plugin-args.js +4 -1
- package/lib/public/assets/BugReportButton-BoGhlI7F.js +0 -15
- package/lib/public/assets/DeviceMosaicView-8J0oYqMM.js +0 -2
- package/lib/public/assets/ai-settings-Bce5SJob.js +0 -21
- package/lib/public/assets/device-explorer-C-KnhMHI.js +0 -279
- package/lib/public/assets/forgot-password-DnudqFFo.js +0 -1
- package/lib/public/assets/maintenance-settings-zDVlOMVK.js +0 -6
- package/lib/public/assets/recording-group-store-WVM3hoXn.js +0 -26
- package/lib/public/assets/runbook-page-DJTVCJX7.js +0 -124
- package/lib/public/assets/session-detail-page-CGn55Pvl.js +0 -4
- package/lib/public/assets/settings-MsVU2ukE.js +0 -6
- package/lib/public/assets/webhook-settings-DiS8geIm.js +0 -1
- /package/lib/public/assets/{BugReportButton-CPBjfiv4.css → index-CPBjfiv4.css} +0 -0
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
import{J as _e,R as Fe,i as Fr,u as Ir,j as ne,K as Or}from"./index-BOxe43p1.js";import{h as vr}from"./derive-UnLRp4r3.js";import{A as Lr}from"./arrow-left-BWfCbeHP.js";const $n=["http","https","mailto","tel"];function Dr(e){const n=(e||"").trim(),t=n.charAt(0);if(t==="#"||t==="/")return n;const r=n.indexOf(":");if(r===-1)return n;let i=-1;for(;++i<$n.length;){const l=$n[i];if(r===l.length&&n.slice(0,l.length).toLowerCase()===l)return n}return i=n.indexOf("?"),i!==-1&&r>i||(i=n.indexOf("#"),i!==-1&&r>i)?n:"javascript:void(0)"}/*!
|
|
2
|
+
* Determine if an object is a Buffer
|
|
3
|
+
*
|
|
4
|
+
* @author Feross Aboukhadijeh <https://feross.org>
|
|
5
|
+
* @license MIT
|
|
6
|
+
*/var zr=function(n){return n!=null&&n.constructor!=null&&typeof n.constructor.isBuffer=="function"&&n.constructor.isBuffer(n)};const vt=_e(zr);function Ne(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?qn(e.position):"start"in e||"end"in e?qn(e):"line"in e||"column"in e?xn(e):""}function xn(e){return Wn(e&&e.line)+":"+Wn(e&&e.column)}function qn(e){return xn(e&&e.start)+"-"+xn(e&&e.end)}function Wn(e){return e&&typeof e=="number"?e:1}class ie extends Error{constructor(n,t,r){const i=[null,null];let l={start:{line:null,column:null},end:{line:null,column:null}};if(super(),typeof t=="string"&&(r=t,t=void 0),typeof r=="string"){const o=r.indexOf(":");o===-1?i[1]=r:(i[0]=r.slice(0,o),i[1]=r.slice(o+1))}t&&("type"in t||"position"in t?t.position&&(l=t.position):"start"in t||"end"in t?l=t:("line"in t||"column"in t)&&(l.start=t)),this.name=Ne(t)||"1:1",this.message=typeof n=="object"?n.message:n,this.stack="",typeof n=="object"&&n.stack&&(this.stack=n.stack),this.reason=this.message,this.fatal,this.line=l.start.line,this.column=l.start.column,this.position=l,this.source=i[0],this.ruleId=i[1],this.file,this.actual,this.expected,this.url,this.note}}ie.prototype.file="";ie.prototype.name="";ie.prototype.reason="";ie.prototype.message="";ie.prototype.stack="";ie.prototype.fatal=null;ie.prototype.column=null;ie.prototype.line=null;ie.prototype.source=null;ie.prototype.ruleId=null;ie.prototype.position=null;const pe={basename:Rr,dirname:Br,extname:Nr,join:Mr,sep:"/"};function Rr(e,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');je(e);let t=0,r=-1,i=e.length,l;if(n===void 0||n.length===0||n.length>e.length){for(;i--;)if(e.charCodeAt(i)===47){if(l){t=i+1;break}}else r<0&&(l=!0,r=i+1);return r<0?"":e.slice(t,r)}if(n===e)return"";let o=-1,a=n.length-1;for(;i--;)if(e.charCodeAt(i)===47){if(l){t=i+1;break}}else o<0&&(l=!0,o=i+1),a>-1&&(e.charCodeAt(i)===n.charCodeAt(a--)?a<0&&(r=i):(a=-1,r=o));return t===r?r=o:r<0&&(r=e.length),e.slice(t,r)}function Br(e){if(je(e),e.length===0)return".";let n=-1,t=e.length,r;for(;--t;)if(e.charCodeAt(t)===47){if(r){n=t;break}}else r||(r=!0);return n<0?e.charCodeAt(0)===47?"/":".":n===1&&e.charCodeAt(0)===47?"//":e.slice(0,n)}function Nr(e){je(e);let n=e.length,t=-1,r=0,i=-1,l=0,o;for(;n--;){const a=e.charCodeAt(n);if(a===47){if(o){r=n+1;break}continue}t<0&&(o=!0,t=n+1),a===46?i<0?i=n:l!==1&&(l=1):i>-1&&(l=-1)}return i<0||t<0||l===0||l===1&&i===t-1&&i===r+1?"":e.slice(i,t)}function Mr(...e){let n=-1,t;for(;++n<e.length;)je(e[n]),e[n]&&(t=t===void 0?e[n]:t+"/"+e[n]);return t===void 0?".":_r(t)}function _r(e){je(e);const n=e.charCodeAt(0)===47;let t=jr(e,!n);return t.length===0&&!n&&(t="."),t.length>0&&e.charCodeAt(e.length-1)===47&&(t+="/"),n?"/"+t:t}function jr(e,n){let t="",r=0,i=-1,l=0,o=-1,a,s;for(;++o<=e.length;){if(o<e.length)a=e.charCodeAt(o);else{if(a===47)break;a=47}if(a===47){if(!(i===o-1||l===1))if(i!==o-1&&l===2){if(t.length<2||r!==2||t.charCodeAt(t.length-1)!==46||t.charCodeAt(t.length-2)!==46){if(t.length>2){if(s=t.lastIndexOf("/"),s!==t.length-1){s<0?(t="",r=0):(t=t.slice(0,s),r=t.length-1-t.lastIndexOf("/")),i=o,l=0;continue}}else if(t.length>0){t="",r=0,i=o,l=0;continue}}n&&(t=t.length>0?t+"/..":"..",r=2)}else t.length>0?t+="/"+e.slice(i+1,o):t=e.slice(i+1,o),r=o-i-1;i=o,l=0}else a===46&&l>-1?l++:l=-1}return t}function je(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const Hr={cwd:Ur};function Ur(){return"/"}function kn(e){return e!==null&&typeof e=="object"&&e.href&&e.origin}function Vr(e){if(typeof e=="string")e=new URL(e);else if(!kn(e)){const n=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw n.code="ERR_INVALID_ARG_TYPE",n}if(e.protocol!=="file:"){const n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return $r(e)}function $r(e){if(e.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const n=e.pathname;let t=-1;for(;++t<n.length;)if(n.charCodeAt(t)===37&&n.charCodeAt(t+1)===50){const r=n.charCodeAt(t+2);if(r===70||r===102){const i=new TypeError("File URL path must not include encoded / characters");throw i.code="ERR_INVALID_FILE_URL_PATH",i}}return decodeURIComponent(n)}const un=["history","path","basename","stem","extname","dirname"];class Lt{constructor(n){let t;n?typeof n=="string"||qr(n)?t={value:n}:kn(n)?t={path:n}:t=n:t={},this.data={},this.messages=[],this.history=[],this.cwd=Hr.cwd(),this.value,this.stored,this.result,this.map;let r=-1;for(;++r<un.length;){const l=un[r];l in t&&t[l]!==void 0&&t[l]!==null&&(this[l]=l==="history"?[...t[l]]:t[l])}let i;for(i in t)un.includes(i)||(this[i]=t[i])}get path(){return this.history[this.history.length-1]}set path(n){kn(n)&&(n=Vr(n)),cn(n,"path"),this.path!==n&&this.history.push(n)}get dirname(){return typeof this.path=="string"?pe.dirname(this.path):void 0}set dirname(n){Xn(this.basename,"dirname"),this.path=pe.join(n||"",this.basename)}get basename(){return typeof this.path=="string"?pe.basename(this.path):void 0}set basename(n){cn(n,"basename"),sn(n,"basename"),this.path=pe.join(this.dirname||"",n)}get extname(){return typeof this.path=="string"?pe.extname(this.path):void 0}set extname(n){if(sn(n,"extname"),Xn(this.dirname,"extname"),n){if(n.charCodeAt(0)!==46)throw new Error("`extname` must start with `.`");if(n.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=pe.join(this.dirname,this.stem+(n||""))}get stem(){return typeof this.path=="string"?pe.basename(this.path,this.extname):void 0}set stem(n){cn(n,"stem"),sn(n,"stem"),this.path=pe.join(this.dirname||"",n+(this.extname||""))}toString(n){return(this.value||"").toString(n||void 0)}message(n,t,r){const i=new ie(n,t,r);return this.path&&(i.name=this.path+":"+i.name,i.file=this.path),i.fatal=!1,this.messages.push(i),i}info(n,t,r){const i=this.message(n,t,r);return i.fatal=null,i}fail(n,t,r){const i=this.message(n,t,r);throw i.fatal=!0,i}}function sn(e,n){if(e&&e.includes(pe.sep))throw new Error("`"+n+"` cannot be a path: did not expect `"+pe.sep+"`")}function cn(e,n){if(!e)throw new Error("`"+n+"` cannot be empty")}function Xn(e,n){if(!e)throw new Error("Setting `"+n+"` requires `path` to be set too")}function qr(e){return vt(e)}function Qn(e){if(e)throw e}var $e=Object.prototype.hasOwnProperty,Dt=Object.prototype.toString,Yn=Object.defineProperty,Kn=Object.getOwnPropertyDescriptor,Gn=function(n){return typeof Array.isArray=="function"?Array.isArray(n):Dt.call(n)==="[object Array]"},Jn=function(n){if(!n||Dt.call(n)!=="[object Object]")return!1;var t=$e.call(n,"constructor"),r=n.constructor&&n.constructor.prototype&&$e.call(n.constructor.prototype,"isPrototypeOf");if(n.constructor&&!t&&!r)return!1;var i;for(i in n);return typeof i>"u"||$e.call(n,i)},Zn=function(n,t){Yn&&t.name==="__proto__"?Yn(n,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):n[t.name]=t.newValue},et=function(n,t){if(t==="__proto__")if($e.call(n,t)){if(Kn)return Kn(n,t).value}else return;return n[t]},Wr=function e(){var n,t,r,i,l,o,a=arguments[0],s=1,u=arguments.length,c=!1;for(typeof a=="boolean"&&(c=a,a=arguments[1]||{},s=2),(a==null||typeof a!="object"&&typeof a!="function")&&(a={});s<u;++s)if(n=arguments[s],n!=null)for(t in n)r=et(a,t),i=et(n,t),a!==i&&(c&&i&&(Jn(i)||(l=Gn(i)))?(l?(l=!1,o=r&&Gn(r)?r:[]):o=r&&Jn(r)?r:{},Zn(a,{name:t,newValue:e(c,o,i)})):typeof i<"u"&&Zn(a,{name:t,newValue:i}));return a};const nt=_e(Wr);function wn(e){if(typeof e!="object"||e===null)return!1;const n=Object.getPrototypeOf(e);return(n===null||n===Object.prototype||Object.getPrototypeOf(n)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function Xr(){const e=[],n={run:t,use:r};return n;function t(...i){let l=-1;const o=i.pop();if(typeof o!="function")throw new TypeError("Expected function as last argument, not "+o);a(null,...i);function a(s,...u){const c=e[++l];let m=-1;if(s){o(s);return}for(;++m<i.length;)(u[m]===null||u[m]===void 0)&&(u[m]=i[m]);i=u,c?Qr(c,a)(...u):o(null,...u)}}function r(i){if(typeof i!="function")throw new TypeError("Expected `middelware` to be a function, not "+i);return e.push(i),n}}function Qr(e,n){let t;return r;function r(...o){const a=e.length>o.length;let s;a&&o.push(i);try{s=e.apply(this,o)}catch(u){const c=u;if(a&&t)throw c;return i(c)}a||(s&&s.then&&typeof s.then=="function"?s.then(l,i):s instanceof Error?i(s):l(s))}function i(o,...a){t||(t=!0,n(o,...a))}function l(o){i(null,o)}}const Yr=Rt().freeze(),zt={}.hasOwnProperty;function Rt(){const e=Xr(),n=[];let t={},r,i=-1;return l.data=o,l.Parser=void 0,l.Compiler=void 0,l.freeze=a,l.attachers=n,l.use=s,l.parse=u,l.stringify=c,l.run=m,l.runSync=d,l.process=h,l.processSync=b,l;function l(){const x=Rt();let C=-1;for(;++C<n.length;)x.use(...n[C]);return x.data(nt(!0,{},t)),x}function o(x,C){return typeof x=="string"?arguments.length===2?(fn("data",r),t[x]=C,l):zt.call(t,x)&&t[x]||null:x?(fn("data",r),t=x,l):t}function a(){if(r)return l;for(;++i<n.length;){const[x,...C]=n[i];if(C[0]===!1)continue;C[0]===!0&&(C[0]=void 0);const k=x.call(l,...C);typeof k=="function"&&e.use(k)}return r=!0,i=Number.POSITIVE_INFINITY,l}function s(x,...C){let k;if(fn("use",r),x!=null)if(typeof x=="function")R(x,...C);else if(typeof x=="object")Array.isArray(x)?z(x):E(x);else throw new TypeError("Expected usable value, not `"+x+"`");return k&&(t.settings=Object.assign(t.settings||{},k)),l;function L(g){if(typeof g=="function")R(g);else if(typeof g=="object")if(Array.isArray(g)){const[T,...D]=g;R(T,...D)}else E(g);else throw new TypeError("Expected usable value, not `"+g+"`")}function E(g){z(g.plugins),g.settings&&(k=Object.assign(k||{},g.settings))}function z(g){let T=-1;if(g!=null)if(Array.isArray(g))for(;++T<g.length;){const D=g[T];L(D)}else throw new TypeError("Expected a list of plugins, not `"+g+"`")}function R(g,T){let D=-1,M;for(;++D<n.length;)if(n[D][0]===g){M=n[D];break}M?(wn(M[1])&&wn(T)&&(T=nt(!0,M[1],T)),M[1]=T):n.push([...arguments])}}function u(x){l.freeze();const C=Re(x),k=l.Parser;return pn("parse",k),tt(k,"parse")?new k(String(C),C).parse():k(String(C),C)}function c(x,C){l.freeze();const k=Re(C),L=l.Compiler;return hn("stringify",L),rt(x),tt(L,"compile")?new L(x,k).compile():L(x,k)}function m(x,C,k){if(rt(x),l.freeze(),!k&&typeof C=="function"&&(k=C,C=void 0),!k)return new Promise(L);L(null,k);function L(E,z){e.run(x,Re(C),R);function R(g,T,D){T=T||x,g?z(g):E?E(T):k(null,T,D)}}}function d(x,C){let k,L;return l.run(x,C,E),it("runSync","run",L),k;function E(z,R){Qn(z),k=R,L=!0}}function h(x,C){if(l.freeze(),pn("process",l.Parser),hn("process",l.Compiler),!C)return new Promise(k);k(null,C);function k(L,E){const z=Re(x);l.run(l.parse(z),z,(g,T,D)=>{if(g||!T||!D)R(g);else{const M=l.stringify(T,D);M==null||(Jr(M)?D.value=M:D.result=M),R(g,D)}});function R(g,T){g||!T?E(g):L?L(T):C(null,T)}}}function b(x){let C;l.freeze(),pn("processSync",l.Parser),hn("processSync",l.Compiler);const k=Re(x);return l.process(k,L),it("processSync","process",C),k;function L(E){C=!0,Qn(E)}}}function tt(e,n){return typeof e=="function"&&e.prototype&&(Kr(e.prototype)||n in e.prototype)}function Kr(e){let n;for(n in e)if(zt.call(e,n))return!0;return!1}function pn(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `Parser`")}function hn(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `Compiler`")}function fn(e,n){if(n)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function rt(e){if(!wn(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function it(e,n,t){if(!t)throw new Error("`"+e+"` finished async. Use `"+n+"` instead")}function Re(e){return Gr(e)?e:new Lt(e)}function Gr(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function Jr(e){return typeof e=="string"||vt(e)}const Zr={};function ei(e,n){const t=Zr,r=typeof t.includeImageAlt=="boolean"?t.includeImageAlt:!0,i=typeof t.includeHtml=="boolean"?t.includeHtml:!0;return Bt(e,r,i)}function Bt(e,n,t){if(ni(e)){if("value"in e)return e.type==="html"&&!t?"":e.value;if(n&&"alt"in e&&e.alt)return e.alt;if("children"in e)return lt(e.children,n,t)}return Array.isArray(e)?lt(e,n,t):""}function lt(e,n,t){const r=[];let i=-1;for(;++i<e.length;)r[i]=Bt(e[i],n,t);return r.join("")}function ni(e){return!!(e&&typeof e=="object")}function fe(e,n,t,r){const i=e.length;let l=0,o;if(n<0?n=-n>i?0:i+n:n=n>i?i:n,t=t>0?t:0,r.length<1e4)o=Array.from(r),o.unshift(n,t),e.splice(...o);else for(t&&e.splice(n,t);l<r.length;)o=r.slice(l,l+1e4),o.unshift(n,0),e.splice(...o),l+=1e4,n+=1e4}function re(e,n){return e.length>0?(fe(e,e.length,0,n),e):n}const ot={}.hasOwnProperty;function ti(e){const n={};let t=-1;for(;++t<e.length;)ri(n,e[t]);return n}function ri(e,n){let t;for(t in n){const i=(ot.call(e,t)?e[t]:void 0)||(e[t]={}),l=n[t];let o;if(l)for(o in l){ot.call(i,o)||(i[o]=[]);const a=l[o];ii(i[o],Array.isArray(a)?a:a?[a]:[])}}}function ii(e,n){let t=-1;const r=[];for(;++t<n.length;)(n[t].add==="after"?e:r).push(n[t]);fe(e,0,0,r)}const li=/[!-\/:-@\[-`\{-~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/,he=be(/[A-Za-z]/),te=be(/[\dA-Za-z]/),oi=be(/[#-'*+\--9=?A-Z^-~]/);function bn(e){return e!==null&&(e<32||e===127)}const Sn=be(/\d/),ai=be(/[\dA-Fa-f]/),ui=be(/[!-/:-@[-`{-~]/);function I(e){return e!==null&&e<-2}function Z(e){return e!==null&&(e<0||e===32)}function N(e){return e===-2||e===-1||e===32}const si=be(li),ci=be(/\s/);function be(e){return n;function n(t){return t!==null&&e.test(String.fromCharCode(t))}}function V(e,n,t,r){const i=r?r-1:Number.POSITIVE_INFINITY;let l=0;return o;function o(s){return N(s)?(e.enter(t),a(s)):n(s)}function a(s){return N(s)&&l++<i?(e.consume(s),a):(e.exit(t),n(s))}}const pi={tokenize:hi};function hi(e){const n=e.attempt(this.parser.constructs.contentInitial,r,i);let t;return n;function r(a){if(a===null){e.consume(a);return}return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),V(e,n,"linePrefix")}function i(a){return e.enter("paragraph"),l(a)}function l(a){const s=e.enter("chunkText",{contentType:"text",previous:t});return t&&(t.next=s),t=s,o(a)}function o(a){if(a===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(a);return}return I(a)?(e.consume(a),e.exit("chunkText"),l):(e.consume(a),o)}}const fi={tokenize:mi},at={tokenize:di};function mi(e){const n=this,t=[];let r=0,i,l,o;return a;function a(E){if(r<t.length){const z=t[r];return n.containerState=z[1],e.attempt(z[0].continuation,s,u)(E)}return u(E)}function s(E){if(r++,n.containerState._closeFlow){n.containerState._closeFlow=void 0,i&&L();const z=n.events.length;let R=z,g;for(;R--;)if(n.events[R][0]==="exit"&&n.events[R][1].type==="chunkFlow"){g=n.events[R][1].end;break}k(r);let T=z;for(;T<n.events.length;)n.events[T][1].end=Object.assign({},g),T++;return fe(n.events,R+1,0,n.events.slice(z)),n.events.length=T,u(E)}return a(E)}function u(E){if(r===t.length){if(!i)return d(E);if(i.currentConstruct&&i.currentConstruct.concrete)return b(E);n.interrupt=!!(i.currentConstruct&&!i._gfmTableDynamicInterruptHack)}return n.containerState={},e.check(at,c,m)(E)}function c(E){return i&&L(),k(r),d(E)}function m(E){return n.parser.lazy[n.now().line]=r!==t.length,o=n.now().offset,b(E)}function d(E){return n.containerState={},e.attempt(at,h,b)(E)}function h(E){return r++,t.push([n.currentConstruct,n.containerState]),d(E)}function b(E){if(E===null){i&&L(),k(0),e.consume(E);return}return i=i||n.parser.flow(n.now()),e.enter("chunkFlow",{contentType:"flow",previous:l,_tokenizer:i}),x(E)}function x(E){if(E===null){C(e.exit("chunkFlow"),!0),k(0),e.consume(E);return}return I(E)?(e.consume(E),C(e.exit("chunkFlow")),r=0,n.interrupt=void 0,a):(e.consume(E),x)}function C(E,z){const R=n.sliceStream(E);if(z&&R.push(null),E.previous=l,l&&(l.next=E),l=E,i.defineSkip(E.start),i.write(R),n.parser.lazy[E.start.line]){let g=i.events.length;for(;g--;)if(i.events[g][1].start.offset<o&&(!i.events[g][1].end||i.events[g][1].end.offset>o))return;const T=n.events.length;let D=T,M,Q;for(;D--;)if(n.events[D][0]==="exit"&&n.events[D][1].type==="chunkFlow"){if(M){Q=n.events[D][1].end;break}M=!0}for(k(r),g=T;g<n.events.length;)n.events[g][1].end=Object.assign({},Q),g++;fe(n.events,D+1,0,n.events.slice(T)),n.events.length=g}}function k(E){let z=t.length;for(;z-- >E;){const R=t[z];n.containerState=R[1],R[0].exit.call(n,e)}t.length=E}function L(){i.write([null]),l=void 0,i=void 0,n.containerState._closeFlow=void 0}}function di(e,n,t){return V(e,e.attempt(this.parser.constructs.document,n,t),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function ut(e){if(e===null||Z(e)||ci(e))return 1;if(si(e))return 2}function Tn(e,n,t){const r=[];let i=-1;for(;++i<e.length;){const l=e[i].resolveAll;l&&!r.includes(l)&&(n=l(n,t),r.push(l))}return n}const Cn={name:"attention",tokenize:yi,resolveAll:gi};function gi(e,n){let t=-1,r,i,l,o,a,s,u,c;for(;++t<e.length;)if(e[t][0]==="enter"&&e[t][1].type==="attentionSequence"&&e[t][1]._close){for(r=t;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&n.sliceSerialize(e[r][1]).charCodeAt(0)===n.sliceSerialize(e[t][1]).charCodeAt(0)){if((e[r][1]._close||e[t][1]._open)&&(e[t][1].end.offset-e[t][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[t][1].end.offset-e[t][1].start.offset)%3))continue;s=e[r][1].end.offset-e[r][1].start.offset>1&&e[t][1].end.offset-e[t][1].start.offset>1?2:1;const m=Object.assign({},e[r][1].end),d=Object.assign({},e[t][1].start);st(m,-s),st(d,s),o={type:s>1?"strongSequence":"emphasisSequence",start:m,end:Object.assign({},e[r][1].end)},a={type:s>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[t][1].start),end:d},l={type:s>1?"strongText":"emphasisText",start:Object.assign({},e[r][1].end),end:Object.assign({},e[t][1].start)},i={type:s>1?"strong":"emphasis",start:Object.assign({},o.start),end:Object.assign({},a.end)},e[r][1].end=Object.assign({},o.start),e[t][1].start=Object.assign({},a.end),u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=re(u,[["enter",e[r][1],n],["exit",e[r][1],n]])),u=re(u,[["enter",i,n],["enter",o,n],["exit",o,n],["enter",l,n]]),u=re(u,Tn(n.parser.constructs.insideSpan.null,e.slice(r+1,t),n)),u=re(u,[["exit",l,n],["enter",a,n],["exit",a,n],["exit",i,n]]),e[t][1].end.offset-e[t][1].start.offset?(c=2,u=re(u,[["enter",e[t][1],n],["exit",e[t][1],n]])):c=0,fe(e,r-1,t-r+3,u),t=r+u.length-c-2;break}}for(t=-1;++t<e.length;)e[t][1].type==="attentionSequence"&&(e[t][1].type="data");return e}function yi(e,n){const t=this.parser.constructs.attentionMarkers.null,r=this.previous,i=ut(r);let l;return o;function o(s){return l=s,e.enter("attentionSequence"),a(s)}function a(s){if(s===l)return e.consume(s),a;const u=e.exit("attentionSequence"),c=ut(s),m=!c||c===2&&i||t.includes(s),d=!i||i===2&&c||t.includes(r);return u._open=!!(l===42?m:m&&(i||!d)),u._close=!!(l===42?d:d&&(c||!m)),n(s)}}function st(e,n){e.column+=n,e.offset+=n,e._bufferIndex+=n}const xi={name:"autolink",tokenize:ki};function ki(e,n,t){let r=0;return i;function i(h){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(h),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),l}function l(h){return he(h)?(e.consume(h),o):u(h)}function o(h){return h===43||h===45||h===46||te(h)?(r=1,a(h)):u(h)}function a(h){return h===58?(e.consume(h),r=0,s):(h===43||h===45||h===46||te(h))&&r++<32?(e.consume(h),a):(r=0,u(h))}function s(h){return h===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(h),e.exit("autolinkMarker"),e.exit("autolink"),n):h===null||h===32||h===60||bn(h)?t(h):(e.consume(h),s)}function u(h){return h===64?(e.consume(h),c):oi(h)?(e.consume(h),u):t(h)}function c(h){return te(h)?m(h):t(h)}function m(h){return h===46?(e.consume(h),r=0,c):h===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(h),e.exit("autolinkMarker"),e.exit("autolink"),n):d(h)}function d(h){if((h===45||te(h))&&r++<63){const b=h===45?d:m;return e.consume(h),b}return t(h)}}const Xe={tokenize:wi,partial:!0};function wi(e,n,t){return r;function r(l){return N(l)?V(e,i,"linePrefix")(l):i(l)}function i(l){return l===null||I(l)?n(l):t(l)}}const Nt={name:"blockQuote",tokenize:bi,continuation:{tokenize:Si},exit:Ci};function bi(e,n,t){const r=this;return i;function i(o){if(o===62){const a=r.containerState;return a.open||(e.enter("blockQuote",{_container:!0}),a.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(o),e.exit("blockQuoteMarker"),l}return t(o)}function l(o){return N(o)?(e.enter("blockQuotePrefixWhitespace"),e.consume(o),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),n):(e.exit("blockQuotePrefix"),n(o))}}function Si(e,n,t){const r=this;return i;function i(o){return N(o)?V(e,l,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o):l(o)}function l(o){return e.attempt(Nt,n,t)(o)}}function Ci(e){e.exit("blockQuote")}const Mt={name:"characterEscape",tokenize:Ei};function Ei(e,n,t){return r;function r(l){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(l),e.exit("escapeMarker"),i}function i(l){return ui(l)?(e.enter("characterEscapeValue"),e.consume(l),e.exit("characterEscapeValue"),e.exit("characterEscape"),n):t(l)}}const ct=document.createElement("i");function Fn(e){const n="&"+e+";";ct.innerHTML=n;const t=ct.textContent;return t.charCodeAt(t.length-1)===59&&e!=="semi"||t===n?!1:t}const _t={name:"characterReference",tokenize:Ai};function Ai(e,n,t){const r=this;let i=0,l,o;return a;function a(m){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(m),e.exit("characterReferenceMarker"),s}function s(m){return m===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(m),e.exit("characterReferenceMarkerNumeric"),u):(e.enter("characterReferenceValue"),l=31,o=te,c(m))}function u(m){return m===88||m===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(m),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),l=6,o=ai,c):(e.enter("characterReferenceValue"),l=7,o=Sn,c(m))}function c(m){if(m===59&&i){const d=e.exit("characterReferenceValue");return o===te&&!Fn(r.sliceSerialize(d))?t(m):(e.enter("characterReferenceMarker"),e.consume(m),e.exit("characterReferenceMarker"),e.exit("characterReference"),n)}return o(m)&&i++<l?(e.consume(m),c):t(m)}}const pt={tokenize:Ti,partial:!0},ht={name:"codeFenced",tokenize:Pi,concrete:!0};function Pi(e,n,t){const r=this,i={tokenize:R,partial:!0};let l=0,o=0,a;return s;function s(g){return u(g)}function u(g){const T=r.events[r.events.length-1];return l=T&&T[1].type==="linePrefix"?T[2].sliceSerialize(T[1],!0).length:0,a=g,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),c(g)}function c(g){return g===a?(o++,e.consume(g),c):o<3?t(g):(e.exit("codeFencedFenceSequence"),N(g)?V(e,m,"whitespace")(g):m(g))}function m(g){return g===null||I(g)?(e.exit("codeFencedFence"),r.interrupt?n(g):e.check(pt,x,z)(g)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),d(g))}function d(g){return g===null||I(g)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),m(g)):N(g)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),V(e,h,"whitespace")(g)):g===96&&g===a?t(g):(e.consume(g),d)}function h(g){return g===null||I(g)?m(g):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),b(g))}function b(g){return g===null||I(g)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),m(g)):g===96&&g===a?t(g):(e.consume(g),b)}function x(g){return e.attempt(i,z,C)(g)}function C(g){return e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),k}function k(g){return l>0&&N(g)?V(e,L,"linePrefix",l+1)(g):L(g)}function L(g){return g===null||I(g)?e.check(pt,x,z)(g):(e.enter("codeFlowValue"),E(g))}function E(g){return g===null||I(g)?(e.exit("codeFlowValue"),L(g)):(e.consume(g),E)}function z(g){return e.exit("codeFenced"),n(g)}function R(g,T,D){let M=0;return Q;function Q(B){return g.enter("lineEnding"),g.consume(B),g.exit("lineEnding"),A}function A(B){return g.enter("codeFencedFence"),N(B)?V(g,P,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(B):P(B)}function P(B){return B===a?(g.enter("codeFencedFenceSequence"),$(B)):D(B)}function $(B){return B===a?(M++,g.consume(B),$):M>=o?(g.exit("codeFencedFenceSequence"),N(B)?V(g,q,"whitespace")(B):q(B)):D(B)}function q(B){return B===null||I(B)?(g.exit("codeFencedFence"),T(B)):D(B)}}}function Ti(e,n,t){const r=this;return i;function i(o){return o===null?t(o):(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),l)}function l(o){return r.parser.lazy[r.now().line]?t(o):n(o)}}const mn={name:"codeIndented",tokenize:Ii},Fi={tokenize:Oi,partial:!0};function Ii(e,n,t){const r=this;return i;function i(u){return e.enter("codeIndented"),V(e,l,"linePrefix",5)(u)}function l(u){const c=r.events[r.events.length-1];return c&&c[1].type==="linePrefix"&&c[2].sliceSerialize(c[1],!0).length>=4?o(u):t(u)}function o(u){return u===null?s(u):I(u)?e.attempt(Fi,o,s)(u):(e.enter("codeFlowValue"),a(u))}function a(u){return u===null||I(u)?(e.exit("codeFlowValue"),o(u)):(e.consume(u),a)}function s(u){return e.exit("codeIndented"),n(u)}}function Oi(e,n,t){const r=this;return i;function i(o){return r.parser.lazy[r.now().line]?t(o):I(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i):V(e,l,"linePrefix",5)(o)}function l(o){const a=r.events[r.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?n(o):I(o)?i(o):t(o)}}const vi={name:"codeText",tokenize:zi,resolve:Li,previous:Di};function Li(e){let n=e.length-4,t=3,r,i;if((e[t][1].type==="lineEnding"||e[t][1].type==="space")&&(e[n][1].type==="lineEnding"||e[n][1].type==="space")){for(r=t;++r<n;)if(e[r][1].type==="codeTextData"){e[t][1].type="codeTextPadding",e[n][1].type="codeTextPadding",t+=2,n-=2;break}}for(r=t-1,n++;++r<=n;)i===void 0?r!==n&&e[r][1].type!=="lineEnding"&&(i=r):(r===n||e[r][1].type==="lineEnding")&&(e[i][1].type="codeTextData",r!==i+2&&(e[i][1].end=e[r-1][1].end,e.splice(i+2,r-i-2),n-=r-i-2,r=i+2),i=void 0);return e}function Di(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function zi(e,n,t){let r=0,i,l;return o;function o(m){return e.enter("codeText"),e.enter("codeTextSequence"),a(m)}function a(m){return m===96?(e.consume(m),r++,a):(e.exit("codeTextSequence"),s(m))}function s(m){return m===null?t(m):m===32?(e.enter("space"),e.consume(m),e.exit("space"),s):m===96?(l=e.enter("codeTextSequence"),i=0,c(m)):I(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),s):(e.enter("codeTextData"),u(m))}function u(m){return m===null||m===32||m===96||I(m)?(e.exit("codeTextData"),s(m)):(e.consume(m),u)}function c(m){return m===96?(e.consume(m),i++,c):i===r?(e.exit("codeTextSequence"),e.exit("codeText"),n(m)):(l.type="codeTextData",u(m))}}function jt(e){const n={};let t=-1,r,i,l,o,a,s,u;for(;++t<e.length;){for(;t in n;)t=n[t];if(r=e[t],t&&r[1].type==="chunkFlow"&&e[t-1][1].type==="listItemPrefix"&&(s=r[1]._tokenizer.events,l=0,l<s.length&&s[l][1].type==="lineEndingBlank"&&(l+=2),l<s.length&&s[l][1].type==="content"))for(;++l<s.length&&s[l][1].type!=="content";)s[l][1].type==="chunkText"&&(s[l][1]._isInFirstContentOfListItem=!0,l++);if(r[0]==="enter")r[1].contentType&&(Object.assign(n,Ri(e,t)),t=n[t],u=!0);else if(r[1]._container){for(l=t,i=void 0;l--&&(o=e[l],o[1].type==="lineEnding"||o[1].type==="lineEndingBlank");)o[0]==="enter"&&(i&&(e[i][1].type="lineEndingBlank"),o[1].type="lineEnding",i=l);i&&(r[1].end=Object.assign({},e[i][1].start),a=e.slice(i,t),a.unshift(r),fe(e,i,t-i+1,a))}}return!u}function Ri(e,n){const t=e[n][1],r=e[n][2];let i=n-1;const l=[],o=t._tokenizer||r.parser[t.contentType](t.start),a=o.events,s=[],u={};let c,m,d=-1,h=t,b=0,x=0;const C=[x];for(;h;){for(;e[++i][1]!==h;);l.push(i),h._tokenizer||(c=r.sliceStream(h),h.next||c.push(null),m&&o.defineSkip(h.start),h._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=!0),o.write(c),h._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=void 0)),m=h,h=h.next}for(h=t;++d<a.length;)a[d][0]==="exit"&&a[d-1][0]==="enter"&&a[d][1].type===a[d-1][1].type&&a[d][1].start.line!==a[d][1].end.line&&(x=d+1,C.push(x),h._tokenizer=void 0,h.previous=void 0,h=h.next);for(o.events=[],h?(h._tokenizer=void 0,h.previous=void 0):C.pop(),d=C.length;d--;){const k=a.slice(C[d],C[d+1]),L=l.pop();s.unshift([L,L+k.length-1]),fe(e,L,2,k)}for(d=-1;++d<s.length;)u[b+s[d][0]]=b+s[d][1],b+=s[d][1]-s[d][0]-1;return u}const Bi={tokenize:_i,resolve:Mi},Ni={tokenize:ji,partial:!0};function Mi(e){return jt(e),e}function _i(e,n){let t;return r;function r(a){return e.enter("content"),t=e.enter("chunkContent",{contentType:"content"}),i(a)}function i(a){return a===null?l(a):I(a)?e.check(Ni,o,l)(a):(e.consume(a),i)}function l(a){return e.exit("chunkContent"),e.exit("content"),n(a)}function o(a){return e.consume(a),e.exit("chunkContent"),t.next=e.enter("chunkContent",{contentType:"content",previous:t}),t=t.next,i}}function ji(e,n,t){const r=this;return i;function i(o){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),V(e,l,"linePrefix")}function l(o){if(o===null||I(o))return t(o);const a=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?n(o):e.interrupt(r.parser.constructs.flow,t,n)(o)}}function Ht(e,n,t,r,i,l,o,a,s){const u=s||Number.POSITIVE_INFINITY;let c=0;return m;function m(k){return k===60?(e.enter(r),e.enter(i),e.enter(l),e.consume(k),e.exit(l),d):k===null||k===32||k===41||bn(k)?t(k):(e.enter(r),e.enter(o),e.enter(a),e.enter("chunkString",{contentType:"string"}),x(k))}function d(k){return k===62?(e.enter(l),e.consume(k),e.exit(l),e.exit(i),e.exit(r),n):(e.enter(a),e.enter("chunkString",{contentType:"string"}),h(k))}function h(k){return k===62?(e.exit("chunkString"),e.exit(a),d(k)):k===null||k===60||I(k)?t(k):(e.consume(k),k===92?b:h)}function b(k){return k===60||k===62||k===92?(e.consume(k),h):h(k)}function x(k){return!c&&(k===null||k===41||Z(k))?(e.exit("chunkString"),e.exit(a),e.exit(o),e.exit(r),n(k)):c<u&&k===40?(e.consume(k),c++,x):k===41?(e.consume(k),c--,x):k===null||k===32||k===40||bn(k)?t(k):(e.consume(k),k===92?C:x)}function C(k){return k===40||k===41||k===92?(e.consume(k),x):x(k)}}function Ut(e,n,t,r,i,l){const o=this;let a=0,s;return u;function u(h){return e.enter(r),e.enter(i),e.consume(h),e.exit(i),e.enter(l),c}function c(h){return a>999||h===null||h===91||h===93&&!s||h===94&&!a&&"_hiddenFootnoteSupport"in o.parser.constructs?t(h):h===93?(e.exit(l),e.enter(i),e.consume(h),e.exit(i),e.exit(r),n):I(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),c):(e.enter("chunkString",{contentType:"string"}),m(h))}function m(h){return h===null||h===91||h===93||I(h)||a++>999?(e.exit("chunkString"),c(h)):(e.consume(h),s||(s=!N(h)),h===92?d:m)}function d(h){return h===91||h===92||h===93?(e.consume(h),a++,m):m(h)}}function Vt(e,n,t,r,i,l){let o;return a;function a(d){return d===34||d===39||d===40?(e.enter(r),e.enter(i),e.consume(d),e.exit(i),o=d===40?41:d,s):t(d)}function s(d){return d===o?(e.enter(i),e.consume(d),e.exit(i),e.exit(r),n):(e.enter(l),u(d))}function u(d){return d===o?(e.exit(l),s(o)):d===null?t(d):I(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),V(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),c(d))}function c(d){return d===o||d===null||I(d)?(e.exit("chunkString"),u(d)):(e.consume(d),d===92?m:c)}function m(d){return d===o||d===92?(e.consume(d),c):c(d)}}function Me(e,n){let t;return r;function r(i){return I(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),t=!0,r):N(i)?V(e,r,t?"linePrefix":"lineSuffix")(i):n(i)}}function Ie(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Hi={name:"definition",tokenize:Vi},Ui={tokenize:$i,partial:!0};function Vi(e,n,t){const r=this;let i;return l;function l(h){return e.enter("definition"),o(h)}function o(h){return Ut.call(r,e,a,t,"definitionLabel","definitionLabelMarker","definitionLabelString")(h)}function a(h){return i=Ie(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),h===58?(e.enter("definitionMarker"),e.consume(h),e.exit("definitionMarker"),s):t(h)}function s(h){return Z(h)?Me(e,u)(h):u(h)}function u(h){return Ht(e,c,t,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(h)}function c(h){return e.attempt(Ui,m,m)(h)}function m(h){return N(h)?V(e,d,"whitespace")(h):d(h)}function d(h){return h===null||I(h)?(e.exit("definition"),r.parser.defined.push(i),n(h)):t(h)}}function $i(e,n,t){return r;function r(a){return Z(a)?Me(e,i)(a):t(a)}function i(a){return Vt(e,l,t,"definitionTitle","definitionTitleMarker","definitionTitleString")(a)}function l(a){return N(a)?V(e,o,"whitespace")(a):o(a)}function o(a){return a===null||I(a)?n(a):t(a)}}const qi={name:"hardBreakEscape",tokenize:Wi};function Wi(e,n,t){return r;function r(l){return e.enter("hardBreakEscape"),e.consume(l),i}function i(l){return I(l)?(e.exit("hardBreakEscape"),n(l)):t(l)}}const Xi={name:"headingAtx",tokenize:Yi,resolve:Qi};function Qi(e,n){let t=e.length-2,r=3,i,l;return e[r][1].type==="whitespace"&&(r+=2),t-2>r&&e[t][1].type==="whitespace"&&(t-=2),e[t][1].type==="atxHeadingSequence"&&(r===t-1||t-4>r&&e[t-2][1].type==="whitespace")&&(t-=r+1===t?2:4),t>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[t][1].end},l={type:"chunkText",start:e[r][1].start,end:e[t][1].end,contentType:"text"},fe(e,r,t-r+1,[["enter",i,n],["enter",l,n],["exit",l,n],["exit",i,n]])),e}function Yi(e,n,t){let r=0;return i;function i(c){return e.enter("atxHeading"),l(c)}function l(c){return e.enter("atxHeadingSequence"),o(c)}function o(c){return c===35&&r++<6?(e.consume(c),o):c===null||Z(c)?(e.exit("atxHeadingSequence"),a(c)):t(c)}function a(c){return c===35?(e.enter("atxHeadingSequence"),s(c)):c===null||I(c)?(e.exit("atxHeading"),n(c)):N(c)?V(e,a,"whitespace")(c):(e.enter("atxHeadingText"),u(c))}function s(c){return c===35?(e.consume(c),s):(e.exit("atxHeadingSequence"),a(c))}function u(c){return c===null||c===35||Z(c)?(e.exit("atxHeadingText"),a(c)):(e.consume(c),u)}}const Ki=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],ft=["pre","script","style","textarea"],Gi={name:"htmlFlow",tokenize:nl,resolveTo:el,concrete:!0},Ji={tokenize:rl,partial:!0},Zi={tokenize:tl,partial:!0};function el(e){let n=e.length;for(;n--&&!(e[n][0]==="enter"&&e[n][1].type==="htmlFlow"););return n>1&&e[n-2][1].type==="linePrefix"&&(e[n][1].start=e[n-2][1].start,e[n+1][1].start=e[n-2][1].start,e.splice(n-2,2)),e}function nl(e,n,t){const r=this;let i,l,o,a,s;return u;function u(f){return c(f)}function c(f){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(f),m}function m(f){return f===33?(e.consume(f),d):f===47?(e.consume(f),l=!0,x):f===63?(e.consume(f),i=3,r.interrupt?n:p):he(f)?(e.consume(f),o=String.fromCharCode(f),C):t(f)}function d(f){return f===45?(e.consume(f),i=2,h):f===91?(e.consume(f),i=5,a=0,b):he(f)?(e.consume(f),i=4,r.interrupt?n:p):t(f)}function h(f){return f===45?(e.consume(f),r.interrupt?n:p):t(f)}function b(f){const se="CDATA[";return f===se.charCodeAt(a++)?(e.consume(f),a===se.length?r.interrupt?n:P:b):t(f)}function x(f){return he(f)?(e.consume(f),o=String.fromCharCode(f),C):t(f)}function C(f){if(f===null||f===47||f===62||Z(f)){const se=f===47,Ee=o.toLowerCase();return!se&&!l&&ft.includes(Ee)?(i=1,r.interrupt?n(f):P(f)):Ki.includes(o.toLowerCase())?(i=6,se?(e.consume(f),k):r.interrupt?n(f):P(f)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?t(f):l?L(f):E(f))}return f===45||te(f)?(e.consume(f),o+=String.fromCharCode(f),C):t(f)}function k(f){return f===62?(e.consume(f),r.interrupt?n:P):t(f)}function L(f){return N(f)?(e.consume(f),L):Q(f)}function E(f){return f===47?(e.consume(f),Q):f===58||f===95||he(f)?(e.consume(f),z):N(f)?(e.consume(f),E):Q(f)}function z(f){return f===45||f===46||f===58||f===95||te(f)?(e.consume(f),z):R(f)}function R(f){return f===61?(e.consume(f),g):N(f)?(e.consume(f),R):E(f)}function g(f){return f===null||f===60||f===61||f===62||f===96?t(f):f===34||f===39?(e.consume(f),s=f,T):N(f)?(e.consume(f),g):D(f)}function T(f){return f===s?(e.consume(f),s=null,M):f===null||I(f)?t(f):(e.consume(f),T)}function D(f){return f===null||f===34||f===39||f===47||f===60||f===61||f===62||f===96||Z(f)?R(f):(e.consume(f),D)}function M(f){return f===47||f===62||N(f)?E(f):t(f)}function Q(f){return f===62?(e.consume(f),A):t(f)}function A(f){return f===null||I(f)?P(f):N(f)?(e.consume(f),A):t(f)}function P(f){return f===45&&i===2?(e.consume(f),G):f===60&&i===1?(e.consume(f),Y):f===62&&i===4?(e.consume(f),ue):f===63&&i===3?(e.consume(f),p):f===93&&i===5?(e.consume(f),me):I(f)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(Ji,de,$)(f)):f===null||I(f)?(e.exit("htmlFlowData"),$(f)):(e.consume(f),P)}function $(f){return e.check(Zi,q,de)(f)}function q(f){return e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),B}function B(f){return f===null||I(f)?$(f):(e.enter("htmlFlowData"),P(f))}function G(f){return f===45?(e.consume(f),p):P(f)}function Y(f){return f===47?(e.consume(f),o="",ae):P(f)}function ae(f){if(f===62){const se=o.toLowerCase();return ft.includes(se)?(e.consume(f),ue):P(f)}return he(f)&&o.length<8?(e.consume(f),o+=String.fromCharCode(f),ae):P(f)}function me(f){return f===93?(e.consume(f),p):P(f)}function p(f){return f===62?(e.consume(f),ue):f===45&&i===2?(e.consume(f),p):P(f)}function ue(f){return f===null||I(f)?(e.exit("htmlFlowData"),de(f)):(e.consume(f),ue)}function de(f){return e.exit("htmlFlow"),n(f)}}function tl(e,n,t){const r=this;return i;function i(o){return I(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),l):t(o)}function l(o){return r.parser.lazy[r.now().line]?t(o):n(o)}}function rl(e,n,t){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(Xe,n,t)}}const il={name:"htmlText",tokenize:ll};function ll(e,n,t){const r=this;let i,l,o;return a;function a(p){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(p),s}function s(p){return p===33?(e.consume(p),u):p===47?(e.consume(p),R):p===63?(e.consume(p),E):he(p)?(e.consume(p),D):t(p)}function u(p){return p===45?(e.consume(p),c):p===91?(e.consume(p),l=0,b):he(p)?(e.consume(p),L):t(p)}function c(p){return p===45?(e.consume(p),h):t(p)}function m(p){return p===null?t(p):p===45?(e.consume(p),d):I(p)?(o=m,Y(p)):(e.consume(p),m)}function d(p){return p===45?(e.consume(p),h):m(p)}function h(p){return p===62?G(p):p===45?d(p):m(p)}function b(p){const ue="CDATA[";return p===ue.charCodeAt(l++)?(e.consume(p),l===ue.length?x:b):t(p)}function x(p){return p===null?t(p):p===93?(e.consume(p),C):I(p)?(o=x,Y(p)):(e.consume(p),x)}function C(p){return p===93?(e.consume(p),k):x(p)}function k(p){return p===62?G(p):p===93?(e.consume(p),k):x(p)}function L(p){return p===null||p===62?G(p):I(p)?(o=L,Y(p)):(e.consume(p),L)}function E(p){return p===null?t(p):p===63?(e.consume(p),z):I(p)?(o=E,Y(p)):(e.consume(p),E)}function z(p){return p===62?G(p):E(p)}function R(p){return he(p)?(e.consume(p),g):t(p)}function g(p){return p===45||te(p)?(e.consume(p),g):T(p)}function T(p){return I(p)?(o=T,Y(p)):N(p)?(e.consume(p),T):G(p)}function D(p){return p===45||te(p)?(e.consume(p),D):p===47||p===62||Z(p)?M(p):t(p)}function M(p){return p===47?(e.consume(p),G):p===58||p===95||he(p)?(e.consume(p),Q):I(p)?(o=M,Y(p)):N(p)?(e.consume(p),M):G(p)}function Q(p){return p===45||p===46||p===58||p===95||te(p)?(e.consume(p),Q):A(p)}function A(p){return p===61?(e.consume(p),P):I(p)?(o=A,Y(p)):N(p)?(e.consume(p),A):M(p)}function P(p){return p===null||p===60||p===61||p===62||p===96?t(p):p===34||p===39?(e.consume(p),i=p,$):I(p)?(o=P,Y(p)):N(p)?(e.consume(p),P):(e.consume(p),q)}function $(p){return p===i?(e.consume(p),i=void 0,B):p===null?t(p):I(p)?(o=$,Y(p)):(e.consume(p),$)}function q(p){return p===null||p===34||p===39||p===60||p===61||p===96?t(p):p===47||p===62||Z(p)?M(p):(e.consume(p),q)}function B(p){return p===47||p===62||Z(p)?M(p):t(p)}function G(p){return p===62?(e.consume(p),e.exit("htmlTextData"),e.exit("htmlText"),n):t(p)}function Y(p){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),ae}function ae(p){return N(p)?V(e,me,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(p):me(p)}function me(p){return e.enter("htmlTextData"),o(p)}}const In={name:"labelEnd",tokenize:pl,resolveTo:cl,resolveAll:sl},ol={tokenize:hl},al={tokenize:fl},ul={tokenize:ml};function sl(e){let n=-1;for(;++n<e.length;){const t=e[n][1];(t.type==="labelImage"||t.type==="labelLink"||t.type==="labelEnd")&&(e.splice(n+1,t.type==="labelImage"?4:2),t.type="data",n++)}return e}function cl(e,n){let t=e.length,r=0,i,l,o,a;for(;t--;)if(i=e[t][1],l){if(i.type==="link"||i.type==="labelLink"&&i._inactive)break;e[t][0]==="enter"&&i.type==="labelLink"&&(i._inactive=!0)}else if(o){if(e[t][0]==="enter"&&(i.type==="labelImage"||i.type==="labelLink")&&!i._balanced&&(l=t,i.type!=="labelLink")){r=2;break}}else i.type==="labelEnd"&&(o=t);const s={type:e[l][1].type==="labelLink"?"link":"image",start:Object.assign({},e[l][1].start),end:Object.assign({},e[e.length-1][1].end)},u={type:"label",start:Object.assign({},e[l][1].start),end:Object.assign({},e[o][1].end)},c={type:"labelText",start:Object.assign({},e[l+r+2][1].end),end:Object.assign({},e[o-2][1].start)};return a=[["enter",s,n],["enter",u,n]],a=re(a,e.slice(l+1,l+r+3)),a=re(a,[["enter",c,n]]),a=re(a,Tn(n.parser.constructs.insideSpan.null,e.slice(l+r+4,o-3),n)),a=re(a,[["exit",c,n],e[o-2],e[o-1],["exit",u,n]]),a=re(a,e.slice(o+1)),a=re(a,[["exit",s,n]]),fe(e,l,e.length,a),e}function pl(e,n,t){const r=this;let i=r.events.length,l,o;for(;i--;)if((r.events[i][1].type==="labelImage"||r.events[i][1].type==="labelLink")&&!r.events[i][1]._balanced){l=r.events[i][1];break}return a;function a(d){return l?l._inactive?m(d):(o=r.parser.defined.includes(Ie(r.sliceSerialize({start:l.end,end:r.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(d),e.exit("labelMarker"),e.exit("labelEnd"),s):t(d)}function s(d){return d===40?e.attempt(ol,c,o?c:m)(d):d===91?e.attempt(al,c,o?u:m)(d):o?c(d):m(d)}function u(d){return e.attempt(ul,c,m)(d)}function c(d){return n(d)}function m(d){return l._balanced=!0,t(d)}}function hl(e,n,t){return r;function r(m){return e.enter("resource"),e.enter("resourceMarker"),e.consume(m),e.exit("resourceMarker"),i}function i(m){return Z(m)?Me(e,l)(m):l(m)}function l(m){return m===41?c(m):Ht(e,o,a,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(m)}function o(m){return Z(m)?Me(e,s)(m):c(m)}function a(m){return t(m)}function s(m){return m===34||m===39||m===40?Vt(e,u,t,"resourceTitle","resourceTitleMarker","resourceTitleString")(m):c(m)}function u(m){return Z(m)?Me(e,c)(m):c(m)}function c(m){return m===41?(e.enter("resourceMarker"),e.consume(m),e.exit("resourceMarker"),e.exit("resource"),n):t(m)}}function fl(e,n,t){const r=this;return i;function i(a){return Ut.call(r,e,l,o,"reference","referenceMarker","referenceString")(a)}function l(a){return r.parser.defined.includes(Ie(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?n(a):t(a)}function o(a){return t(a)}}function ml(e,n,t){return r;function r(l){return e.enter("reference"),e.enter("referenceMarker"),e.consume(l),e.exit("referenceMarker"),i}function i(l){return l===93?(e.enter("referenceMarker"),e.consume(l),e.exit("referenceMarker"),e.exit("reference"),n):t(l)}}const dl={name:"labelStartImage",tokenize:gl,resolveAll:In.resolveAll};function gl(e,n,t){const r=this;return i;function i(a){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(a),e.exit("labelImageMarker"),l}function l(a){return a===91?(e.enter("labelMarker"),e.consume(a),e.exit("labelMarker"),e.exit("labelImage"),o):t(a)}function o(a){return a===94&&"_hiddenFootnoteSupport"in r.parser.constructs?t(a):n(a)}}const yl={name:"labelStartLink",tokenize:xl,resolveAll:In.resolveAll};function xl(e,n,t){const r=this;return i;function i(o){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(o),e.exit("labelMarker"),e.exit("labelLink"),l}function l(o){return o===94&&"_hiddenFootnoteSupport"in r.parser.constructs?t(o):n(o)}}const dn={name:"lineEnding",tokenize:kl};function kl(e,n){return t;function t(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),V(e,n,"linePrefix")}}const qe={name:"thematicBreak",tokenize:wl};function wl(e,n,t){let r=0,i;return l;function l(u){return e.enter("thematicBreak"),o(u)}function o(u){return i=u,a(u)}function a(u){return u===i?(e.enter("thematicBreakSequence"),s(u)):r>=3&&(u===null||I(u))?(e.exit("thematicBreak"),n(u)):t(u)}function s(u){return u===i?(e.consume(u),r++,s):(e.exit("thematicBreakSequence"),N(u)?V(e,a,"whitespace")(u):a(u))}}const J={name:"list",tokenize:Cl,continuation:{tokenize:El},exit:Pl},bl={tokenize:Tl,partial:!0},Sl={tokenize:Al,partial:!0};function Cl(e,n,t){const r=this,i=r.events[r.events.length-1];let l=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,o=0;return a;function a(h){const b=r.containerState.type||(h===42||h===43||h===45?"listUnordered":"listOrdered");if(b==="listUnordered"?!r.containerState.marker||h===r.containerState.marker:Sn(h)){if(r.containerState.type||(r.containerState.type=b,e.enter(b,{_container:!0})),b==="listUnordered")return e.enter("listItemPrefix"),h===42||h===45?e.check(qe,t,u)(h):u(h);if(!r.interrupt||h===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),s(h)}return t(h)}function s(h){return Sn(h)&&++o<10?(e.consume(h),s):(!r.interrupt||o<2)&&(r.containerState.marker?h===r.containerState.marker:h===41||h===46)?(e.exit("listItemValue"),u(h)):t(h)}function u(h){return e.enter("listItemMarker"),e.consume(h),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||h,e.check(Xe,r.interrupt?t:c,e.attempt(bl,d,m))}function c(h){return r.containerState.initialBlankLine=!0,l++,d(h)}function m(h){return N(h)?(e.enter("listItemPrefixWhitespace"),e.consume(h),e.exit("listItemPrefixWhitespace"),d):t(h)}function d(h){return r.containerState.size=l+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,n(h)}}function El(e,n,t){const r=this;return r.containerState._closeFlow=void 0,e.check(Xe,i,l);function i(a){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,V(e,n,"listItemIndent",r.containerState.size+1)(a)}function l(a){return r.containerState.furtherBlankLines||!N(a)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(a)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(Sl,n,o)(a))}function o(a){return r.containerState._closeFlow=!0,r.interrupt=void 0,V(e,e.attempt(J,n,t),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}function Al(e,n,t){const r=this;return V(e,i,"listItemIndent",r.containerState.size+1);function i(l){const o=r.events[r.events.length-1];return o&&o[1].type==="listItemIndent"&&o[2].sliceSerialize(o[1],!0).length===r.containerState.size?n(l):t(l)}}function Pl(e){e.exit(this.containerState.type)}function Tl(e,n,t){const r=this;return V(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(l){const o=r.events[r.events.length-1];return!N(l)&&o&&o[1].type==="listItemPrefixWhitespace"?n(l):t(l)}}const mt={name:"setextUnderline",tokenize:Il,resolveTo:Fl};function Fl(e,n){let t=e.length,r,i,l;for(;t--;)if(e[t][0]==="enter"){if(e[t][1].type==="content"){r=t;break}e[t][1].type==="paragraph"&&(i=t)}else e[t][1].type==="content"&&e.splice(t,1),!l&&e[t][1].type==="definition"&&(l=t);const o={type:"setextHeading",start:Object.assign({},e[i][1].start),end:Object.assign({},e[e.length-1][1].end)};return e[i][1].type="setextHeadingText",l?(e.splice(i,0,["enter",o,n]),e.splice(l+1,0,["exit",e[r][1],n]),e[r][1].end=Object.assign({},e[l][1].end)):e[r][1]=o,e.push(["exit",o,n]),e}function Il(e,n,t){const r=this;let i;return l;function l(u){let c=r.events.length,m;for(;c--;)if(r.events[c][1].type!=="lineEnding"&&r.events[c][1].type!=="linePrefix"&&r.events[c][1].type!=="content"){m=r.events[c][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||m)?(e.enter("setextHeadingLine"),i=u,o(u)):t(u)}function o(u){return e.enter("setextHeadingLineSequence"),a(u)}function a(u){return u===i?(e.consume(u),a):(e.exit("setextHeadingLineSequence"),N(u)?V(e,s,"lineSuffix")(u):s(u))}function s(u){return u===null||I(u)?(e.exit("setextHeadingLine"),n(u)):t(u)}}const Ol={tokenize:vl};function vl(e){const n=this,t=e.attempt(Xe,r,e.attempt(this.parser.constructs.flowInitial,i,V(e,e.attempt(this.parser.constructs.flow,i,e.attempt(Bi,i)),"linePrefix")));return t;function r(l){if(l===null){e.consume(l);return}return e.enter("lineEndingBlank"),e.consume(l),e.exit("lineEndingBlank"),n.currentConstruct=void 0,t}function i(l){if(l===null){e.consume(l);return}return e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),n.currentConstruct=void 0,t}}const Ll={resolveAll:qt()},Dl=$t("string"),zl=$t("text");function $t(e){return{tokenize:n,resolveAll:qt(e==="text"?Rl:void 0)};function n(t){const r=this,i=this.parser.constructs[e],l=t.attempt(i,o,a);return o;function o(c){return u(c)?l(c):a(c)}function a(c){if(c===null){t.consume(c);return}return t.enter("data"),t.consume(c),s}function s(c){return u(c)?(t.exit("data"),l(c)):(t.consume(c),s)}function u(c){if(c===null)return!0;const m=i[c];let d=-1;if(m)for(;++d<m.length;){const h=m[d];if(!h.previous||h.previous.call(r,r.previous))return!0}return!1}}}function qt(e){return n;function n(t,r){let i=-1,l;for(;++i<=t.length;)l===void 0?t[i]&&t[i][1].type==="data"&&(l=i,i++):(!t[i]||t[i][1].type!=="data")&&(i!==l+2&&(t[l][1].end=t[i-1][1].end,t.splice(l+2,i-l-2),i=l+2),l=void 0);return e?e(t,r):t}}function Rl(e,n){let t=0;for(;++t<=e.length;)if((t===e.length||e[t][1].type==="lineEnding")&&e[t-1][1].type==="data"){const r=e[t-1][1],i=n.sliceStream(r);let l=i.length,o=-1,a=0,s;for(;l--;){const u=i[l];if(typeof u=="string"){for(o=u.length;u.charCodeAt(o-1)===32;)a++,o--;if(o)break;o=-1}else if(u===-2)s=!0,a++;else if(u!==-1){l++;break}}if(a){const u={type:t===e.length||s||a<2?"lineSuffix":"hardBreakTrailing",start:{line:r.end.line,column:r.end.column-a,offset:r.end.offset-a,_index:r.start._index+l,_bufferIndex:l?o:r.start._bufferIndex+o},end:Object.assign({},r.end)};r.end=Object.assign({},u.start),r.start.offset===r.end.offset?Object.assign(r,u):(e.splice(t,0,["enter",u,n],["exit",u,n]),t+=2)}t++}return e}function Bl(e,n,t){let r=Object.assign(t?Object.assign({},t):{line:1,column:1,offset:0},{_index:0,_bufferIndex:-1});const i={},l=[];let o=[],a=[];const s={consume:L,enter:E,exit:z,attempt:T(R),check:T(g),interrupt:T(g,{interrupt:!0})},u={previous:null,code:null,containerState:{},events:[],parser:e,sliceStream:h,sliceSerialize:d,now:b,defineSkip:x,write:m};let c=n.tokenize.call(u,s);return n.resolveAll&&l.push(n),u;function m(A){return o=re(o,A),C(),o[o.length-1]!==null?[]:(D(n,0),u.events=Tn(l,u.events,u),u.events)}function d(A,P){return Ml(h(A),P)}function h(A){return Nl(o,A)}function b(){const{line:A,column:P,offset:$,_index:q,_bufferIndex:B}=r;return{line:A,column:P,offset:$,_index:q,_bufferIndex:B}}function x(A){i[A.line]=A.column,Q()}function C(){let A;for(;r._index<o.length;){const P=o[r._index];if(typeof P=="string")for(A=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===A&&r._bufferIndex<P.length;)k(P.charCodeAt(r._bufferIndex));else k(P)}}function k(A){c=c(A)}function L(A){I(A)?(r.line++,r.column=1,r.offset+=A===-3?2:1,Q()):A!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===o[r._index].length&&(r._bufferIndex=-1,r._index++)),u.previous=A}function E(A,P){const $=P||{};return $.type=A,$.start=b(),u.events.push(["enter",$,u]),a.push($),$}function z(A){const P=a.pop();return P.end=b(),u.events.push(["exit",P,u]),P}function R(A,P){D(A,P.from)}function g(A,P){P.restore()}function T(A,P){return $;function $(q,B,G){let Y,ae,me,p;return Array.isArray(q)?de(q):"tokenize"in q?de([q]):ue(q);function ue(K){return Ae;function Ae(xe){const Pe=xe!==null&&K[xe],Te=xe!==null&&K.null,on=[...Array.isArray(Pe)?Pe:Pe?[Pe]:[],...Array.isArray(Te)?Te:Te?[Te]:[]];return de(on)(xe)}}function de(K){return Y=K,ae=0,K.length===0?G:f(K[ae])}function f(K){return Ae;function Ae(xe){return p=M(),me=K,K.partial||(u.currentConstruct=K),K.name&&u.parser.constructs.disable.null.includes(K.name)?Ee():K.tokenize.call(P?Object.assign(Object.create(u),P):u,s,se,Ee)(xe)}}function se(K){return A(me,p),B}function Ee(K){return p.restore(),++ae<Y.length?f(Y[ae]):G}}}function D(A,P){A.resolveAll&&!l.includes(A)&&l.push(A),A.resolve&&fe(u.events,P,u.events.length-P,A.resolve(u.events.slice(P),u)),A.resolveTo&&(u.events=A.resolveTo(u.events,u))}function M(){const A=b(),P=u.previous,$=u.currentConstruct,q=u.events.length,B=Array.from(a);return{restore:G,from:q};function G(){r=A,u.previous=P,u.currentConstruct=$,u.events.length=q,a=B,Q()}}function Q(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}function Nl(e,n){const t=n.start._index,r=n.start._bufferIndex,i=n.end._index,l=n.end._bufferIndex;let o;if(t===i)o=[e[t].slice(r,l)];else{if(o=e.slice(t,i),r>-1){const a=o[0];typeof a=="string"?o[0]=a.slice(r):o.shift()}l>0&&o.push(e[i].slice(0,l))}return o}function Ml(e,n){let t=-1;const r=[];let i;for(;++t<e.length;){const l=e[t];let o;if(typeof l=="string")o=l;else switch(l){case-5:{o="\r";break}case-4:{o=`
|
|
7
|
+
`;break}case-3:{o=`\r
|
|
8
|
+
`;break}case-2:{o=n?" ":" ";break}case-1:{if(!n&&i)continue;o=" ";break}default:o=String.fromCharCode(l)}i=l===-2,r.push(o)}return r.join("")}const _l={42:J,43:J,45:J,48:J,49:J,50:J,51:J,52:J,53:J,54:J,55:J,56:J,57:J,62:Nt},jl={91:Hi},Hl={[-2]:mn,[-1]:mn,32:mn},Ul={35:Xi,42:qe,45:[mt,qe],60:Gi,61:mt,95:qe,96:ht,126:ht},Vl={38:_t,92:Mt},$l={[-5]:dn,[-4]:dn,[-3]:dn,33:dl,38:_t,42:Cn,60:[xi,il],91:yl,92:[qi,Mt],93:In,95:Cn,96:vi},ql={null:[Cn,Ll]},Wl={null:[42,95]},Xl={null:[]},Ql=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:Wl,contentInitial:jl,disable:Xl,document:_l,flow:Ul,flowInitial:Hl,insideSpan:ql,string:Vl,text:$l},Symbol.toStringTag,{value:"Module"}));function Yl(e){const t=ti([Ql,...(e||{}).extensions||[]]),r={defined:[],lazy:{},constructs:t,content:i(pi),document:i(fi),flow:i(Ol),string:i(Dl),text:i(zl)};return r;function i(l){return o;function o(a){return Bl(r,l,a)}}}const dt=/[\0\t\n\r]/g;function Kl(){let e=1,n="",t=!0,r;return i;function i(l,o,a){const s=[];let u,c,m,d,h;for(l=n+l.toString(o),m=0,n="",t&&(l.charCodeAt(0)===65279&&m++,t=void 0);m<l.length;){if(dt.lastIndex=m,u=dt.exec(l),d=u&&u.index!==void 0?u.index:l.length,h=l.charCodeAt(d),!u){n=l.slice(m);break}if(h===10&&m===d&&r)s.push(-3),r=void 0;else switch(r&&(s.push(-5),r=void 0),m<d&&(s.push(l.slice(m,d)),e+=d-m),h){case 0:{s.push(65533),e++;break}case 9:{for(c=Math.ceil(e/4)*4,s.push(-2);e++<c;)s.push(-1);break}case 10:{s.push(-4),e=1;break}default:r=!0,e=1}m=d+1}return a&&(r&&s.push(-5),n&&s.push(n),s.push(null)),s}}function Gl(e){for(;!jt(e););return e}function Wt(e,n){const t=Number.parseInt(e,n);return t<9||t===11||t>13&&t<32||t>126&&t<160||t>55295&&t<57344||t>64975&&t<65008||(t&65535)===65535||(t&65535)===65534||t>1114111?"�":String.fromCharCode(t)}const Jl=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Zl(e){return e.replace(Jl,eo)}function eo(e,n,t){if(n)return n;if(t.charCodeAt(0)===35){const i=t.charCodeAt(1),l=i===120||i===88;return Wt(t.slice(l?2:1),l?16:10)}return Fn(t)||e}const Xt={}.hasOwnProperty,no=function(e,n,t){return typeof n!="string"&&(t=n,n=void 0),to(t)(Gl(Yl(t).document().write(Kl()(e,n,!0))))};function to(e){const n={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:a(Un),autolinkProtocol:A,autolinkEmail:A,atxHeading:a(_n),blockQuote:a(on),characterEscape:A,characterReference:A,codeFenced:a(Mn),codeFencedFenceInfo:s,codeFencedFenceMeta:s,codeIndented:a(Mn,s),codeText:a(kr,s),codeTextData:A,data:A,codeFlowValue:A,definition:a(wr),definitionDestinationString:s,definitionLabelString:s,definitionTitleString:s,emphasis:a(br),hardBreakEscape:a(jn),hardBreakTrailing:a(jn),htmlFlow:a(Hn,s),htmlFlowData:A,htmlText:a(Hn,s),htmlTextData:A,image:a(Sr),label:s,link:a(Un),listItem:a(Cr),listItemValue:b,listOrdered:a(Vn,h),listUnordered:a(Vn),paragraph:a(Er),reference:Ee,referenceString:s,resourceDestinationString:s,resourceTitleString:s,setextHeading:a(_n),strong:a(Ar),thematicBreak:a(Tr)},exit:{atxHeading:c(),atxHeadingSequence:T,autolink:c(),autolinkEmail:Te,autolinkProtocol:Pe,blockQuote:c(),characterEscapeValue:P,characterReferenceMarkerHexadecimal:Ae,characterReferenceMarkerNumeric:Ae,characterReferenceValue:xe,codeFenced:c(L),codeFencedFence:k,codeFencedFenceInfo:x,codeFencedFenceMeta:C,codeFlowValue:P,codeIndented:c(E),codeText:c(Y),codeTextData:P,data:P,definition:c(),definitionDestinationString:g,definitionLabelString:z,definitionTitleString:R,emphasis:c(),hardBreakEscape:c(q),hardBreakTrailing:c(q),htmlFlow:c(B),htmlFlowData:P,htmlText:c(G),htmlTextData:P,image:c(me),label:ue,labelText:p,lineEnding:$,link:c(ae),listItem:c(),listOrdered:c(),listUnordered:c(),paragraph:c(),referenceString:K,resourceDestinationString:de,resourceTitleString:f,resource:se,setextHeading:c(Q),setextHeadingLineSequence:M,setextHeadingText:D,strong:c(),thematicBreak:c()}};Qt(n,(e||{}).mdastExtensions||[]);const t={};return r;function r(y){let S={type:"root",children:[]};const F={stack:[S],tokenStack:[],config:n,enter:u,exit:m,buffer:s,resume:d,setData:l,getData:o},j=[];let H=-1;for(;++H<y.length;)if(y[H][1].type==="listOrdered"||y[H][1].type==="listUnordered")if(y[H][0]==="enter")j.push(H);else{const ce=j.pop();H=i(y,ce,H)}for(H=-1;++H<y.length;){const ce=n[y[H][0]];Xt.call(ce,y[H][1].type)&&ce[y[H][1].type].call(Object.assign({sliceSerialize:y[H][2].sliceSerialize},F),y[H][1])}if(F.tokenStack.length>0){const ce=F.tokenStack[F.tokenStack.length-1];(ce[1]||gt).call(F,void 0,ce[0])}for(S.position={start:we(y.length>0?y[0][1].start:{line:1,column:1,offset:0}),end:we(y.length>0?y[y.length-2][1].end:{line:1,column:1,offset:0})},H=-1;++H<n.transforms.length;)S=n.transforms[H](S)||S;return S}function i(y,S,F){let j=S-1,H=-1,ce=!1,ke,ge,De,ze;for(;++j<=F;){const W=y[j];if(W[1].type==="listUnordered"||W[1].type==="listOrdered"||W[1].type==="blockQuote"?(W[0]==="enter"?H++:H--,ze=void 0):W[1].type==="lineEndingBlank"?W[0]==="enter"&&(ke&&!ze&&!H&&!De&&(De=j),ze=void 0):W[1].type==="linePrefix"||W[1].type==="listItemValue"||W[1].type==="listItemMarker"||W[1].type==="listItemPrefix"||W[1].type==="listItemPrefixWhitespace"||(ze=void 0),!H&&W[0]==="enter"&&W[1].type==="listItemPrefix"||H===-1&&W[0]==="exit"&&(W[1].type==="listUnordered"||W[1].type==="listOrdered")){if(ke){let an=j;for(ge=void 0;an--;){const ye=y[an];if(ye[1].type==="lineEnding"||ye[1].type==="lineEndingBlank"){if(ye[0]==="exit")continue;ge&&(y[ge][1].type="lineEndingBlank",ce=!0),ye[1].type="lineEnding",ge=an}else if(!(ye[1].type==="linePrefix"||ye[1].type==="blockQuotePrefix"||ye[1].type==="blockQuotePrefixWhitespace"||ye[1].type==="blockQuoteMarker"||ye[1].type==="listItemIndent"))break}De&&(!ge||De<ge)&&(ke._spread=!0),ke.end=Object.assign({},ge?y[ge][1].start:W[1].end),y.splice(ge||j,0,["exit",ke,W[2]]),j++,F++}W[1].type==="listItemPrefix"&&(ke={type:"listItem",_spread:!1,start:Object.assign({},W[1].start),end:void 0},y.splice(j,0,["enter",ke,W[2]]),j++,F++,De=void 0,ze=!0)}}return y[S][1]._spread=ce,F}function l(y,S){t[y]=S}function o(y){return t[y]}function a(y,S){return F;function F(j){u.call(this,y(j),j),S&&S.call(this,j)}}function s(){this.stack.push({type:"fragment",children:[]})}function u(y,S,F){return this.stack[this.stack.length-1].children.push(y),this.stack.push(y),this.tokenStack.push([S,F]),y.position={start:we(S.start)},y}function c(y){return S;function S(F){y&&y.call(this,F),m.call(this,F)}}function m(y,S){const F=this.stack.pop(),j=this.tokenStack.pop();if(j)j[0].type!==y.type&&(S?S.call(this,y,j[0]):(j[1]||gt).call(this,y,j[0]));else throw new Error("Cannot close `"+y.type+"` ("+Ne({start:y.start,end:y.end})+"): it’s not open");return F.position.end=we(y.end),F}function d(){return ei(this.stack.pop())}function h(){l("expectingFirstListItemValue",!0)}function b(y){if(o("expectingFirstListItemValue")){const S=this.stack[this.stack.length-2];S.start=Number.parseInt(this.sliceSerialize(y),10),l("expectingFirstListItemValue")}}function x(){const y=this.resume(),S=this.stack[this.stack.length-1];S.lang=y}function C(){const y=this.resume(),S=this.stack[this.stack.length-1];S.meta=y}function k(){o("flowCodeInside")||(this.buffer(),l("flowCodeInside",!0))}function L(){const y=this.resume(),S=this.stack[this.stack.length-1];S.value=y.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),l("flowCodeInside")}function E(){const y=this.resume(),S=this.stack[this.stack.length-1];S.value=y.replace(/(\r?\n|\r)$/g,"")}function z(y){const S=this.resume(),F=this.stack[this.stack.length-1];F.label=S,F.identifier=Ie(this.sliceSerialize(y)).toLowerCase()}function R(){const y=this.resume(),S=this.stack[this.stack.length-1];S.title=y}function g(){const y=this.resume(),S=this.stack[this.stack.length-1];S.url=y}function T(y){const S=this.stack[this.stack.length-1];if(!S.depth){const F=this.sliceSerialize(y).length;S.depth=F}}function D(){l("setextHeadingSlurpLineEnding",!0)}function M(y){const S=this.stack[this.stack.length-1];S.depth=this.sliceSerialize(y).charCodeAt(0)===61?1:2}function Q(){l("setextHeadingSlurpLineEnding")}function A(y){const S=this.stack[this.stack.length-1];let F=S.children[S.children.length-1];(!F||F.type!=="text")&&(F=Pr(),F.position={start:we(y.start)},S.children.push(F)),this.stack.push(F)}function P(y){const S=this.stack.pop();S.value+=this.sliceSerialize(y),S.position.end=we(y.end)}function $(y){const S=this.stack[this.stack.length-1];if(o("atHardBreak")){const F=S.children[S.children.length-1];F.position.end=we(y.end),l("atHardBreak");return}!o("setextHeadingSlurpLineEnding")&&n.canContainEols.includes(S.type)&&(A.call(this,y),P.call(this,y))}function q(){l("atHardBreak",!0)}function B(){const y=this.resume(),S=this.stack[this.stack.length-1];S.value=y}function G(){const y=this.resume(),S=this.stack[this.stack.length-1];S.value=y}function Y(){const y=this.resume(),S=this.stack[this.stack.length-1];S.value=y}function ae(){const y=this.stack[this.stack.length-1];if(o("inReference")){const S=o("referenceType")||"shortcut";y.type+="Reference",y.referenceType=S,delete y.url,delete y.title}else delete y.identifier,delete y.label;l("referenceType")}function me(){const y=this.stack[this.stack.length-1];if(o("inReference")){const S=o("referenceType")||"shortcut";y.type+="Reference",y.referenceType=S,delete y.url,delete y.title}else delete y.identifier,delete y.label;l("referenceType")}function p(y){const S=this.sliceSerialize(y),F=this.stack[this.stack.length-2];F.label=Zl(S),F.identifier=Ie(S).toLowerCase()}function ue(){const y=this.stack[this.stack.length-1],S=this.resume(),F=this.stack[this.stack.length-1];if(l("inReference",!0),F.type==="link"){const j=y.children;F.children=j}else F.alt=S}function de(){const y=this.resume(),S=this.stack[this.stack.length-1];S.url=y}function f(){const y=this.resume(),S=this.stack[this.stack.length-1];S.title=y}function se(){l("inReference")}function Ee(){l("referenceType","collapsed")}function K(y){const S=this.resume(),F=this.stack[this.stack.length-1];F.label=S,F.identifier=Ie(this.sliceSerialize(y)).toLowerCase(),l("referenceType","full")}function Ae(y){l("characterReferenceType",y.type)}function xe(y){const S=this.sliceSerialize(y),F=o("characterReferenceType");let j;F?(j=Wt(S,F==="characterReferenceMarkerNumeric"?10:16),l("characterReferenceType")):j=Fn(S);const H=this.stack.pop();H.value+=j,H.position.end=we(y.end)}function Pe(y){P.call(this,y);const S=this.stack[this.stack.length-1];S.url=this.sliceSerialize(y)}function Te(y){P.call(this,y);const S=this.stack[this.stack.length-1];S.url="mailto:"+this.sliceSerialize(y)}function on(){return{type:"blockquote",children:[]}}function Mn(){return{type:"code",lang:null,meta:null,value:""}}function kr(){return{type:"inlineCode",value:""}}function wr(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function br(){return{type:"emphasis",children:[]}}function _n(){return{type:"heading",depth:void 0,children:[]}}function jn(){return{type:"break"}}function Hn(){return{type:"html",value:""}}function Sr(){return{type:"image",title:null,url:"",alt:null}}function Un(){return{type:"link",title:null,url:"",children:[]}}function Vn(y){return{type:"list",ordered:y.type==="listOrdered",start:null,spread:y._spread,children:[]}}function Cr(y){return{type:"listItem",spread:y._spread,checked:null,children:[]}}function Er(){return{type:"paragraph",children:[]}}function Ar(){return{type:"strong",children:[]}}function Pr(){return{type:"text",value:""}}function Tr(){return{type:"thematicBreak"}}}function we(e){return{line:e.line,column:e.column,offset:e.offset}}function Qt(e,n){let t=-1;for(;++t<n.length;){const r=n[t];Array.isArray(r)?Qt(e,r):ro(e,r)}}function ro(e,n){let t;for(t in n)if(Xt.call(n,t)){if(t==="canContainEols"){const r=n[t];r&&e[t].push(...r)}else if(t==="transforms"){const r=n[t];r&&e[t].push(...r)}else if(t==="enter"||t==="exit"){const r=n[t];r&&Object.assign(e[t],r)}}}function gt(e,n){throw e?new Error("Cannot close `"+e.type+"` ("+Ne({start:e.start,end:e.end})+"): a different token (`"+n.type+"`, "+Ne({start:n.start,end:n.end})+") is open"):new Error("Cannot close document, a token (`"+n.type+"`, "+Ne({start:n.start,end:n.end})+") is still open")}function io(e){Object.assign(this,{Parser:t=>{const r=this.data("settings");return no(t,Object.assign({},r,e,{extensions:this.data("micromarkExtensions")||[],mdastExtensions:this.data("fromMarkdownExtensions")||[]}))}})}function lo(e,n){const t={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(n),!0)};return e.patch(n,t),e.applyData(n,t)}function oo(e,n){const t={type:"element",tagName:"br",properties:{},children:[]};return e.patch(n,t),[e.applyData(n,t),{type:"text",value:`
|
|
9
|
+
`}]}function ao(e,n){const t=n.value?n.value+`
|
|
10
|
+
`:"",r=n.lang?n.lang.match(/^[^ \t]+(?=[ \t]|$)/):null,i={};r&&(i.className=["language-"+r]);let l={type:"element",tagName:"code",properties:i,children:[{type:"text",value:t}]};return n.meta&&(l.data={meta:n.meta}),e.patch(n,l),l=e.applyData(n,l),l={type:"element",tagName:"pre",properties:{},children:[l]},e.patch(n,l),l}function uo(e,n){const t={type:"element",tagName:"del",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function so(e,n){const t={type:"element",tagName:"em",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function ve(e){const n=[];let t=-1,r=0,i=0;for(;++t<e.length;){const l=e.charCodeAt(t);let o="";if(l===37&&te(e.charCodeAt(t+1))&&te(e.charCodeAt(t+2)))i=2;else if(l<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(l))||(o=String.fromCharCode(l));else if(l>55295&&l<57344){const a=e.charCodeAt(t+1);l<56320&&a>56319&&a<57344?(o=String.fromCharCode(l,a),i=1):o="�"}else o=String.fromCharCode(l);o&&(n.push(e.slice(r,t),encodeURIComponent(o)),r=t+i+1,o=""),i&&(t+=i,i=0)}return n.join("")+e.slice(r)}function Yt(e,n){const t=String(n.identifier).toUpperCase(),r=ve(t.toLowerCase()),i=e.footnoteOrder.indexOf(t);let l;i===-1?(e.footnoteOrder.push(t),e.footnoteCounts[t]=1,l=e.footnoteOrder.length):(e.footnoteCounts[t]++,l=i+1);const o=e.footnoteCounts[t],a={type:"element",tagName:"a",properties:{href:"#"+e.clobberPrefix+"fn-"+r,id:e.clobberPrefix+"fnref-"+r+(o>1?"-"+o:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(l)}]};e.patch(n,a);const s={type:"element",tagName:"sup",properties:{},children:[a]};return e.patch(n,s),e.applyData(n,s)}function co(e,n){const t=e.footnoteById;let r=1;for(;r in t;)r++;const i=String(r);return t[i]={type:"footnoteDefinition",identifier:i,children:[{type:"paragraph",children:n.children}],position:n.position},Yt(e,{type:"footnoteReference",identifier:i,position:n.position})}function po(e,n){const t={type:"element",tagName:"h"+n.depth,properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function ho(e,n){if(e.dangerous){const t={type:"raw",value:n.value};return e.patch(n,t),e.applyData(n,t)}return null}function Kt(e,n){const t=n.referenceType;let r="]";if(t==="collapsed"?r+="[]":t==="full"&&(r+="["+(n.label||n.identifier)+"]"),n.type==="imageReference")return{type:"text",value:"!["+n.alt+r};const i=e.all(n),l=i[0];l&&l.type==="text"?l.value="["+l.value:i.unshift({type:"text",value:"["});const o=i[i.length-1];return o&&o.type==="text"?o.value+=r:i.push({type:"text",value:r}),i}function fo(e,n){const t=e.definition(n.identifier);if(!t)return Kt(e,n);const r={src:ve(t.url||""),alt:n.alt};t.title!==null&&t.title!==void 0&&(r.title=t.title);const i={type:"element",tagName:"img",properties:r,children:[]};return e.patch(n,i),e.applyData(n,i)}function mo(e,n){const t={src:ve(n.url)};n.alt!==null&&n.alt!==void 0&&(t.alt=n.alt),n.title!==null&&n.title!==void 0&&(t.title=n.title);const r={type:"element",tagName:"img",properties:t,children:[]};return e.patch(n,r),e.applyData(n,r)}function go(e,n){const t={type:"text",value:n.value.replace(/\r?\n|\r/g," ")};e.patch(n,t);const r={type:"element",tagName:"code",properties:{},children:[t]};return e.patch(n,r),e.applyData(n,r)}function yo(e,n){const t=e.definition(n.identifier);if(!t)return Kt(e,n);const r={href:ve(t.url||"")};t.title!==null&&t.title!==void 0&&(r.title=t.title);const i={type:"element",tagName:"a",properties:r,children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function xo(e,n){const t={href:ve(n.url)};n.title!==null&&n.title!==void 0&&(t.title=n.title);const r={type:"element",tagName:"a",properties:t,children:e.all(n)};return e.patch(n,r),e.applyData(n,r)}function ko(e,n,t){const r=e.all(n),i=t?wo(t):Gt(n),l={},o=[];if(typeof n.checked=="boolean"){const c=r[0];let m;c&&c.type==="element"&&c.tagName==="p"?m=c:(m={type:"element",tagName:"p",properties:{},children:[]},r.unshift(m)),m.children.length>0&&m.children.unshift({type:"text",value:" "}),m.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:n.checked,disabled:!0},children:[]}),l.className=["task-list-item"]}let a=-1;for(;++a<r.length;){const c=r[a];(i||a!==0||c.type!=="element"||c.tagName!=="p")&&o.push({type:"text",value:`
|
|
11
|
+
`}),c.type==="element"&&c.tagName==="p"&&!i?o.push(...c.children):o.push(c)}const s=r[r.length-1];s&&(i||s.type!=="element"||s.tagName!=="p")&&o.push({type:"text",value:`
|
|
12
|
+
`});const u={type:"element",tagName:"li",properties:l,children:o};return e.patch(n,u),e.applyData(n,u)}function wo(e){let n=!1;if(e.type==="list"){n=e.spread||!1;const t=e.children;let r=-1;for(;!n&&++r<t.length;)n=Gt(t[r])}return n}function Gt(e){const n=e.spread;return n??e.children.length>1}function bo(e,n){const t={},r=e.all(n);let i=-1;for(typeof n.start=="number"&&n.start!==1&&(t.start=n.start);++i<r.length;){const o=r[i];if(o.type==="element"&&o.tagName==="li"&&o.properties&&Array.isArray(o.properties.className)&&o.properties.className.includes("task-list-item")){t.className=["contains-task-list"];break}}const l={type:"element",tagName:n.ordered?"ol":"ul",properties:t,children:e.wrap(r,!0)};return e.patch(n,l),e.applyData(n,l)}function So(e,n){const t={type:"element",tagName:"p",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function Co(e,n){const t={type:"root",children:e.wrap(e.all(n))};return e.patch(n,t),e.applyData(n,t)}function Eo(e,n){const t={type:"element",tagName:"strong",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}const On=Jt("start"),vn=Jt("end");function Ao(e){return{start:On(e),end:vn(e)}}function Jt(e){return n;function n(t){const r=t&&t.position&&t.position[e]||{};return{line:r.line||null,column:r.column||null,offset:r.offset>-1?r.offset:null}}}function Po(e,n){const t=e.all(n),r=t.shift(),i=[];if(r){const o={type:"element",tagName:"thead",properties:{},children:e.wrap([r],!0)};e.patch(n.children[0],o),i.push(o)}if(t.length>0){const o={type:"element",tagName:"tbody",properties:{},children:e.wrap(t,!0)},a=On(n.children[1]),s=vn(n.children[n.children.length-1]);a.line&&s.line&&(o.position={start:a,end:s}),i.push(o)}const l={type:"element",tagName:"table",properties:{},children:e.wrap(i,!0)};return e.patch(n,l),e.applyData(n,l)}function To(e,n,t){const r=t?t.children:void 0,l=(r?r.indexOf(n):1)===0?"th":"td",o=t&&t.type==="table"?t.align:void 0,a=o?o.length:n.children.length;let s=-1;const u=[];for(;++s<a;){const m=n.children[s],d={},h=o?o[s]:void 0;h&&(d.align=h);let b={type:"element",tagName:l,properties:d,children:[]};m&&(b.children=e.all(m),e.patch(m,b),b=e.applyData(n,b)),u.push(b)}const c={type:"element",tagName:"tr",properties:{},children:e.wrap(u,!0)};return e.patch(n,c),e.applyData(n,c)}function Fo(e,n){const t={type:"element",tagName:"td",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}const yt=9,xt=32;function Io(e){const n=String(e),t=/\r?\n|\r/g;let r=t.exec(n),i=0;const l=[];for(;r;)l.push(kt(n.slice(i,r.index),i>0,!0),r[0]),i=r.index+r[0].length,r=t.exec(n);return l.push(kt(n.slice(i),i>0,!1)),l.join("")}function kt(e,n,t){let r=0,i=e.length;if(n){let l=e.codePointAt(r);for(;l===yt||l===xt;)r++,l=e.codePointAt(r)}if(t){let l=e.codePointAt(i-1);for(;l===yt||l===xt;)i--,l=e.codePointAt(i-1)}return i>r?e.slice(r,i):""}function Oo(e,n){const t={type:"text",value:Io(String(n.value))};return e.patch(n,t),e.applyData(n,t)}function vo(e,n){const t={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(n,t),e.applyData(n,t)}const Lo={blockquote:lo,break:oo,code:ao,delete:uo,emphasis:so,footnoteReference:Yt,footnote:co,heading:po,html:ho,imageReference:fo,image:mo,inlineCode:go,linkReference:yo,link:xo,listItem:ko,list:bo,paragraph:So,root:Co,strong:Eo,table:Po,tableCell:Fo,tableRow:To,text:Oo,thematicBreak:vo,toml:Ue,yaml:Ue,definition:Ue,footnoteDefinition:Ue};function Ue(){return null}const Zt=function(e){if(e==null)return Bo;if(typeof e=="string")return Ro(e);if(typeof e=="object")return Array.isArray(e)?Do(e):zo(e);if(typeof e=="function")return Qe(e);throw new Error("Expected function, string, or object as test")};function Do(e){const n=[];let t=-1;for(;++t<e.length;)n[t]=Zt(e[t]);return Qe(r);function r(...i){let l=-1;for(;++l<n.length;)if(n[l].call(this,...i))return!0;return!1}}function zo(e){return Qe(n);function n(t){let r;for(r in e)if(t[r]!==e[r])return!1;return!0}}function Ro(e){return Qe(n);function n(t){return t&&t.type===e}}function Qe(e){return n;function n(t,...r){return!!(t&&typeof t=="object"&&"type"in t&&e.call(this,t,...r))}}function Bo(){return!0}const No=!0,wt=!1,Mo="skip",_o=function(e,n,t,r){typeof n=="function"&&typeof t!="function"&&(r=t,t=n,n=null);const i=Zt(n),l=r?-1:1;o(e,void 0,[])();function o(a,s,u){const c=a&&typeof a=="object"?a:{};if(typeof c.type=="string"){const d=typeof c.tagName=="string"?c.tagName:typeof c.name=="string"?c.name:void 0;Object.defineProperty(m,"name",{value:"node ("+(a.type+(d?"<"+d+">":""))+")"})}return m;function m(){let d=[],h,b,x;if((!n||i(a,s,u[u.length-1]||null))&&(d=jo(t(a,u)),d[0]===wt))return d;if(a.children&&d[0]!==Mo)for(b=(r?a.children.length:-1)+l,x=u.concat(a);b>-1&&b<a.children.length;){if(h=o(a.children[b],b,x)(),h[0]===wt)return h;b=typeof h[1]=="number"?h[1]:b+l}return d}}};function jo(e){return Array.isArray(e)?e:typeof e=="number"?[No,e]:[e]}const Ln=function(e,n,t,r){typeof n=="function"&&typeof t!="function"&&(r=t,t=n,n=null),_o(e,n,i,r);function i(l,o){const a=o[o.length-1];return t(l,a?a.children.indexOf(l):null,a)}};function Ho(e){return!e||!e.position||!e.position.start||!e.position.start.line||!e.position.start.column||!e.position.end||!e.position.end.line||!e.position.end.column}const bt={}.hasOwnProperty;function Uo(e){const n=Object.create(null);if(!e||!e.type)throw new Error("mdast-util-definitions expected node");return Ln(e,"definition",r=>{const i=St(r.identifier);i&&!bt.call(n,i)&&(n[i]=r)}),t;function t(r){const i=St(r);return i&&bt.call(n,i)?n[i]:null}}function St(e){return String(e||"").toUpperCase()}const We={}.hasOwnProperty;function Vo(e,n){const t=n||{},r=t.allowDangerousHtml||!1,i={};return o.dangerous=r,o.clobberPrefix=t.clobberPrefix===void 0||t.clobberPrefix===null?"user-content-":t.clobberPrefix,o.footnoteLabel=t.footnoteLabel||"Footnotes",o.footnoteLabelTagName=t.footnoteLabelTagName||"h2",o.footnoteLabelProperties=t.footnoteLabelProperties||{className:["sr-only"]},o.footnoteBackLabel=t.footnoteBackLabel||"Back to content",o.unknownHandler=t.unknownHandler,o.passThrough=t.passThrough,o.handlers={...Lo,...t.handlers},o.definition=Uo(e),o.footnoteById=i,o.footnoteOrder=[],o.footnoteCounts={},o.patch=$o,o.applyData=qo,o.one=a,o.all=s,o.wrap=Xo,o.augment=l,Ln(e,"footnoteDefinition",u=>{const c=String(u.identifier).toUpperCase();We.call(i,c)||(i[c]=u)}),o;function l(u,c){if(u&&"data"in u&&u.data){const m=u.data;m.hName&&(c.type!=="element"&&(c={type:"element",tagName:"",properties:{},children:[]}),c.tagName=m.hName),c.type==="element"&&m.hProperties&&(c.properties={...c.properties,...m.hProperties}),"children"in c&&c.children&&m.hChildren&&(c.children=m.hChildren)}if(u){const m="type"in u?u:{position:u};Ho(m)||(c.position={start:On(m),end:vn(m)})}return c}function o(u,c,m,d){return Array.isArray(m)&&(d=m,m={}),l(u,{type:"element",tagName:c,properties:m||{},children:d||[]})}function a(u,c){return er(o,u,c)}function s(u){return Dn(o,u)}}function $o(e,n){e.position&&(n.position=Ao(e))}function qo(e,n){let t=n;if(e&&e.data){const r=e.data.hName,i=e.data.hChildren,l=e.data.hProperties;typeof r=="string"&&(t.type==="element"?t.tagName=r:t={type:"element",tagName:r,properties:{},children:[]}),t.type==="element"&&l&&(t.properties={...t.properties,...l}),"children"in t&&t.children&&i!==null&&i!==void 0&&(t.children=i)}return t}function er(e,n,t){const r=n&&n.type;if(!r)throw new Error("Expected node, got `"+n+"`");return We.call(e.handlers,r)?e.handlers[r](e,n,t):e.passThrough&&e.passThrough.includes(r)?"children"in n?{...n,children:Dn(e,n)}:n:e.unknownHandler?e.unknownHandler(e,n,t):Wo(e,n)}function Dn(e,n){const t=[];if("children"in n){const r=n.children;let i=-1;for(;++i<r.length;){const l=er(e,r[i],n);if(l){if(i&&r[i-1].type==="break"&&(!Array.isArray(l)&&l.type==="text"&&(l.value=l.value.replace(/^\s+/,"")),!Array.isArray(l)&&l.type==="element")){const o=l.children[0];o&&o.type==="text"&&(o.value=o.value.replace(/^\s+/,""))}Array.isArray(l)?t.push(...l):t.push(l)}}}return t}function Wo(e,n){const t=n.data||{},r="value"in n&&!(We.call(t,"hProperties")||We.call(t,"hChildren"))?{type:"text",value:n.value}:{type:"element",tagName:"div",properties:{},children:Dn(e,n)};return e.patch(n,r),e.applyData(n,r)}function Xo(e,n){const t=[];let r=-1;for(n&&t.push({type:"text",value:`
|
|
13
|
+
`});++r<e.length;)r&&t.push({type:"text",value:`
|
|
14
|
+
`}),t.push(e[r]);return n&&e.length>0&&t.push({type:"text",value:`
|
|
15
|
+
`}),t}function Qo(e){const n=[];let t=-1;for(;++t<e.footnoteOrder.length;){const r=e.footnoteById[e.footnoteOrder[t]];if(!r)continue;const i=e.all(r),l=String(r.identifier).toUpperCase(),o=ve(l.toLowerCase());let a=0;const s=[];for(;++a<=e.footnoteCounts[l];){const m={type:"element",tagName:"a",properties:{href:"#"+e.clobberPrefix+"fnref-"+o+(a>1?"-"+a:""),dataFootnoteBackref:!0,className:["data-footnote-backref"],ariaLabel:e.footnoteBackLabel},children:[{type:"text",value:"↩"}]};a>1&&m.children.push({type:"element",tagName:"sup",children:[{type:"text",value:String(a)}]}),s.length>0&&s.push({type:"text",value:" "}),s.push(m)}const u=i[i.length-1];if(u&&u.type==="element"&&u.tagName==="p"){const m=u.children[u.children.length-1];m&&m.type==="text"?m.value+=" ":u.children.push({type:"text",value:" "}),u.children.push(...s)}else i.push(...s);const c={type:"element",tagName:"li",properties:{id:e.clobberPrefix+"fn-"+o},children:e.wrap(i,!0)};e.patch(r,c),n.push(c)}if(n.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:e.footnoteLabelTagName,properties:{...JSON.parse(JSON.stringify(e.footnoteLabelProperties)),id:"footnote-label"},children:[{type:"text",value:e.footnoteLabel}]},{type:"text",value:`
|
|
16
|
+
`},{type:"element",tagName:"ol",properties:{},children:e.wrap(n,!0)},{type:"text",value:`
|
|
17
|
+
`}]}}function nr(e,n){const t=Vo(e,n),r=t.one(e,null),i=Qo(t);return i&&r.children.push({type:"text",value:`
|
|
18
|
+
`},i),Array.isArray(r)?{type:"root",children:r}:r}const Yo=function(e,n){return e&&"run"in e?Ko(e,n):Go(e||n)};function Ko(e,n){return(t,r,i)=>{e.run(nr(t,n),r,l=>{i(l)})}}function Go(e){return n=>nr(n,e)}var tr={exports:{}},Jo="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",Zo=Jo,ea=Zo;function rr(){}function ir(){}ir.resetWarningCache=rr;var na=function(){function e(r,i,l,o,a,s){if(s!==ea){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}e.isRequired=e;function n(){return e}var t={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:n,element:e,elementType:e,instanceOf:n,node:e,objectOf:n,oneOf:n,oneOfType:n,shape:n,exact:n,checkPropTypes:ir,resetWarningCache:rr};return t.PropTypes=t,t};tr.exports=na();var ta=tr.exports;const O=_e(ta);class He{constructor(n,t,r){this.property=n,this.normal=t,r&&(this.space=r)}}He.prototype.property={};He.prototype.normal={};He.prototype.space=null;function lr(e,n){const t={},r={};let i=-1;for(;++i<e.length;)Object.assign(t,e[i].property),Object.assign(r,e[i].normal);return new He(t,r,n)}function En(e){return e.toLowerCase()}class le{constructor(n,t){this.property=n,this.attribute=t}}le.prototype.space=null;le.prototype.boolean=!1;le.prototype.booleanish=!1;le.prototype.overloadedBoolean=!1;le.prototype.number=!1;le.prototype.commaSeparated=!1;le.prototype.spaceSeparated=!1;le.prototype.commaOrSpaceSeparated=!1;le.prototype.mustUseProperty=!1;le.prototype.defined=!1;let ra=0;const v=Ce(),X=Ce(),or=Ce(),w=Ce(),U=Ce(),Oe=Ce(),ee=Ce();function Ce(){return 2**++ra}const An=Object.freeze(Object.defineProperty({__proto__:null,boolean:v,booleanish:X,commaOrSpaceSeparated:ee,commaSeparated:Oe,number:w,overloadedBoolean:or,spaceSeparated:U},Symbol.toStringTag,{value:"Module"})),gn=Object.keys(An);class zn extends le{constructor(n,t,r,i){let l=-1;if(super(n,t),Ct(this,"space",i),typeof r=="number")for(;++l<gn.length;){const o=gn[l];Ct(this,gn[l],(r&An[o])===An[o])}}}zn.prototype.defined=!0;function Ct(e,n,t){t&&(e[n]=t)}const ia={}.hasOwnProperty;function Le(e){const n={},t={};let r;for(r in e.properties)if(ia.call(e.properties,r)){const i=e.properties[r],l=new zn(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(l.mustUseProperty=!0),n[r]=l,t[En(r)]=r,t[En(l.attribute)]=r}return new He(n,t,e.space)}const ar=Le({space:"xlink",transform(e,n){return"xlink:"+n.slice(5).toLowerCase()},properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}}),ur=Le({space:"xml",transform(e,n){return"xml:"+n.slice(3).toLowerCase()},properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function sr(e,n){return n in e?e[n]:n}function cr(e,n){return sr(e,n.toLowerCase())}const pr=Le({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:cr,properties:{xmlns:null,xmlnsXLink:null}}),hr=Le({transform(e,n){return n==="role"?n:"aria-"+n.slice(4).toLowerCase()},properties:{ariaActiveDescendant:null,ariaAtomic:X,ariaAutoComplete:null,ariaBusy:X,ariaChecked:X,ariaColCount:w,ariaColIndex:w,ariaColSpan:w,ariaControls:U,ariaCurrent:null,ariaDescribedBy:U,ariaDetails:null,ariaDisabled:X,ariaDropEffect:U,ariaErrorMessage:null,ariaExpanded:X,ariaFlowTo:U,ariaGrabbed:X,ariaHasPopup:null,ariaHidden:X,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:U,ariaLevel:w,ariaLive:null,ariaModal:X,ariaMultiLine:X,ariaMultiSelectable:X,ariaOrientation:null,ariaOwns:U,ariaPlaceholder:null,ariaPosInSet:w,ariaPressed:X,ariaReadOnly:X,ariaRelevant:null,ariaRequired:X,ariaRoleDescription:U,ariaRowCount:w,ariaRowIndex:w,ariaRowSpan:w,ariaSelected:X,ariaSetSize:w,ariaSort:null,ariaValueMax:w,ariaValueMin:w,ariaValueNow:w,ariaValueText:null,role:null}}),la=Le({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:cr,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Oe,acceptCharset:U,accessKey:U,action:null,allow:null,allowFullScreen:v,allowPaymentRequest:v,allowUserMedia:v,alt:null,as:null,async:v,autoCapitalize:null,autoComplete:U,autoFocus:v,autoPlay:v,blocking:U,capture:null,charSet:null,checked:v,cite:null,className:U,cols:w,colSpan:null,content:null,contentEditable:X,controls:v,controlsList:U,coords:w|Oe,crossOrigin:null,data:null,dateTime:null,decoding:null,default:v,defer:v,dir:null,dirName:null,disabled:v,download:or,draggable:X,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:v,formTarget:null,headers:U,height:w,hidden:v,high:w,href:null,hrefLang:null,htmlFor:U,httpEquiv:U,id:null,imageSizes:null,imageSrcSet:null,inert:v,inputMode:null,integrity:null,is:null,isMap:v,itemId:null,itemProp:U,itemRef:U,itemScope:v,itemType:U,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:v,low:w,manifest:null,max:null,maxLength:w,media:null,method:null,min:null,minLength:w,multiple:v,muted:v,name:null,nonce:null,noModule:v,noValidate:v,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:v,optimum:w,pattern:null,ping:U,placeholder:null,playsInline:v,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:v,referrerPolicy:null,rel:U,required:v,reversed:v,rows:w,rowSpan:w,sandbox:U,scope:null,scoped:v,seamless:v,selected:v,shadowRootClonable:v,shadowRootDelegatesFocus:v,shadowRootMode:null,shape:null,size:w,sizes:null,slot:null,span:w,spellCheck:X,src:null,srcDoc:null,srcLang:null,srcSet:null,start:w,step:null,style:null,tabIndex:w,target:null,title:null,translate:null,type:null,typeMustMatch:v,useMap:null,value:X,width:w,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:U,axis:null,background:null,bgColor:null,border:w,borderColor:null,bottomMargin:w,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:v,declare:v,event:null,face:null,frame:null,frameBorder:null,hSpace:w,leftMargin:w,link:null,longDesc:null,lowSrc:null,marginHeight:w,marginWidth:w,noResize:v,noHref:v,noShade:v,noWrap:v,object:null,profile:null,prompt:null,rev:null,rightMargin:w,rules:null,scheme:null,scrolling:X,standby:null,summary:null,text:null,topMargin:w,valueType:null,version:null,vAlign:null,vLink:null,vSpace:w,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:v,disableRemotePlayback:v,prefix:null,property:null,results:w,security:null,unselectable:null}}),oa=Le({space:"svg",attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},transform:sr,properties:{about:ee,accentHeight:w,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:w,amplitude:w,arabicForm:null,ascent:w,attributeName:null,attributeType:null,azimuth:w,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:w,by:null,calcMode:null,capHeight:w,className:U,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:w,diffuseConstant:w,direction:null,display:null,dur:null,divisor:w,dominantBaseline:null,download:v,dx:null,dy:null,edgeMode:null,editable:null,elevation:w,enableBackground:null,end:null,event:null,exponent:w,externalResourcesRequired:null,fill:null,fillOpacity:w,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Oe,g2:Oe,glyphName:Oe,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:w,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:w,horizOriginX:w,horizOriginY:w,id:null,ideographic:w,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:w,k:w,k1:w,k2:w,k3:w,k4:w,kernelMatrix:ee,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:w,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:w,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:w,overlineThickness:w,paintOrder:null,panose1:null,path:null,pathLength:w,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:U,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:w,pointsAtY:w,pointsAtZ:w,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:ee,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:ee,rev:ee,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:ee,requiredFeatures:ee,requiredFonts:ee,requiredFormats:ee,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:w,specularExponent:w,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:w,strikethroughThickness:w,string:null,stroke:null,strokeDashArray:ee,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:w,strokeOpacity:w,strokeWidth:null,style:null,surfaceScale:w,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:ee,tabIndex:w,tableValues:null,target:null,targetX:w,targetY:w,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:ee,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:w,underlineThickness:w,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:w,values:null,vAlphabetic:w,vMathematical:w,vectorEffect:null,vHanging:w,vIdeographic:w,version:null,vertAdvY:w,vertOriginX:w,vertOriginY:w,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:w,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}}),aa=/^data[-\w.:]+$/i,Et=/-[a-z]/g,ua=/[A-Z]/g;function sa(e,n){const t=En(n);let r=n,i=le;if(t in e.normal)return e.property[e.normal[t]];if(t.length>4&&t.slice(0,4)==="data"&&aa.test(n)){if(n.charAt(4)==="-"){const l=n.slice(5).replace(Et,pa);r="data"+l.charAt(0).toUpperCase()+l.slice(1)}else{const l=n.slice(4);if(!Et.test(l)){let o=l.replace(ua,ca);o.charAt(0)!=="-"&&(o="-"+o),n="data"+o}}i=zn}return new i(r,n)}function ca(e){return"-"+e.toLowerCase()}function pa(e){return e.charAt(1).toUpperCase()}const At={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},ha=lr([ur,ar,pr,hr,la],"html"),fa=lr([ur,ar,pr,hr,oa],"svg");function ma(e){if(e.allowedElements&&e.disallowedElements)throw new TypeError("Only one of `allowedElements` and `disallowedElements` should be defined");if(e.allowedElements||e.disallowedElements||e.allowElement)return n=>{Ln(n,"element",(t,r,i)=>{const l=i;let o;if(e.allowedElements?o=!e.allowedElements.includes(t.tagName):e.disallowedElements&&(o=e.disallowedElements.includes(t.tagName)),!o&&e.allowElement&&typeof r=="number"&&(o=!e.allowElement(t,r,l)),o&&typeof r=="number")return e.unwrapDisallowed&&t.children?l.children.splice(r,1,...t.children):l.children.splice(r,1),r})}}var fr={exports:{}},_={};/**
|
|
19
|
+
* @license React
|
|
20
|
+
* react-is.production.min.js
|
|
21
|
+
*
|
|
22
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
23
|
+
*
|
|
24
|
+
* This source code is licensed under the MIT license found in the
|
|
25
|
+
* LICENSE file in the root directory of this source tree.
|
|
26
|
+
*/var Rn=Symbol.for("react.element"),Bn=Symbol.for("react.portal"),Ye=Symbol.for("react.fragment"),Ke=Symbol.for("react.strict_mode"),Ge=Symbol.for("react.profiler"),Je=Symbol.for("react.provider"),Ze=Symbol.for("react.context"),da=Symbol.for("react.server_context"),en=Symbol.for("react.forward_ref"),nn=Symbol.for("react.suspense"),tn=Symbol.for("react.suspense_list"),rn=Symbol.for("react.memo"),ln=Symbol.for("react.lazy"),ga=Symbol.for("react.offscreen"),mr;mr=Symbol.for("react.module.reference");function oe(e){if(typeof e=="object"&&e!==null){var n=e.$$typeof;switch(n){case Rn:switch(e=e.type,e){case Ye:case Ge:case Ke:case nn:case tn:return e;default:switch(e=e&&e.$$typeof,e){case da:case Ze:case en:case ln:case rn:case Je:return e;default:return n}}case Bn:return n}}}_.ContextConsumer=Ze;_.ContextProvider=Je;_.Element=Rn;_.ForwardRef=en;_.Fragment=Ye;_.Lazy=ln;_.Memo=rn;_.Portal=Bn;_.Profiler=Ge;_.StrictMode=Ke;_.Suspense=nn;_.SuspenseList=tn;_.isAsyncMode=function(){return!1};_.isConcurrentMode=function(){return!1};_.isContextConsumer=function(e){return oe(e)===Ze};_.isContextProvider=function(e){return oe(e)===Je};_.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===Rn};_.isForwardRef=function(e){return oe(e)===en};_.isFragment=function(e){return oe(e)===Ye};_.isLazy=function(e){return oe(e)===ln};_.isMemo=function(e){return oe(e)===rn};_.isPortal=function(e){return oe(e)===Bn};_.isProfiler=function(e){return oe(e)===Ge};_.isStrictMode=function(e){return oe(e)===Ke};_.isSuspense=function(e){return oe(e)===nn};_.isSuspenseList=function(e){return oe(e)===tn};_.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Ye||e===Ge||e===Ke||e===nn||e===tn||e===ga||typeof e=="object"&&e!==null&&(e.$$typeof===ln||e.$$typeof===rn||e.$$typeof===Je||e.$$typeof===Ze||e.$$typeof===en||e.$$typeof===mr||e.getModuleId!==void 0)};_.typeOf=oe;fr.exports=_;var ya=fr.exports;const xa=_e(ya);function ka(e){const n=e&&typeof e=="object"&&e.type==="text"?e.value||"":e;return typeof n=="string"&&n.replace(/[ \t\n\f\r]/g,"")===""}function wa(e){return e.join(" ").trim()}function ba(e,n){const t={};return(e[e.length-1]===""?[...e,""]:e).join((t.padRight?" ":"")+","+(t.padLeft===!1?"":" ")).trim()}var Nn={exports:{}},Pt=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,Sa=/\n/g,Ca=/^\s*/,Ea=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,Aa=/^:\s*/,Pa=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,Ta=/^[;\s]*/,Fa=/^\s+|\s+$/g,Ia=`
|
|
27
|
+
`,Tt="/",Ft="*",Se="",Oa="comment",va="declaration",La=function(e,n){if(typeof e!="string")throw new TypeError("First argument must be a string");if(!e)return[];n=n||{};var t=1,r=1;function i(b){var x=b.match(Sa);x&&(t+=x.length);var C=b.lastIndexOf(Ia);r=~C?b.length-C:r+b.length}function l(){var b={line:t,column:r};return function(x){return x.position=new o(b),u(),x}}function o(b){this.start=b,this.end={line:t,column:r},this.source=n.source}o.prototype.content=e;function a(b){var x=new Error(n.source+":"+t+":"+r+": "+b);if(x.reason=b,x.filename=n.source,x.line=t,x.column=r,x.source=e,!n.silent)throw x}function s(b){var x=b.exec(e);if(x){var C=x[0];return i(C),e=e.slice(C.length),x}}function u(){s(Ca)}function c(b){var x;for(b=b||[];x=m();)x!==!1&&b.push(x);return b}function m(){var b=l();if(!(Tt!=e.charAt(0)||Ft!=e.charAt(1))){for(var x=2;Se!=e.charAt(x)&&(Ft!=e.charAt(x)||Tt!=e.charAt(x+1));)++x;if(x+=2,Se===e.charAt(x-1))return a("End of comment missing");var C=e.slice(2,x-2);return r+=2,i(C),e=e.slice(x),r+=2,b({type:Oa,comment:C})}}function d(){var b=l(),x=s(Ea);if(x){if(m(),!s(Aa))return a("property missing ':'");var C=s(Pa),k=b({type:va,property:It(x[0].replace(Pt,Se)),value:C?It(C[0].replace(Pt,Se)):Se});return s(Ta),k}}function h(){var b=[];c(b);for(var x;x=d();)x!==!1&&(b.push(x),c(b));return b}return u(),h()};function It(e){return e?e.replace(Fa,Se):Se}var Da=La;function dr(e,n){var t=null;if(!e||typeof e!="string")return t;for(var r,i=Da(e),l=typeof n=="function",o,a,s=0,u=i.length;s<u;s++)r=i[s],o=r.property,a=r.value,l?n(o,a,r):a&&(t||(t={}),t[o]=a);return t}Nn.exports=dr;Nn.exports.default=dr;var za=Nn.exports;const Ra=_e(za),Pn={}.hasOwnProperty,Ba=new Set(["table","thead","tbody","tfoot","tr"]);function gr(e,n){const t=[];let r=-1,i;for(;++r<n.children.length;)i=n.children[r],i.type==="element"?t.push(Na(e,i,r,n)):i.type==="text"?(n.type!=="element"||!Ba.has(n.tagName)||!ka(i))&&t.push(i.value):i.type==="raw"&&!e.options.skipHtml&&t.push(i.value);return t}function Na(e,n,t,r){const i=e.options,l=i.transformLinkUri===void 0?Dr:i.transformLinkUri,o=e.schema,a=n.tagName,s={};let u=o,c;if(o.space==="html"&&a==="svg"&&(u=fa,e.schema=u),n.properties)for(c in n.properties)Pn.call(n.properties,c)&&_a(s,c,n.properties[c],e);(a==="ol"||a==="ul")&&e.listDepth++;const m=gr(e,n);(a==="ol"||a==="ul")&&e.listDepth--,e.schema=o;const d=n.position||{start:{line:null,column:null,offset:null},end:{line:null,column:null,offset:null}},h=i.components&&Pn.call(i.components,a)?i.components[a]:a,b=typeof h=="string"||h===Fe.Fragment;if(!xa.isValidElementType(h))throw new TypeError(`Component for name \`${a}\` not defined or is not renderable`);if(s.key=t,a==="a"&&i.linkTarget&&(s.target=typeof i.linkTarget=="function"?i.linkTarget(String(s.href||""),n.children,typeof s.title=="string"?s.title:null):i.linkTarget),a==="a"&&l&&(s.href=l(String(s.href||""),n.children,typeof s.title=="string"?s.title:null)),!b&&a==="code"&&r.type==="element"&&r.tagName!=="pre"&&(s.inline=!0),!b&&(a==="h1"||a==="h2"||a==="h3"||a==="h4"||a==="h5"||a==="h6")&&(s.level=Number.parseInt(a.charAt(1),10)),a==="img"&&i.transformImageUri&&(s.src=i.transformImageUri(String(s.src||""),String(s.alt||""),typeof s.title=="string"?s.title:null)),!b&&a==="li"&&r.type==="element"){const x=Ma(n);s.checked=x&&x.properties?!!x.properties.checked:null,s.index=yn(r,n),s.ordered=r.tagName==="ol"}return!b&&(a==="ol"||a==="ul")&&(s.ordered=a==="ol",s.depth=e.listDepth),(a==="td"||a==="th")&&(s.align&&(s.style||(s.style={}),s.style.textAlign=s.align,delete s.align),b||(s.isHeader=a==="th")),!b&&a==="tr"&&r.type==="element"&&(s.isHeader=r.tagName==="thead"),i.sourcePos&&(s["data-sourcepos"]=Ua(d)),!b&&i.rawSourcePos&&(s.sourcePosition=n.position),!b&&i.includeElementIndex&&(s.index=yn(r,n),s.siblingCount=yn(r)),b||(s.node=n),m.length>0?Fe.createElement(h,s,m):Fe.createElement(h,s)}function Ma(e){let n=-1;for(;++n<e.children.length;){const t=e.children[n];if(t.type==="element"&&t.tagName==="input")return t}return null}function yn(e,n){let t=-1,r=0;for(;++t<e.children.length&&e.children[t]!==n;)e.children[t].type==="element"&&r++;return r}function _a(e,n,t,r){const i=sa(r.schema,n);let l=t;l==null||l!==l||(Array.isArray(l)&&(l=i.commaSeparated?ba(l):wa(l)),i.property==="style"&&typeof l=="string"&&(l=ja(l)),i.space&&i.property?e[Pn.call(At,i.property)?At[i.property]:i.property]=l:i.attribute&&(e[i.attribute]=l))}function ja(e){const n={};try{Ra(e,t)}catch{}return n;function t(r,i){const l=r.slice(0,4)==="-ms-"?`ms-${r.slice(4)}`:r;n[l.replace(/-([a-z])/g,Ha)]=i}}function Ha(e,n){return n.toUpperCase()}function Ua(e){return[e.start.line,":",e.start.column,"-",e.end.line,":",e.end.column].map(String).join("")}const Ot={}.hasOwnProperty,Va="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",Ve={plugins:{to:"remarkPlugins",id:"change-plugins-to-remarkplugins"},renderers:{to:"components",id:"change-renderers-to-components"},astPlugins:{id:"remove-buggy-html-in-markdown-parser"},allowDangerousHtml:{id:"remove-buggy-html-in-markdown-parser"},escapeHtml:{id:"remove-buggy-html-in-markdown-parser"},source:{to:"children",id:"change-source-to-children"},allowNode:{to:"allowElement",id:"replace-allownode-allowedtypes-and-disallowedtypes"},allowedTypes:{to:"allowedElements",id:"replace-allownode-allowedtypes-and-disallowedtypes"},disallowedTypes:{to:"disallowedElements",id:"replace-allownode-allowedtypes-and-disallowedtypes"},includeNodeIndex:{to:"includeElementIndex",id:"change-includenodeindex-to-includeelementindex"}};function yr(e){for(const l in Ve)if(Ot.call(Ve,l)&&Ot.call(e,l)){const o=Ve[l];console.warn(`[react-markdown] Warning: please ${o.to?`use \`${o.to}\` instead of`:"remove"} \`${l}\` (see <${Va}#${o.id}> for more info)`),delete Ve[l]}const n=Yr().use(io).use(e.remarkPlugins||[]).use(Yo,{...e.remarkRehypeOptions,allowDangerousHtml:!0}).use(e.rehypePlugins||[]).use(ma,e),t=new Lt;typeof e.children=="string"?t.value=e.children:e.children!==void 0&&e.children!==null&&console.warn(`[react-markdown] Warning: please pass a string as \`children\` (not: \`${e.children}\`)`);const r=n.runSync(n.parse(t),t);if(r.type!=="root")throw new TypeError("Expected a `root` node");let i=Fe.createElement(Fe.Fragment,{},gr({options:e,schema:ha,listDepth:0},r));return e.className&&(i=Fe.createElement("div",{className:e.className},i)),i}yr.propTypes={children:O.string,className:O.string,allowElement:O.func,allowedElements:O.arrayOf(O.string),disallowedElements:O.arrayOf(O.string),unwrapDisallowed:O.bool,remarkPlugins:O.arrayOf(O.oneOfType([O.object,O.func,O.arrayOf(O.oneOfType([O.bool,O.string,O.object,O.func,O.arrayOf(O.any)]))])),rehypePlugins:O.arrayOf(O.oneOfType([O.object,O.func,O.arrayOf(O.oneOfType([O.bool,O.string,O.object,O.func,O.arrayOf(O.any)]))])),sourcePos:O.bool,rawSourcePos:O.bool,skipHtml:O.bool,includeElementIndex:O.bool,transformLinkUri:O.oneOfType([O.func,O.bool]),linkTarget:O.oneOfType([O.func,O.string]),transformImageUri:O.func,components:O.object};const Be={hub_restart:{title:"Hub restart",markdown:`# Hub restart
|
|
28
|
+
|
|
29
|
+
The Xenon server restarted while this session was running. A session on one
|
|
30
|
+
of that server's own phones ran inside it, so it ended with the restart. A
|
|
31
|
+
session on a phone connected to another machine ends too if the server can't
|
|
32
|
+
pick it up again after the restart.
|
|
33
|
+
|
|
34
|
+
## Likely causes
|
|
35
|
+
|
|
36
|
+
- Someone restarted or updated the Xenon server.
|
|
37
|
+
- The server stopped unexpectedly and was started again.
|
|
38
|
+
- The computer running it restarted.
|
|
39
|
+
|
|
40
|
+
## What to do
|
|
41
|
+
|
|
42
|
+
1. Run the session again.
|
|
43
|
+
2. If restarts happen during test runs, ask whoever looks after the Xenon
|
|
44
|
+
server to plan them outside test hours, and to find out why it stopped if
|
|
45
|
+
nobody restarted it.
|
|
46
|
+
`},timeout:{title:"Timeout",markdown:`# Timeout
|
|
47
|
+
|
|
48
|
+
The failure reason or one of the session's last failed commands mentions a
|
|
49
|
+
timeout ("timeout", "timed out") or a dropped connection ("socket hang up").
|
|
50
|
+
Usually a command or a wait ran out of time, or the test sent no
|
|
51
|
+
command for longer than its \`newCommandTimeout\` and the session was ended.
|
|
52
|
+
A session the server lost contact with ends up here too.
|
|
53
|
+
|
|
54
|
+
## Likely causes
|
|
55
|
+
|
|
56
|
+
- A test step waited for an element that never appeared.
|
|
57
|
+
- The test paused, hung or stopped between commands for longer than
|
|
58
|
+
\`newCommandTimeout\`.
|
|
59
|
+
- A slow phone or an unreliable network.
|
|
60
|
+
- A command that never returned, for example because of a driver bug.
|
|
61
|
+
- The server lost contact with the session.
|
|
62
|
+
|
|
63
|
+
## What to do
|
|
64
|
+
|
|
65
|
+
Raise \`newCommandTimeout\` only if the app really needs long pauses between
|
|
66
|
+
commands. Otherwise:
|
|
67
|
+
|
|
68
|
+
1. In the **Commands** tab, look at the last command before the failure. If
|
|
69
|
+
it's a find, fix the selector or wait for the element explicitly.
|
|
70
|
+
2. On the **Devices** page, check that the phone is still connected and,
|
|
71
|
+
where its card shows them, its battery and temperature: a hot or nearly
|
|
72
|
+
flat phone slows down. They are the phone's latest readings, not the ones
|
|
73
|
+
from the run.
|
|
74
|
+
3. If the same command times out run after run, report it against the test,
|
|
75
|
+
or against the driver if the command clearly hung.
|
|
76
|
+
`},element_not_found:{title:"Element not found",markdown:`# Element not found
|
|
77
|
+
|
|
78
|
+
A command couldn't find the element the test asked for: the failure reason or
|
|
79
|
+
one of the last failed commands says "no such element" or "An element could not
|
|
80
|
+
be located". When AI self-healing is on, a failed find has already been tried
|
|
81
|
+
again in the other ways this session allows.
|
|
82
|
+
|
|
83
|
+
## Likely causes
|
|
84
|
+
|
|
85
|
+
- The screen wasn't ready: the element appeared after the test stopped looking.
|
|
86
|
+
- A different screen was showing: a dialog, a permission prompt, a sign-in page
|
|
87
|
+
or an error.
|
|
88
|
+
- The app had crashed or closed, so another app or the home screen was showing.
|
|
89
|
+
- The app changed: the element's id, text or place in the layout is different
|
|
90
|
+
now.
|
|
91
|
+
- The selector only works on some phones, screen sizes or languages.
|
|
92
|
+
|
|
93
|
+
## What to do
|
|
94
|
+
|
|
95
|
+
1. Open the **Screenshots** tab, or play the video in **Recording**, to see what
|
|
96
|
+
was on screen when the find failed.
|
|
97
|
+
2. If another app or the home screen was showing, the app may have crashed. On
|
|
98
|
+
Android, open **Device logs** and tick **Errors only**: a crash shows as
|
|
99
|
+
"FATAL EXCEPTION", then the app's package name.
|
|
100
|
+
3. In the **Commands** tab, read the selector the failed find used and compare
|
|
101
|
+
it with that screen.
|
|
102
|
+
4. If the element only appeared late, wait for it in the test, or have Xenon
|
|
103
|
+
retry finds for a while: at the start of the session, run the
|
|
104
|
+
\`xenon: setAutowaitProperties\` script with
|
|
105
|
+
\`{ "enabled": true, "timeoutMs": 10000 }\` (\`executeScript\` in Java,
|
|
106
|
+
\`execute_script\` in Python, \`execute\` in WebdriverIO).
|
|
107
|
+
5. If the app changed, update the selector. Selectors that only still work
|
|
108
|
+
because Xenon heals them are listed in **Selector health**: fixing those
|
|
109
|
+
stops them failing like this one.
|
|
110
|
+
|
|
111
|
+
A find the test expected to fail can file a session here too. If the **Reason**
|
|
112
|
+
in **Why it failed** is about something else, start from that.
|
|
113
|
+
`},app_crash:{title:"App crash",markdown:`# App crash
|
|
114
|
+
|
|
115
|
+
The failure reason or one of the last failed commands says the app crashed or
|
|
116
|
+
stopped responding: "process has died", "activity has died", "The application
|
|
117
|
+
has crashed" or "Application not responding". Appium itself rarely words a
|
|
118
|
+
crash this way, so it's usually the test that reported it.
|
|
119
|
+
|
|
120
|
+
Most crashes are filed elsewhere. On Android the next find fails on whatever
|
|
121
|
+
replaced the app, so they're usually filed as Element not found. On an iPhone
|
|
122
|
+
the app "is not running, possibly crashed", which is usually filed as an
|
|
123
|
+
unknown failure.
|
|
124
|
+
|
|
125
|
+
## Likely causes
|
|
126
|
+
|
|
127
|
+
- A bug in the app, often on the last screen or action the test reached.
|
|
128
|
+
- The phone ran low on memory or was under heavy load.
|
|
129
|
+
- The app was closed: by the phone, or by a test step.
|
|
130
|
+
|
|
131
|
+
## What to do
|
|
132
|
+
|
|
133
|
+
1. Play the video in **Recording**, or open the **Screenshots** tab, to see the
|
|
134
|
+
last screen before the crash.
|
|
135
|
+
2. On Android, open **Device logs** and tick **Errors only**. The crash report
|
|
136
|
+
is there: a "FATAL EXCEPTION", then the app's package name and the code it
|
|
137
|
+
failed in.
|
|
138
|
+
3. On Android, check **Performance**: the phone's memory running out, or the
|
|
139
|
+
app's own memory climbing until the crash, points at the app using too much.
|
|
140
|
+
4. To watch it happen, open the phone from the **Devices** page, keep its Logs
|
|
141
|
+
open, and repeat the steps by hand.
|
|
142
|
+
5. If the app crashes by hand too, report it to its developers with a link to
|
|
143
|
+
this session and the log lines.
|
|
144
|
+
`},permission_blocked:{title:"Permission blocked",markdown:`# Permission blocked
|
|
145
|
+
|
|
146
|
+
The failure reason or one of the last failed commands mentions a system
|
|
147
|
+
prompt: "Permission alert", "Security alert", "Always Allow" or "Allow while
|
|
148
|
+
using app". A permission or security prompt was most likely on screen, in front
|
|
149
|
+
of what the test wanted to use.
|
|
150
|
+
|
|
151
|
+
## Likely causes
|
|
152
|
+
|
|
153
|
+
- The app asked for a permission (location, camera, notifications...) the first
|
|
154
|
+
time it needed one on this phone, or after it was reinstalled.
|
|
155
|
+
- The phone showed a prompt of its own.
|
|
156
|
+
|
|
157
|
+
## What to do
|
|
158
|
+
|
|
159
|
+
1. Open the **Screenshots** tab, or play the video in **Recording**, to see
|
|
160
|
+
which prompt was showing.
|
|
161
|
+
2. Let Appium answer such prompts:
|
|
162
|
+
- Android: \`appium:autoGrantPermissions: true\` grants the app the
|
|
163
|
+
permissions it asks for when Appium installs it. With
|
|
164
|
+
\`appium:noReset\` on an app that is already installed, it does nothing.
|
|
165
|
+
- iPhone: \`appium:autoAcceptAlerts: true\` accepts every alert, the app's
|
|
166
|
+
own included, and \`appium:autoDismissAlerts: true\` dismisses every alert.
|
|
167
|
+
3. If the test is meant to check the prompt itself, tap the right button in the
|
|
168
|
+
test before going on.
|
|
169
|
+
`},wda_failure:{title:"WDA failure",markdown:`# WDA failure
|
|
170
|
+
|
|
171
|
+
The failure reason or one of the last failed commands mentions WebDriverAgent,
|
|
172
|
+
the helper app Appium puts on an iPhone to drive it, or says "Session does not
|
|
173
|
+
exist". WebDriverAgent lost the session during the run, which is rarely the
|
|
174
|
+
test's fault. Almost every session filed here ran on an iPhone or an iOS
|
|
175
|
+
simulator.
|
|
176
|
+
|
|
177
|
+
## Likely causes
|
|
178
|
+
|
|
179
|
+
- WebDriverAgent was started again during the run, without the session: the
|
|
180
|
+
iPhone restarted, or WebDriverAgent itself stopped, for example after running
|
|
181
|
+
out of memory.
|
|
182
|
+
- The iPhone was unplugged or lost its connection.
|
|
183
|
+
|
|
184
|
+
## What to do
|
|
185
|
+
|
|
186
|
+
1. Run the session again.
|
|
187
|
+
2. On the **Devices** page, check the iPhone is still connected. If this keeps
|
|
188
|
+
happening on one iPhone, restart it and check its cable.
|
|
189
|
+
3. If new sessions on that iPhone then don't start at all, check on the phone
|
|
190
|
+
that it's unlocked, Auto-Lock is set to Never, Developer Mode is on
|
|
191
|
+
(Settings, Privacy & Security), and it trusts the computer it's plugged
|
|
192
|
+
into. If they still don't start, ask whoever looks after the lab.
|
|
193
|
+
`},xenon_command_failure:{title:"Xenon command failure",markdown:`# Xenon command failure
|
|
194
|
+
|
|
195
|
+
The failure reason or one of the last failed commands says "command failed".
|
|
196
|
+
Despite the name, few failures land here, and they rarely mean Xenon failed.
|
|
197
|
+
Most are a stale element on a web page or in a web view on an iPhone, which
|
|
198
|
+
Appium reports as "An element command failed because the referenced element is
|
|
199
|
+
no longer attached to the DOM": the test found an element earlier, the page
|
|
200
|
+
then changed, and the element the test was holding no longer exists. A test
|
|
201
|
+
that reports its own failure in those words lands here too.
|
|
202
|
+
|
|
203
|
+
Stale elements in a native app are worded differently and are filed as unknown
|
|
204
|
+
failures.
|
|
205
|
+
|
|
206
|
+
## What to do
|
|
207
|
+
|
|
208
|
+
1. In **Why it failed**, read the **Reason** to see which it was.
|
|
209
|
+
2. For a stale element, find the element again just before using it, rather
|
|
210
|
+
than keeping it from earlier in the test.
|
|
211
|
+
3. If the page is still changing, wait for it to settle, for example for the
|
|
212
|
+
element to be visible again, before tapping or typing.
|
|
213
|
+
`},system_overload:{title:"System overload",markdown:`# System overload
|
|
214
|
+
|
|
215
|
+
The failure reason or one of the last failed commands says "OutOfMemory",
|
|
216
|
+
"MemoryLimit", "thermal throttling" or "too many open files": something ran out
|
|
217
|
+
of memory or open files, or the phone overheated.
|
|
218
|
+
|
|
219
|
+
## Likely causes
|
|
220
|
+
|
|
221
|
+
- Appium's helper on the phone ran out of memory, most often while reading the
|
|
222
|
+
whole screen (the page source) of a very long list or web page. That is the
|
|
223
|
+
helper's own limit: the phone itself can have memory to spare.
|
|
224
|
+
- The phone got too hot and slowed itself down.
|
|
225
|
+
- "too many open files": the computer running Xenon hit its limit, usually after
|
|
226
|
+
running many sessions for a long time.
|
|
227
|
+
|
|
228
|
+
## What to do
|
|
229
|
+
|
|
230
|
+
1. If the test reads the page source often on a long screen, find the elements
|
|
231
|
+
it needs instead.
|
|
232
|
+
2. On the **Devices** page, check the phone's temperature where its card shows
|
|
233
|
+
it. That's its latest reading, not the one from the run. Let a hot phone cool
|
|
234
|
+
down, and restart one that has been on for days.
|
|
235
|
+
3. For "too many open files", ask whoever looks after the Xenon server: a
|
|
236
|
+
restart clears it, and the limit can be raised.
|
|
237
|
+
`},unknown:{title:"Unknown",markdown:`# Finding out why it failed
|
|
238
|
+
|
|
239
|
+
Xenon couldn't tell what kind of failure this was, or has no runbook for its
|
|
240
|
+
kind yet. These steps help with any failure.
|
|
241
|
+
|
|
242
|
+
## What to do
|
|
243
|
+
|
|
244
|
+
1. In **Why it failed**, read the **Reason**, the **First failed command** and,
|
|
245
|
+
if there is one, the **AI analysis**.
|
|
246
|
+
2. In the **Commands** tab, tick **Errors only** to see every command that
|
|
247
|
+
failed. On Android, **Device logs** shows what the phone reported around the
|
|
248
|
+
same time, and **Errors only** there shows its errors.
|
|
249
|
+
3. Run the session again and see whether it fails the same way.
|
|
250
|
+
|
|
251
|
+
If the same kind of failure keeps landing here, report it with a link to the
|
|
252
|
+
session, so it can get a runbook of its own.
|
|
253
|
+
`}};function xr(e){return e.toLowerCase().trim().replace(/[\s-]+/g,"_")}function $a(e){if(!e)return Be.unknown;const n=xr(e);return Object.prototype.hasOwnProperty.call(Be,n)?Be[n]:Be.unknown}const qa={ul:({node:e,ordered:n,depth:t,className:r,...i})=>ne.jsx("ul",{className:`list-disc space-y-1 ${r??""}`.trim(),...i}),ol:({node:e,ordered:n,depth:t,className:r,...i})=>ne.jsx("ol",{className:`list-decimal space-y-1 ${r??""}`.trim(),...i})},Ya=()=>{const{category:e}=Fr(),n=Ir(),t=$a(e),r=!!e&&t===Be.unknown&&xr(e)!=="unknown",i=()=>{if(window.history.length<=1){n("/overview");return}n(-1)};return ne.jsxs("div",{className:"flex flex-col h-full min-h-0",children:[ne.jsxs("header",{className:"flex items-center justify-between gap-4 px-4 py-3 border-b border-[var(--border)] bg-[var(--surface)]",children:[ne.jsxs("button",{type:"button",onClick:i,className:"inline-flex items-center gap-1.5 text-xs text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",children:[ne.jsx(Lr,{className:"h-3.5 w-3.5"}),"Back"]}),ne.jsxs("div",{className:"flex items-center gap-2 text-xs text-[var(--text-dim)]",children:[ne.jsx(Or,{className:"h-3.5 w-3.5"}),ne.jsx("span",{className:"",children:"Runbook"})]})]}),ne.jsx("div",{className:"flex-1 overflow-y-auto",children:ne.jsxs("article",{className:"max-w-3xl mx-auto px-6 py-8 prose prose-invert prose-sm runbook-prose",children:[r&&ne.jsxs("div",{className:"mb-4 rounded-md border border-[var(--amber)]/30 bg-[var(--amber)]/5 px-3 py-2 text-xs text-[var(--amber)]",children:["There's no runbook for “",vr(e),"” failures yet, so these are the general steps."]}),ne.jsx(yr,{components:qa,children:t.markdown})]})})]})};export{Ya as RunbookPage,Ya as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as c,j as m}from"./index-
|
|
1
|
+
import{r as c,j as m}from"./index-BOxe43p1.js";import{c as o}from"./utils-CDN07tui.js";const l=c.forwardRef(({className:s,selectSize:e="md",children:t,...a},r)=>m.jsx("select",{ref:r,className:o("select-base",e==="sm"&&"select-sm",s),...a,children:t}));l.displayName="Select";export{l as S};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{H as e,j as t,N as r}from"./index-BOxe43p1.js";import{l as s}from"./view-state-83Z1gFME.js";const i=()=>{const[a]=e();return t.jsx(r,{to:s(a),replace:!0})};export{i as SelectorDetailRedirect,i as default};
|